gpt4 book ai didi

linux - 为什么我得到数据大小大于 mss 的数据包?

转载 作者:行者123 更新时间:2023-12-05 08:00:49 25 4
gpt4 key购买 nike

我在两台 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/

在 Linux 上,这种卸载也发生在环回接口(interface)上!

关于linux - 为什么我得到数据大小大于 mss 的数据包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17229265/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com