我在两台 PC 上使用“ifconfig ethX mtu 300”修改了 MTU。并使用 netperf 测试网络。
我用 WireShark 嗅探了 SYN 数据包中的 MSS=260。
但我得到了一些大于 260 的数据包。为什么?
嗅探器捕获内核和设备驱动程序之间的数据包。如果驱动程序对数据包进行其他更改,您将捕获与线路上的数据包不同的内容。
这是 TCP 分段卸载的情况,其中驱动程序或硬件设备分割(或组合)数据包以遵守正确的 TCP MSS(最大分段大小)。
您可以(暂时)禁用卸载以查看正确的段:
-
ethtool -k eth0
---查看设置
-
ethtool -K eth0 tso off
--- 禁用tcp-segmentation-offload
该信息来自问题评论中链接的文章:https://rtodto.net/generic_segmentation_offload_and_wireshark/ https://rtodto.net/generic_segmentation_offload_and_wireshark/
在 Linux 上,这种卸载也会发生在环回接口上!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)