什么是路由器mtu(设置路由器MTU与操作系统的MTU值相同)

可能很少有人注意过本人电脑操作系统、网络路由器的mtu值对自己网络性能产生的影响。对于追求更快的下载速度来说,MTU值设置不当,就仿佛穿着高跟鞋跑步一般。

一、MTU是什么?

“MTU=最大传输单元 单位:字节”

我们在使用互联网时进行的各种网络操作,都是通过一个又一个“数据包”传输来实现的。而MTU指定了网络中可传输数据包的最大尺寸,在我们常用的以太网中,MTU是1500字节。超过此大小的数据包就会将多余的部分拆分再单独传输。

二、为什么MTU影响网络性能?

让我们看看这个情况,在Windows系统中,默认MTU值也是1500字节,但是“不同的接入方式、不同地区的网络运营商、不同的路由器”有着不同的MTU设置。

例如:ADSL接入时MTU为1492字节,假设A需要给B传输3000字节数据,如果整个传输过程中各个环节的MTU都是1500,那么2个数据包就可以传输完成。可是偏偏这时ADSL接入方式的MTU是1492字节,数据包就因为这个MTU差异额外拆分为3个(为了便于理解,暂时不将“数据包报头”纳入考虑范围)。如图:

什么是路由器mtu(设置路由器MTU与操作系统的MTU值相同)(1)

显然这额外增加了需要传输的数据包数量,而且拆包组包的过程也浪费了时间。如果从本地到网络采用一致的MTU就可以避免额外拆包。

三、如何查看自己电脑操作系统的MTU值

开始----运行----cmd--输入:netsh interface ipv4 show subinterfaces 查询到目前系统的MTU值。(在DOS粘贴,不要用快捷键)。如图:

什么是路由器mtu(设置路由器MTU与操作系统的MTU值相同)(2)

MTU值为1500B

本人用的电脑是WIN10操作系统,用此命令查得MTU值为1500B。

四、如何查看自家路由器的MTU值

我家用的是TP-LINK TP-WDR7300路由器,在浏览器地址栏输入http://tplogic.cn,登录路由器设置页面后输入管理员密码,进入,找到上网设置选项,可看到有数据包MTU(字节)值,默认是1480。如图:

什么是路由器mtu(设置路由器MTU与操作系统的MTU值相同)(3)

默认是MTU为1480

五、对下载速度的影响会有多大?

如本人家里网络中光纤接入,但离机房较远的电信50-100M带宽为例,将操作系统的MTU值改为1492,再将路由器的MTU值从1480改为1492后,电信的带宽检测工具的检测结果也从8.04M提升到了11.13M。如图:

什么是路由器mtu(设置路由器MTU与操作系统的MTU值相同)(4)

修改前

什么是路由器mtu(设置路由器MTU与操作系统的MTU值相同)(5)

修改后

六、该如何合理设置MTU呢?

更快的下载速度,对于我们家庭用户来说,显然很有意义。可是MTU设置不能一个值天下通用,所以我们讲究合理设置MTU。

那么什么情况下的MTU值才是合理的呢?我们先看看什么是不合理设置MTU值?

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

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

这样我们就知道,所谓合理的设置MTU值,就是让本地的MTU值与网络的MTU值一致,既能完整发挥传输性能,又不让数据包拆分。

3.接下来最重要的就是要找出对于你的网络环境来说MTU多少才是合理的。

方法如下:

(1)按Win R组合键,调出“运行”菜单,输入“cmd”然后回车

(2)在出现的“命令提示符”窗口中输入“ping -l 1472 -f www.baidu.com”然后回车

含义:

ping:发起一个探测请求;

-l(L的小写):限制探测包大小;

1472:包大小为1472字节;

-f:禁止路由器拆分数据包

www.baidu.com:设百度为探测目标

(你问我为什么不用Google做目标?考虑到Google时不时被墙,还是算了吧。)

如图:

什么是路由器mtu(设置路由器MTU与操作系统的MTU值相同)(6)

4.这时有两种情况:

(1)如果收到了回复,那么说明你的网络允许最大MTU值就是1500字节,与系统默认值相同,只需要将路由器的MTU值也设置为1500即可;

(2)如果出现需要拆分数据包但是设置 DF。或是Packer needs to be fragmented but DF set.的提示,那就说明数据包大小超过了网络限定的MTU大小。需要减小探测包大小再次尝试。(为了截效果图,我将探测包改为1473了)

5.按“上箭头”恢复刚才输入的命令,然后以5为跨度减小包大小为1467字节,再次回车探测。

6.这时同样也有两种可能:

(1)如果有返回,说明数据包小于MTU限制,就将包大小 3再次探测,如果 3之后没有返回,那就以1为跨度降低数据包大小进行探测。

(2)如果还是没有返回,就继续以5为跨度减小包大小,直至有返回后进行5(1)中的操作。

7.直至你发现数据包-1后,有了返回,就说明你探测到了MTU允许的准确数据包大小。(例如从1465降低到1464就有了返回,那么允许的数据包大小就是1464)

8.不过上面得到的值还不能设置为操作系统或路由器的MTU,你找到的数据包大小需要加上28字节的“数据包报头”,才是完整的数据包尺寸。

【例如:本人经多次探测到GS电信的数据包大小是1464即最大MTU值为1464字节(B),那么加上28字节(B),最终MTU=1492字节(B)】

9.最后,只需要将路由器和操作系统中的MTU值设置为你得出的结果即可。

七、路由器MTU值设置方法

方法同四,进入路由器设置页面,找到上网设置选项,可看到有数据包MTU(字节)值改为1492,保存后,重启路由器

八、电脑操作系统中的MTU值设置方法

1.工具设置

如“Windows优化大师、超级兔子魔法设置等软件修改操作系统的MTU。

以下是较复杂的方法:

2.注册表设置

(1)XP操作系统设置方法:

ⅰ.按Win R组合键,调出“运行”菜单,输入regedit,然后回车;

ⅱ 选择“HKEY_Local_Machine>SYSTEM>CurrentControlSet>Services>Tcpip>Parameters>interface”;

ⅲ.在 interface 中下可能有很多项,需要逐个观察键值,会有一个项与你的网卡IP一致,选中该项;

ⅳ.然后在该项上点击右键,选择“编辑>新建>DWORD值”,然后在右侧将其命名为“MTU”;

ⅴ.右键点击MTU,选择“修改”,在弹出的窗口中选择“十进制”,填入你得出的合理MTU值即可。

(2)Win7、win10操作系统设置方法:

以以管理员身份运行cmd,在窗口中输入“netsh interface ipv4 set subinterface "需修改的连接名" mtu=你得出的合理值 store=persistent”并回车即可

例如:“netsh interface ipv4 set subinterface "以太网 2" mtu=1492 store=persistent”

如图:

什么是路由器mtu(设置路由器MTU与操作系统的MTU值相同)(7)

3.DOS命令设置

开始---运行---cmd---输入以下两行,每输入一行就按一次回车键。

netsh interface ipv4 set subinterface "本地连接" mtu=1480 store=persistent

netsh interface ipv4 set subinterface "无线网络连接" mtu=1480 store=persistent

最后,重启电脑,用方法三查看改过的操作系统的MTU 值已改为1492。

要说明的是,在改MTU值之前最好用宽带上网助手、360卫士测下网速或实际在华军软件园下载个软件测下实际下载速度。改后再测试下网速进行比较。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页