目录
- 一、前言
- 二、HDLC协议与以太网协议的区别
-
- [1、HDLC可靠 . 以太网简单高效](#1、HDLC可靠 . 以太网简单高效)
- [2、 物理层和介质访问不同](#2、 物理层和介质访问不同)
- [三、HDLC 的基本概念](#三、HDLC 的基本概念)
-
- [1、 三种类型的站(通信实体)](#1、 三种类型的站(通信实体))
- [2、 两种链路配置(连接关系)](#2、 两种链路配置(连接关系))
- [3、 三种数据传输方式(通信规则)](#3、 三种数据传输方式(通信规则))
- [四、HDLC 的帧结构](#四、HDLC 的帧结构)
-
- [1. 帧结构](#1. 帧结构)
- [2. 各字段详解](#2. 各字段详解)
- 3、关键特点总结
- [五、HDLC 的帧类型](#五、HDLC 的帧类型)
-
- [1. 信息帧(I帧)](#1. 信息帧(I帧))
- [2. 管理帧(S帧)](#2. 管理帧(S帧))
- [3. 无编号帧(U帧)](#3. 无编号帧(U帧))
- [4. 总结](#4. 总结)
- [六、HDLC 的操作](#六、HDLC 的操作)
-
- [1. HDLC 的操作过程](#1. HDLC 的操作过程)
- [2. 总结](#2. 总结)
- 七、历年真题
一、前言
HDLC(High Level Data Link Control ,高级数据链路控制) 是一种由国际标准化组织(ISO)制定的面向比特的数据链路层通信协议,主要用于实现可靠的数据传输。
二、HDLC协议与以太网协议的区别
1、HDLC可靠 . 以太网简单高效
- HDLC内置了复杂的可靠传输机制。它通过信息帧(I帧)发送数据,用监控帧(S帧)进行确认和重传请求,用无编号帧(U帧)建立链路。可以说,HDLC自己就能实现类似TCP的可靠传输。
- 以太网采用极简设计,只负责把包发出去,检错但不纠错,错了就丢掉。可靠传输交给了上层的TCP协议。这种各干各事的分层设计,是非常高效和灵活的。
2、 物理层和介质访问不同
- HDLC在同步串行线路上,收发双方必须通过时钟信号保持步调一致,这样才能准确识别比特流。它是点对点的,所以没有抢占的问题,想发就发。
- 早期以太网是共享介质,发数据前要先听线路空不空(CSMA/CD),如果同时发就碰撞了,得随机等一会儿再试。现在的以太网都用交换机实现了全双工,收发可以同时进行,互不干扰,效率大大提升。
三、HDLC 的基本概念
1、 三种类型的站(通信实体)
- 主站:负责控制链路,发出的帧称为命令帧。
- 从站:听从主站控制,发出的帧称为响应帧。
- 复合站:兼具主站和从站功能,既能发命令帧也能发响应帧。
2、 两种链路配置(连接关系)
-
不平衡配置:由一个主站和一个或多个从站组成。
- 特点:分主从,等级分明。可用于点对点或点对多点。
-
平衡配置:由两个复合站组成。
- 特点:双方地位平等。仅用于点对点。
3、 三种数据传输方式(通信规则)
- 正常响应方式 (NRM):
- 就像领导点名。
- 适用于不平衡配置。从站必须收到主站询问才能发送数据。适合计算机轮询终端的场景。
- 应用场景:银行ATM网络、工业控制总线

- 异步平衡方式 (ABM):
- 像随时发言。
- 适用于平衡配置。任一复合站无需对方允许即可开始传输。效率最高,最常用。
- 应用场景:路由器间的主干链路

- 异步响应方式 (ARM):
- 就像员工主动汇报制。
- 适用于不平衡配置。从站可主动发送数据,但管理权仍在主站。较少使用。
- 应用场景:少见,如紧急告警系统

四、HDLC 的帧结构
1. 帧结构
HDLC帧由6个字段组成,以标志字段(F)为帧的起止边界:

2. 各字段详解
-
标志字段(F)
- 固定位模式:01111110
- 作用:标识帧的开始和结束
- 透明传输:通过零比特填充防止数据中出现与标志相同的模式。发送端发送数据时,遇到连续5个1后插入一个0;接收端遇到连续5个1后检查第7位,若为0则删除;若为1且第8位为0,则识别为帧尾

-
地址字段(A)
- 标识从站地址,用于点对多点链路
- 默认8位,支持扩展(8位组整数倍)
- 每个字节的最低位指示是否为最后一个地址字节(1=结束,0=后续)
- 全1(11111111)表示广播地址

- 控制字段(C)
-
区分三种帧类型:
-
信息帧(I帧):携带用户数据,同时负责流量控制与差错控制
-
管理帧(S帧):提供ARQ控制信息,如确认、重传请求等
-
无编号帧(U帧):用于链路建立、释放等管理功能
-
-
控制字段第1位或前两位决定帧类型。基本长度8位,支持扩展为16位
-

- 信息字段(INFO)
- 仅存在于I帧和部分U帧
- 包含用户数据,长度不限(受具体实现限制)
- 帧校验序列(FCS)
- 校验除标志字段外的所有字段
- 常用16位CRC-CCITT,也可选32位CRC-32
3、关键特点总结
- 统一帧结构:所有帧采用相同格式,便于硬件处理
- 透明传输:零比特填充确保任意数据均可传输
- 扩展能力:地址和控制字段均支持扩展,适应不同网络规模
- 多功能控制:通过控制字段区分信息、管理和无编号帧,实现数据传送、流量控制、链路管理三合
五、HDLC 的帧类型
- HDLC 定义了三种帧类型:信息帧(I帧)、管理帧(S帧) 和 无编号帧(U帧),分别用于数据传输、链路控制和差错/流量控制。
1. 信息帧(I帧)
- 作用:承载用户数据,同时携带发送序号
- 字段:包含发送序号 N(S)、接收序号 N® 以及 P/F 位(主站发送时称 P 位,从站响应时称 F 位)。
- P/F 位的用途:
- 在正常响应方式(NRM)下,主站将 I 帧的 P 位置 1,表示轮询从站,允许其发送数据;从站以多个 I 帧响应,最后一个 I 帧的 F
位置 1,表示数据发完。 - 在异步响应方式(ARM)和异步平衡方式(ABM)下,P/F 位用于管理 S 帧和 U 帧的交换。
- 在正常响应方式(NRM)下,主站将 I 帧的 P 位置 1,表示轮询从站,允许其发送数据;从站以多个 I 帧响应,最后一个 I 帧的 F
2. 管理帧(S帧)
- 作用:进行流量控制和差错控制,当没有足够 I 帧携带控制信息时使用。
- 四种管理帧类型及功能:
- RR(接收就绪):肯定应答 N® 之前的帧,并表示准备接收 N® 及后续帧。
- RNR(接收未就绪):肯定应答 N® 之前的帧,但拒绝继续接收后续帧。
- REJ(拒绝):否定应答,要求重发 N® 及后续帧(后退 N 帧 ARQ)。
- SREJ(选择性拒绝):否定应答,要求仅重发 N® 帧(选择重发 ARQ)。
- P/F 位的用途:
- 主站发送 P=1 的 RR 帧,询问从站是否有数据发送;从站若无数据,则以 F=1 的 RR 响应。
- 主站发送 P=1 的 RNR 帧,询问从站状态;从站根据自身接收能力,以 F=1 的 RR(就绪)或 RNR(未就绪)响应。
3. 无编号帧(U帧)
- 作用:链路建立、释放、模式设置、复位、测试等管理功能。不包含编号字段,不影响信息流顺序。
- 分类及功能:
-
(1)设置传输方式的命令和响应帧
-
SNRM(命令):设置为正常响应方式(NRM)。
-
SARM(命令):设置为异步响应方式(ARM)。
-
SABM(命令):设置为异步平衡方式(ABM)。
-
SNRME / SARME / SABME(命令):与上述类似,但使用扩展控制字段(16位)。
-
UA(响应):对设置方式命令的肯定应答。
-
DM(响应):非连接方式,表示从站逻辑上断开,拒绝建立指定传输方式。
-
RIM(响应):请求初始化方式,表示未准备好或正在初始化。
-
-
(2)链路释放的命令和响应帧
-
DISC(命令):拆除逻辑连接。
-
RD(响应):请求拆除连接。
-
UA(响应):对 DISC 的肯定应答。
-
-
(3)传输信息的命令和响应帧
-
UI(命令/响应):无编号信息帧,交换高层信息、状态、链路参数等。
-
UP(命令):无编号询问,请求接收站返回无编号响应帧以了解状态。
-
-
(4)链路恢复与复位命令和响应帧
-
FRMR(响应):帧拒绝响应,报告接收到的帧有错误(如无效控制字段、帧太长、无效序号等)。
-
RSET(命令):复位命令,重置发送和接收序号。
-
-
(5)其他命令和响应帧
-
XID(命令/响应):交换标识和状态信息。
-
TEST(命令/响应):测试链路和接收站工作状态,收到后应以 TEST 帧响应。
-
-
4. 总结
- 信息帧(I 帧):主要用途是传输用户数据,附带流量/差错控制;携带序号;典型应用为正常数据交换。
- 管理帧(S 帧):主要用途是纯粹的流量控制和 ARQ 控制;携带序号;典型应用为确认、拒绝、忙/闲指示。
- 无编号帧(U 帧):主要用途是链路管理、模式设置、复位、测试;不携带序号;典型应用为建立连接、释放连接、异常恢复。
六、HDLC 的操作
- HDLC 协议通过多种命令和响应的组合实现链路管理、数据传输、流量控制和差错恢复。以下结合典型操作场景总结其工作过程。
- I(n, m):信息帧,n 为发送序号 N(S),m 为接收序号 N®。
- 管理帧名后数字:表示该帧中的 N® 值。
- P/F:表示该帧的 P/F 位置 1;未标注则置 0。
1. HDLC 的操作过程
-
- 链路的建立与拆除
-
建立过程
-
A 站发送 SABM 命令(设置异步平衡方式),启动定时器。
-
B 站收到后以 UA 响应,并初始化局部变量和计数器。
-
A 站收到 UA 后停止定时器,完成链路建立。
-
若超时未收到应答,A 站重发 SABM;多次失败后向上层报告连接失败。
-
-
拆除过程
-
任一方发送 DISC 命令,对方以 UA 响应,链路释放。
-
若 B 站拒绝建立(如逻辑断开),则响应 DM,A 站放弃连接。
-
-
- 双向数据交换(全双工)
-
双方可同时发送信息帧(I 帧),每个 I 帧携带自己的发送序号 N(S) 和对对方帧的确认序号 N®。
-
累积确认:一个确认可一次应答多个已接收帧。
- 例如,A 发送 I(0,0) 和 I(1,0) 给 B,B 收到后发 I(0,2) 给 A,其中 N®=2 表示已正确接收 A 的 0 号和 1 号帧。
-
当一方无数据发送时,使用管理帧(如 RR)携带确认信息,维持链路状态。
-
- 接收站忙
-
原因:接收缓冲区满或上层处理不及时。
-
处理:接收站发送 RNR 帧,告知对方暂停发送,并指明已正确接收的最后一个帧序号。
-
恢复:发送站定时发送 P=1 的 RNR 命令轮询接收站状态。
-
若接收站仍忙,以 F=1 的 RNR 响应;
-
若忙状态解除,以 F=1 的 RR 响应,数据传输从断点恢复。
-
- 后退重发(REJ)
-
场景:接收站检测到 I 帧出错(如帧校验错误)。
-
处理:接收站发送 REJ 命令,指明要求重发的起始序号。
-
发送站响应:从该序号开始重发所有未确认的帧(后退 N 帧 ARQ)。
-
- 超时重发
-
场景:某帧在传输中丢失,接收站无法检测(如整帧丢失,无法发出 REJ)。
-
处理:发送站启动定时器,超时后发送 P=1 的 RR 或 RNR 轮询对方。
-
接收站响应:以 RR 帧回应当前期望接收的序号,发送站从该序号开始重发。

2. 总结
- HDLC 的操作覆盖了连接管理、数据传送、流量控制和差错恢复的全过程。
- 通过 SABM/DISC 控制连接
- 利用 I 帧与 RR/RNR 实现流量控制
- 依靠 REJ 或超时机制保证可靠传输,
- 这些机制共同构成了 HDLC 高效且可靠的链路层协议。
七、历年真题
- 2020年-第17题
题目: 以下关于HDLC协议的叙述中,错误的是( )。
备选答案:
A. 接收器收到一个正确的信息帧,若顺序号在接收窗口内,则可发回确认帧
B. 发送器每接收到一个确认,就把窗口向前滑动到确认序号处
C. 如果信息帧的控制字段是8位,则发送顺序号的取值范围是0-127
D. 信息帧和管理帧的控制字段都包含确认顺序号
正确答案: C
解析: 本题考察HDLC协议的帧结构与窗口机制。信息帧(I帧)和管理帧(S帧)的控制字段中都包含确认序号 N®。当控制字段为8位时,用于存放发送序号 N(S) 和接收序号 N® 的字段各占3位(另有2位用于类型标识和P/F位),因此序号的取值范围是0-7,而非0-127。0-127是16位扩展控制字段下的取值范围。
- 2021年-第14题
题目: HDLC协议中采用比特填充技术的目的是( )。
备选答案:
A. 避免帧内部出现01111110序列时被当作标志字段处理
B. 填充数据字段,使帧的长度不小于最小帧长
C. 填充数据字段,匹配高层业务速率
D. 满足同步时分多路复用需求
正确答案: A
解析: 本题考察HDLC的零比特填充机制。HDLC使用特殊的位模式 01111110 作为帧的起始和结束标志。为防止数据字段中出现相同的模式而被误认为是帧边界,发送端在数据中每遇到连续5个"1"就插入一个"0",接收端再删除这个填充的"0",从而实现数据的透明传输。
- 2015年-第18题
题目: 拨号连接封装类型的开放标准是( )。
备选答案:
A. SLIP
B. CHAP
C. PPP
D. HDLC
正确答案: C
解析: 本题考察拨号连接的封装协议。SLIP(串行线路网际协议)是早期的封装协议,但非开放标准。CHAP是PPP中的认证协议。PPP(点对点协议)是广泛采用的拨号连接封装开放标准,支持多种网络层协议。HDLC虽可用于串行链路,但并非专为拨号连接设计的开放标准,且其应用场景更多样。
- 2017年-第16题
题目: 站点 A 与站点 B 采用 HDLC 进行通信,数据传输过程如下图所示。建立连接的 SABME 帧是( )。
备选答案:
A. 数据帧
B. 监控帧
C. 无编号帧
D. 混合帧
正确答案: C
解析: 本题考察HDLC的帧类型。SABME(置异步平衡方式扩展)帧是用于链路建立、模式设置的无编号帧(U帧),其控制字段不包含序号,用于链路管理功能。信息帧(I帧)承载用户数据,监控帧(S帧)用于流量控制和差错控制。
- 2018年-第11题
题目: 关于HDLC协议的帧顺序控制,下列说法中正确的是( )。
备选答案:
A. 只有信息帧(I)可以发送数据
B. 信息帧(I)和管理帧(S)的控制字段都包含发送顺序号和接收序列号
C. 如果信息帧(I)的控制字段是8位,则发送顺序号的取值范围是0~7
D. 发送器每收到一个确认帧,就把窗口向前滑动一格
正确答案: C
解析: 本题考察HDLC的帧结构与窗口机制。信息帧(I帧)控制字段包含发送序号 N(S) 和接收序号 N®,管理帧(S帧)只包含接收序号
N®,不包含发送序号。当控制字段为8位时,N(S) 和 N® 各占3位,取值范围为0-7。滑动窗口机制是每收到一个确认(确认号N®),窗口向前滑动到该序号位置,而非"一格"。只有信息帧(I帧)可以发送用户数据,但无编号帧(U帧)也可用于发送少量控制信息。