LCP (链路控制协议)是PPP协议的一个子集,在PPP通信中,发送端和接收端通过发送LCP包来确定那些在数据传输中的必要信息。LCP检查链接设备的标识,决定是接受还是拒绝;确定传输中可接收的包字节数;核对双方配置是否匹配,如果不匹配则断开链接。只有在LCP包链接是可用的情况下,数据才能实现网络通信。 LCP负责设备之间链路的创建,维护和终止。
串行链路故障处理的一般步骤如下:
1. 物理层问题分析
设备表现为广域网接口无法正常使用时,首先应该从物理层开始检查。使用display interface命令查看接口信息,例如执行命令display interface bri 0(BRI接口 0)或display interface serial 1 (串口 1),根据显示信息中的“硬件设备的状态”和“LCP的状态”判断物理层是否正常。
如下是一个Quidway R2631路由器的例子:
- [Router]display interface serial 0
- Serial0 is up, line protocol is up
- physical layer is synchronous
- interface is DTE, clock is DTECLK1, cable type is V35
- Maximum Transmission Unit is 1500
- Internet address is 192.168.1.1 255.255.0.0
- Encapsulation is PPP
- LCP opened, IPCP opened, IPXCP initial, CCP initial, BRIDGECP initial
- 1 minutes input rate 2102.86 bytes/sec, 1.75 packets/sec
- 1 minutes output rate 5549.86 bytes/sec, 3.90 packets/sec
- Input queue :(size/max/drops)
- 0/50/0
- Queueing strategy: FIFO
- Output queue: (size/max/drops) 47/75/5702
- 3943 packets input, 212485 bytes, 0 no buffers
- 4101 packets output, 465119 bytes, 0 no buffers
- 0 input errors, 0 CRC, 0 frame errors
- 0 overrunners, 0 aborted sequences, 0 input no buffers
- DCD=UP DTR=UP DSR=UP RTS=UP CTS=UP
Serial0 is up,表明物理层状态UP,,此外Serial0可能为down, administratively down,standby,其中down说明物理层工作异常,应检查物理层配置及设备问题。administratively down,说明物理层被人为关闭。此时可以执行no shutdown命令手工打开此端口。 standby是在使用接口备份功能,备份口的一种状态,也表示接口物理层不可用。
LCP状态也表明了物理层是否向链路层上报lowerup消息,从PPP状态转移图可知。
物理层未发送lowerup,PPP未发送open消息,LCP应处于initial状态;如物理层发送了lowerup,PPP已发送 open消息,发出CONFREQ报文LCP应处于req-send状态;如物理层发送了lowerup,PPP已发送 open消息,发出CONFREQ报文和CONFACK报文, LCP应处于ACKSENT状态,如物理层发送了lowerup,PPP未发送 open消息,LCP应处于starting状态。如物理层未通,应先查找物理层未通的原因。
2. LCP问题的分析
执行如上命令display interface bri 0(BRI接口 0)或display interface serial 1 (串口 1),如显示LCP协议未进入OPENED状态,可考虑为LCP的问题。此方面的问题一般较少出现,如出现应该打开debug ppp packet或debug ppp negotiation,首先检查物理接口的报文收发是否正常,如果确认接口的报文收发正常,并且有大量的CONFNAK、CONFREJ报文出现,或者出现TERMACK、CODEREJ、PROTREJ只类的报文,可以说明是协商的问题,再根据报文协商项内容分析无法协商成功的原因。
3. 验证问题的分析
使用display interface命令查看接口信息,如显示LCP协议进入OPENED状态,而IPCP依然为Initial状态,或者LCP变为OPENED状态后又很快重新开始协商,可考虑为验证的问题,由于此状态为临时状态,不易观察,也可通过debug ppp packet 或debug ppp negotiation 来观察。如果成功协商了验证,PPP会打印出PAP或CHAP验证的报文,如果验证失败,会打印出“PPP authentication failed”信息,可以根据报文的具体内容分析验证失败的原因。有时配置了验证,但是LCP协商过程中该协商项被拒掉,LCP进入OPENED状态会立即重新协商,此时若通过debug ppp event观察,可以看到对端未通过验证的提示信息,例如“The opposite terminal haven't pass the chap authentication!”。
4. IPCP问题的分析
使用display interface命令查看接口信息,如显示LCP协议进入OPENED状态,而IPCP处于REQ_SEND或ACK_RCVD,并观察PPP报文有大量的IPCP报文收发,可说明路由器IPCP协商有问题。若IPCP处于STOPPED状态,也可能是收到IPCP的TERMREQ或CODEREJ导致状态迁移。阅读IPCP报文,可分析出问题原因。由于IPCP必须协商的参数为IP地址,其他为可选择参数,一般来说是IP地址配置有问题,无法进行IPCP协商。此时应给两端接口配置IP地址,此外如果是访问Internet网,可不配置IP地址,但应该配置IP address ppp-negotiate。
5. 其他问题
如LCP、IPCP均已经进入OPENED状态,但是Ping报文无法互通,可考虑路由的原因,可采用直接ping此接口对端的IP地址,如能够互通,证明PPP对IP报文的封装情况正常。如依然有问题,但LCP和IPCP始终处于OPENED状态,可考虑是否链路误码率较高,此情况比较少见。
有时在路由器上配置了aaa-enable之后,LCP和IPCP均已经进入OPENED状态,但很快又重新开始LCP协商,因为配置了aaa-enable之后,缺省要进行计费,如果没有设置计费服务器,AAA会将PPP链路挂断。如果要使用AAA,又不需要计费,可以配置aaa accounting-schem optional,允许不计费使用。
PPP协议的应用比较广泛,以上只是一些常见问题的分析,但实际应用中问题复杂得多,但如果能够阅读PPP报文,了解PPP协商所处于的阶段,和PPP报文的协商过程,问题一般可得到满意的解决。
【编辑推荐】
- 路由器故障:链路不稳定
- 路由器故障:链路丢包严重
- 串行链路配置的常见问题 上篇
- 路由器故障:CE1接口网速较慢
- 路由器故障:广域网故障处理分析
- 路由器故障:MP捆绑链路闪断丢包
- 路由器故障:ATM接口做备份接口链路层无法Up