合理设置MTU

MTU介绍:是网络的最大传输单元

当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大小。需要减小探测包大小再次尝试。

linux临时修改MTU值

方法一:ifconfig eth0 mtu 1488 up
方法二:echo "1500" > /sys/class/net/eth0/mtu       
    这个办法有一次,断过网,其他是否都能正常的改掉
    还有一次直接触发了bug,如下
    Message from syslogd@ceph01 at Mar  9 10:41:23 ...
 kernel:[5327133.082146] watchdog: BUG: soft lockup - CPU#28 stuck for 52s! [ksoftirqd/28:189]

华为交换机二层端口如何修改MTU

答:二层端口,不用修改,默认就支持巨帧,在dis int g0/0/1就能看到

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

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

MTU设置不正确可能会造成什么问题(平时都是默认1500)

    第一:使用pptp后,未将服务器上mtu改小,可能造成带宽跑不上去
    第二:使用GRE后,未将服务器上mtu改小,可能造成部分网站无法打开,如百度,hao123,以及一些品牌服务器的ipmi管理界面等
        #使用GRE 隧道后,如果网络上的正常数据包大小(MTU)为1500字节,则通过隧道发送的数据包只能是 1480 字节大,因为存在20字节的 包头开销

    第三:pppoe的wan口,必须是1492
声明:本文为原创,作者为 辣条①号,转载时请保留本声明及附带文章链接:https://boke.wsfnk.com/archives/62.html
谢谢你请我吃辣条谢谢你请我吃辣条

如果文章对你有帮助,欢迎点击上方按钮打赏作者

最后编辑于:2023/3/9作者: 辣条①号

现在在做什么? 接下来打算做什么? 你的目标什么? 期限还有多少? 进度如何? 不负遇见,不谈亏欠!

暂无评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

arrow grin ! ? cool roll eek evil razz mrgreen smile oops lol mad twisted wink idea cry shock neutral sad ???

文章目录