为什么 MTU 的含义不同?

网络工程 路由
2021-07-15 12:38:09

我一直在阅读有关 MTU 的一些资料,但我无法理解某些事情。当我们谈论以太网的 MTU 时,有记录表明 MTU 为 1500,但是添加以太网标头后帧大小更大。如此有效,当人们谈论以太网的 MTU 为 1500 时,他们指的是有效载荷。

现在,如果这是所有其他协议的标准案例,我可以接受上述声明。但以 TCP 为例,MTU 被视为有效载荷 + IP 标头 + TCP 标头。如果将其与以太网进行比较,MTU 只是有效载荷,但对于 TCP,它是有效载荷 + 标头。

我是否理解这一点,因为确定哪些协议包含带有 MTU 的标头,哪些不包含标头真的很令人困惑?我偷偷怀疑它只是在谈论 MTU 时不包含标头的以太网,因为它将为上层协议设置最大数据包大小的标准(即,您只能拥有一个包含总数据包的 IP 数据包)使用 1500MTU 的大小,包括所有标题和所有内容)。但我想澄清一下这个话题。

我确实意识到可以使用碎片化,但我想知道如何在不谈论碎片化的情况下解决这个问题。

2个回答

您遇到了我一直认为的命名痛点。让我先对您所说的内容稍作修正:从技术上讲,MTU 是以太网帧内 L3PDU 的最大大小。L3PDU 由 IP 报头和有效载荷组成。所以有效载荷 =/= MTU。

现在,当您非正式地谈论这个时,您通常只说“有效负载”,而没有说明您是在谈论以太网帧的有效负载,还是其中的 L3PDU 的有效负载。这让我想到了一个问题:混淆来自于一些名称实际上重叠的事实。当您谈论 TCP MTU 时,您实际上是在谈论最大数据包大小,这是一个独立于物理以太网 MTU 的值,保留为 1500 字节。

总之,真正的 MTU 是物理 MTU,即以太网帧内 IP 数据包的最大大小。当您谈论与其他网络层相关的 MTU 时,您实际上是在谈论最大数据包大小,它不一定具有与物理 MTU 相同的值。

这篇文章更详细地讨论了这一点,但这里有一个与这个问题相关的摘录:

可以为 TCP/IP 等更高级别的网络协议配置最大数据包大小,该参数与 TCP/IP 运行的物理层 MTU 无关。不幸的是,许多网络设备交替使用这些术语。例如,在家庭宽带路由器和支持 Xbox Live 的游戏机上,称为 MTU 的参数实际上是最大 TCP 数据包大小,而不是物理 MTU。

- 嗨,史蒂夫,

电信是一门真正困难的学科,因为有很多需要的歧义。

MTU 仅表示“最大传输单元”,仅此而已。

现在,考虑在 LAN 中 MAC 802.3 帧的有效载荷是 1500 字节。

因此,封装在 MAC 802.3 帧中的 IPv4 或 IPv6 数据报的 MTU 为 1500 字节。

PPP、PPPoE 中的PPP、MAC 802.3 中的PPPoE 封装的IPv4 或IPv6 数据报的MTU 为1492 字节。

您可以随心所欲地作曲。例如PPPoE封装的PPP帧的MTU,MAC 802.3帧是PPPoE,MTU为1494字节。

我让你定义一个 MAC 802.3 帧 VLAN 标记的 MTU。

有时,人们希望通过忘记重要词来提高技术水平。

最好的问候,米歇尔