MTU(Maximum Transmission Unit,最大传输单元)
MTU由TCP/IP协议栈中的IP协议定义,网络层的IP将MTU设置为1500字节。
简单点理解就是:IP规定每一个单独的数据包大小,在网络层时不能超过1500字节。
如果要将一个大于1500字节的数据包从一个接口传出去,在网络层,就会对这个数据包进行分割成若干份,每份都是1500字节。
比如:一个5000字节的数据包要传出去,则会分成四个数据包,前三个都是1500字节,最后一个是500字节。
关于一个数据包MTU的大小,并不是固定的,需要注意的是:
网络层外面还会加上数据链路层的封装,经过数据链路层封装之后,才是一个数据包最终的大小。要注意,MTU只是限制了一个数据包经过网络层的封装后,不要超过1500字节。
一个数据包最终是多少,是不能一概而论的,不同的数据链路层会在“网络层1500字节”的基础上加上不同的头部,比如:
以太网会在网络层的基础上加上14字节头部和4字节的FCS尾部,所以,一个以太网数据帧最终的大小是1518字节
当数据链路层为HDLC时,它会在网络层前面加上4字节的HDLC的头部和4字节的FCS校验,所以,一个HDLC链路的数据包是1508字节
当数据链路层为PPP时,它会在网络层前面加上4字节的PPP的头部和4字节的FCS校验,所以,一个PPP链路的数据包是1508字节
当链路两端的数据包MTU设置不一致时,影响大吗?
需要注意的是,MTU只会影响到数据发出方向,对收入的数据,是没有MTU限制的。<