TCP/IP协议控制块详解:互联网与TCP连接管理

5星 · 超过95%的资源 需积分: 0 1 下载量 36 浏览量 更新于2024-07-27 收藏 1.21MB PDF 举报
TCP/IP详解卷二深入探讨了网络协议控制块(Protocol Control Block,PCB)在Internet协议(IP)和传输控制协议(Transmission Control Protocol,TCP)中的关键作用。章节22详细介绍了PCB在UDP和TCP端点中的应用,特别是在数据包处理和连接管理中的功能。 在IPv4环境中,每个端节点(即主机)都维护一个Internet PCB(Internet Protocol Control Block),用于存储通用信息,如外部和本地IP地址、端口号、IP头部信息以及路由表指针。这些信息对无连接的UDP而言是必需的,因为它不需要为每个连接维护特定状态。然而,TCP是面向连接的,因此它有自己的TCP PCB(TCP Control Block),包含双向序列号、窗口大小、重传计数等连接相关的详细信息。 图22-1展示了协议控制块与文件(file)和套接字(socket)结构之间的关系。每当创建一个新的套接字时,底层会为它生成一个file结构和socket结构,具体类型为SOCK_DGRAM(UDP)或SOCK_STREAM(TCP)。UDP端点的socket结构通过soc_pcb链接到Internet PCB,而TCP通过in_ppcb和tcp_tcb将其TCP PCB关联到Internet PCB。值得注意的是,UDP的in_ppcb成员通常是空指针,因为UDP不维护自己的控制块,这一职责由TCP负责。 章节中还将介绍一系列与PCB操作相关的函数,这些函数以in_pcb开头,它们在管理端点通信过程中起到至关重要的作用。理解这些概念对于深入理解TCP/IP网络通信机制至关重要,包括数据包的路由、错误检测与恢复,以及连接的建立和维护等。 TCP/IP详解卷二的第22章为读者揭示了协议控制块在TCP/IP体系结构中的核心地位,以及如何通过PCB来协调不同协议层的工作,确保网络通信的高效性和可靠性。