由于TCP头部相对较大,为什么不采用将ACK和SEQ共享同一字段的方式来压缩它们,而它们仍然可以通过头部中的标志位进行区分呢?
由于TCP头部相对较大,为什么不采用将ACK和SEQ共享同一字段的方式来压缩它们,而它们仍然可以通过头部中的标志位进行区分呢?
因为它们不是专门用于某个特定的场景。以下是最重要的内容:连接协商,即三次握手:
(来源: wikimedia.org)
这张图片来自维基共享资源。它展示了TCP连接如何进行协商,并显示ACK和SEQ在同一个头部中一起使用以建立连接(我写这句话是为了确保即使图片有一天消失了,答案仍然有帮助)。
由于连接是全双工的,一个序列将数据包发送到对等端,另一个序列从对等端确认数据包。