Windows和Linux下的MTU查看和修改

0    77    1

Tags:

👉 本文共约965个字,系统预计阅读时间或需4分钟。

MTU(Maximum Transmission Unit,最大传输单元)

网络上传输的并非连续的数据流,而是一个个的数据包,MTU的值限定了这个数据包的最大值。
如果电信运营商设定的数据包最大值为1480字节,而你的电脑通过路由器上网,默认是使用1500字节(如果是直连Modem,则会自动采用电信提供的 MTU值),那么你发送的数据包将超过电信的规定,而被退回,于是系统只好重新组成符合电信要求的数据包来发送,这样就浪费了时间,增加了处理工序,甚至有人因此网络非常不稳定,打开网页龟速。

最好的做法就是将自己电脑和路由器的 MTU 设置成电信允许的限值。

为什么MTU最大值为9000字节

  从理论上计算,4 bytes的CRC最大支持12000 bytes大小的字节,超过了就没有办法检查了。另外还有其他一些协议如NFS等的限制。
  最后需要注意的是,在经过交换网络设备时,仅仅修改主机端的MTU值是不行的,还需要交换网络设备上开启jumbo frames功能。

测试电信 MTU 值

以管理员身份运行命令提示符,“局域网”的MTU值默认为1500,“宽带”的MTU值则各地区不同,可通过尝试来获取所在地的MTU值,方法如下:

"-f" 在数据包中设置“不分段”标志。强制系统将数据包一次性发送出去。
"-l 1500" 代表 length 长度,1500 代表数据包长度为 1500 个字节。
返回结果是:需要拆分数据包。
修改 length 值,直到找出最大可传输数据包的长度(例如本机是 1464)。
上面得到的值并不能直接用于本地设置上(因为这里得到的其实是 MSS 而非 MTU),还应在此基础上加上 28(包头大小),因此最终的 MTU 值为:1464 + 28 = 1492

修改linux MTU值

修改MTU(Maximum Transmission Unit)值,即修改最大传输单元。修改方法如下:

1、ifconfig命令修改

  这个是最通用的方法,对所有的linux 发行版本都有效。缺点就是重启后失效,需要在开机项中加载。

2、修改配置文件

CentOS / RHEL / Fedora Linux 下

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!

Debian / Ubuntu Linux 下

修改 Win7 MTU 值

查询目前系统的 MTU 值:

修改:

至此,Win7 MTU 值修改完毕(不要忘了修改路由的 MTU 值)。

标签:

头像

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

嘿,我是小麦,需要帮助随时找我哦
  • 18509239930
  • 个人微信

  • 麦老师QQ聊天
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部
返回顶部