📜  HDLC的基本框架结构(1)

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

HDLC的基本框架结构

HDLC(High-level Data Link Control,高级数据链路控制)是一个用于数据通信的协议,常用于串行线路上。

HDLC帧结构

HDLC帧结构包含以下几个部分:

  • 起始标志:一个字节(0x7E),表示帧的起始。
  • 地址:一个字节,标示接收端的地址。一般设置为0x00(无地址)。
  • 控制码:一个字节,用于控制流程。包括发送和接收方地址、传输模式(半双工或全双工)、确认、重发等控制信息。
  • 数据:可选,最大长度为2048字节。
  • 帧校验序列(FCS):4字节,用于检查帧是否被篡改。
  • 结束标志:一个字节(0x7E),表示帧的结束。

HDLC帧结构示意图如下:

+---------------+--------------+----------------+-------+---------------+
|  起始标志(1B) | 地址(1B) | 控制码(1B) | 数据 |  FCS(4B)  |  结束标志(1B)  |
+---------------+--------------+----------------+-------+---------------+
HDLC控制码

HDLC控制码用于控制流程和交换信息。它包含以下几个位:

  • 帧类型位(bit 0):用于区分信息帧、确认帧和非编号帧(无响应信息帧)。
  • 发送序号位(bit 1-3):用于编号信息帧。发送方每发送一个信息帧,该位加1。
  • 接收序号位(bit 4-6):用于编号信息帧。接收方每收到一个信息帧,该位加1。
  • 最后一帧位(bit 7):用于标识消息的结束。发送方在发送最后一个帧时,该位为1。
HDLC帧的传输方式

HDLC帧一般有两种传输方式:

  1. 异步传输方式:每个字节间隔一段时间,通过计时器来完成。
  2. 同步传输方式:在开始标志后,以定时而不是字符间的时间来控制帧的传输和接收。
HDLC实现

在实现HDLC协议时,需要完成以下几个部分:

  1. 帧的发送和接收:将数据分成多个帧,加上控制码和校验码后发送。
  2. 流组装和拆解:将多个帧合并为一个流,或将一个流分解为多个帧。
  3. 校验码计算:计算校验码,检查帧是否被修改。
参考资料