1、MTU是一个二层的概念,即最大传输单元(Maximum Transmission Unit,MTU)(以字节为单位),以太网层数据帧格式如下:
|
目标MAC |
源MAC |
Type |
Data |
CRC |
MTU属于其中的Data区域,RFC标准的MTU范围为64-1500字节
2、TCP的MSS
如上数据格式的Data区域中其实包含IP头部、TCP/UDP头部及应用层的数据,MSS是TCP里面的一个概念,它是TCP数据包每次能够传输的最大数据分段,不包含包头部分,它与物理MTU满足如下关系:
MTU=MSS+20bytes(IP包头)+20bytes(TCP包头)
TCP协议在建立三次握手中需要要协商双方的MSS值,这个值TCP协议在实现的时候往往用MTU值代替(需要减去IP数据包包头的大小20Bytes和TCP数据段的包头20Bytes),所以往往MSS为1460字节
3、路径MTU
1)不同厂商的不同设备,基本都可以自行修改自身的MTU数值(64-1500范围),所有数据包在整个互联网的数据链路中,可能会经过不同MTU值的设备
2)路径MTU:当一个数据包在互联网传输,会经过许多的设备,这些设备的MTU最小的那一个就是路径MTU