良许Linux教程网 干货合集 如何设置一个合理的MTU值

如何设置一个合理的MTU值

MTU是Maximum Transmission Unit的缩写,即最大传输单元。是指链路层(TCP/IP四层结构中的最底层:链路层 Link Layer)所能传送数据帧的最大长度。MTU的单位是字节。 大部分网络设备的MTU都是1500,即IP数据报的长度不能超过1500字节。

u=1799224324,1091032342&fm=26&gp=0

当MTU不合理时会造成如下问题

1.本地MTU值大于网络MTU值时,本地传输的”数据包”过大导致网络会拆包后传输,不但产生额外的数据包,而且消耗了“拆包、组包”的时间。

2.本地MTU值小于网络MTU值时,本地传输的数据包可以直接传输,但是未能完全利用网络给予的数据包传输尺寸的上限值,传输能力未完全发挥。

什么是合理的MTU值

让本地MTU值与网络的MTU值一致,以致于不会出现数据包的大小超过网络传输的MTU值,而不得不进行拆包,然后组包,再进行转发,所谓合理的设置MTU值,就是让本地的MTU值与网络的MTU值一致,既能完整发挥传输性能,又不让数据包拆分。

怎么探测合理的MTU

linux下探测MTU值
ping -s 1460 -M do baidu.com
含义:发送大小包大小是1460(+28)字节,禁止路由器拆分数据包。

windows下探测MTU值
ping -f -l 1460 baidu.com

回复结果

1.如果正常回复,说明网络允许最大MTU就是1500字节,与系统默认相同,只需将自己的路由的MTU也设置为1500即可。

2.如果没正常回复,说明数据包大小超过了网络限定的MTU大小。需要减小探测包大小再次尝试。

如何修改MTU值

linux临时修改
ifconfig eth0 mtu 1488 up

为什么mtu值是探测出来的值加上28

因为ping使用icmp协议,你指定的探测值是数据包数据净荷的长度,还需要加上20字节的ip头部,和8字节的icmp封装

#MTU设置不正确可能会造成什么问题(平时都是默认1500)
第一:使用pptp后,未将服务器上mtu改小,可能造成带宽跑不上去
第二:使用GRE后,未将服务器上mtu改小,可能造成部分网站无法打开,如百度,hao123等

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

img
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部