点到点链路层协议PPP(PPPoE) 主要用于在全双工的同异步链路上进行点到点的数据传输,PPP是一款公有标准协议,兼容性好 。
PPP协议的特点:
1、PPP支持在全双工的同异步链路上进行点到点的数据传输 。
2、PPP具有很好的扩展性;PPPoE就是承载在以太网链路上的PPP协议 。
3、PPP支持地址信息的自动协商;LCP协议用于各种链路层参数的协商;NCP协议用于各网络层参数的协商,更好地支持了网络层协议(peer neighbor-route) 。
4、PPP支持PAP、CHAP认证(可以基于接口的密码认证;也可以基于本地数据库AAA认证,提供认证、授权和审计),更好的保证了网络的安全性 。
5、PPP支持将多根链路进行捆绑(Multilink);支持对所有类型的报文/报头进行压缩;无重传机制,网络开销小,速度快 。
PPP协议的组成:协议伞

文章插图
步骤一:链路控制协议LCP;用来建立、拆除和监控PPP数据链路
步骤二:认证协议;PAP(密码认证协议)和CHAP(挑战握手认证协议);用于链路认证,支持单向认证和双向认证 。
步骤三:网络层控制协议NCP(协议伞);用于对不同的网络层协议进行连接建立和参数协商;协议包含了IPV4CP(IPCP)、IPV6CP、IPXCP等 。
PPP链路的建立过程:

文章插图
1、Dead阶段也称为物理层不可用阶段 。当通信双方的两端检测到物理线路激活时,就会从Dead阶段迁移至Establish阶段,即链路建立阶段 。
2、Establish阶段,PPP链路会进行LCP参数协商 。协商内容包括最大接收单元MRU、认证方式、魔术字(Magic Number)等选项 。LCP参数协商成功后会进入Opened状态,表示底层链路已经建立 。
3、多数情况下,链路两端的设备是需要经过认证阶段(Authenticate)后才能够进入到网络层协议协商阶段 。PPP链路在缺省情况下是不要求进行认证的 。如果要求认证,则在链路建立阶段必须指定认证协议 。认证方式是在链路建立阶段双方进行协商的 。如果在这个阶段再次收到了Configure-Request报文,则又会返回到链路建立阶段 。
4、Network阶段,PPP链路进行NCP协商 。通过NCP协商来选择和配置一个网络层协议并进行网络层参数协商 。只有相应的网络层协议协商成功后,网络层协议才可以通过这条PPP链路发送报文 。如果在这个阶段收到了Configure-Request报文,也会返回到链路建立阶段 。
5、NCP协商成功后,PPP链路将保持通信状态 。PPP运行过程中,可以随时中断连接,例如物理链路断开、认证失败、超时定时器时间、管理员通过配置关闭连接等动作都可能导致链路进入Terminate阶段 。
6、在Terminate阶段,如果所有的资源都被释放,通信双方将回到Dead阶段,直到通信双方重新建立PPP连接 。
PPP协议的帧格式:

文章插图
1、Flag字段标识一个物理帧的起始和结束,为二进制序列01111110(0X7E) 。
2、address字段,固定为11111111 (0XFF),是一个广播地址 。
3、control字段默认为00000011(0X03),表明为无序号帧 。
4、protocol字段用来说明PPP所封装的协议报文类型,0XC021代表LCP报文,0XC023代表PAP报文,0XC223代表CHAP报文,0X0021代表IPV4报文 。
5、FCS字段是个16位的校验和,用于检查PPP数据帧的完整性 。
Information字段包含协议字段中指定协议的数据包 。数据字段的默认最大长度(不包括协议字段)称为最大接收单元MRU(Maximum Receive Unit),MRU的缺省值为1500字节 。如果协议字段被设为0XC021,则说明通信双方正通过LCP报文进行PPP链路的协商和建立:
1、Code字段主要是用来标识LCP数据报文的类型 。配置信息报文(Configure Packets: 0x01),配置成功信息报文(Configure-Ack: 0X02),终止请求报文(Terminate-Request:0X05) 。
2、Identifier字段表示用来匹配请求和响应报文 。
3、length字段表示LCP的报文长度
Data字段为数据载荷,包含了多个TLV为可选项字段,包含类型、长度和数值
LCP报文类型和工作过程:

文章插图
1、Configure-Request配置请求报文:链路层协商过程中发送的第一个报文,该报文表明点对点双方开始进行链路层参数的协商 。可以协商的内容如下:
推荐阅读
- 竹制家具为什么会发霉,竹制家具发霉怎么办
- Java线程池原理解析
- 丝袜5800d适合什么温度,5800d的袜子多少克
- 北京凶宅81号真实故事 北京朝内81号凶宅是真的吗
- 真正丰都鬼城闹过鬼吗 丰都鬼城为什么叫鬼城
- 一般在什么情况下能开网店 现在开网店还行不行
- 世上真的有美人鱼吗?美人鱼会吃人吗? 什么美人鱼会吃人这么害怕
- 常喝红酒的好处和坏处 红葡萄酒对人身体有什么好处
- 梦见牙齿掉了好多颗还流血是什么意思 梦见牙齿掉了好多颗还流血,又碎了
- 云南普洱茶是红茶吗,云南普洱茶是茶树原产地所产
