目录
PPP是一种典型的串行链路协议,主要用在全双工的同步或异步链路上进行点到点的数据传输。
一、PPP组件
1.基本介绍
PPP是在SLIP(串行线路因特网协议)的基础上发展起来的,SLIP由于存在仅支持异步传输、五协商过程,且只支持IP这一种网络协议等缺点, 因此在发展过程中逐步被PPP替代。
2.PPP优势
(1)同时支持同步和异步传输方式。
(2)支持多种网络层协议,除IP外,还支持IPX(因特网包交换协议)、Appletalk协议。
(3)支持链路层的网络层参数协商,特别是IP地址协商。
(4)具有很好的扩展性。
(5)网络开销小(帧头小),速度快,但无重传机制。
3.PPP的3类子协议
(1)LCP(链路控制协议)
主要用来建立、拆除和监控PPP数据链路。LCP可以自动检测链路环境,如检测是否存在环路;协商链路参数,如最大数据包长度、使用何种认证协议等。
(2)NCP(网络层控制协议)
用于各网络层参数的协商,更好地支持多种网络层协议,PPP定义了一组NCP,每个NCP对应了一种网络层协议,用于协商网络层地址等参数,列入IPCP(网际控制协议)用于协商控制IP,IPXCP用于协商控制IPX协议等。
(3)CHAP(质询握手认证协议)和PAP(密码认证协议)
用于网络安全方面的认证
二、PPP帧格式
1.Flag(标志)
1字节,标识一个PPP帧的起始和结束,该字节固定值为01111110,与HDLC帧和Flag字段的作用和取值一样
2.Address(地址)
1个字节,目的链路层地址,可以唯一标识对端,但因为PPP对应的是点对点链路,使用PPP的两个通信设备在连接时无须知道对方的链路层地址,所以将该字节填充全为1的广播地址。对于PPP来说,该字段无实际意义。
3.Control(控制)
1个字节,默认值0x03,表明是无序号帧,因为PPP默认没有采用序列号和确认进行应答,也没有重传机制来实现可靠传输。
4.Protocol(协议)
1或2个字节,标识上层协议类型(不一定是网络层协议),可来区分PPP数据帧中Information字段所承载的数据包类型。PPP帧可承载的上层协议信息的类型及代码:
协议代码 | 协议类型 |
0021 | IPV4协议 |
002b | IPX |
002d | 压缩版TCP/IP |
002f | 非压缩版TCP/IP |
8021 | IPCP |
802b | IPXCP |
C021 | LCP |
C023 | PAP |
C223 | CHAP |
5.Information(信息)
可变长,包括填充的内容,最大长度是1500字节,Information字段的最大长度称为MRU(最大接受单元),默认值为1500字节。在实际应用中可根据实际需要进行MRU的协商。
若information字段长度不足,可被填充,但不是必须的,若填充则需要通信双方的两端能辨认处填充信息和真正需要传送的信息,方可正常通信。
6.FCS(帧校验序列)
2个字节,用对于PPP数据帧的完整性和正确性进行检测。
三、LCP帧格式
在运行PPP的串行链路上,两端必须先建立PPP链路连接才能进行正常的数据通信。在链路建立阶段,PPP通过LCP帧进行链路的建立和链路参数的协商。此时LCP帧作为PPP的净荷封装在PPP帧的Information字段格式如图: