MTU,是计算机与路由器之间的最大传输单元,默认情况下MTU是1500字节的数据包,如果超过这个值就会被拆分为多个数据包排队传输。可能一些用户不知道路由器MTU值设置多少比较合适,可以阅读下文了解路由器MTU的设置方法以及合理的MTU值解析。
MTU=最大传输单元 单位:字节 英文:Maximum Transmission Unit”我们平时上网时的各种操作,都是通过一个又一个“数据包”传输来实现的。而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值不是一个数字,天下通用的。所以在我们动手设置的时候,讲究一个合理!
那么什么情况下MTU值是合理的呢?我们先来看看不合理的。
1、本地MTU值大于网络MTU值时,本地传输的数据包过大导致网络会拆包后传输,不但产生额外的数据包,而且消耗了“拆包、组包”的时间。
2、本地MTU值小于网络MTU值时,本地传输的数据包可以直接传输,但是未能完全利用网络给予的数据包传输尺寸的上限值,传输能力未完全发挥。
这样我们就知道,所谓合理的设置MTU值,就是让本地的MTU值与网络的MTU值一致,既能完整发挥传输性能,又不让数据包拆分。
MTU多少才是合理的?
操作步骤:
1、按win+r组合键呼叫运行菜单,输入cmd后回车。
2、在出现的“命令提示符”窗口中输入“ping -l 1472 -f www.rkxy.com.cn”然后回车。
接下来Teamo稍微解释下:
ping:发起一个探测请求;
-l(L的小写):限制探测包大小;
1472:包大小为1472字节;
-f:禁止路由器拆分数据包;
www.rkxy.com.cn:设q.g446.com 手机之家为探测目标。
3、按下回车后,会出现两种返回结果:
(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值设置为你得出的结果即可进入小极后台,高级选项中的MTU设置中填入测得的数值即可。
END
以上便是关于路由器MTU的设置方法以及合理的MTU值解析,当然,理论上来说路由器MTU值设置1500即可,为了空下一些跨度空间,我们可以留下8字节。