任务二 数据链路层
知识点
1.数据链路层在OSI模型中的地位和目的是什么?
数据链路层是OSI参考模型中的第二层,在物理层和网络层之间。
目的:屏蔽传输媒体的不可靠因素,使高层协议不必考虑物理介质的可靠性;加强物理层传输原始二进制数据流的功能,使之对网络层呈现一条无差错的线路。
数据传输单位:帧(Frame)
"透明性"含义:该层上传输数据的内容、格式及编码没有限制,也没有必要解释信息结构的意义。
2.数据链路层具备哪些功能?
- 组装成帧:将二进制数据组合为帧
- 差错控制:处理传输差错,保证按序、可靠地接收信息帧
- 流量控制:调节发送速率,使发送方与接收方相匹配
- 链路管理:数据链路通路的建立、维持和释放
3.什么是组装成帧?有哪几种方法?
数据链路层将比特流组合成帧,以帧为单位传输。每个帧除了数据外,还包括校验码(如奇/偶校验码、检验和、CRC等),以便接收方发现传输差错。
4种成帧方法:
| 方法 | 原理 | 特点 |
|---|---|---|
| 字符计数法 | 帧头使用一个字段标明帧内字符数 | 可能因计数字段差错造成无法纠正的错误,目前很少采用 |
| 带字符填充的首尾标志法 | 每帧以 DLE STX 开头,以 DLE ETX 结束;数据中的DLE前插入DLE | 使用麻烦,依赖ASCII编码,兼容性差 |
| 带位填充的首尾标志法 | 每帧使用 01111110 作为开始和结束标志;数据中出现连续5个1时插入一个0 | 允许任意长短字符,易于硬件实现,性能优于字符填充 |
| 物理层编码违例法 | 利用物理层编码冗余技术 | 适用于局域网IEEE 802标准 |
4.什么是差错控制?ARQ方法有哪几种?
数据链路层采用**自动请求重发方法(ARQ)**控制差错。发送方将数据帧附加冗余检错码发送,接收方根据检错码检测错误,若发现错误则发送请求重发应答。
两种基本方案:
(1)空闲重发请求(Idle RQ / 停等法)
- 发送方每发送一帧后停下等待确认
- 仅当确认正确接收后才发送下一帧
- 优点:所需缓冲存储空间最小
- 适用:链路端使用简单终端的情况
(2)连续重发请求(Continuous RQ)
- 发送方可以连续发送一系列信息帧,不必等待确认
- 需要较大的发送缓冲存储空间(重发表)
- 重发表按先进先出(FIFO)队列规则操作
连续重发请求的两种重发方法:
| 方法 | 说明 | 特点 |
|---|---|---|
| 回退N(Go-back-N) | 重发最后一个正确接收帧之后的所有未被确认的帧 | 可能将已正确发送的帧重传,造成浪费 |
| 选择重发(Selective Repeat) | 只重传出错的那一帧,正确帧存入缓冲区 | 更高效,但实现较复杂 |
5.什么是流量控制?滑动窗口协议如何工作?
当发送方发送数据的速率高于接收方处理数据的速率时,接收缓冲区可能溢出而丢失数据。流量控制可以防止这种情况发生。
滑动窗口协议(Sliding Window Protocol):
- 接收方允许发送方在收到确认之前发送W个信息帧
- W是发送窗口的大小,等于接收方缓冲区的大小
- W是发送方未收到确认之前所能发送的最大帧数
- 每个帧的确认信息可看作接收方允许发送方继续发送其他帧的命令
6.HDLC协议的特点是什么?
HDLC(High-Level Data Link Control,高级数据链路控制规程)是面向比特的数据链路控制协议的典型。
特点:
- 协议不依赖于任何一种字符编码集
- 数据报文可透明地传输
- 用于实现透明传输的0比特插入法,易于硬件实现
- 全双工通信,不必等待确认便可连续发送数据
- 所有帧均采用CRC校验,对信息帧进行编号,可防止漏收或重传
- 传输控制功能与数据处理功能分离
7.什么是0比特插入法?
每个帧前和帧后都有标志码 01111110。为保证标志码的唯一性但又兼顾帧内数据的透明性:
- 发送端:监视除标志码以外的所有字段,当发现有连续5个1出现时,在其后添插一个0
- 接收端:监视除起始标志码以外的所有字段,当连续发现5个1后:
- 若其后是0,则自动删除它,恢复原来的比特流
- 若发现连续6个1,可能是插入的0发生差错变成了1,也可能是收到了帧的终止标志码
8.HDLC协议中的主站、从站和组合站是什么?
| 站类型 | 说明 |
|---|---|
| 主站 | 在链路上用于控制目标站,负责对数据流进行组织,对链路上的差错实施恢复。发往从站的帧称为命令帧 |
| 从站 | 受主站控制的站。由从站返回主站的帧称为响应帧 |
| 组合站 | 兼备主站和从站功能的站 |
9.HDLC协议的3种操作方式是什么?
| 操作方式 | 类型 | 特点 |
|---|---|---|
| 正常响应方式(NRM) | 非平衡 | 主站负责启动传输和管理链路;从站只有收到主站命令帧后才能响应 |
| 异步响应方式(ARM) | 非平衡 | 从站可以启动传输过程、控制超时和重发 |
| 异步平衡方式(ABM) | 平衡 | 任何节点都可启动传输过程,每个站既可作为主站又可作为从站(组合站) |
10.HDLC协议的帧格式是怎样的?
| 字段 | 缩写 | 位数 | 说明 |
|---|---|---|---|
| 标志 | F | 8位 | 帧的起始和终止标志 |
| 地址 | A | 8位 | 地址字段 |
| 控制 | C | 8位 | 控制字段 |
| 信息 | I | 任意 | 数据信息 |
| 帧校验序列 | FCS | 16位 | CRC校验 |
3种帧类型:
| 帧类型 | 简称 | 用途 |
|---|---|---|
| 信息帧 | I帧 | 传送有效信息或数据 |
| 监控帧 | S帧 | 差错控制和流量控制 |
| 无编号帧 | U帧 | 链路的建立、拆除及其他控制功能 |
11.为什么数据链路层要划分为两个子层?
IEEE 802标准将数据链路层划分为两个子层:
| 子层 | 缩写 | 全称 | 功能 |
|---|---|---|---|
| 介质访问控制子层 | MAC | Medium Access Control | 控制不同用户数据传输中对物理层传输介质的访问,包括寻址(MAC地址)和解决介质访问冲突 |
| 逻辑链路控制子层 | LLC | Logical Link Control | 负责数据链路层中逻辑链路的控制,包括逻辑链路的建立和释放、数据流量控制、差错控制等 |
MAC子层的主要功能:数据帧的封装/卸装、帧的寻址和识别、帧的接收与发送、帧的差错控制、介质访问冲突控制
LLC子层标准:IEEE 802.2,是各种不同局域网都遵守并使用的LLC通信标准。
相关IEEE标准:
| 标准 | 网络 |
|---|---|
| IEEE 802.2 | LLC标准 |
| IEEE 802.3 | 以太网(总线型) |
| IEEE 802.4 | 令牌总线(Token-Bus) |
| IEEE 802.5 | 令牌环(Token-Ring) |
| IEEE 802.11 | 无线局域网 |