最近小编发现自己的电脑网速居然一天比一天慢,以前可以流畅地看超清电影,但是现在居然看标清都卡顿。于是小编潜心研究,终于发现原来是mtu值在捣蛋。相信很多朋友就会问小编了,什么是mtu值呢?其实mtu就是最大传输单元,mtu值设置得过大或过小,都会在一定程度上影响上网的速度,所以我们要设置适当的mtu值,才能使网速最快。那么怎么设置呢,请看接下来小编为大家带来的详细教程。
什么是MTU
Maximum Transmission Unit,缩写MTU,中文名是:最大传输单元。
MTU有什么用?
举一个最简单的场景,你在家用自己的笔记本上网,用的是路由器,路由器连接电信网络,然后访问了www.baidu.com,从你的笔记本出发的一个以太网数据帧总共经过了以下路径:
笔记本 -> 路由器 -> 电信机房 -> 服务器
其中,每个节点都有一个MTU值,如下:
1500 1500 1500 笔记本 -> 路由器 -> 电信机房 -> 服务器
假设现在我把笔记本的MTU最大值设置成了1700,然后发送了一个超大的ip数据包(2000),这时候在以外网传输的时候会被拆成2个包,一个1700,一个300,然后加上头信息进行传输。
1700 1500 1500 笔记本 -> 路由器 -> 电信机房 -> 服务器
路由器接收到了一个1700的帧,发现大于自己设置的最大值:1500,如果IP包DF标志位为1,也就是不允许分包,那么路由器直接就把这个包丢弃了,根本就不会到达电信机房,也就到不了服务器了,所以,到这里我们就会发现,MTU其实就是在每一个节点的管控值,只要是大于这个值的数据帧,要么选择分片,要么直接丢弃。
Win10设置mtu值的操作方法:
1、在开始菜单上单击右键,选择【命令提示符(管理员)】;
2、在命令提示符中输入:netsh interface ipv4 show subinterfaces,按下回车键查看当前的mtu值;
3、接着按下面格式输入:netsh interface ipv4 set subinterface "连接名" mtu=值 store=persistent (如:netsh interface ipv4 set subinterface "WLAN" mtu=1492 store=persistent), 按下回车键,出现“确定”提示 则说明修改完成。
下面给大家说说如何取值?
1、同样先打开命令提示符(管理员), 输入:ping -l 1472 -f www.baidu.com(探测百度为例),请求将一个不允许分割的 1472 字节的数据包发送出去;
2、若是出现传输失败,提示需要拆分数据包的情况,则说明当前网络的 mtu 值要比指定的 1472 小,因此我们就适当调小数据包的大小(比如 1450),输入:ping -l 1450 -f www.baidu.com按下回车键;
3、如果出现传输成功,则说明当前网络的 mtu 值比 1450 要大。于是我们需要稍微调大数值(比如1460),以便求得最为精确的网络 mtu 值,如图:
4、通过取值之后我们再通过上述方法进行设置即可。
以上所述便是在Win10中设置mtu值的方法,觉得网速越来越慢的朋友快来设置一下吧。
相关文章