我想在 Windows 10 上的 VMware 虚拟机中运行的 Ubuntu 16.04 中关闭 TCP 中的 SACK 和窗口缩放选项。实际上,我通过 Ubuntu 向嵌入式设备发送一些数据包,该设备通过 LAN 电缆直接连接到我的计算机。否则没有互联网连接。
我在 Windows 10 和 ubuntu 虚拟机上安装了wireshark,以在将以下行添加到 /etc/sysctl.conf 后跟踪 SYN 数据包中的 SACK_PERM 标志是否消失(并且窗口缩放已关闭)
net.ipv4.tcp_sack = 0
net.ipv4.tcp_window_scaling=0
因为上述文件中缺少这两行。
现在的问题是,当我在Windows上查看wireshark中的SYN数据包时,存在SACK_PERM标志,但在ubuntu内运行的wireshark上我没有看到任何这样的标志。
所以,我不知道关闭 SACK 是否有效。任何有关此问题的帮助将不胜感激。
答案1
TCP 扩展选项 SACK、时间戳和 Windows 缩放必须包含在两个方向的 SYN 中,以便任何一方都可以使用连接的功能。
如果 Windows 计算机在 SYN 中发送选项,而 Ubuntu 计算机未在 SYN ACK 中发送选项,则双方都不会使用连接选项。