网速慢 不能浏览 宽带路由
……§1,故障现象:
排除网络设备、线路质量的问题后,有时候上网还是感觉网速特别慢;或者部分网页不能浏览;或者两台电脑要使用宽带路由共享上网,就算只有一台电脑在上网,速度也很慢;这些是什么原因?
……§2,故障分析:
这其实不能算作故障,我们浏览任何网页,或者通过宽带路由器共享上网后,都会使上网速度存在一定的损耗,这是避免不了的。不过可以通过一些办法将这种损耗降至最低,即更改机器或者路由的MTU值。
MTU值的意思是网络上传送的最大数据包,单位是字节。不同的接入方式,MTU值是不一样的,如果值太大就会产生很多数据包碎片,增加丢包率,降低网络速度。平常使用的宽带PPPoE连接方式,其MTU值最大为1492。
解决的办法就是在注册表中对MaxMTU值逐步调低,直到网络最正常为止。MaxMTU在注册表中的位置是:
Windows XP/200x:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\?]
其中“?”为一长串数值,指本机连接服务器的那块局域网网卡对应的字串,可通过查它右边的IPAddress的值等于你设的那个网卡IP来找出它。如果没有MTU键名,请建立MTU键名,类型是REG_DWORD。
Windws 9x:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0000\主键下面建立MaxMTU键名,类型是字符串。
……§3,故障解决:
那么又如何判定某个MTU值是最适合的呢?进入DOS环境,输入以下命令行:
ping -f -l 1464 192.168.1.1
提示:其中“192.168.1.1”是网关IP地址或者是某个网站的网址,如:
www.baidu.com。
1464为数据包的长度,其值为线路所支持的最大MTU-28,例如平常使用的宽带PPPoE连接方式其MTU值最大为1492,1492-28=1464。
参数“-l”中是小写的L。
如果出现下面信息:Packet needs to be fragmented but DF set,那就表示MTU值太大了。那么我们逐步降低1464的值,直到出现:
Reply from 192.168.1.1: bytes=xxxx time=1ms TTL=64
则表示此MTU值是可行的,不过还是建议多试几个找到最佳值。然后用这个最佳值+28,即为我们需要的最大MTU值。例如:
ping -f -l 1464
www.baidu.comReply from 202.108.22.5: bytes=1464 time=73ms TTL=51
……
那么我们就可以修改MTU值为:1464+28=1492。
……§4,问题总结:
有些站点访问不了,也是由于Windows系统传送的TCP包请求的segment太大,超出PPPoE的frame所能够接受的范围,导致 PPPoE传送“don't fragment”的ICMP而不是“must fragment”,最终导致网站没有响应。这种情况称为Black Hole Router。
通过对网速的实测证明,在ADSL接入电脑之间安装宽带路由器后,在多台电脑同时在线的情况下,由于路由器在地址解析、路由分发等方面的耽误,实际到达电脑的速度比单机直接连入ADSL线路也要稍慢一些。
……§5,问题延伸:
使用ping命令来检测网络设备故障。有时候在排除软件设置问题的情况下,会出现一些网速变慢、无法登陆、无法上传数据等情况,我们就可以使用:
ping -f -l xxxx 网关IP地址
来检测网络硬件设备故障。下面是xxxx的一些建议值:
微软Windows系统默认值:1500-28=1472
PPPOE拨号上网(ADSL)(IEEE802.3/802.2):1492-28=1464
局域网(以太网):1500-28=1472
点对点(低延时):296-28=268
X.25:576-28=548
FDDI:4352-28=4324
4M/s令牌(IEEE802.5):4464-28=4436
16M/s令牌(IMB):17914-28=17886
超通道:65535-28=65507
我们采用逐级排查的方法,就可以检测出路由、交换机、网卡、网线的故障。