Wireshark - SACK_PERM=1
Wireshark - SACK_PERM=1
我们正在捕获通过 Wireshark 从机器 1 到机器 2 的文件传输。虽然我无法捕获 any/few 重传错误,但其他人能够捕获大约 10 到 15 个重传错误和欠载错误。
在分析wire-shark捕获时,我发现主要区别在于我的捕获中未设置SACK_PERM
标志,而其他捕获中未设置SACK_PERM=1
。
下面是
8535 7.272671 172.23.165.254 10.108.32.29 TCP 62
[TCP 重传] 29537 → 389 [SYN] Seq=0 Win=8192 Len=0 MSS=1460 SACK_PERM=1
谁能解释一下 SACK_PERM
flag
在网络传输中的作用?
提前致谢。
这是 RFC 2018 中的“Sack-Permitted”选项,“TCP 选择性确认选项”。它说两台机器可以使用“选择性确认”,这意味着,而不是仅仅说“我得到了这个序列号之前的所有字节”,他们可以说“我得到了这个范围内的所有字节和这个范围内的所有字节other range”,这意味着 not 未收到未列出的范围内的字节,因此他们可以说他们在某些范围之前和之后获得了字节,但没有收到中间的字节的范围。
我们正在捕获通过 Wireshark 从机器 1 到机器 2 的文件传输。虽然我无法捕获 any/few 重传错误,但其他人能够捕获大约 10 到 15 个重传错误和欠载错误。
在分析wire-shark捕获时,我发现主要区别在于我的捕获中未设置SACK_PERM
标志,而其他捕获中未设置SACK_PERM=1
。
下面是
8535 7.272671 172.23.165.254 10.108.32.29 TCP 62
[TCP 重传] 29537 → 389 [SYN] Seq=0 Win=8192 Len=0 MSS=1460 SACK_PERM=1
谁能解释一下 SACK_PERM
flag
在网络传输中的作用?
提前致谢。
这是 RFC 2018 中的“Sack-Permitted”选项,“TCP 选择性确认选项”。它说两台机器可以使用“选择性确认”,这意味着,而不是仅仅说“我得到了这个序列号之前的所有字节”,他们可以说“我得到了这个范围内的所有字节和这个范围内的所有字节other range”,这意味着 not 未收到未列出的范围内的字节,因此他们可以说他们在某些范围之前和之后获得了字节,但没有收到中间的字节的范围。