修改
MTU
大小警告:“注册表编辑器”使用不当可导致严重问题,可能需要重新安装操作系统。Microsoft
不能保证您可以解决因“注册表编辑器”使用不当而导致的问题。使用“注册表编辑器”需要您自担风险。
要修改
PPPoE
MTU
大小,请创建以下注册表项:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Ndiswan\Parameters\Protocols\0并添加下列注册表值:
数值名称:ProtocolType
数据类型:REG_DWORD
数值数据:0x00000800
数值名称:PPPProtocolType
数据类型:REG_DWORD
数值数据:0x00000021
数值名称:ProtocolMTU
数据类型:REG_DWORD
数值数据:适当的
MTU
大小(十进制)为此,请按下列步骤操作:
单击开始,单击运行,键入
regedit,然后单击确定。在注册表中找到并单击以下注册表项:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Ndiswan\Parameters在编辑菜单上,指向新建,然后单击项。键入
Protocols,然后按
Enter
键。在编辑菜单上,指向新建,然后单击项。键入
0,然后按
Enter
键。在编辑菜单上,指向新建,然后单击
DWORD
值。键入
ProtocolType,然后按
Enter
键。在编辑菜单上,单击修改。键入
800,然后单击确定。在编辑菜单上,指向新建,然后单击
DWORD
值。键入
PPPProtocolType,然后按
Enter
键。在编辑菜单上,单击修改。键入
21,然后单击确定。在编辑菜单上,指向新建,然后单击
DWORD
值。键入
ProtocolMTU,然后按
Enter
键。在编辑菜单上,单击修改。键入
适当的
MTU
大小(十进制值),然后单击确定。退出“注册表编辑器”。注意:
结果,如果
MTU
大小被设置为
1460(十进制),则以下命令行中的
NUM
的最大值可以为
1432:
ping
IP_address
-f
-l
NUM您可能需要重新启动计算机才能使这一更改生效。
修改路由器的就简单了
登录路由器(一般是192.168.0.1)在wan口配置中可以直接修改MTU
系统中的MTU修改:
1. 在 『开始』>『运行』中,键入regedit,点确定;
2. 选择『HKEY_Local_Machine』>『SYSTEM』>『CurrentControlSet』>『Services』>『Tcpip』>『Parameters』>『interface』;
3. 在 interface 底下可能有很多的选项,你一个一个的去看,会有一个选项与你的网卡的 IP 相同,那个就是你要挑选的选项啦!
直接右键MTU修改就OK了,如果没有就直接新增就好了。
新增步骤:『编辑』>『新建』>『DWORD值』之后,建立一个名为『MTU』的DWORD,然后双击修改,选择十进制,填入合适 MTU 值(一般是路由器中的MTU值),确定!大功告成
MTU设置
MTU,即Maximum Transmission Unit(最大传输单元),此值设定TCP/IP协议传输数据报时的最大传输单元。设置合适的MTU值可以解决“部分网站打不开”、“上网速度慢”等问题,并且可以适当提升上网速度。
设置多大的MTU值取决于你的上网方式,不同的上网方式支持不同的MTU,下面列出了一些上网方式的MTU值:
EtherNet(一般上网方式,默认值):1500
PPPoE/ADSL:1492
Dial Up/Modem:576
问题一:知道了我的上网方式,如何设置MTU值?
1. 在 『开始』>『运行』中,键入regedit,点确定;
2. 选择『HKEY_Local_Machine』>『SYSTEM』>『CurrentControlSet』>『Services』>『Tcpip』>『Parameters』>『interface』;
3. 在 interface 底下可能有很多的选项,你一个一个的去看,会有一个选项与你的网卡的 IP 相同,那个就是你要挑选的选项啦!然后同样的在该选项上选择『编辑』>『新建』>『DWORD值』之后,建立一个名为『MTU』的DWORD,然后双击修改,选择十进制,填入合适 MTU 值,确定!大功告成!
问题二:我不知道自己的上网方式,如何确定MTU值呢?
ping -f -l 1500 127.0.0.1
C:\WINDOWS>ping -f -l 1500 127.0.0.1
Pinging 127.0.0.1 with 1500 bytes of data:
Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.
Ping statistics for 127.0.0.1:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss), Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
上面的式子中,-l 是 L 的小写(不是 1 喔),1500 是我们要测的 MTU 值,结果出现了 Packet needs to be fragmented but DF set. 这个东西,那表示MTU值太大了,你需要更小的 MTU 值才行!好啦!那假设我们使用 1464 来测试时:
C:\WINDOWS>ping -f -l 1464 127.0.0.1
Pinging 127.0.0.1 with 1464 bytes of data:
Reply from 127.0.0.1: bytes=1464 time=10ms TTL=128
Reply from 127.0.0.1: bytes=1464 time<10ms TTL=128
Reply from 127.0.0.1: bytes=1464 time<10ms TTL=128
Reply from 127.0.0.1: bytes=1464 time<10ms TTL=128
Ping statistics for 127.0.0.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 10ms, Average = 2ms
结果出现了回应了!这表示这一个 MTU 值是可行的!不过,强烈建议找出可行的最大 MTU 值!这样一来,在设定的时候,才可以达到最佳的网速!
找出 MTU 值:利用上面这个方法找到的数值还不是 MTU 喔!由于一些封包上面的问题,上面这个值再加上 28 才是我们所需要的 MTU 值!所以,在上面的例子中,我们所需要的 MTU 值是 1464+28=1492!
复制别人的,但是还管用,不过如果你不是太熟悉win系统,建议备份过后再去挑战