计算机网络之PPP协议

点对点协议 PPP

点对点协议 PPP(Point-to-Point Protocol)是目前使用最广泛的点对点数据链路层协议。

PPP 协议为在点对点链路传输各种协议数据报提供了一个标准方法,主要由以下三部分构成:

  • 对各种协议数据报的封装方法(封装成帧)
  • 链路控制协议 LCP         用于建立、配置以及测试数据链路的连接
  • 一套网络控制协议 NCPs         其中的每一个协议支持不同的网络层协议

帧格式

PPP 协议如何解决透明传输问题?

由上图,F 字段是 PPP 帧的定界符,如果不对数据部分的 F 字段做特殊处理,就会导致接收方对帧头和帧尾的误判。实现透明传输的方法根据链路的不同分为“字节填充法”和“比特填充法”。

透明传输——面向字节的异步链路采用插入转义字符的字节填充法

透明传输——面向比特的同步链路采用插入比特 0 的比特填充法

差错检测

PPP 格式中的 FCS 字段是 CRC 计算出来的校验位,FCS 的计算范围包含了 A、C、P 以及帧的数据部分:

采用的生成多项式为:

接收方每收到一个 PPP 帧,就进行 CRC 校验。若 CRC 校验正确,就收下这个帧;反之,就丢弃这个帧。使用 PPP 的数据链路层向上不提供可靠传输服务

PPP 协议的工作状态