本本从Vista Home Basic升级到了Vista Ultimate,并且更新了SP1,之后突然发现新浪、网易、搜狐等门户都上不去,刚开始怀疑是ADSL的问题,可是到了公司这些网站又都可以访问,而且试了XP连接的ADSL,这些网站也都可以访问,问题出在什么地方呢?
Google了一下,原来是MTU。
MTU是Maximum Transition Unit的缩写,意思是网络上传输的最大的数据包。MTU的单位是字节,大部分网络设备的MTU都是1500。如果本机的MTU比网关的MTU大,大的数据包就会被拆开来传送,这样会产生很多数据碎片,增加丢包率,降低网络速度。把本机的MTU设成比网关MTU小或者相同,就可以减少丢包。那么如何来检测MTU?
根据上网方式的不同,分为两种检测方式:
- 路由器上网或局域网上网。在命令行下,执行ping –f –l 1450 192.168.0.1。
其中IP地址为网关的IP地址,1450是数据包的长度。如果能够ping通,表示数据包能够通过网关发送出去,不需要拆分。如果出现:"需要拆分数据包但是DF"或者"Packet needs to be fragmented but DF set",表示数据包需要拆分,这时减小数据包的长度,找到合适的数据包长度。
- ADSL上网方式。这种情况下,只需要将1中的IP地址替换成任意的网址就可以。诸如:ping –f –l 1450 www.sina.com.cn。结果的查看和上面一样。
那么怎么修改MTU呢?
- 可以用Vista优化大师。
CNBETA上刚刚有VISTA优化大师3.12发布的消息,我下载下来,没想到这次派上了用处。在系统优化->网络加速中,修改MTU设置,如下图:
- 手动修改注册表。
首先到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces;
其下有很多子项,找到子项中包含当前IP的条目,然后新建DWORD键值,设置为刚才调试的合适的数据包长度,注意需要设置为十进制。
完成设置后,重启电脑就可以正常访问这些网站了。