1、本地MTU值大于网络MTU值时,本地传输的数据包过大导致网络会拆包后传输,不但产生额外的数据包,而且消耗了“拆包、组包”的时间。
2、本地MTU值小于网络MTU值时,本地传输的数据包可以直接传输,但是未能完全利用网络给予的数据包传输尺寸的上限值,传输能力未完全发挥。
这样我们就知道,所谓合理的设置MTU值,就是让本地的MTU值与网络的MTU值一致,既能完整发挥传输性能,又不让数据包拆分。
接下来最重要的就是要找出对于你的网络环境来说MTU多少才是合理的。
方法如下:
1、按Win+R组合键,调出“运行”菜单,输入“cmd”然后回车
2、在出现的“命令提示符”窗口中输入“ping -l 1472 -f www.baidu.com”然后回车
含义:
ping:发起一个探测请求;
-l(L的小写):限制探测包大小;
1472:包大小为1472字节;
-f:禁止路由器拆分数据包
www.baidu.com:设百度为探测目标
(你问我为什么不用Google做目标?考虑到Google时不时被墙,还是算了吧。。)
3、这时有2种情况:
(1)、如果收到了回复,那么说明你的网络允许最大MTU值就是1500字节,与系统默认值相同,只需要将路由器的MTU值也设置为1500即可;
(2)、如果出现需要拆分数据包但是设置 DF。或是Packer needs to be fragmented but DF set.的提示,那就说明数据包大小超过了网络限定的MTU大小。需要减小探测包大小再次尝试。(为了截效果图,我将探测包改为1473了)
4、按“上箭头”恢复刚才输入的命令,然后以5为跨度减小包大小为1467字节,再次回车探测。
5、这时同样也有两种可能:
(1)、如果有返回,说明数据包小于MTU限制,就将包大小+3再次探测,如果+3之后没有返回,那就以1为跨度降低数据包大小进行探测。
(2)、如果还是没有返回,就继续以5为跨度减小包大小,直至有返回后进行5(1)中的 *** 作。
6、直至你发现数据包-1后,有了返回,就说明你探测到了MTU允许的准确数据包大小。(例如从1465降低到1464就有了返回,那么允许的数据包大小就是1464)
7、不过上面得到的值还不能设置为 *** 作系统或路由器的MTU,你找到的数据包大小需要加上28字节的“数据包报头”,才是完整的数据包尺寸。
(例如:探测到的数据包大小是1464,那么加上28字节,最终MTU=1492字节)
8、最后,只需要将路由器和 *** 作系统中的MTU值设置为你得出的结果即可。
路由器设置方法见路由器说明书!建议使用“Windows优化大师、超级兔子魔法设置、鲁大师”等软件修改 *** 作系统的MTU。
以下是较复杂的方法:
(1)、XP *** 作系统设置方法:
1、 按Win+R组合键,调出“运行”菜单,输入regedit,然后回车;
2、 选择“HKEY_Local_Machine>SYSTEM>CurrentControlSet>Services>Tcpip>Parameters>interface”;
3、在 interface 中下可能有很多项,需要逐个观察键值,会有一个项与你的网卡IP一致,选中该项;
4、然后在该项上点击右键,选择“编辑>新建>DWORD值”,然后在右侧将其命名为“MTU”;
5、右键点击MTU,选择“修改”,在d出的窗口中选择“十进制”,填入你得出的合理MTU值即可。
(2)、Vista、Win7 *** 作系统设置方法:
1、进入系统盘:\Windows\System32\找到cmd.exe,右键“以管理员身份运行”;
2、在出现的“命令提示符”窗口中输入“netsh interface ipv4 show subinterfaces”并回车来查看当前的MTU值
3、接下来输入“netsh interface ipv4 set subinterface "需修改的连接名" mtu=你得出的合理值 store=persistent”并回车即可
例如:“netsh interface ipv4 set subinterface "本地连接" mtu=1492 store=persistent”
测试一个网络MTU值的 *** 作步骤:
1)按win+r组合键呼叫运行菜单,输入cmd后回车
2)在出现的“命令提示符”窗口中输入“ping -l 1472 -f 百度”然后回车这段杂乱无章的东东是神马意思呢?
接下来Teamo稍微解释下:ping:发起一个探测请求; -l(L的小写):限制探测包大小; 1472:包大小为1472字节; -f:禁止路由器拆分数据包 百度:设百度为探测目标
3)按下回车后,会出现两种返回结果:
(1)、如果收到了回复,那么说明你的网络允许最大MTU值就是1500字节,与系统默认值相同,只需要将路由器的MTU值也设置为1500即可
(2)、如果出现需要拆分数据包但是设置 DF。或是Packer needs to be fragmented but DF set.的提示,那就说明数据包大小超过了网络限定的MTU大小。需要减小探测包大小再次尝试。
4)按“上箭头”恢复刚才输入的命令,然后以5为跨度减小包大小为1467字节,再次回车探测。
5)这时同样也有两种可能:
(1)、如果有返回,说明数据包小于MTU限制,就将包大小+3再次探测,如果+3之后没有返回,那就以1为跨度降低数据包大小进行探测。
(2)、如果还是没有返回,就继续以5为跨度减小包大小,直至有返回后进行5(1)中的 *** 作。
6)直至你发现数据包-1后,有了返回,就说明你探测到了MTU允许的准确数据包大小。
例如从1465降低到1464就有了返回,那么允许的数据包大小就是1464。
7)不过上面得到的值还不能设置为 *** 作系统或路由器的MTU,你找到的数据包大小需要加上28字节的“数据包报头”,才是完整的数据包尺寸。
例如:探测到的数据包大小是1464,那么加上28字节,最终MTU=1492字节。
8)最后,只需要将路由器和 *** 作系统中的MTU值设置为你得出的结果即可进入小极后台,高级选项中的MTU设置中填入测得的数值即可。
1、点击开始-运行,输入CMD,打开DOS窗口栏,在光标后输入命令:netsh interface ipv4 show subinterfaces,这个命令是查看你的连线名称和MTU值的,正常情况下会有几行数据,显示的是你的电脑上所有的网络连接方式,第一列是mtu 值,通常显示1492
2、确定要修改的连线,输入命令:netsh interface ipv4 set subinterface "xxxx" mtu=yyy store=persistent
注:xxxx 为你想改的连线名称,改之前最好把你的连线名(通常名称是本地连接,但要知道具体是什么名称,窗口内查看),yyy为你想要的mtu值,测试结果是 win7系统下并使用路由器的,可以修改为
1000及其以下, 1000也可以,我设的是1000
3、进行游戏后,正常点击人物,没有反映也不要紧急(有点耐心),稍等一会儿(通常1分钟左右,已经计算过)就可以正常进入了。如果不行,重复第2步(mtu值不是越小越好,越小的话有时打开部分
网站会显示无法打开,建议576~1000以内),一般情况都能够进入游戏,如果不行一定再仔细看下前面的步骤,照着做就行,特别是输入命令的部分,命令是可以直接复制、粘贴的。这样做就能完美 运行
了~ 我是WIN7旗舰版 和VISTA 都可以用 。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)