网络协议:PPP

本文更新于2025-11-02。

点对点协议PPP(Point-to-Point Protocol),是用户计算机和ISP进行通信时所使用的数据链路层协议。

PPP不是纯粹的数据链路层协议,还包含物理层和网络层的内容。

PPP帧

|                 header                 |              |    tailer     |
+-----------------------------------------------------------------------+
| F(0x7E) | A(0xFF) | C(0x03) | protocol |   message    | FCS | F(0x7E) |
+---------+---------+---------+----------+--------------+-----+---------+
| 1       | 1       | 1       | 2        | at most 1500 | 2   | 1       | bytes
  • F(Flag):标志字段,为0x7E(01111110)。帧定界符,连续两个帧之间只需用一个标志字段。如果出现连续两个标志字段,则表示一个空帧。
  • A:地址字段,为0xFF(11111111)。实际没有携带PPP帧的信息。
  • C:控制字段,为0x03(00000011)。实际没有携带PPP帧的信息。
  • protocol:协议字段。表示信息字段的类型:0x0021为IP数据报,0xC021为PPP链路控制协议LCP,0x8021为IP控制协议IPCP。
  • message:信息字段。
  • FCS:使用CRC的帧检验序列。

异步传输(字节填充)

使用异步传输(逐个字符传输)时,信息字段使用0x7D作为转义字符,并使用字节填充:

  • 0x7E转义为(0x7D, 0x7E)。
  • 0x7D转义为(0x7D, 0x5D)。
  • ASCII码的控制字符(小于等于0x1F)使用0x7D转义,同时修改字符编码。如:0x03转义为(0x7D, 0x23)。

同步传输(零比特填充)

使用同步传输(一连串比特连续发送)时,信息字段使用零比特填充:只要有5个连续比特1,则插入一个比特0,这样就不会出现和标志字段相同的比特流。

posted @ 2026-05-23 15:44  garvenc  阅读(19)  评论(0)    收藏  举报