[软考网规考点笔记]-局域网之HDLC 协议

目录

  • 一、前言
  • 二、HDLC协议与以太网协议的区别
    • [1、HDLC可靠 . 以太网简单高效](#1、HDLC可靠 . 以太网简单高效)
    • [2、 物理层和介质访问不同](#2、 物理层和介质访问不同)
  • [三、HDLC 的基本概念](#三、HDLC 的基本概念)
    • [1、 三种类型的站(通信实体)](#1、 三种类型的站(通信实体))
    • [2、 两种链路配置(连接关系)](#2、 两种链路配置(连接关系))
    • [3、 三种数据传输方式(通信规则)](#3、 三种数据传输方式(通信规则))
  • [四、HDLC 的帧结构](#四、HDLC 的帧结构)
  • [五、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 帧的交换。

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 的操作过程

    1. 链路的建立与拆除
    • 建立过程

      • A 站发送 SABM 命令(设置异步平衡方式),启动定时器。

      • B 站收到后以 UA 响应,并初始化局部变量和计数器。

      • A 站收到 UA 后停止定时器,完成链路建立。

      • 若超时未收到应答,A 站重发 SABM;多次失败后向上层报告连接失败。

    • 拆除过程

      • 任一方发送 DISC 命令,对方以 UA 响应,链路释放。

      • 若 B 站拒绝建立(如逻辑断开),则响应 DM,A 站放弃连接。

    1. 双向数据交换(全双工)
    • 双方可同时发送信息帧(I 帧),每个 I 帧携带自己的发送序号 N(S) 和对对方帧的确认序号 N®。

    • 累积确认:一个确认可一次应答多个已接收帧。

      • 例如,A 发送 I(0,0) 和 I(1,0) 给 B,B 收到后发 I(0,2) 给 A,其中 N®=2 表示已正确接收 A 的 0 号和 1 号帧。
    • 当一方无数据发送时,使用管理帧(如 RR)携带确认信息,维持链路状态。

    1. 接收站忙
    • 原因:接收缓冲区满或上层处理不及时。

    • 处理:接收站发送 RNR 帧,告知对方暂停发送,并指明已正确接收的最后一个帧序号。

    • 恢复:发送站定时发送 P=1 的 RNR 命令轮询接收站状态。

    • 若接收站仍忙,以 F=1 的 RNR 响应;

    • 若忙状态解除,以 F=1 的 RR 响应,数据传输从断点恢复。

    1. 后退重发(REJ)
    • 场景:接收站检测到 I 帧出错(如帧校验错误)。

    • 处理:接收站发送 REJ 命令,指明要求重发的起始序号。

    • 发送站响应:从该序号开始重发所有未确认的帧(后退 N 帧 ARQ)。

    1. 超时重发
    • 场景:某帧在传输中丢失,接收站无法检测(如整帧丢失,无法发出 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帧)也可用于发送少量控制信息。

相关推荐
酸奶乳酪2 小时前
IIC学习笔记
笔记·单片机·学习
123过去2 小时前
pixiewps使用教程
linux·网络·测试工具·算法·哈希算法
小陈phd3 小时前
系统架构师学习笔记(二)——计算机体系结构之指令系统
笔记·学习·系统架构
RMB Player3 小时前
Spring Boot 集成飞书推送超详细教程:文本消息、签名校验、封装工具类一篇搞定
java·网络·spring boot·后端·spring·飞书
进击的雷神3 小时前
突破POST分页与IP封锁:基于表单提交和代理转发的新闻爬虫设计
爬虫·网络协议·tcp/ip
孤影过客3 小时前
互联网谍战:HTTPS如何守护数据,以及头顶的量子阴云
网络协议·http·https
宵时待雨3 小时前
C++笔记归纳14:AVL树
开发语言·数据结构·c++·笔记·算法
左左右右左右摇晃4 小时前
JDK 1.7 ConcurrentHashMap——分段锁
java·开发语言·笔记
JicasdC123asd4 小时前
CGNet上下文引导网络改进YOLOv26下采样特征保留能力
网络·yolo