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

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

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

答案1

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

我无法准确回答您的问题,但以下是我发现的情况。
这是我将相机中的数据包大小设置为 8000 字节时包含图像数据的数据包之一的屏幕截图:

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

如你看到的,

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

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

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

相关内容