📜  HDLC帧的类型(1)

📅  最后修改于: 2023-12-03 15:01:07.597000             🧑  作者: Mango

HDLC帧的类型

HDLC(High-Level Data Link Control)是一种数据链路协议,用于在不可靠的通信信道上传输数据。HDLC帧由标识符、控制字段、数据字段、帧校验序列等组成。根据不同的控制字段,HDLC帧分为三种类型:信息帧、确认帧和无编号帧。

信息帧

信息帧(I-frame)用于在两个节点之间传输数据。它包含了数据字段和帧序号,可以进行差错控制和流量控制。I-frame的控制字段值为0x00或0x10。

I-frame格式:
+-------+--------+-------+---------+-----------------+----------+
| Flag  | Address|  Control  |   Data  |checksum(optional)|   Flag   |
+-------+--------+-------+---------+-----------------+----------+
| 01111110 |              | 0x00/0x10 |     DATA         |   FCS(optional)  |01111110|
+-------+--------+-------+---------+-----------------+----------+
确认帧

确认帧(S-frame)用于数据链路层的确认和控制流量,可以包含确认序号和请求发送序号。S-frame的控制字段值为0x01、0x09、0x11或0x19。

S-frame格式:
+-------+--------+-------+---------+-----------------+----------+
| Flag  | Address|  Control  |   Data  |checksum(optional)|   Flag   |
+-------+--------+-------+---------+-----------------+----------+
| 01111110 |              | 0x01/0x09/0x11/0x19 |      DATA          |  FCS(optional)  |01111110|
+-------+--------+-------+-------+-----------------+----------+
无编号帧

无编号帧(U-frame)用于链路控制、向对端发送指令等。它不包含帧序号,可以用来进行链路维护。U-frame的控制字段值为0x03、0x07、0x0B、0x13、0x17、0x1B。

U-frame格式:
+-------+--------+-------+---------+-----------------+----------+
| Flag  | Address|  Control  |   Data  |checksum(optional)|   Flag   |
+-------+--------+-------+---------+-----------------+----------+
| 01111110 |              | 0x03/0x07/0x0B/0x13/0x17/0x1B|     DATA          |   FCS(optional)  |01111110|
+-------+--------+-------+---------+-----------------+----------+

以上是HDLC帧的基本类型,程序员可以根据具体使用场景进行选择。