网络工程师必备知识-局域网:HDLC 协议

一、HDLC 协议

HDLC(High Level Data Link Control ,高级数据链路控制)协议是国际标准化组织根据IBM公司的SDLC ( Synchronous Data Link Control,同步数据链路控制)协议扩充开发而成的。美国国家标准学会( ANSI) 则根据SDLC 开发出类似的协议,叫作ADCCP 协议( Advanced DataCommunication Control Procedure ,高级数据通信控制协议)。

(1)HDLC 是一种面向位(比特)同步的数据链路层控制协议。

(2)通常使用CRC-16、CRC-32进行校验,帧边界(代表开始/结束)是 01111110

(3)比特填充技术:为了防止数据部分出现帧边界是“01111110”,让对方误以为传输结束,HDLC采用比特填充技术,当数据帧中出现连续的5个连续的1以后,就需要插入1个0,还原的时候出现连续5个1,就把后面的0去掉,比如“011011111001”使用比特填充后是“0110111110001”。

二、HDLC控制字段

HDLC 定义了3 种帧,可根据控制宇段的格式区分。信息帧(I 帧)承载着要传送的数据,此外还捎带着流量控制和差错控制的应答信号。管理帧c s 帧)用于提供ARQ 控制信息,当不使用捎带机制时要用管理帧控制传输过程。无编号帧c u 帧)提供建立、释放等链路控制功能,以及少量信息的无连接传送功能。控制字段第1 位或前两位用于区别3种不同格式的帧,如图所示。基本的控制字段是8 位长,扩展的控制字段为16 位长。

(1)信息帧(I帧):第一位为0,用于承载数据和控制

o N(S)表示发送帧序号,N(R)表示下一个预期要接收帧的序号,N(R)=5,表示下一帧要接收5号帧。N(S)和 N(R)均为3位二进制编码,可取值0~7。

(2)监控帧(S帧):前两位为10,监控帧用于差错控制和流量控制。

o S帧控制字段的第三、四位为S帧类型编码,共有四种不同编码,含义如上表所示。

(3)无编号帧(U帧):控制字段中不包含编号N(S)和 N(R),U帧用于提供对链路的建立、拆除以及多种控制功能,但是当要求提供不可靠的无连接服务时,它有时也可以承载数据

三、无编号帧

(1)无编号帧(U帧):控制字段中不包含编号N(S)和 N(R),提供对链路的建立、拆除以及多种控制功能。当要求提供不可靠的无连接服务时,它也可以承载数据

(2)需要知道SABME、UA、UI、DISC/RD和RESET都是无编号帧。无编号帧的名称和代码如下:

四、真题练习

原文链接:,转发请注明来源!