【网络优化|渣速必看】合理设置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。电信的带宽检测工具的检测结果也从4.09M提升到了4.19M。
\u3000\u3000\u90a3\u4e48\u4ec0\u4e48\u60c5\u51b5\u4e0b\u7684MTU\u503c\u624d\u662f\u5408\u7406\u7684\u5462\uff1f
\u6211\u4eec\u5148\u770b\u770b\u4ec0\u4e48\u662f\u4e0d\u5408\u7406\u7684\uff1a
1\u3001\u672c\u5730MTU\u503c\u5927\u4e8e\u7f51\u7edcMTU\u503c\u65f6\uff0c\u672c\u5730\u4f20\u8f93\u7684\u6570\u636e\u5305\u8fc7\u5927\u5bfc\u81f4\u7f51\u7edc\u4f1a\u62c6\u5305\u540e\u4f20\u8f93\uff0c\u4e0d\u4f46\u4ea7\u751f\u989d\u5916\u7684\u6570\u636e\u5305\uff0c\u800c\u4e14\u6d88\u8017\u4e86\u201c\u62c6\u5305\u3001\u7ec4\u5305\u201d\u7684\u65f6\u95f4\u3002
2\u3001\u672c\u5730MTU\u503c\u5c0f\u4e8e\u7f51\u7edcMTU\u503c\u65f6\uff0c\u672c\u5730\u4f20\u8f93\u7684\u6570\u636e\u5305\u53ef\u4ee5\u76f4\u63a5\u4f20\u8f93\uff0c\u4f46\u662f\u672a\u80fd\u5b8c\u5168\u5229\u7528\u7f51\u7edc\u7ed9\u4e88\u7684\u6570\u636e\u5305\u4f20\u8f93\u5c3a\u5bf8\u7684\u4e0a\u9650\u503c\uff0c\u4f20\u8f93\u80fd\u529b\u672a\u5b8c\u5168\u53d1\u6325\u3002
\u3000\u3000\u8fd9\u6837\u6211\u4eec\u5c31\u77e5\u9053\uff0c\u6240\u8c13\u5408\u7406\u7684\u8bbe\u7f6eMTU\u503c\uff0c\u5c31\u662f\u8ba9\u672c\u5730\u7684MTU\u503c\u4e0e\u7f51\u7edc\u7684MTU\u503c\u4e00\u81f4\uff0c\u65e2\u80fd\u5b8c\u6574\u53d1\u6325\u4f20\u8f93\u6027\u80fd\uff0c\u53c8\u4e0d\u8ba9\u6570\u636e\u5305\u62c6\u5206\u3002
","post_no":3,"type":"0","comment_num":0,"props":null,"post_index":1,"pb_tpoint":null}}'>
更快的下载速度,对于迅雷的用户来说,显然很有意义。可是MTU设置不能一个值天下通用,所以我们讲究合理设置MTU。
那么什么情况下的MTU值才是合理的呢?
我们先看看什么是不合理的:
1、本地MTU值大于网络MTU值时,本地传输的数据包过大导致网络会拆包后传输,不但产生额外的数据包,而且消耗了“拆包、组包”的时间。
2、本地MTU值小于网络MTU值时,本地传输的数据包可以直接传输,但是未能完全利用网络给予的数据包传输尺寸的上限值,传输能力未完全发挥。
这样我们就知道,所谓合理的设置MTU值,就是让本地的MTU值与网络的MTU值一致,既能完整发挥传输性能,又不让数据包拆分。
1\u3001\u6309Win+R\u7ec4\u5408\u952e\uff0c\u8c03\u51fa\u201c\u8fd0\u884c\u201d\u83dc\u5355\uff0c\u8f93\u5165\u201ccmd\u201d\u7136\u540e\u56de\u8f66
2\u3001\u5728\u51fa\u73b0\u7684\u201c\u547d\u4ee4\u63d0\u793a\u7b26\u201d\u7a97\u53e3\u4e2d\u8f93\u5165\u201cping -l 1472 -f www.baidu.com\u201d\u7136\u540e\u56de\u8f66
\u542b\u4e49\uff1a
ping\uff1a\u53d1\u8d77\u4e00\u4e2a\u63a2\u6d4b\u8bf7\u6c42\uff1b
-l\uff08L\u7684\u5c0f\u5199\uff09\uff1a\u9650\u5236\u63a2\u6d4b\u5305\u5927\u5c0f\uff1b
1472\uff1a\u5305\u5927\u5c0f\u4e3a1472\u5b57\u8282\uff1b
-f\uff1a\u7981\u6b62\u8def\u7531\u5668\u62c6\u5206\u6570\u636e\u5305 www.baidu.com\uff1a\u8bbe\u767e\u5ea6\u4e3a\u63a2\u6d4b\u76ee\u6807
\uff08\u4f60\u95ee\u6211\u4e3a\u4ec0\u4e48\u4e0d\u7528Google\u505a\u76ee\u6807\uff1f\u8003\u8651\u5230Google\u65f6\u4e0d\u65f6\u88ab\u5899\uff0c\u8fd8\u662f\u7b97\u4e86\u5427\u3002\u3002\uff09
3\u3001\u8fd9\u65f6\u67092\u79cd\u60c5\u51b5\uff1a
\uff081\uff09\u3001\u5982\u679c\u6536\u5230\u4e86\u56de\u590d\uff0c\u90a3\u4e48\u8bf4\u660e\u4f60\u7684\u7f51\u7edc\u5141\u8bb8\u6700\u5927MTU\u503c\u5c31\u662f1500\u5b57\u8282\uff0c\u4e0e\u7cfb\u7edf\u9ed8\u8ba4\u503c\u76f8\u540c\uff0c\u53ea\u9700\u8981\u5c06\u8def\u7531\u5668\u7684MTU\u503c\u4e5f\u8bbe\u7f6e\u4e3a1500\u5373\u53ef\uff1b
\uff082\uff09\u3001\u5982\u679c\u51fa\u73b0\"\u9700\u8981\u62c6\u5206\u6570\u636e\u5305\u4f46\u662f\u8bbe\u7f6e DF\"\u3002\u6216\u662f\"Packer needs to be fragmented but DF set.\"\u7684\u63d0\u793a\uff0c\u90a3\u5c31\u8bf4\u660e\u6570\u636e\u5305\u5927\u5c0f\u8d85\u8fc7\u4e86\u7f51\u7edc\u9650\u5b9a\u7684MTU\u5927\u5c0f\u3002\u9700\u8981\u51cf\u5c0f\u63a2\u6d4b\u5305\u5927\u5c0f\u518d\u6b21\u5c1d\u8bd5\u3002\uff08\u4e3a\u4e86\u622a\u6548\u679c\u56fe\uff0c\u6211\u5c06\u63a2\u6d4b\u5305\u6539\u4e3a1473\u4e86\uff09
4\u3001\u6309\u201c\u4e0a\u7bad\u5934\u201d\u6062\u590d\u521a\u624d\u8f93\u5165\u7684\u547d\u4ee4\uff0c\u7136\u540e\u4ee55\u4e3a\u8de8\u5ea6\u51cf\u5c0f\u5305\u5927\u5c0f\u4e3a1467\u5b57\u8282\uff0c\u518d\u6b21\u56de\u8f66\u63a2\u6d4b\u3002
5\u3001\u8fd9\u65f6\u540c\u6837\u4e5f\u6709\u4e24\u79cd\u53ef\u80fd\uff1a
\uff081\uff09\u3001\u5982\u679c\u6709\u8fd4\u56de\uff0c\u8bf4\u660e\u6570\u636e\u5305\u5c0f\u4e8eMTU\u9650\u5236\uff0c\u5c31\u5c06\u5305\u5927\u5c0f+3\u518d\u6b21\u63a2\u6d4b\uff0c\u5982\u679c+3\u4e4b\u540e\u6ca1\u6709\u8fd4\u56de\uff0c\u90a3\u5c31\u4ee51\u4e3a\u8de8\u5ea6\u964d\u4f4e\u6570\u636e\u5305\u5927\u5c0f\u8fdb\u884c\u63a2\u6d4b\u3002
\uff082\uff09\u3001\u5982\u679c\u8fd8\u662f\u6ca1\u6709\u8fd4\u56de\uff0c\u5c31\u7ee7\u7eed\u4ee55\u4e3a\u8de8\u5ea6\u51cf\u5c0f\u5305\u5927\u5c0f\uff0c\u76f4\u81f3\u6709\u8fd4\u56de\u540e\u8fdb\u884c5\uff081\uff09\u4e2d\u7684\u64cd\u4f5c\u3002
6\u3001\u76f4\u81f3\u4f60\u53d1\u73b0\u6570\u636e\u5305-1\u540e\uff0c\u6709\u4e86\u8fd4\u56de\uff0c\u5c31\u8bf4\u660e\u4f60\u63a2\u6d4b\u5230\u4e86MTU\u5141\u8bb8\u7684\u51c6\u786e\u6570\u636e\u5305\u5927\u5c0f\u3002\uff08\u4f8b\u5982\u4ece1465\u964d\u4f4e\u52301464\u5c31\u6709\u4e86\u8fd4\u56de\uff0c\u90a3\u4e48\u5141\u8bb8\u7684\u6570\u636e\u5305\u5927\u5c0f\u5c31\u662f1464\uff09
7\u3001\u4e0d\u8fc7\u4e0a\u9762\u5f97\u5230\u7684\u503c\u8fd8\u4e0d\u80fd\u8bbe\u7f6e\u4e3a\u64cd\u4f5c\u7cfb\u7edf\u6216\u8def\u7531\u5668\u7684MTU\uff0c\u4f60\u627e\u5230\u7684\u6570\u636e\u5305\u5927\u5c0f\u9700\u8981\u52a0\u4e0a28\u5b57\u8282\u7684\u201c\u6570\u636e\u5305\u62a5\u5934\u201d\uff0c\u624d\u662f\u5b8c\u6574\u7684\u6570\u636e\u5305\u5c3a\u5bf8\u3002
\uff08\u4f8b\u5982\uff1a\u63a2\u6d4b\u5230\u7684\u6570\u636e\u5305\u5927\u5c0f\u662f1464\uff0c\u90a3\u4e48\u52a0\u4e0a28\u5b57\u8282\uff0c\u6700\u7ec8MTU=1492\u5b57\u8282\uff09
8\u3001\u6700\u540e\uff0c\u53ea\u9700\u8981\u5c06\u8def\u7531\u5668\u548c\u64cd\u4f5c\u7cfb\u7edf\u4e2d\u7684MTU\u503c\u8bbe\u7f6e\u4e3a\u4f60\u5f97\u51fa\u7684\u7ed3\u679c\u5373\u53ef\u3002
\u3000\u3000\u8def\u7531\u5668\u8bbe\u7f6e\u65b9\u6cd5\uff1a\u6253\u5f00\u7f51\u9875\uff0c\u6ca1\u6539\u8fc7\u5c31\u662f\u8f93\u5165192.168.1.1\uff0c\u8fdb\u5165\u540e\u9009\u7f51\u7edc\u53c2\u6570\u2014WAN\u53e3\u8bbe\u7f6e\u2014\u9ad8\u7ea7\u9009\u9879\u2014MTU\u6570\u503c\u3002\u7528\u6237\u540d\u548c\u5bc6\u7801\u6ca1\u4eba\u6539\u8fc7\u5c31\u90fd\u662fADMIN\uff01\uff08\u6ca1\u6709\u8def\u7531\u5668\u7684\u7528\u6237\u53ef\u4ee5\u65e0\u89c6\u8fd9\u4e2a\uff09
\u3000\u3000\u672c\u673a\u8bbe\u7f6e\u65b9\u6cd5\uff1a\u5efa\u8bae\u4f7f\u7528\u201c\u9b54\u65b9\u3001Windows\u4f18\u5316\u5927\u5e08\u3001\u8d85\u7ea7\u5154\u5b50\u9b54\u6cd5\u8bbe\u7f6e\u3001\u9c81\u5927\u5e08\u201d\u7b49\u8f6f\u4ef6\u4fee\u6539\u64cd\u4f5c\u7cfb\u7edf\u7684MTU\u3002
","post_no":4,"type":"0","comment_num":0,"props":null,"post_index":2,"pb_tpoint":null}}'>
方法如下:
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值设置为你得出的结果即可。
路由器设置方法:打开网页,没改过就是输入192.168.1.1,进入后选网络参数—WAN口设置—高级选项—MTU数值。用户名和密码没人改过就都是ADMIN!(没有路由器的用户可以无视这个)
本机设置方法:建议使用“魔方、Windows优化大师、超级兔子魔法设置、鲁大师”等软件修改操作系统的MTU。
\u6309\u7167\u6211\u7684\u5e8f\u53f7\u8bbe\u7f6e\u5373\u53ef
\u4ee5\u4e0b\u662f\u8f83\u590d\u6742\u7684\u65b9\u6cd5\uff1a
\uff081\uff09\u3001XP\u64cd\u4f5c\u7cfb\u7edf\u8bbe\u7f6e\u65b9\u6cd5\uff1a
1\u3001 \u6309Win+R\u7ec4\u5408\u952e\uff0c\u8c03\u51fa\u201c\u8fd0\u884c\u201d\u83dc\u5355\uff0c\u8f93\u5165regedit\uff0c\u7136\u540e\u56de\u8f66\uff1b
2\u3001 \u9009\u62e9\u201cHKEY_Local_Machine>SYSTEM>CurrentControlSet>Services>Tcpip>Parameters>interface\u201d\uff1b
3\u3001\u5728 interface \u4e2d\u4e0b\u53ef\u80fd\u6709\u5f88\u591a\u9879\uff0c\u9700\u8981\u9010\u4e2a\u89c2\u5bdf\u952e\u503c\uff0c\u4f1a\u6709\u4e00\u4e2a\u9879\u4e0e\u4f60\u7684\u7f51\u5361IP\u4e00\u81f4\uff0c\u9009\u4e2d\u8be5\u9879\uff1b
4\u3001\u7136\u540e\u5728\u8be5\u9879\u4e0a\u70b9\u51fb\u53f3\u952e\uff0c\u9009\u62e9\u201c\u7f16\u8f91>\u65b0\u5efa>DWORD\u503c\u201d\uff0c\u7136\u540e\u5728\u53f3\u4fa7\u5c06\u5176\u547d\u540d\u4e3a\u201cMTU\u201d\uff1b
5\u3001\u53f3\u952e\u70b9\u51fbMTU\uff0c\u9009\u62e9\u201c\u4fee\u6539\u201d\uff0c\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\u9009\u62e9\u201c\u5341\u8fdb\u5236\u201d\uff0c\u586b\u5165\u4f60\u5f97\u51fa\u7684\u5408\u7406MTU\u503c\u5373\u53ef\u3002
\uff082\uff09\u3001Vista\u3001Win7\u64cd\u4f5c\u7cfb\u7edf\u8bbe\u7f6e\u65b9\u6cd5\uff1a
1\u3001\u8fdb\u5165\u7cfb\u7edf\u76d8:\\Windows\\System32\\\u627e\u5230cmd.exe\uff0c\u53f3\u952e\u201c\u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u8fd0\u884c\u201d\uff1b
2\u3001\u5728\u51fa\u73b0\u7684\u201c\u547d\u4ee4\u63d0\u793a\u7b26\u201d\u7a97\u53e3\u4e2d\u8f93\u5165\u201cnetsh interface ipv4 show subinterfaces\u201d\u5e76\u56de\u8f66\u6765\u67e5\u770b\u5f53\u524d\u7684MTU\u503c
3\u3001\u63a5\u4e0b\u6765\u8f93\u5165\u201cnetsh interface ipv4 set subinterface \"\u9700\u4fee\u6539\u7684\u8fde\u63a5\u540d\" mtu=\u4f60\u5f97\u51fa\u7684\u5408\u7406\u503c store=persistent\u201d\u5e76\u56de\u8f66\u5373\u53ef
\u4f8b\u5982\uff1a\u201cnetsh interface ipv4 set subinterface \"\u672c\u5730\u8fde\u63a5\" mtu=1492 store=persistent\u201d
","post_no":9,"type":"0","comment_num":0,"props":null,"post_index":3,"pb_tpoint":null}}'>
按照我的序号设置即可
以下是较复杂的方法:
(1)、XP操作系统设置方法:
1、 按Win+R组合键,调出“运行”菜单,输入regedit,然后回车;
2、 选择“HKEY_Local_Machine>SYSTEM>CurrentControlSet>Services>Tcpip>Parameters>interface”;
3、在 interface 中下可能有很多项,需要逐个观察键值,会有一个项与你的网卡IP一致,选中该项;
4、然后在该项上点击右键,选择“编辑>新建>DWORD值”,然后在右侧将其命名为“MTU”;
5、右键点击MTU,选择“修改”,在弹出的窗口中选择“十进制”,填入你得出的合理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”