Wireshark - SACK_PERM=1

8
我们正在通过Wireshark从机器1传输文件到机器2。虽然我无法捕获任何/少量的重传错误,但另一个人能够捕获约10到15个重传错误和欠流错误。
在分析Wireshark捕获时,我发现主要区别在于我的捕获中未设置SACK_PERM标志,而在其他捕获中SACK_PERM=1
下面是: 8535 7.272671 172.23.165.254 10.108.32.29 TCP 62 [TCP Retransmission] 29537 → 389 [SYN] Seq=0 Win=8192 Len=0 MSS=1460 SACK_PERM=1 有人可以解释一下网络传输中SACK_PERM标志的影响吗?
提前感谢。
1个回答

11

这是来自RFC 2018的"Sack-Permitted"选项,即"TCP Selective Acknowledgment Options"。它表示两台机器可以使用"选择性确认",意味着它们不仅可以说"我收到了所有序列号小于等于这个数的字节",还可以说"我收到了这个范围内的所有字节和那个范围内的所有字节",暗示着未在列表中的范围内的字节没有被接收,因此它们可以说它们在某些范围之前和之后收到了字节,但没有收到范围中间的字节。


1
是的。SACK在高丢包情况下使用,允许机器仅请求缺失的信息,而没有SACK,则会得到从第一个丢失的数据包到当前时期的任何内容。它在局域网情况或非常可靠的网络中并不有用。 - UtahJarhead

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接