关于MTU、IPMTU、TCPMSS探讨与分析1
概述本文主要分析了二层MTU,IPMTU,MSS之间的关系和在不同网络场景中的应用,最后通过一个案例分析来进一步认识MTU对实际IP数据包转发的影响
MTU最大传输单元(MaximumTransmissionUnit,MTU)是指一种通信协议在某一层上面所能通过的最大数据报大小(以字节为单位),它通常与链路层协议有密切的关系
EthernetII帧结构如下:DMACSMACTypeDataCRC由于以太网传输电气方面的限制,每个以太网帧都有最小的大小64bytes,最大不能超过1518bytes,对于小于或者大于这个限制的以太网帧,我们都可以视之为错误的数据帧
一般的以太网转发设备会丢弃这些数据帧
(注:小于64Bytes的数据帧一般是由于以太网冲突产生的“碎片”或者线路干扰或者坏的以太网接口产生的,对于大于1518Bytes的数据帧我们一般把它叫做Giant帧,这种一般是由于线路干扰或者坏的以太网口产生)
由于以太网EthernetII最大的数据帧是1518Bytes,除去以太网帧的帧头(DMAC目的MAC地址48bit=6Bytes+SMAC源MAC地址48bit=6Bytes+Type域2bytes)14Bytes和帧尾CRC校验部分4Bytes(这个部份有时候大家也把它叫做FCS),那么剩下承载上层协议的地方也就是Data域最大就只能有1500Bytes,这个值我们就把它称之为MTU
这个MTU就是网络层协议非常关心的地方,因为网络层协议比如IP协议会根据这个值来决定是否把上层传下来的数据进行分片
就好比一个盒子没法装下一大块面包,我们需要把面包切成片,装在多个盒子里面一样的道理
当两台远程PC互联的时候,它们的数据需要穿过很多的路由器和各种各样的网络媒介才能到达对端,网络中不同媒介的MTU各不相同,就好比一长段