MTU:通信术语
最大传输单元(Maximum Transmission Unit)是指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位)。
我们在使用互联网时进行的各种网络操作,都是通过一个又一个“数据包”传输来实现的。而MTU指定了网络中可传输数据包的最大尺寸,在我们常用的以太网中,MTU是1500字节。超过此大小的数据包就会将多余的部分拆分再单独传输 。
MTU的设置不是一个值天下通用,所以需要我们合理设置特殊场景的MTU 。
首先确认什么是不合理的 :
1.本地MTU值大于网络MTU值时,本地传输的数据包过大导致网络会拆包后传输,不但产生额外的数据包,而且消耗了“拆包、组包”的时间 。
2.本地MTU值小于网络MTU值时,本地传输的数据包可以直接传输,但是未能完全利用网络给予的数据包传输尺寸的上限值,传输能力未完全发挥 。
这样我们就知道:
所谓合理的设置MTU值,就是让本地的MTU值与网络的MTU值一致,既能完整发挥传输性能,又不让数据包拆分。
Linux OS:
ping -s 1472 -M do 172.21.0.118
含义:
发送大小包大小是1472(+28)字节,禁止路由器拆分数据包。
回复结果:
1.如果正常回复,说明网络允许最大MTU就是1500字节,与系统默认相同,只需将自己的路由的MTU也设置为1500即可。
2.如果没正常回复,说明数据包大小超过了网络限定的MTU大小。需要减小探测包大小再次尝试。