天天看点

思科2921 路由器PPPoE 拨号后无法打开网页故障一例

这几天有个客户说自己试着调试购买的思科2921路由,配置ADSL拨号上网,客户端电脑可以自动获取IP地址,但是上不了网,打不开网页。

interface GigabitEthernet0/0

description TO-ADSL

no ip address

duplex auto

speed auto

pppoe enable group global

pppoe-client dial-pool-number 1

!

interface Dialer1

description Vir-ADSL

ip address negotiated

ip nat outside

ip virtual-reassembly in

encapsulation ppp

dialer pool 1

dialer-group 1

其实认真想一下就应该知道大概是什么原因了,就是MTU  、TCP-MSS,  先简单说一下这两个术语:

MTU: Maxitum Transmission Unit 最大传输单元

MSS: Maxitum Segment Size 最大分段大小

由于以太网EthernetII最大的数据帧是1518Bytes这样,刨去以太网帧的帧头(DMAC目的地址MAC48bit=6Bytes+SMAC源MAC地址48bit=6Bytes+Type域2bytes)14Bytes和帧尾CRC校验部分4Bytes(这个部门有时候大家也把它叫做FCS),那么剩下承载上层协议的地方也就是Data域最大就只能有1500Bytes. 这个值我们就把它称之为MTU。

以太网的MTU是1500,再减去PPP的包头包尾的开销(8Bytes),就变成1492。

MSS就是TCP数据包每次能够传输的最大数据分段。为了达到最佳的传输效能TCP协议在建立连接的时候通常要协商双方的MSS值,这个值TCP协议在实现的时候往往用MTU值代替(需要减去IP数据包包头的大小20Bytes和TCP数据段的包头20Bytes)所以往往MSS为1460。通讯双方会根据双方提供的MSS值得最小值确定为这次连接的最大MSS值。

故障分析:  

PPPoE 拨号需要额外8Byte 的开销,所以MTU 超过了其他通信设备默认的1500 最大值,导致某些不能分片的应用无法通讯。

故障处理:

在dialer 接口下配置MTU  跟MSS 值为1400 后上网正常

ip mtu 1400

ip tcp adjust-mss 1400

本文转自Grodd51CTO博客,原文链接:http://blog.51cto.com/juispan/2067235,如需转载请自行联系原作者

上一篇: Memcached原理
下一篇: NoSQL简介