环境拓扑:
![](https://i-blog.csdnimg.cn/blog_migrate/b3c1d5ab7476e85514a6d911452afa4c.jpeg)
PC1使用model连接internet,并且使用ICS共享无线给PC2和PC3,之前使用的是什么300的一个猫,猫上还有个北京网通的贴。前些日子换了个现在这个CAT1000的猫后,就发现中关村在线,淘宝,和微软无法访问了,其他网站均正常,ping中关村和淘宝也可以通,而且速度也不慢,记得用以前那个model的时候也没有出现过这样的问题。但是如果是我直接用model连接internet也是可以访问淘宝,微软,中关村的。
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
在尝试了修改Hosts文件,杀毒,清理垃圾文件,修改网络设置等一些列操作后,无果,很郁闷,在论坛发贴也没有解决问题。
于是跑去问老师,果然姜还是老的辣,一开口就说到了本文重点:ADSL中的MTU值,首先,先补一下关于PPPOE中的MTU。
这段话源自:《Windows Server 2003 技术内幕(提高篇)》(ISBN 7-302-10332-1)
P471
PPPoE所施加的一个重要的限制就是消减了客户端能传输的最大帧大小。标准的Ethernet帧具有1500字节的有效负载荷,这个参数称为“最大传输单元”(Maximum Transmission Unit,MTU)。相反,由于PPPoE帧的header要占用6字节,还要用另外2个字节位来设置PPP协议ID,所以它的MTU为1492字节。
TCP/IP客户端协商建立的Web服务器的一个连接时,两个实体将协商一个MTU。这在正常情况下是1500字节。但是,假如客户端在一个使用PPPoE连接的服务器后面(该服务器在DSL服务器提供商处),PPPoE服务器就会丢弃帧,并向Web服务器返回一条"Internet Control Management Protocol ” (ICMP)消息,告诉它的MTU是1492。加入Web服务器被配置成拒绝ICMP(大多Web服务器都会这样设置),网页就无法正确地加载。
为了查实这种情况,一个好用的诊断技术是从客户端上对Web服务器执行Ping操作,并用 -l 开关了指定一个载荷大小,再用一个 -f 开关来禁止分割数据库。具体语法是:
ping -f -l 1492 <internet_host>
如果屏幕上返回一条 "Packet needs to be fragmented but DF set" 错误提示,你就知道已经超过了web服务器或者沿途的某个路由器的MTU设置。
为了避免产生此问题,你需要在位于PPPoE服务器背后的客户端上减小MTU值。为此,你既可以在每个客户端上进行设置,也可以在一个客户端上进行设置,然后使用Regedit将修改导出至一个文件,并采取一个登录脚本的方式,将文件应用于其他客户端。你需要改动的地方是:
项:HKLM_LOCAL_MACHINE | System | CurrentControlSet | Services | TCPIP | Paremeters | interfaces|
新建值:MTU
数据:1492 (REG_DWORD)十进制
设置多大的MTU值取决于你的上网方式,不同的上网方式支持不同的MTU,下面列出了一些上网方式的MTU值:
EtherNet(一般上网方式,默认值):1500
PPPoE/ADSL:1492
Dial Up/Modem:576
看到这里,我想,会不会是model的MTU设置有问题呢,于是进入model的管理界面,但却并未发现有设置其MTU的选项
![](https://i-blog.csdnimg.cn/blog_migrate/c4919c36edc021021d822e8db20815e4.jpeg)
经过老师的指点,认为有可能是作为ICS服务器的PC1的MTU设置有问题。立刻打开注册表,找到其物理网卡所在键值位置,惊奇的发现其MTU位置上的值居然是576,怪不得那些网站可以ping通却无法访问了。(下图值为我改后的MTU值)
![](https://i-blog.csdnimg.cn/blog_migrate/0e2302c140d300cf184a5620a41d909a.jpeg)
找到问题所在,直接将MTU改到1492,却依然无法访问微软等网站,看来只能手动测试合适的MTU值了。
格式为:ping –f –l 1xxx [url]www.Microsoft.com[/url]
* –f 参数:通知操作系统不能私自更改该数据包大小
* –l 1xxx参数:发送一个定长数据包,1xxx是要测试的包大小
*[url]www.Microsoft.com[/url]:任意一台Internet上的主机,也可使用其它主机名或IP地址
观察反馈结果并判断ISP的MTU值,如图,则表示MTU值太大了,你需要更小的 MTU 值才行!因为数据包拆分了
![](https://i-blog.csdnimg.cn/blog_migrate/7b170fc01da5c4c311b4e8f6f8a8379f.jpeg)
如下图则表示这个数据包大小:1312是可行的!不过,强烈建议找出可行的最大 MTU 值!这样一来,在设定的时候,才可以达到最佳的网速!增加网络的利用率。
![](https://i-blog.csdnimg.cn/blog_migrate/f2fd1fdb94703082c23f77937ef6fbe0.jpeg)
在设置完MTU值后,又见到了久违的中关村,淘宝,兴奋ING
至此,问题成功解决。在这里十分感谢岳老师的帮助^_^
转载于:https://blog.51cto.com/struggle/80342