Windows“9014”巨型帧与Linux“9000”相同吗?

Lap*_*sio 5 networking linux windows-8 jumbo-frames

我正在使用网桥设置虚拟机网络。整个网络在 Linux 机器和 Linux 网桥上使用 9000 MTU 进行配置,在路由器上使用 9116 l2mtu 进行配置(我认为 Linux 不会通过ip命令公开此设置)。现在我正在阅读 Windows 中的巨型帧,我注意到它有下拉 MTU 菜单,所以我不能只输入我想要的任何内容。“9k”MTU 似乎被宣布为“9014”字节。如果它是实际的 MTU,我会非常难过,但后来我注意到 L2 标头有 14B 长,所以我想这听起来太巧合了 - 那么 Windows 是否像 Linux 中的 l2mtu 一样计算 MTU?或者 Windows 中真正的巨型尺寸是 9014+14 = 9028?...

Tob*_*uss 2

今天我想知道 Basler GigE Vision 相机中的数据包大小意味着什么。您可以在那里设置传输图像数据时应用的 MTU。
我的计算机中的英特尔网卡驱动程序支持 4088 和 9014 字节的巨型帧,因此我想知道我必须在相机中设置哪个值才能获得最大帧大小。

我无法对你的问题给出确切的答案,但这是我发现的。
这是当我将相机中的数据包大小设置为 8000 字节时包含图像数据的数据包之一的屏幕截图:

在此输入图像描述 (漂亮的着色是用 Paint.Net 完成的)

如你看到的,

  • 数据包总大小为 8014 字节
  • “Ethernet II”标头(粉色)有 14 个字节,为数据包的 IP 部分留下 8000 个字节。
  • IPv4 标头(蓝色)有 20 个字节
  • UDP 标头(绿色)有 8 个字节

有关标准帧和巨型帧的详细信息和比较,请查看维基百科:巨型帧维基百科:最大传输单元
注意:维基百科在以太网标头后面提到了 4 字节 FCS(帧检查序列)。然而,在捕获的数据包中没有观察到这一点。

尽可能好地回答你的问题:我认为Linux指的是IP数据包的大小,而Windows和我的Intel驱动程序指的是整个以太网数据包的大小。