为什么 TCP三路握手 在初始握手期间碰到序列编号?这比离开确认编号等于序列编号更好?

建立连接

Client sends SYN,A
Server responds with SYN-ACK,A+1,B
Client confirms with ACK,B+1

那比这更好

Client sends SYN,A
Server responds with SYN-ACK,A,B
Client confirms with ACK,B
有帮助吗?

解决方案

那是因为 ACK 字段是指当 ACK 设置标志:

确认号(32位) - 如果设置了ACK标志,则该字段的值是接收者期望的下一个序列编号。

如果未设置为(Inital序列编号+1),那将是不一致的,意味着两者既ack”。 SYN (两个都 SYNACK 必须在此数据包中设置标志),并说它再次期望该序列编号(即尚未收到)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top