阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

如何在Linux上合理设置网卡的MTU值

105次阅读
没有评论

共计 1118 个字符,预计需要花费 3 分钟才能阅读完成。

今天马哥教育要跟大家分享的文章是关于如何在 Linux 上合理设置网卡的MTU 值。正在从事 Linux 相关工作的小伙伴们来和小编一起看一看吧,希望本篇文章能够对大家有所帮助!

MTU:是网络的最大传输单元, 通信术语: 最大传输单元 (Maximum Transmission Unit,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 大小。需要减小探测包大小再次尝试。

四、如何修改 MTU 值

Linux 临时修改

ifconfig eth0 mtu 1488 up

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

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

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

第一:使用 pptp 后,未将服务器上 mtu 改小,可能造成带宽跑不上去

第二:使用 GRE 后,未将服务器上 mtu 改小,可能造成部分网站无法打开,如百度,hao123 等

以上就是马哥教育今天为大家分享的关于如何在 Linux 上合理设置网卡的 MTU 值的文章,希望本篇文章能够对正在从事 Linux 相关工作的小伙伴们有所帮助。想要了解更多 Linux 相关知识记得关注马哥教育官网。

声明:文章来源于网络,侵删!

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-12-03发表,共计1118字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中