PPP(Point-to-Point,点到点协议)

PPP(Point-to-Point,点到点协议),在串行链路上传输IP数据报的方法,从低速的拨号调制器到高速的光链路。

PPP不是单一的协议,而是协议集合,支持LCP——建立链接,以及一系列NCP协议,LCP为各种协议(IPv4,IPv6和非IP协议)建立网络层链路

 

链路控制协议

LCP(Link Control Protocol,链路控制协议),用于点到点链路上建立和维护低层的双向通信路径。

链路必须支持双向操作以及异步或同步操作。

LCP使用简单的位级别帧格式,基于高级数据链路控制(HDLC)建立链路协议。

HDLC协议还用作802.2中的LLC标准的基础,并最终用于PPP。

 标志

 (0x7E)

 地址

(0xFF)

 控制

 (0x03)

  协议

         数据

 (PPP控制或网络层数据)

     填充

(如果存在,用0)

FCS

标志

(0x7E)

PPP基本帧格式借用了HDLC的格式,还包括一个协议标识符,有效载荷区,以及2或4字节的FCS。其他字段是否存在取决于压缩选项。

 

标志(0x7E):1字节,点到点链路的两个端点使用这个字段来发现一个帧的开始和结束。

串行链路定义了两种数据传输方式:异步和同步

1.异步传输:以字节为单位来传输数据,并且需要采用额外的起始位和停止位来标记每个字节的开始和结束。起始位是二进制0,停止位是二进制1。

PPP使用字符填充

——如果标志字符本身出现在帧中,则用2字节序列0x7D5E替换。(0x7D称为"PPP转移字符")

——如果转移字符本身出现在帧中,则用2字节序列0x7D5D替换。

2.同步传输:以为单位传输数据,在通信时需要使用时钟来同步本端和对端的设备通信。DCE(同步方)即数据通信设备(运营商端设备),提供了一个用于同步DCE设备和DTE设备之间数据传输的时钟信号。DTE(被同步方)即数据终端设备(客户端边界设备),它通常使用DCE产生的时钟信号

PPP使用位填充

——标志字符的位模式为01111110,在除了标志字符之外的任何地方,位填充在5个连续1之后填充一个0

 

地址:PPP采用HDLC的地址,指定哪个站在处理,PPP只关心一个目的地,因此这个字段被设置为0xFF(所有站)

控制:HDLC控制字段用于指示帧序列和重传行为,链路层的可靠性功能不是由PPP实现,所以控制字段设置为固定值0x03

*注 地址和控制字段在PPP中都是固定常数,所以在传输过程中经常经过一个称为地址和控制字段压缩(ACFC)的选项来省略它们

协议:根据HDLC,协议号的分配方式为:高位字节的最低有效位为0,低位字节的最低有效位为1

    0x0000~0x3FFF(十六进制)范围内的值表示网络层协议

    0x8000~0xBFFF范围内的值表示NCP相关的数据

    0xC000~0xEFFF范围内的值表示控制协议,如LCP

 

 

LCP在基本PPP分组之上进行了简单的封装,能识别封装数据的类型和长度

 标志

 (0x7E)

 地址

(0xFF)

 控制

 (0x03)

  协议

(0xC021)

代码

 

标识

长度

LCP数据

     填充

(如果存在,用0)

FCS

标志

(0x7E)

协议——LCP的PPP协议字段值是0xC021,不能用PFC删除

标识——由LCP请求帧的发送方提供的序列号,并随着每个后续消息进行递增。

代码——配置请求(0x01),配置ACK(0x02),配置NACK(0x03),配置REJECT(0x04),终止请求(0x05),终止ACK(0x06),代码REJECT(0x07),

   协议REJECT(0x08),回送请求(0x09),回送应答(0x0A),放弃请求(0x0B),标识(0x0C),剩余时间(0x0D)

长度——LCP分组的字节长度,不能超过链路最大接收单元MRU

猜你喜欢

转载自blog.csdn.net/xiaoxiaoDragon/article/details/83590371