为什么TCP段中的SYN或FIN位消耗序列号空间中​​的一个字节?

时间:2010-02-28 20:25:19

标签: networking tcp protocols

我试图了解这种设计背后的基本原理。我浏览了几个RFC,但没有发现任何明显的结果。

2 个答案:

答案 0 :(得分:26)

它并不是特别微妙 - 它可以确认SYN和FIN位本身(因此如果它们丢失则重新发送)。

例如,如果关闭连接而不发送任何更多数据,那么如果FIN 消耗序列号,则结束端无法区分FIN的ACK,以及在FIN之前发送的数据的ACK。

答案 1 :(得分:6)

SYN和FIN需要确认,因此它们在使用时将流的序列号递增1。