我正在使用网桥设置虚拟机网络。整个网络在 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 字节时包含图像数据的数据包之一的屏幕截图:
如你看到的,
- 总数据包大小为 8014 字节
- “以太网 II”标头(粉色)有 14 个字节,剩下 8000 个字节用于数据包的 IP 部分。
- IPv4 标头(蓝色)有 20 个字节
- UDP 报头(绿色)有 8 个字节
有关标准帧和巨型帧的详细信息和比较,请参阅维基百科:巨型框架和维基百科:最大传输单元。
注意:维基百科提到以太网头后面有一个 4 字节的 FCS(帧校验序列)。然而,在捕获的数据包中没有观察到这一点。
尽可能好地回答您的问题:我认为 Linux 指的是 IP 数据包的大小,而 Windows 和我的英特尔驱动程序指的是整个以太网数据包的大小。