目录
简介
PPP定义的一整套协议(3大部分)
PPP建立连接的五种状态(阶段)
Esstablish阶段
Authenticate验证阶段(可选)
Network网络层协商阶段
PPP报文
PPP头部
LCP报文格式
PAP报文格式
CHAP报文格式
IPCP报文格式
PPP排错
PPP(点对点协议)为在点对点连接上传输多协议数据包提供了一个标准方法,是数据链路层封装协议的一种方法,支持同步和异步两种传输方式。(除了PPP还有HDLC等,不过HDLC只支持同步方式)
PPP优点:
1、支持同步传输和异步传输
2、具有良好的扩展性,当需要在以太网链路上承载PPP协议时,可扩展为PPPoE
3、提供了LCP(Link Control Protocol)协议,用于各种链路层参数协商
4、提供了各种NCP(Network Control Protocol),用于网络层参数协商
5、提供了认证:CHAP 、PAP
6、没有重传机制,网络开销小,速度快
LCP: 用于各种链路层协商参数,主要用来建立、监控和铲除数据链路
PAP/CHAP: 验证认证,保护网络安全性
各种NCP协议: 用于网络层参数协商,更好的支持了网络层协议(例如IPCP、IPXCP等)
Dead 链路不可用阶段
Establish 链路建立阶段(链路层协商阶段)--进行LCP协商
Authenticate验证阶段(可选阶段)-----进行PAP/CHAP认证
Network 网络层协议阶段-----------进行NCP协商
Terminate 网络终止阶段
PPP协议最关键和最复杂的阶段,主要是LCP协商
链路控制协议,简称LCP(Link Control Protocol)。它是PPP协议的一个子集,在PPP通信中,发送端和接收端通过发送LCP包来确定那些在数据传输中的必要信息
主要的协商内容
工作方式----SP(Single-link PPP)单链路、MP(Multilink PPP)多链路
最大接受单元MRU
验证方式----不验证、PAP、CHAP
魔术字等----魔术字主要用于检查环路
1.链路配置包—用来建立和配置链路
2.链路结束包—用来结束一个链路
3.链路维修包—用来管理和调试一个链路
主要进行PAP、CHAP认证
PAP验证协议为两次握手验证,密码为明文。被验证方发起认证,认证通过后不再认证
CHAP验证协议为三次握手验证协议。它只在网络上传输用户名,而并不传输用户密码,因此安全性要比PAP高。验证方发起认证挑战,认证成功后。再次连接还需要认证。
验证方发送一个“challenge”报文给被验证方。被验证方经过一次哈希算法后,给验证方返回一个值。验证方把自己经过哈希算法生成的值和被验证方返回的值进行比较。如果两者匹配,那么验证通过。否则验证不通过,连接应该被终止。
进行各种NCP协议协商,主要协商双方的IP地址(以下主要介绍IPCP)
IPCP是一个网络控制协议,用来在点对点协议连接上建立和配置网际协议。 IPCP负责在点对点连接的两端配置、使能和去使能IP协议模块。
IPCP的数据的报文同LCP的数据报文非常类似,不同之处有两点:
而LCP协议则是在链路建立阶段协商配置参数选项的,协议字段为0xC021
但它的报文类型只是LCP数据报文的一个子集(只有LCP代码域从1到7这七种报文:Config-Request,Config-Ack,Config-Nak,Config-Reject,Terminate-Request,Terminate-Ack和Code-Reject),而且实际的数据报文交换过程中链路终止报文一般而言是不在网络协议阶段使用的。、
静态IP地址协商
动态IP地址协商
类似于LCP协商状态
Address:由于点对点链路无需知道对方数据链路层地址,所以没有意义。按照规定为0xff
Control:无实际意义,规定为0x03(该域与Address域一起标识了PPP报文,即PPP报文头为FF03)
Protocol:协议域,区分数据帧中信息域所承载的数据报文的内容
Information:信息域,最大长度1500字节
Code:代码域名,主要标识LCP数据报文的类型
Identifier:标识域,标识进行协商报文的匹配关系(匹配请求报文和响应报文)。当连续发送多个配置请求报文时,这些报文数据域的值可能完全一样,但是标志域是不同的
Length:长度域,此协商报文的长度
Data(可变):数据域,携带的是协商报文的内容
PPP的协议一般排错故障:
a、线检查LCP协议是否为Opened状态
b、检查PPP协议是否配置的Auth
debugging ppp pap all
debugging ppp chap all
c、检查PPP的IPCP协议是否为Opened
debugging ppp ipcp all 是否有大量的IPCP的报文,IPCP的状态是否为Req_Send或Ack_Rcvd •
d、检查PPP的NCP 查看是否有路由通过该接口
PPP常见故障的解决措施::
1、LCP如果不是Opened 可能是物理线路的问题(debug ppp all或者打环测试)
2、当LCP协议发送了大量Confreq,收不到Ack_Recv可能是Link封装不匹配(检查对端路由器的协议封装)
3、当LCP状态为Opened,但是IPCP协议为Inital初始化,可能是PPP的认证出现问题(检查设备的认证配置)
4、当LCP状态为Opened,但是发送了大量的IPCP的报文,可能是IP地址Pool分配的问题(检查IPCP是否与认证结合使用)
5、当LCP状态为Opened,IPCP的状态为Opened,可能是由于路由的问题(检查是否有路由条目)
6、当配置单向认证的时候,被认证方是不需要配置[R1-Serial0/0]ppp authen pap
7、认证密码不对的时候,密码可能会被加入"空格"