为什么TCP头包含ACK和SEQ字段?

时间:2009-05-26 16:32:00

标签: networking tcp header

由于TCP头是一个相对较大的开销,为什么我们不以ACK和SEQ共享相同字段的方式压缩它,它们仍然可以通过头中的标志来区分?

3 个答案:

答案 0 :(得分:11)

因为它们不是专门使用的。以下是最重要的:连接协商,即三方握手:

Three way handshake
(来源:wikimedia.org

图片来自维基媒体。它介绍了如何协商TCP连接,并显示ACK和SEQ在同一个头中一起使用以建立连接(我写这个以确保答案是有用的,即使图片有一天会消失)。

答案 1 :(得分:4)

因为连接是全双工的 - 一个将数据包分配给对等体,另一个确认来自对等体的数据包。

答案 2 :(得分:0)

因为它们可以同时出现在标题中。一个是标记正在发送的数据,另一个是发送方在下一个数据包中期望的内容。有关详细信息,请参阅wikipedia