TCP/IP 协议栈的进程模型指的是采用何种方法把系统分成不同的进程。首先要说的一种进程模型是 TCP/IP 协议族的每一个协议作为一个独立的进程存在。这种模型,必须符合协议的每一层,同时必须指定协议之间的通讯点。虽然,这种实现方法有它的优势,比如每一种协议可以随时参与到系统运行中,代码比较容易理解,调试方便,但是它的缺点也很明显。像前文描述过的,这种进程模型并不是最好的 TCP/IP 协议实现方法。同样更重要的是,数据跨层传递时将不得不产生进程切换( context switch)。对于接收一个 TCP 段来说,将会引起三次进程切换,从网络设备驱动层进程到 IP 进程,从 IP 进程到 TCP 进程,最终到应用层进程。对于大部分操作系统来说,进程切换得代价可是相当昂贵的。
|