networking - Wireshark - SACK_PERM=1

标签 networking tcp wireshark

我们正在捕获通过 Wireshark 从机器 1 到机器 2 的文件传输。虽然我无法捕获任何/少数重传错误,但其他人能够捕获大约 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”,这意味着未列出的范围内的字节收到,因此他们可以说他们在某些范围之前和之后获得了字节,但不是范围中间的字节.

关于networking - Wireshark - SACK_PERM=1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35623192/

相关文章:

Java Socket 无法连接到自己的计算机

java - 检查我的世界服务器是否启用了白名单

windows - 重叠套接字 IO : WSAGetOverlappedResult Fails with 996 Errorcode

c# - TCP 传输文件在服务器和客户端在 1 台 PC 上运行时有效,但在 2 台 PC 上运行时损坏

java - Wireshark 校验和不匹配

c++ - 使用C++提取数据包信息

networking - 计算 TCP header 长度?

c - 在 C 中获取 HTTP 响应的大小

python - 如何使用 Python 重新路由网络流量?

c - recv() 套接字函数返回长度为 0 的数据