点对点协议PPP
对于点对点的链路,点对点协议PPP协议时目前使用最广泛多数据链路层协议。
PPP协议有3个组成部分:
(1) 一个将IP数据报封装到串行链路多方法。PPP既支持异步链路(无奇偶校验的8比特数据),也支持面向比特的同步链路。IP数据报在PPP帧中就是其信息部分,这个信息部分的长度受最大传送单元MTU多限制。
(2) 一个用来建立,配置,测试数据链路连接多链路控制协议LCP,通信的双方可以协商一些选项。LCP配置选择包括链路上最大的帧长,所使用多鉴别协议,以及不使用PPP帧中的地址字段和控制字段。
(3) 一套网络控制协议NCP,其中每个协议支持不同的网络层协议。
PPP协议帧格式
(1)当Protocol部分为0x0021时候,PPP帧的信息字段就是IP数据报;若为0xC021时候,信息字段是PPP链路控制协议LCP的数据,若为0x8021时候,则表示为网络层的控制数据。
(2)其中数据部分Data长度是可变的,不超过1500个字节。
(3)FCS是采用CRC帧检验序
PPP协议工作状态
(1) 链路不可用阶段(Link Dead Phase)在最开始,整条链路处于链路不可用状态,此阶段有时也称为物理不可用阶段,PPP链路都需从这个阶段开始和结束,当通信双方的两端检测到物理线路激活时,就会从当前这个阶段进入到链路建立阶段
(2) 链路建立阶段 (Link Establishment Phase) 在此阶段,PPP链路将进行LCP相关协商,协商内容包括工作方式,认证方式,连路压缩等,LCP在协商成功后进入Opened状态,表示底层链路已经建立,如果链路协商失败,则会返回到第一阶段,在链路建立阶段成功后,如果配置了PPP认证,则会进入认证阶段,如果没有配置PPP认证,则会直接进入网络层协议阶段
(3) 认证阶段 (Authentication Phase) 在此阶段,PPP将进行用户认证工作,PPP支持PAP和CHAP两种认证方式,关于这两种认证方式在后面将会详细介绍,如果认证失败,PPP链路会进入链路终止阶段,拆除链路,LCP状态转为DOWN,如果认证成功就进入网络层协议阶段
(4) 网络层协议阶段 (Network-Layer Protocol Phase) 一旦PPP完成了前面几个阶段,每种网络层协议(IP,IPX等)会通过各自相应网络控制协议进行配置,只有相应的网络层协议协商成功后,该网络层协议才可以通过这条PPP链路发送报文,对于IPCP协议,协商的内容主要包括双方的IP地址等
(5) 链路终止阶段 (Link Termination Phase) PPP能在任何时候终止链路,载波丢失,认证失败后用户人为关闭链路等情况均会导致链路终止,PPP协议通过交换LCP的链路之中报文来关闭链路,当链路关闭时,连路层会通知网络层做相应的操作,而且也会通过物理层强制关断链路