这篇文章存在的目的是什么?
本文能够解决中国移动用户使用cmwap接入点上网、不使用10.0.0.172:80代理时,打不开网页、打开网页速度极慢的问题。
为什么存在此现象?
正常情况下,使用cmnet接入点访问互联网不会遇到任何障碍。但cmwap接入点不一样,以前,使用cmwap接入点要想访问互联网必须设置代理10.0.0.172:80。2011年底,中国移动大部分省公司都进行了接入点融合工作,使得原本必须设置10.0.0.172:80代理才能访问互联网的cmwap接入点在不使用代理的情况下也能访问互联网。截至目前,从test3g.com论坛中的网友反馈可知,全国大部分地区的cmwap不用代理可以正常浏览网页,没有任何障碍。但有少数地方,比如北京,在cmwap不使用代理的情况下,可以正常使用QQ,但打开网页非常困难。
希望的曙光
test3g.com论坛流传了一个电信客户端软件,安装它之后,可以完全解决打不开网页的问题。我用Total Uninstall监视了电信客户端软件在安装过程中对操作系统进行的所有更改,经过排查,找出了解决打不开网页的3个注册表键值。
电信客户端软件把PPP的MTU设为了1454。
电信客户端所设置的1454这个值,只代表它可能最适合电信的网络,不代表它最适合你当地移动的网络。但它最起码解决了打不开网页这个严重的问题。
解决方法
首先,确保拨号之后DNS能够被自动获取或你已手动指定。
用电脑直接拨号的用户(例如使用随e行或Mobile Partner):
复制以下文本到记事本,并保存为任意文件名.reg文件,运行。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NdisWan\Parameters\Protocols\0]
"ProtocolType"=dword:00000800
"PPPProtocolType"=dword:00000021
"ProtocolMTU"=dword:000005ae重启电脑。
使用Android手机的用户:
手机需要ROOT,使用支持ROOT的文件浏览器(如Root Explorer、ES File Explorer)打开并修改/sys/class/net/pdp0/mtu这个文件里默认的1500为1454。需注意的是,你的手机可能需要先连接上GPRS才能找到pdp0这个文件夹。
不同的手机在/sys/class/net/里的文件夹可能不同,例如,有可能是ccinet0。如果你的手机既没有pdp0,也没有ccinet0,那就把所有里面的文件夹挨个修改,直到能正常打开网页为止。
修改MTU后断网再连,MTU会被恢复为默认值,目前我还没找到可长期保持修改后的值的办法。
使用Windows Mobile手机的用户:(方法来自互联网,未经本人测试,仅供参考)
修改注册表:在HKLM\Comm\Cellular Line\Parms\tcpip下添加名为MTU的DWORD键,值为1454。重启。
手机或3G路由器作AP,电脑通过WLAN连接手机或3G路由器上网的用户:
使用Windows Vista/7的用户可以用以管理员身份运行的cmd执行下面的命令,来修改无线网络连接的MTU:
netsh interface ipv4 set subinterface 无线网络连接 mtu=1454 store=persistent
说明:
1、如果你只想临时修改一下MTU来试试看效果,那么后面可以改为store=active,重启即复原。
2、如果你使用Windows XP或不熟悉cmd,可以使用其它修改MTU的软件。
3、修改后重启电脑。
以下内容仅适合于在北京使用cmwap的用户
经反复测试,北京移动cmwap最佳MTU为1476。
上述所有步骤中的1454,请把它们改为1476。
上面注册表文件最后一行可改为:
"ProtocolMTU"=dword:000005c4
这个最佳的MTU值我只能表示它是北京最适合的,其它有打不开网页的问题的地区不一定适用。
最佳MTU意味着在保证网页正常打开的前提下丝毫不浪费带宽。当然,如果你已经设置了1454,或其它更小的值,只要你觉得不影响使用,也可不用再次更改。有些优化软件会建议你把MTU设为500左右,这非常适合十年前的拨号上网。现在,微软建议不要把MTU设为小于1400,以免过多地增加不必要的开销,浪费带宽。
感谢所有在我发在test3g.com的帖子里反馈的朋友!