看看下面的图片,摘自Ilya高性能浏览器网络一书,我可以理解SYN选择一个随机序列号,它在SYN数据包(N+1)中递增。最后,在ACK数据包中,序列(N+1)和确认(N+1)编号都会增加。
在用Wireshark进行测试时,我让ACK数据包有确认号= N+1,但是序列号= N,这是作者的错误吗?他说,在ACK数据包中,序列和确认号都增加了吗?

发布于 2013-09-15 21:16:46
RFC 793反复声明确认号是终端期望接收的下一个数据包的序列号。因此,它将始终高于序号。
例如,在第2.6节:
段还携带确认号,该确认号是反向传输的下一个预期数据八进制的序列号。
第3.1节:
确认号: 32位,如果设置了ACK控制位,则该字段包含段的发送方期望接收的下一个序列号的值。一旦建立了连接,就总是发送连接。
第3.3节详细解释了序列号是如何工作的,以及它们为什么工作的方式。你可能会发现它比你的书更有启发性。
https://serverfault.com/questions/539099
复制相似问题