编辑:佚名 2023-11-29 22:23:31 来源于:系统城装机大师
我们在路由器网络设置的时候,可能会发现有一个名为mtu的数值,它设置好了可以提升网速,设置得不好反而会降低网速,而且它是没有一个固定值的,适合自己的就是最好的。
答:环境不同最快mtu也不同,
MTU不是越大越好,因为MTU越大,传送一个数据包的延迟也越大;并且MTU越大,数据包中bit位发生错误的概率也越大。
当然,mtu肯定也不是越小越好,作为最大传输单元,如果设置的小了,数据传输不过去,自然网速也就慢了。
即使是光纤线路,用户每次拨号后的MTU值都会不一样(电话线、网线等入户的偏差值可能更大些),所以最优值要经过实际测试才能得到。
因此,没有耐心的朋友保持默认mtu就可以了;有耐心的朋友可以在默认值基础上降低或增加尝试,通过反复测试得出一个最快的网速。
总结:没有固定的最好,只有根据网络环境最合理的就是最好(不会设置的默认即可,想要增加网速的可以继续看文章)。
MTU(Maximum Transmission Unit)最大传输单元,不考虑设备、线路等因素的情况下,当然是越大传输效率越高,
因为协议数据单元的包头和包尾长度是固定值,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。
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:设百度为探测目标
Linux用户:
ping -s 1472 www.baidu.com
OS X用户:
ping -D -s 1472 www.baidu.com
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值设置为你得出的结果即可。
一、XP操作系统设置方法:
1、 按Win+R组合键,调出“运行”菜单,输入regedit,然后回车;
2、 选择“HKEY_Local_Machine>SYSTEM>CurrentControlSet>Services>Tcpip>Parameters>interface”;
3、在 interface 中下可能有很多项,需要逐个观察键值,会有一个项与你的网卡IP一致,选中该项;
4、然后在该项上点击右键,选择“编辑>新建>DWORD值”,然后在右侧将其命名为“MTU”;
5、右键点击MTU,选择“修改”,在弹出的窗口中选择“十进制”,填入你得出的合理MTU值即可。
二、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”
三、win10操作系统设置方法:
首先,查看自己当前网络的 MTU 值,敲击“WIN+R”,在打开的运行窗口输入“netsh interface ipv4 show subinterfaces”再点确定。
然后就要设置你正在使用网络的 MTU 值,敲击“WIN+R”,在打开的运行窗口输入“netsh interface ipv4 set subinterface "需修改的连接名" mtu=值 store=persistent”再点确定。
其中,需修改的连接名 和 值 要用相应的值来代替。例如,我这里需要输入:
netsh interface ipv4 set subinterface "WLAN" mtu=1492 store=persistent
在这里,我已经把要修改的地方用粗体字标出来了。
另外,请大家注意,修改 MTU 值与查看不同,需要以管理员身份运行命令提示符。
当以管理员身份运行命令提示符时,输入以上命令即可成功设置。友情提示:敲击回车键之后出现“确定”二字即代表已经设置成功。
备注:
1.在 Win8.1/10 中以管理员身份运行命令提示符的方法,右击屏幕左下角的Win徽标,在弹出的右键菜单中点击“命令提示符(管理员)”。
2.Win7点击开始菜单,在所有程序找到“命令提示符(管理员)”点击运行就可以了。
2024-07-10
360浏览器广告弹窗太多如何关闭教程2024-07-10
qq免费听歌30分钟位置 qq音乐免费听歌30分钟在哪2023-11-29
网卡驱动程序不正常上不了网怎么修复