跳转至

MTU


最大传输单元(Maximum Transmission Unit,MTU)
链路层可以传送的最大帧的字节数

1500

RFC标准定义以太网的默认MTU值为1500
早期的以太网使用共享链路的工作方式,为了保证CSMA/CD(载波多路复用/冲突检测)机制,所以规定了以太帧长度最小为64字节,最大为1518字节。
64字节是最极端的冲突能被检测到的最小值;
最大不超过1518字节是为了防止过长的帧传输时间过长而占用共享链路太长时间导致其他业务阻塞。

mtu 数据帧是1518字节
帧头14字节
帧尾CRC校验部分4字节
承载有1500字节,

分片

以太网缺省MTU=1500字节,这是以太网接口对IP层的约束,
如果IP层有<=1500字节需要发送,只需要一个IP包就可以完成发送任务;
如果IP层有>1500字节数据需要发送,需要分片才能完成发送。 mtu

报文大小

  • 大报文

    报文中的有效数据也更多,通信效率更高, 但传送一个数据包的延迟也越大 数据包中bit位发生错误的概率也越大 如果报文丢掉,重传的代价也很大

  • 小报文

    传输相同的数据量,设备需要处理更多的报文, 这样会极大的考验设备的线速转发能力。

Jumbo帧

巨型帧(Jumbo Frame),把以太网的最大帧长扩大
减少转发开销

Path MTU

Path MTU就是指传输路径的MTU
无需分片就能穿过某路径的数据包最大长度。
在从发送端到接收端的传输路径上,如果网元的MTU设置不一致,则决定该路径可用MTU的, 以Path MTU作为IP包长发送数据,既高效又能避免分片。 mu

RFC 1191(IPv4)和RFC 1981(IPv6)定义了动态探测Path MTU值的技术,用于确定两个IP主机之间的Path MTU。
首先源节点假设Path MTU就是其出接口的MTU,发出一个试探性的报文,并设置改报文不允许被分片。
当转发路径上存在一个小于当前假设的Path MTU时,转发设备就会向源节点发送回应报文,并且携带自己的MTU值,此后源节点将Path MTU的假设值更改为新收到的MTU值继续发送报文。

如此反复,直到报文到达目的地之后,源节点就能知道到达目的地的Path MTU了。

mtu
目前IPv4网络其实没有有效手段来发现PMTU 。主要原因是:
某些运营商或网站考虑网络安全或其他需要,把ICMP探测报文过滤掉了。
Path MTU需要主机和互联网上的各种网络设备(交换机、路由器、防火墙等)的配合,但有些网络设备不遵从RFC 1191协议。

参考

华为MTU介绍