2023年12月6日发(作者:)
测试电信 MTU值 + 修改 Win 7 MTU值 方法图解
对于 MTU (Maximum Transmission Unit,最大传输单元)的简单说明:
网络上传输的并非连续的数据流,而是一个个的数据包,
MTU的值限定了这个数据包的最大值。
如果电信运营商设定的数据包最大值为1480字节,
而你的电脑通过路由器上网,默认是使用1500字节,
(如果是直连Modem,则会自动采用电信提供的 MTU值)
那么你发送的数据包将超过电信的规定,而被退回,
于是系统只好重新组成符合电信要求的数据包来发送,
这样就浪费了时间,增加了处理工序,
甚至有人因此网络非常不稳定,打开网页龟速。
最好的做法就是将自己电脑和路由器的 MTU 设置成电信允许的限值。
路由器的我不多介绍,因为比较简单,只介绍电脑的设置。
第一部分:测试电信 MTU
值
要用电信配的modem连接电源、电话线、网线,网线另一头直接插入电脑网卡接口。
这样才能真实测试出MTU值。
点击“开始菜单”按钮,选择“所有程序”,再选择“附件”,
最后在“命令提示符”右键单击弹出快捷菜单选择“以管理员身份运行”,如图:
“局域网”的MTU值默认为1500,“宽带”的MTU值则各地区不同,
可通过尝试来获取所在地的MTU值,方法如下:
输入ping -l 1500 -f
参数解释:
“-l 1500” l 代表了 length 长度,1500 代表数据包长度为 1500 个字节。
我们通过尝试不同的数据包长度,来验证电信的长度为多少。
“-f” 在数据包中设置“不分段”标志。强制系统将数据包一次性发送出去。
“” 发送目的地主机,可以换成任意一个有效网址。
返回结果是:需要拆分数据包。
再尝试其他的,如1452,提示:得到回复。
说明该长度没有超出电信规定的 MTU值,再继续测试直到找出临界值。
建议可以使用2分1的方法,即是如果已知 MTU值 在1400-1500之间,
最笨的方法就是 从 1400 一直尝试到 1500,试 100次,
最聪明的方法就是 取中值 1450,
如果测试不通过,则取 1400-1450的中值 1425,
如果再通过,则取 1425-1450的中值 1437,有点类似于猜数字游戏。
第二部分:修改 Win 7 MTU
值
输入:netsh interface ipv4 show subinterfaces
查询到目前系统的MTU值。
如果你查询不到你想要的连接,请看看是否已经禁用了某个本地连接。
再分别输入以下两行,每输入一行就按一次回车键。
netsh interface ipv4 set subinterface "本地连接" mtu=1480
store=persistent
netsh interface ipv4 set subinterface "无线网络连接" mtu=1480
store=persistent
其中
1480 就是我测试出来的 “值1452字节” + “数据包头28字节” = 1480字节。
至此电脑的有线网卡和无线网卡修改完毕。


发布评论