点对点协议(PPP)提供了一种标准方法,用于在点对点链路上传输多协议数据报。
本文档描述了使用类似 HDLC 的帧结构对 PPP 封装的数据包进行封装。
帧格式:
+----------+----------+----------+
| Flag | Address | Control |
| 01111110 | 11111111 | 00000011 |
+----------+----------+----------+
+----------+-------------+---------+
| Protocol | Information | Padding |
| 8/16 bits| * | * |
+----------+-------------+---------+
+----------+----------+-----------------
| FCS | Flag | Inter-frame Fill
|16/32 bits| 01111110 | or next Address
+----------+----------+-----------------
传输前需要转义,转义符为 7d(计算完 CRC 后再转义)
头尾的 7e 不需要转义,其他的 7e、7d、小于 0x20(空格)的字节都需要转义。
字节 c 转义后为:0x7d (c xor 0x20),例如:
0x7e is encoded as 0x7d, 0x5e. (Flag Sequence)
0x7d is encoded as 0x7d, 0x5d. (Control Escape)
0x03 is encoded as 0x7d, 0x23. (ETX)
|