2023年12月17日发(作者:)

合理设置MTU,提升下载速度

2010年09月06日

发布者:.

可能很少有雷友注意过“本机、网络”的“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就能够够幸免额外拆包。

对下载速度的阻碍会有多大?

就拿伊文家里的线路质量不太好的电信4M带宽为例,将操作系统的MTU值改成1492,再将路由器的MTU值从1460改成1492后,下载速度从本来的435KB/s提升到了450KB/s,提升了15KB/s。电信的带宽检测工具的检测结果也从提升到了。

我该如何合理设置MTU呢?

更快的下载速度,关于迅雷的用户来讲,显然很成心义。可是MTU设置不能一个值天下通用,因此咱们讲究合理设置MTU。

那么什么情形下的MTU值才是合理的呢?

咱们先看看什么是不合理的:

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

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

如此咱们就明白,所谓合理的设置MTU值,确实是让本地的MTU值与网络的MTU值一致,既能完整发挥传输性能,又不让数据包拆分。

接下来最重要的确实是要找出关于你的网络环境来讲MTU多少才是合理的。

方式如下:

一、按Win+R组合键,调出“运行”菜单,输入“cmd”然后回车

二、在显现的“命令提示符”窗口中输入“ping -l 1472 -f 然后回车

含义:

ping:发起一个探测请求;

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

1472:包大小为1472字节;

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

:设百度为探测目标

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

3、这时有2种情形:

(1)、若是收到了答复,那么说明你的网络许诺最大MTU值确实是1500字节,与系统默许值相同,只需要将路由器的MTU值也设置为1500即可;

(2)、若是显现需要拆分数据包可是设置 DF。或是Packer needs to be fragmented but DF set.的提示,

那就说明数据包大小超过了网络限定的MTU大小。需要减小探测包大小再次尝试。(为了截成效图,我将探测包改成1473了)

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

五、这时一样也有两种可能:

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

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

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

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

(例如:探测到的数据包大小是1464,那么加上28字节,最终MTU=1492字节)

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

路由器设置方式见路由器说明书!建议利用“、、”等软件修改操作系统的MTU。

以下是较复杂的方式:

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

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

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

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

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

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

(2)、Vista、Win7操作系统设置方式:

一、进入系统盘:WindowsSystem32找到,右键“以治理员身份运行”;

二、在显现的“命令提示符”窗口中输入“netsh interface ipv4 show subinterfaces”并回车来查看当前的MTU值

3、接下来输入“netsh interface ipv4 set subinterface "需修改的连接名" mtu=你得出的合理值

store=persistent”并回车即可

例如:“netsh interface ipv4 set subinterface "本地连接" mtu=1492 store=persistent”

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