第三章 数据链路层(⭐⭐⭐⭐)
5 分钟阅读2,151 字18 个小节
第三章 数据链路层(⭐⭐⭐⭐)
3.1 数据链路层功能与组帧
- 成帧、透明传输、差错控制、流量控制、介质访问控制
- 典型帧界定:字符计数、字符填充、零比特填充、违规编码
3.2 差错控制
一、检错编码
- 奇偶校验:简单,能力弱
- CRC:工程主流
CRC核心思路:把数据看作多项式,发送端附加余数,接收端整除校验。
CRC 模2除法计算示例(⭐ 高频)
例:数据 ,生成多项式 (即 , 位)。
步骤:
- 数据后补 个 0 →
- 用 对 做模2除法(XOR代替减法):
101001000 ÷ 1011 1011 ──── 0011 0000 ──── 0110 0000 ──── 1101 1011 ──── 1100 1011 ──── 1110 1011 ──── 101 ← 余数 R
- 发送帧 = 数据 + 余数 =
- 接收端:用收到的帧除以 ,余数为 0 → 无差错;余数非 0 → 有差错
⚠️ 模2运算:加法和减法都是XOR,不进位不借位!
二、纠错编码
- 海明码:可实现1位纠错、2位检错(需额外增加1位全校验位)
- 监督位数满足:
海明码编码示例(⭐ 高频选择/填空)
例:对数据 进行海明编码。
步骤:
- 确定校验位数 :,需 ,( ✓)
- 编码字总位数:()
- 校验位占据 号位:=,=,=
- 数据位填入剩余位:,,,
- 求各校验位(偶校验):
- (校验所有编号含 的位): → →
- (校验所有编号含 的位): → →
- (校验所有编号含 的位): → →
- 海明码:
检错纠错:接收方对各组做偶校验,得到 ,若 则无错;否则 的十进制值指示出错位号,取反即可纠正。
📝 加一位全校验位可实现"SEC-DED"(单纠双检)。
3.3 流量控制与可靠传输(滑动窗口)
信道利用率近似:
| 协议 | 发送窗口 | 接收窗口 | ACK语义 |
|---|---|---|---|
| 停止等待 | 1 | 1 | 逐帧确认 |
| GBN | 1 | 累积确认 | |
| SR | 逐帧确认 |
⚠️ 陷阱1:GBN 的 ACK 具有累积性,SR 不具有。
⚠️ 陷阱2:SR 不是“全重传”,只重传丢失或出错帧。> ⚠️ 陷阱3(SR联合约束):SR 要求 ,否则接收方无法区分新旧帧。当 时,各 。
3.4 介质访问控制
一、信道划分
- FDM / TDM / WDM / CDM
CDMA(码分多址)内积计算
每个站分配唯一码片序列(长度为 的向量),各码片序列两两正交:
接收端用某站码片与叠加信号做规格化内积:
- :该站发送了比特 1
- :该站发送了比特 0
- :该站未发送
📝 计算要点:发送 1 用原码片,发送 0 用码片取反(),叠加后逐位相加。
二、随机访问
ALOHA 协议(考纲要求)
| 维度 | 纯 ALOHA | 时隙 ALOHA |
|---|---|---|
| 发送时机 | 任意时刻 | 只能在时隙开始时 |
| 冲突窗口 | (T₀为帧传输时间) | |
| 最大吞吐率 | ||
| 吞吐率公式 |
⚠️ 时隙 ALOHA 吞吐率是纯 ALOHA 的 2倍。
CSMA 三类协议对比(考纲要求)
| 类型 | 信道忙时 | 信道空闲时 | 特点 |
|---|---|---|---|
| 1-坚持 | 持续监听,一空就发 | 立即发送 | 冲突概率高,延迟低 |
| 非坚持 | 放弃监听,随机等待后重试 | 立即发送 | 冲突少,但延迟大 |
| p-坚持 | 持续监听 | 以概率 发送, 等下一个时隙 | 折中方案 |
CSMA/CD(以太网)
- 口诀:先听后发,边听边发,冲突停发,随机重发
- 争用期(冲突窗口):
- 最短帧长:
- 10Mbps经典最短帧长:64B
- 截断二进制指数退避:
- 第 次重传,从 中随机选一个等待时间()
- 等待时间单位 = (争用期)
- 最多重传16次,超过则丢弃帧
CSMA/CA(802.11)
- 无线环境难以冲突检测,故采用冲突避免
- 帧间间隔优先级:SIFS < PIFS < DIFS
- RTS/CTS + NAV 用于缓解隐藏站问题
CSMA/CA 工作流程:
- 发送方等待 DIFS 时间
- 信道空闲则进入退避倒计时(随机退避时隙)
- 倒计时归零后发送数据帧
- 接收方等待 SIFS 后回复 ACK
NAV(网络分配向量)计算:
使用 RTS/CTS 时,其他站通过 CTS 帧中的 Duration 字段设置 NAV 计时器,在 NAV 期间不发送。
| 对比 | CSMA/CD | CSMA/CA |
|---|---|---|
| 冲突处理 | 检测到冲突后停发 | 尽量避免冲突 |
| 确认机制 | 无ACK(半双工) | 有ACK |
| 信道检测 | 物理+电缆信号 | 物理+虚拟载波监听(NAV) |
| 帧间间隔 | 最小帧间隔 | SIFS/DIFS/PIFS |
| 应用场景 | 有线以太网 | 802.11无线局域网 |
📝 2024真题:CSMA/CA 中 NAV 的计算与 RTS/CTS 时序分析。
三、轮询访问
- 令牌传递:有序、公平、冲突小,适合重负载
- 令牌环网工作流程:空闲令牌在环中循环→站点捕获令牌→发送数据帧→目的站复制数据→帧回到发送站后释放令牌
- 适用场景:负载重时效率高,轻载时令牌循环浪费带宽
3.5 局域网、广域网与设备
一、以太网帧(V2)
- 目的MAC(6B) + 源MAC(6B) + 类型(2B) + 数据(46-1500B) + FCS(4B)
- 最短帧64B,最大帧1518B
- FCS基于CRC,仅校验从目的地址到数据字段
二、VLAN(802.1Q)
- 标签4B,VID 12位
- 802.1Q帧最大 1522B
三、PPP 协议
- 点到点链路主流协议,面向字节
- 帧格式:
7EFF 03 协议(2B) 数据 FCS(2B)7E - 组件:LCP(建立/配置/测试数据链路)、NCP(配置网络层协议,如IPCP)
- 特点:无纠错、无序号、无流量控制,仅检错
四、HDLC 协议(考纲要求)
- 面向比特的数据链路层协议
- 帧格式:标志
01111110+ 地址(8b) + 控制(8/16b) + 数据 + FCS(16b) + 标志 - 三种帧:信息帧(I帧)、监督帧(S帧)、无编号帧(U帧)
- 支持全双工,有序号和流量控制
| 对比 | PPP | HDLC |
|---|---|---|
| 面向 | 字节 | 比特 |
| 序号/流控 | 无 | 有 |
| 透明传输 | 字节填充/零比特填充 | 零比特填充 |
| 差错控制 | 仅检错 | 可纠错 |
| 应用 | 拨号上网/PPPoE | 同步传输链路 |
五、网络设备与隔离域
| 设备 | 冲突域 | 广播域 |
|---|---|---|
| 集线器 | 不隔离 | 不隔离 |
| 交换机/网桥 | 隔离冲突域 | 不隔离广播域 |
| 路由器 | 隔离冲突域 | 隔离广播域 |
网桥/交换机自学习算法
- 收到帧后,记录源MAC→端口号的映射到转发表
- 查转发表:
- 找到目的MAC → 从对应端口转发(若目的端口=源端口则丢弃)
- 找不到 → 向所有端口泛洪(除来源端口)
- 转发表条目有老化时间,到期自动删除
⚠️ 交换机是即插即用设备,无需手动配置。
📌 第三章总结
- 三大计算核心:CRC、滑动窗口(含SR联合约束)、退避时间
- 三大机制核心:CSMA/CD、CSMA/CA(NAV计算)、VLAN
- 三大设备辨析:Hub vs Switch vs Router
- ALOHA两种 + CSMA三类 + CD/CA 对比必须熟记
- HDLC vs PPP 对比是高频选择题点
- 关联陷阱编号:#2 #12 #13
🎯 第三章 Top-Down 案例模板(一跳内如何可靠发送)
| 步骤 | 提问模板 | 本章落点 |
|---|---|---|
| 场景 | 点到点还是共享信道? | PPP/HDLC vs MAC协议 |
| 可靠性 | 需检错还是重传? | CRC + 滑动窗口 |
| 竞争 | 有无冲突检测能力? | CSMA/CD 与 CSMA/CA 区分 |
| 计算 | 题目问效率还是窗口约束? | 吞吐公式、窗口边界 |