HDLC协议简介

1 介绍  

HDLC协议,有时又称SDLC协议,是行业通信普遍采用的一种链路层协议。HDLC协议规范参见ISO/IEC 13239标准文档。


2 HDLC帧定界  

SDLC/HDLC协议的标志符是一个8bit位组合,其格式为01111110(十六进制7E),即两个0中间夹着6个连续的1。一帧信息以标志符为起始,并以标志符作为结束,所以标志符也称为帧定界符。


HDLC协议的目标是能传输任意位组合的数据(即所谓的数据透明传输),同时标志符具有唯一性,即在数据序列中不能再出现01111110的序列。


为了达到透明传输的目的,发送方采用“0比特插入技术”,在发送信息帧时,对于除标志符以外的所有信息,只要遇到5个连续的1,就在其后自动插入1个0。接收方为恢复信息的原来格式,在接收时采用“0比特删除技术”,即除标志符外,当连续接收到5个1时,就自动删除1个0。


3 帧格式

HDLC完整的帧由标志字段(F)、地址字段(A)、控制字段(C)、信息字段(I)、帧校验序列字段(FCS)等组成:

● 标志字段(F): 为标志符01111110,标志帧的起止。

● 地址字段(A):标识通信站点的地址,其中全1表示广播地址。

● 控制字段(C):确定帧类型。

● 信息字段(I):可变长字节的信息内容,必须是8位的整数倍,也可以为0长度。

● 帧校验序列(FCS):采用16位的CRC,对两个标志字段之间的整个帧的内容进行校验。


开始标志

Opening Flag

地址字段

Address Field

控制字段

Control Field

 信息字段

Information Field

 帧校验序列

Frame Check Sequence Field

结束标志

Closing Flag

011111101字节1字节可变长,N字节2字节01111110


4 框架类型及运行方式

HDLC协议根据控制字段把帧划分为信息帧I(Information)、 监控帧S(Supervisory)和无编号帧U(Unnumbered)三大类。并定义了NRM、ARM、ABM三种链路操作方式,约定通信端点之间如何主从,如何进行握手。

由于HDLC很多情况下工作在低速线路上,为了避免包的延迟过长,要求数据字段尽可能的短,一般最长不超过256字节。


wechat