加入收藏 | 设为首页 | 会员中心 | 我要投稿 西双版纳站长网 (https://www.0691zz.com.cn/)- 数据计算、IT业界、服务器、教程、云日志!
当前位置: 首页 > 云计算 > 正文

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

发布时间:2022-07-20 11:23:31 所属栏目:云计算 来源:互联网
导读:跟大家分享的文章是关于如何在Linux上合理设置网卡的MTU值。正在从事Linux相关工作的小伙伴们来和小编一起看一看吧,希望本篇文章能够对大家有所帮助! MTU:是网络的最大传输单元,通信术语:最大传输单元(Maximum Transmission Unit,MTU)是指一种通信协议的
  跟大家分享的文章是关于如何在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等

(编辑:西双版纳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读