最大传输单元

最大传输单元（，缩写MTU）是指数据链路层上面所能通過的最大数据包大小（以字节为单位）。最大传输单元这个参数通常与通信接口有关（网络卡、串口等）。

因特网协议允许IP分片，这样就可以将数据报包分成足够小的片段以通过那些最大传输单元小于该数据报原始大小的链路了。这一分片过程发生在IP层（OSI模型的第三层，即网络层），它使用的是将分组发送到链路上的网络接口的最大传输单元的值。原始分组的分片都被加上了标记，这样目的主机的IP层就能将分组重组成原始的数据报了。

在因特网协议中，一条因特网传输路径的“路径最大传输单元”被定义为从源地址到目的地址所经过“路径”上的所有IP的最大传输单元的最小值。或者从另外一个角度来看，就是无需进一步分片就能穿过这条“路径”的最大传输单元的最大值。

RFC 1191 描述了“路径最大传输单元发现方法（PMTUD）”RFC 1191，这是一种确定两个IP主机之间路径最大传输单元的技术，其目的是为了避免IP分片。在这项技术中，源地址将设置数据报的DF（Don't Fragment，不要分片）标记位，再逐渐增大发送的数据报的大小——路径上任何需要将分组进行分片的设备都会将这种数据报丢弃并返回一个“数据报过大”的ICMP响应到源地址——这样，源主机就“获取”到了不用进行分片就能通过这条路径的最大的最大传输单元了。

RFC 4821 描述了“分组层路径最大传输单元发现方法（PLPMTUD）”RFC 4821。该方法通过借助传输层协议（例如TCP 协议），在不依赖 ICMP 的情况下探测两个主机之间路径上的 MTU。RFC 8899 对 PLPMTUD 进行了增补，提出了“数据报分组层路径最大传输单元发现方法（DPLPMTUD）”RFC 8899，使得可以使用 UDP 协议探测路径 MTU。

对于时下大多数使用以太网的局域网来说，最大传输单元的值是1,500字节。但是像PPPoE这样的系统会减小这个数值，通常是1492（=1500-2（PPP）-6（oE）），这就使得在使用最大传输单元发现方法时可能会产生这样的结果：一些处于配置不当的防火墙之后的站点变得不可达了。对于这种情况，还是可能找到变通的方法的，但这取决于你控制的是网络的哪一部分。这些方法包括改变用来在防火墙一端建立TCP连接的第一个分组的MSS（Maximum Segment Size，最大分段大小）。

 常見媒体的MTU表 
 网络  MTU(Byte) 超通道  65535 16Mb/s令牌环  17914 4Mb/s令牌环  4464 FDDI  4352 以太网  1500 IEEE 802.3/802.2  1492 X.25  576 点对点（低时延）  296 ATM  48

 參見 
巨型幀

 外部連結 
 RFC 1191
 RFC 4821
 RFC 8899
 https://web.archive.org/web/20110906155344/http://www.znep.com/~marcs/mtu/index.html Path MTU Discovery and Filtering ICMP
 http://www.tech-faq.com/mtu.shtml  Default MTU Sizes
 https://web.archive.org/web/20051201003611/http://iptables-tutorial.frozentux.net/iptables-tutorial.html#TCPMSSTARGET How to set the TCP MSS value using iptables.
 https://web.archive.org/web/20060203093235/http://help.expedient.net/broadband/mtu_ping_test.shtml Discovering of MTU value via ping and setting it in Windows

 参考文献 

Category:封包