<>PPP概述
简介:
PPP是点到点链路上承载网络层数据报文的一种链路层协议,如路由器中的Serial接口链路缺省运行的协议就是PPP,当然能够允许PPP的远不止Serial这一种端口,其他例如Dialer,虚拟模板接口等都可以运行(主要是在PPPOE中运用)。
优点:
总体来说可以提供用户认证、易于扩充、并支持同/异步通信,因而活动广泛运用。可以实现PPPOE,PPPOA等多种业务,并且还可以运用与专线网络,实现企业总部与分支之间通过DDN网络进行对接。现在来分小点来说明PPP对比其他链路层协议的优势在哪里:
*
PPP既支持同步链路又支持异步链路,而X.25、FR等数据链路层协议仅支持同步链路,SLIP仅支持异步链路。但是现在的PPP基本都是在同步链路运行的,默认已经开启了时钟进行同步。
* PPP具有良好的拓展性,例如,当需要在以太网链路上承载PPP时,PPP可以扩展为PPPOE。
* 提供LCP,用来建立、拆除和监控PPP数据链路。
* 提供各种NCP(IPCP,IPXCP等)主要是用来协商在该数据链路上所传输的数据包的格式与类型,更好的支持网络层协议。
* 提供认证协议CHAP(质询握手认证)、PAP(密码认证协议),主要用于网络安全方面的认证,更好的保证了网络的安全性。
* 无重传机制,网络开销小,速度快。
<>PPP包含的三个协议族:
链路控制协议族(Link Control
Protocol),主管二层,主要用来建立、拆除和监控PPP数据链路。LCP可以自动检测链路环境,如是否存在环路(以太网需要STP);协商链路参数,如最大数据包长度,使用何种认证协议(以太网需要802.1x)等等。与其他数据链路层协议相比,PPP协议的一个重要特点是可以提供认证功能,链路两端可以协商使用何种认证协议并实施认证过程,只有认证成功才会建立连接。这个此特点使PPP协议很适合被运营商用来接入分散的用户。
网络层控制协议族(Network Control
Protocol),主管三层,主要用来协商在该数据链路上所传输的数据包的格式与类型。例如IPCP用于协商控制IP,IPXCP用于协商控制IPX协议等。
PPP扩展协议族主要用于提供对PPP功能的进一步支持。例如:PPP提供了用于网络安全方面的验证协议族(PAP和CHAP)。
<>PPP报文格式:
以LCP报文为例子:
Flag域
• Flag域标识一个物理帧的起始和结束,该字节为0x7E。
Address域
•
Address域可以唯一标识对端。PPP协议是被运用在点对点的链路上,因此,使用PPP协议互连的两个通信设备无须知道对方的数据链路层地址。按照协议的规定将该字节填充为全1的广播地址,对于PPP协议来说,该字段无实际意义。
Control域
• 该字段默认值为0x03,表明为无序号帧,PPP默认没有采用序列号和确认来实现可靠传输。
• Address和Control域一起标识此报文为PPP报文,即PPP报文头为FF03。
Protocol域
•
协议域可用来区分PPP数据帧中信息域所承载的数据报类型。如0x0021时,表示PPP帧的信息字段是IP数据报文。不同的Protocol标识Data字段的不同含义。
• ISO标准下的协议域类型:
常用的几种Protocol取值:
information域:LCP、NCP、IP等协议
FCS校验位域:将每一帧中的第一个字符@到该帧中正文的最后一个ASCII 字符作“异或”运算, 并将异或的结果转换为两个ASCII码, 便得到了FCS ,
它作为帧的一部分发送到接收端。接收端计算出收到的帧的FCS , 如果与发送端传送过来的FCS 不同, 可以判定通信有误。
<>PPP链路建立过程:
Dead状态表示物理层无连接,也是链路一开始的阶段。建立物理层连接后,便进入了Establish阶段,通过双方设备互相交互LCP的链路配置包完成链路层的协商,如果协商成功,则进入LCP的Open状态,进入下一步协商,否则退回到Dead状态。链路进入Open状态后,如果配置了认证(非默认),则进入Authenticate阶段进行链路认证,否则直接进入Network阶段。在Authenticate状态如果能够认证成功,则进入Network阶段,如果认证失败,则会迁移到Terminate状态。Network是网络层参数协商阶段,会为每一个网络层协议选择对应的NCP协议进行参数商定,仅当协商成功,进入NCP到达Open状态后,网络层流量才能被PPP链路承载。Terminate阶段也就是终止链路阶段,PPP链路可以在任意时间被终止,除了刚刚的认证失败的情况,LCP的链路结束包,网络管理员手动关闭链路等都会让PPP进入这个阶段。例如在LCP在交互了链路结束包后,物理层会被紧接着通告断开连接,重新回到初始的Dead状态。
注意:此处列出的是PPP的工作阶段,并非PPP的协议状态。
参考资料:华为数通培训资料