跳到主要内容

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 个部分组成:

FlagAddressControlInfoFCSFlag
01111108 bits8 bits*16 bits0111110
  • 起始标志(Flag):由 1 个字节(即 0111110)组成,用于标识帧的开始。

  • 地址字段(Address):用于标识帧的目标设备。点对点模式下,此字段一般为 1 字节(一个地址),多点模式下,此字段可以为多个地址。具体长度依赖于实际配置,即具体应用中会提前配置所使用的是点对点模式还是多点模式。

  • 控制字段(Control):包含帧的控制信息,长度为 1 字节,用于管理帧的流量和错误控制,包括帧的序列号、确认号等。

  • 信息字段(Info):实际承载的数据,其具体大小限制取决于数据链路层。S-帧不包含此字段。

  • 帧检验序列(FCS):使用 CRC-16/IBM 计算的 2 字节(16 位) 冗余码。

  • 结束标志(Flag):由 1 个字节(即 0111110)组成,用于标识帧的结束。

HDLC 使用比特填充方式实现透明传输,即连续 5 个 1 立即填入一个 0。

  • 帧中继

    帧中继是一种广域网(WAN)技术,用于在多个地点之间高效地传输数据帧。采用面向连接虚拟电路分组交换的方式。