一、MTU的概念
MTU(最大传输单元):用来通知对方所能接受数据服务单元的最大尺寸,说明发送方能够接受的有效载荷大小。MTU是包或帧的最大长度,一般以字节记,如果过大在碰到路由器时会被拒绝转发,如果太小,因为协议一定要在包上加上包头,那实际传送的数据量就会过小。
MTU的计算不仅仅包含数据大小,也包含数据链路层,网络层,传输层的包头。
二、MTU的计算方式
由上图可看出,序号101的报文是需要102报文的分包。
上图可以看出,这个分包的三层头是20字节。
上图可以看出,这个分包的二层头是14字节。
所以可以得出,此分包的大小是:1280(数据)+20(三层头)+14(二层头)=1314
因为分包为IP层的分包,所以在按照MTU分包的时候不会加上二层头,所以MTU大小为1300.
因为码流为UDP传输的,所以分包的原始包会包含一个8字节的UDP四层头。