3.14 HDLC 帧的结构
高级数据链路控制 HDLC(High-Level Data Link Control) 协议提供了高效、可靠的数据传输服务,具有帧结构、错误检测、流量控制等功能。虽然其在网络协议历史上具有重要地位,但在现代网络中已经被一些更先进的技术取代。
HDLC 在现代网络中主要应用于帧中继。
HDLC 工作在物理层和数据链路层。
(ISO-13239 5.5)HDLC 帧分为以下几种:
-
信息帧(I-帧):用于传输数据和确认信息。
命令 响应 I(Information):信息 I(Information):信息 -
监控帧(S-帧):用于控制和管理,包含确认、重传请求等信息。
命令 响应 RR(Receive Ready):接收准备
RNR(Receive Not Ready):接收未准备
REJ(Reject):拒绝
SREJ(Selective Reject):选择性拒绝RR(Receive Ready):接收准备
RNR(Receive Not Ready):接收未准备
REJ(Reject):拒绝
SREJ(Selective Reject):选择性拒绝 -
无编号帧(U-帧):用于传输控制信息,如建立、断开连接等。
命令 响应 SNRM(Set Normal Response Mode):设置正常响应模式
SARM(Set Asynchronous Response Mode):设置异步响应模式
SABM(Set Asynchronous Balanced Mode):设置异步平衡模式
DISC(Disconnect):断开连接
SNRME(Extended Set Normal Response Mode):扩展设置正常响应模式
SARME(Extended Set Asynchronous Response Mode):扩展设置异步响应模式
SABME(Extended Set Asynchronous Balanced Mode):扩展设置异步平衡模式
SIM(Set Initialization Mode):设置初始化模式
UP(Unnumbered Poll):无编号轮询
UI(Unnumbered Information):无编号信息
XID(Exchange Identification):交换标识符
RSET(Reset):重置
TEST(Test):测试
SM(Set Mode):设置模式
UIH(Unnumbered Information with Header Check):带有报头校验的无编号信息UA(Unnumbered Acknowledgement):无编号确认
DM(Disconnected Mode):断开模式
RIM(Request Initialization Mode):请求初始化模式
RD(Request disconnect):请求断开
UI(Unnumbered Information):无编号信息
XID(Exchange Identification):交换标识符
FRMR(Frame Reject):帧拒绝
TEST(Test):测试
UIH(Unnumbered Information with Header Check):带有报头校验的无编号信息
(ISO-13239 4.1.1)HDLC 帧由 6 个部分组成:
Flag | Address | Control | Info | FCS | Flag |
---|---|---|---|---|---|
0111110 | 8 bits | 8 bits | * | 16 bits | 0111110 |
-
起始标志(Flag):由 1 个字节(即 0111110)组成,用于标识帧的开始。
-
地址字段(Address):用于标识帧的目标设备。点对点模式下,此字段一般为 1 字节(一个地址),多点模式下,此字段可以为多个地址。具体长度依赖于实际配置,即具体应用中会提前配置所使用的是点对点模式还是多点模式。
-
控制字段(Control):包含帧的控制信息,长度为 1 字节,用于管理帧的流量和错误控制,包括帧的序列号、确认号等。
-
信息字段(Info):实际承载的数据,其具体大小限制取决于数据链路层。S-帧不包含此 字段。
-
帧检验序列(FCS):使用 CRC-16/IBM 计算的 2 字节(16 位) 冗余码。
-
结束标志(Flag):由 1 个字节(即 0111110)组成,用于标识帧的结束。
HDLC 使用比特填充方式实现透明传输,即连续 5 个 1 立即填入一个 0。
-
帧中继
帧中继是一种广域网(WAN)技术,用于在多个地点之间高效地传输数据帧。采用面向连接、虚拟电路、分组交换的方式。