HDLC(High-Level Data Link Control,高级数据链路控制协议)
HDLC(High-Level Data Link Control,高级数据链路控制协议)是ISO标准的数据链路层协议,用于点对点或点对多点通信中的可靠帧传输控制。它是一个面向比特的协议,广泛用于串行链路、PPP 和各种广域网链路中。
✅ HDLC 的核心内容包括:
1. 帧结构
HDLC 的每一帧由以下字段组成:
字段名 | 长度 | 作用 |
---|---|---|
Flag | 8位 | 帧开始和帧结束标志:01111110 (0x7E) |
Address | 8位或更多 | 标识发送方/接收方地址(在点对点中常为 0xFF) |
Control | 8或16位 | 控制帧类型,如发送数据、确认等 |
Information | 可变 | 实际传输的数据内容(可选) |
FCS(Frame Check Sequence) | 16 或 32位 | CRC 校验字段,保证数据完整性 |
Flag | 8位 | 帧尾部标志,仍为 01111110 (0x7E) |
2. 帧类型
HDLC 有三类控制帧:
帧类型 | 名称 | 用途 |
---|---|---|
I帧 | Information Frame | 传输用户数据 |
S帧 | Supervisory Frame | 巡检帧,用于流量控制和确认(如ACK) |
U帧 | Unnumbered Frame | 链路管理,如建立/释放连接、命令响应等 |
3. 比特填充(Bit Stuffing)机制
- 因为 HDLC 是面向比特的协议,帧起始和结束使用特殊的比特序列
01111110
; - 如果数据中连续出现 5 个“1”,就自动插入一个“0”(避免出现 6 个 1 触发误判);
- 接收方在接收数据时会去除填充的 0。
4. 工作模式(操作方式)
–
5. 确认与重传机制
HDLC 支持:
- 正向确认(ACK)
- 否定确认(NAK)
- 超时重传
- 窗口流控机制(滑动窗口)
这些机制使 HDLC 成为可靠的、有序的数据链路层协议。
–
✅ 总结一句话:
HDLC 是一个面向比特的、可靠的、支持确认重传、支持多种帧类型与控制机制的数据链路层协议,在串行通信和广域网中被广泛使用。