计算机网络第 3 章:数据链路层
408 计算机网络「数据链路层」复习:核心知识点、真题题型、通用解法与易错点。
Last updated on
本章依据本站 408 真题·计算机网络·第 3 章数据链路层以及408 模拟选择题·第 3 章数据链路层整理。网站本身也明确建议研究考研命题时按“真题优先,再用模拟题补充”的顺序,因此下文将以真题为主线,模拟题主要补齐海明码、CSMA 监听算法、VLAN、PPP 等真题覆盖较少但仍在 408 范围内的内容。(Any Docs)
本站 408 真题·数据链路层 本站 408 模拟题·数据链路层
一、先建立整章框架
这一章真正要掌握的是下面这条逻辑链:
原始比特流
↓
组帧、透明传输
↓
差错检测 CRC / 海明码
↓
停等、GBN、SR 保证可靠传输
↓
多个结点如何共享信道
↓
CSMA/CD、CSMA/CA、CDMA
↓
以太网 / 802.11
↓
MAC 地址、交换机、自学习、广播域/冲突域
↓
VLAN、PPP从站内收录真题来看,最值得投入时间的是三组内容:
第一档:滑动窗口、GBN、SR、信道利用率 第一档:CSMA/CD、CSMA/CA 第一档:交换机、MAC 地址、802.11 地址字段
CRC、HDLC、CDMA、PPP、VLAN属于“计算不难,但规则不能混”的内容。真题页中滑动窗口和介质访问控制相关题目尤其密集。(Any Docs)
二、题型一:组帧与透明传输
1. 为什么需要组帧?
物理层只有连续的:
010101110101010...接收方必须知道:
哪些比特属于第一个帧? 哪些属于第二个帧?
因此数据链路层要完成帧定界。
常见办法:
- 字符计数法
- 字节填充法
- 零比特填充法
- 违规编码法
408 最常考:
零比特填充。
2. HDLC 零比特填充
帧定界符:
01111110如果正文中本身也出现了 01111110,接收方就会误以为帧结束。
所以发送方规定:
数据部分每出现连续 5 个
1,立即插入一个0。
接收方:
每看到连续 5 个
1后面的0,把这个0删除。
真题:2013
站内收录的 2013 真题给出一段二进制序列,要求判断经过 HDLC 组帧后的数据。正确处理必须在连续五个 1 后插入 0。(docs.any1.tech)
做题方法
永远不要凭眼睛猜。
从左向右数:
1 的计数:
1 → 2 → 3 → 4 → 5
↓
插入0然后计数器清零。
最大陷阱
不是:
出现
11111才看看第六位是不是 1。
而是:
第五个 1 一出现,就插 0。
三、题型二:CRC 循环冗余校验
这是差错控制最经典计算题。
1. CRC 到底在算什么?
已知发送数据:
生成多项式:
假设最高次数为:
那么 CRC 校验码一定有:
位。
例如:
对应:
10011最高次是 4,因此 CRC 余数长度:
注意:
不是除数长度 5 位,而是余数 4 位。
2. CRC 发送方算法
如果原始数据为:
M首先补:
个 0:
M 000...000再进行模 2 除法。
得到余数:
实际发送:
M + R3. 什么叫模 2 除法?
核心就是:
减法换成 XOR。
例如:
1 XOR 1 = 0
1 XOR 0 = 1
0 XOR 1 = 1
0 XOR 0 = 0没有借位。
4. 接收端怎么判断?
收到完整比特串:
用同一个生成多项式做模 2 除法。
如果:
说明:
没有检测到错误。
注意措辞非常重要。
不能说:
一定没有发生错误。
CRC 理论上存在漏检可能。
真题:2023 CRC
本站 2023 真题给出的生成多项式是:
即 10011,要求从四个接收序列中判断哪一个可以通过 CRC 检查。本站答案为 D,因为只有对应序列除以 10011 后余数为 0。(docs.any1.tech)
解题模板
看到:
“接收端判断哪个帧未检测出错误”
直接:
余数为:
的即可。
模拟题:竟成模拟七
题目给原始数据 101110,生成多项式:
要求计算 FCS。
生成多项式对应:
1001所以:
原数据补三个零:
101110000模 2 除 1001,得到:
011所以:
本站模拟题也给出了这一结果。(Any Docs)
四、题型三:奇偶校验与海明码
真题 CRC 更多,但模拟题很好地补齐了海明码。
1. 奇偶校验
奇校验:
加入校验位后,整个序列
1的数量为奇数。
偶校验:
1的数量为偶数。
它能够检测:
奇数个位发生错误。
不能可靠检测:
偶数个位同时发生错误。
2. 海明码校验位个数
数据位:
校验位:
若要求能够纠正一位错误:
为什么?
因为必须表示:
- 无错误
- 第 1 位错
- 第 2 位错
- ……
- 第 位错
总共:
种状态。
模拟题:10 位信息至少几个海明校验位?
令:
尝试:
有:
不行。
尝试:
有:
因此:
本站模拟题正是这样考。(Any Docs)
3. 海明码校验位放在哪里?
放在:
即:
位置。
不是“奇数位置”。
4. 海明码错位定位
假如算出来:
则:
所以:
第 8 位错误。
本站“竟成·模拟三-37”就是给出一个 15 位海明码,最终综合校验结果对应第 8 位出错。(Any Docs)
五、题型四:停止—等待协议
从这里开始进入整章最重要部分。
停止等待:
发送一帧
↓
等待 ACK
↓
收到 ACK
↓
再发送下一帧发送窗口:
接收窗口:
1. 信道利用率公式
设:
- 数据帧发送时间:
- 单向传播时延:
- ACK 发送时间:
一个周期:
因此:
如果忽略 ACK 发送时间:
如果题目直接给 RTT:
真题:2018
题目条件:
- 数据率 3 kbps
- 单向传播时延 200 ms
- ACK 发送时间忽略
- 利用率 40%
求数据帧长度。本站答案为 800 bit。(docs.any1.tech)
设帧发送时间:
则:
解得:
所以:
真题:2020
这里容易错,因为:
ACK 不再忽略,而且 ACK 和数据帧一样长。
数据帧和 ACK:
速率:
所以:
单向传播:
一个周期:
有效发送数据时间:
所以:
本站真题答案也是 40%。(docs.any1.tech)
六、题型五:GBN 后退 N 帧
这是408数据链路层核心中的核心。
1. GBN 规则
GBN:
Go-Back-N
发送方可以连续发多个帧。
接收方只能:
按序接收。
因此:
2. GBN 发送窗口最大值
序号字段:
位。
序号空间:
GBN:
必须留一个序号防止新旧帧混淆。
3. GBN 使用累积确认
这是最重要的规则之一。
例如:
ACK3若题目定义 ACK3 表示“3号帧已经收到”,那么一般意味着:
0、1、2、3全部按序收到。
有些综合题则定义确认号为:
“希望接收的下一帧”。
此时确认号 3 意味着:
0、1、2 已收到所以考场上第一件事:
看清楚 ACK 编号到底是哪种定义。
不能机械套公式。
真题:2009
题目大意:
GBN 已发 0~7,超时时收到 0、2、3 号确认,需要重发几帧?
关键:
ACK3 是累积确认。
所以 0~3 都视为成功。
未确认:
4 5 6 7超时后:
从 4 开始全部重传。
所以:
帧。
本站答案也是 4。(docs.any1.tech)
4. GBN 最大陷阱
假设:
0号帧丢失
1号帧到达
2号帧到达GBN 接收窗口:
所以:
0 丢失
1 → 丢弃
2 → 丢弃发送方最终要:
重新发送 0、1、2……这就是“后退 N 帧”。
七、题型六:SR 选择重传
SR:
Selective Repeat
和 GBN 最大区别:
GBN:
某帧错 → 从它开始后面全部重传
SR:
某帧错 → 只重传它1. SR 独立确认
假如:
0 超时
1 ACK
2 超时
3 已发送只需要:
重发0
重发2真题:2011
本站题目正是:
已发送 0~3,收到 1 的 ACK,0 和 2 超时。
SR 只重传:
0、2所以:
帧。(docs.any1.tech)
2. SR 接收方可以缓存乱序帧
如果:
0 丢
1 到
2 到SR:
1:缓存
2:缓存之后 0 到达:
0、1、2一起向上层交付。
这和 GBN 完全不同。
3. SR 窗口约束
一般:
如果发送、接收窗口相同:
因此:
得到:
这是408非常喜欢出的公式。
真题:2019
序号字段:
序号空间:
发送窗口:
问接收窗口最大值。
根据:
所以:
答案:
本站答案也是 B。(docs.any1.tech)
八、GBN 与 SR 最容易混淆的地方
一定把这张表背熟:
| 项目 | GBN | SR |
|---|---|---|
| 发送窗口 | 多帧 | 多帧 |
| 接收窗口 | 1 | 多帧 |
| ACK | 累积确认 | 独立确认 |
| 乱序帧 | 丢弃 | 缓存 |
| 某帧超时 | 该帧及之后全部重传 | 只重传该帧 |
| 定时器 | 通常维护最早未确认帧 | 每个未确认帧分别计时 |
| 最大窗口 | 通常 |
九、题型七:窗口为什么滑不动?
这是模拟题中特别值得掌握的变式。
本站“王道·卷一 Q35”给:
- SR
- 4 bit 编号
- 接收窗口 5
- 发送窗口最大
- 窗口起点 0
- 已发送 0~6
- 收到部分 ACK
- 0、2、4 超时
要求还能发送多少新帧。(Any Docs)
第一步:求发送窗口
序号空间:
因为:
且:
所以:
发送窗口覆盖:
0 1 2 3 4 5 6 7 8 9 10第二步:注意 0 没确认
即使:
1 ACK
3 ACK
5 ACK窗口左边界仍然不能越过:
0因为:
最左边的 0 还没确认。
所以窗口仍然是:
0~10已经发:
0~6还能新发:
7 8 9 10所以:
这类题真正考的:
ACK 一个后面的帧,不等于窗口立即跨过去。
十、题型八:滑动窗口 + 信道利用率
这是非常高频计算模型。
1. 一个窗口最多连续发送多长时间?
发送窗口:
一个数据帧发送时间:
那么一个窗口可以连续占用:
2. 如果 ACK 返回所需时间为
那么最大利用率:
如果 ACK 发送时延忽略:
3. 达到 100% 利用率条件
本质:
发完整个窗口以前,第一个 ACK 必须回来。
即:
真题:2014
条件大意:
- GBN
- 窗口 1000
- 帧长 1000B
- 带宽 100Mbps
- 单向传播 50ms
- ACK 极短
每帧发送:
1000 帧:
第一个 ACK 返回约:
所以平均速率约:
本站答案约为:
十一、题型九:反求序号位数
这是另一类经典题。
基本步骤永远是:
① 求帧发送时间
② 求保持流水不断需要多少帧
③ 得到窗口 W
④ 再由窗口限制反求 n真题:2012 GBN
本站题目:
- 16 kbps
- 单向传播 270 ms
- 帧长 128~512B
- ACK 和数据帧等长
- 求序号至少几位
为了所有情况都能充分利用信道,要考虑:
最短帧。
因为帧越短:
越小,传播时延占比越大,需要的窗口越大。
128B:
ACK 同长:
一个反馈周期:
需要:
GBN:
当:
时:
所以答案:
本站真题答案也是 4 位。(docs.any1.tech)
十二、题型十:三种可靠传输协议利用率比较
真题:2023
帧序号:
三种协议:
停止等待
GBN
SR,且收发窗口相等
链路条件相同,窗口越大:
最大信道利用率越高。
因此:
本站答案即:
十三、题型十一:SR 时间线图——2024 真题
2024 真题已经把 SR 从简单公式提升成:
看图推窗口移动和序号循环。
条件:
序号空间:
收发窗口相同且均取最大:
本站根据图中 ACK、发送以及窗口变化判断:
答案 D。(docs.any1.tech)
这种图怎么做?
不要用脑子追。
在草稿纸固定写:
序号环:
0 1 2 3 4 5 6 7 0 1 ...
发送窗口:
[ · · · · ]
接收窗口:
[ · · · · ]每发生一个事件:
发送 Fx
收到 ACKx
Fx 超时只更新一次。
SR 窗口左边界原则:
最左边帧确认后才能移动。
哪怕后面的 ACK 全到了,只要左边那个没到:
窗口不动这是最近真题非常明显的命题趋势。
十四、题型十二:捎带确认 + GBN 综合大题——2017
这是第 3 章非常值得反复研究的一道大题。
题目给:
- 双向持续通信
- 双方使用 GBN
- 使用捎带确认
- 1000B 帧
- 3 bit 序号
- 100Mbps
- RTT 给定
- 图中用 表示发送序号和确认序号
然后连续问:
- 对方已经收到哪些帧?
- 还能继续发几帧?
- 超时以后重发多少?
- 最大信道利用率多少?
本站答案包括:图(a)可确认前三帧已经收到;之后最多还能发 5 个;图(b)需从丢失处开始重传 3 个;最终最大利用率为 50%。(docs.any1.tech)
这类综合题解法
必须分两条线:
发送序号:
当前还剩多少发送窗口?
确认序号:
当前已经收到对方哪些帧?不能把:
本端发出的序号
和:
本端返回给对方的 ACK 号
混成一回事。
十五、题型十三:CDMA
CDMA 是:
码分多址。
不同站点分配互相正交的码片序列。
1. 正交条件
站点 A:
站点 B:
不同站点:
自身:
2. 解码
收到:
要判断站点 A 发什么,就计算:
结果:
表示:
1结果:
表示:
0结果:
说明没有该站信号。
真题:2014
给 A 的码片序列:
接收序列按 4 个一组。
分别和 A 做规格化内积,得到:
于是 A 发送:
101答案 B。(docs.any1.tech)
模拟题也专门设计了类似“已知接收序列和目标数据,反推哪个站点发送”的变式。(Any Docs)
十六、题型十四:CSMA 三种监听算法
模拟题对这一块补充得很好。(Any Docs)
1-坚持 CSMA
监听到:
忙 → 一直监听
空 → 立即发送优点:
信道空闲时间少。
缺点:
多个站同时等待时,一空闲就一起发送,碰撞概率高。
非坚持 CSMA
忙 → 随机等一段时间
再监听优点:
降低冲突概率。
缺点:
信道可能已经空闲了,站点还在等待,因此利用率下降。
p-坚持 CSMA
适用于时隙信道。
发现空闲时:
是:
1-坚持和非坚持之间的折中。
十七、题型十五:CSMA/CD——整章最重要公式
CSMA/CD:
Carrier Sense Multiple Access with Collision Detection
传统共享式以太网使用。
核心:
先听
↓
空闲
↓
发送
↓
边发边听
↓
发生碰撞
↓
停止发送
↓
随机退避十八、为什么以太网必须规定最小帧长?
假设 A 开始发送。
它必须保证:
最远端产生冲突后,冲突信号返回 A 时,A 还没发完帧。
否则 A 已经发完:
A:发送成功但实际上远端:
已经撞了这就无法检测。
1. 最核心公式
设单向最大传播时间:
则:
帧发送时间:
因此:
这是 CSMA/CD 所有计算题的母公式。
十九、CSMA/CD:距离题
传播速度:
距离:
则:
所以:
因此:
真题:2019
条件:
- 100Mbps
- 最小帧 128B
所以:
帧发送时间:
由于:
所以:
答案:
本站答案 B。(Any Docs)
二十、题型十六:设备延迟加入 CSMA/CD
这一步非常容易漏。
如果传播路径中有 Hub。
Hub 处理产生:
则最坏情况往返会经过两次:
公式变成:
真题:2016
本站题目给:
- 100Base-T
- Hub 延迟
- 传播速度
- 最小以太网帧 64B
首先:
于是:
解得:
本站答案:
(Any Docs)
二十一、题型十七:冲突检测最早与最晚时刻
2010 真题
两主机距离:
传播速度:
单向传播时延:
最短情况
两边同时发:
双方都能发现。
最坏情况
B 在 A 的信号马上到达前才发送。
A 发现冲突需要冲突信号返回:
本站真题也给出 10 μs 与 20 μs。(Any Docs)
二十二、题型十八:截断二进制指数退避
发生第:
次碰撞:
从:
随机选择:
等待:
真题:2023
连续碰撞:
次。
所以:
最大:
争用时间片:
最大等待:
答案:
本站答案 C。(Any Docs)
二十三、退避概率题
本站模拟题“王道·卷三 Q35”是很好的拓展:
两个站第一次已经发生碰撞,问第一次重传仍碰撞、第二次重传才成功的概率。
第一次重传:
两站取相同值概率:
第二次:
不同的概率:
所以:
即:
(Any Docs)
这个变式非常值得留意。
二十四、题型十九:CSMA/CA
无线局域网使用:
CSMA/CA
不是:
CSMA/CD。
因为无线站:
- 发射信号远强于接收信号
- 难以边发送边监听
- 存在隐蔽站
- 存在暴露站
所以采取:
Collision Avoidance
而不是:
Collision Detection。
二十五、CSMA/CA 必须掌握的过程
简化流程:
监听信道
↓
DIFS
↓
随机退避
↓
RTS
↓
SIFS
↓
CTS
↓
SIFS
↓
DATA
↓
SIFS
↓
ACK其中:
因此:
CTS、DATA、ACK 能优先完成已经开始的会话。
真题:2018
问:
CSMA/CA 如何预约信道?
答案:
RTS / CTS即:
- Request To Send
- Clear To Send
本站答案 D。(Any Docs)
二十六、题型二十:IFS 判断
真题:2020
图中给 RTS、CTS、DATA、ACK。
原则:
新竞争:
已经开始的交换:
所以一般:
RTS 前:DIFS
CTS 前:SIFS
DATA 前:SIFS
ACK 前:SIFS因为:
因此 RTS 前等待最长。
本站 2020 真题就是利用这个关系判断。(Any Docs)
二十七、题型二十一:NAV
NAV:
Network Allocation Vector
站点听到 RTS/CTS 后,不需要真正检测到信号忙,也知道:
接下来这段时间已经被别人预约。
2024 真题
条件:
DATA 总长度:
速率:
ACK:
隐蔽站在已经收到 CTS 后设置 NAV。
注意:
RTS、CTS 已经过去。
所以 NAV 只计算剩余:
数据时间:
于是:
答案:
本站答案 B。(Any Docs)
这题极有预测价值
未来完全可以反过来考:
收到 RTS 时 NAV 是多少?
那就必须包含:
SIFS + CTS + SIFS + DATA + SIFS + ACK二十八、题型二十二:以太网帧结构
这个必须记住。
目的MAC 6B
源MAC 6B
类型/长度 2B
数据 46~1500B
FCS 4B最小:
最大:
所以标准以太网帧:
通常:
前导码和 SFD 不计入 MAC 帧长度。
二十九、以太网服务模型
真题:2012
以太网 MAC 提供:
无连接、不可靠服务。
为什么无连接?
发送前不建立连接。
为什么不可靠?
普通以太网 MAC:
- 有 CRC
- 有差错检测
- 错帧丢弃
但:
不负责 ACK 和重传。
所以:
本站答案 A。(Any Docs)
三十、CRC ≠ 可靠传输
这是特别容易错的概念。
CRC 只能:
检测差错。
可靠传输还要解决:
- 帧丢失
- ACK 丢失
- 重复帧
- 乱序帧
因此还必须有:
- 序号
- ACK
- 定时器
- 重传
本站模拟题也专门考了:
“使用 CRC 后就能提供可靠传输”是错误说法。(Any Docs)
三十一、题型二十三:交换机自学习
这是交换机题最重要算法。
收到帧:
入端口 = 3
源MAC = A
目的MAC = B交换机首先学习:
A → 端口3所以:
根据源 MAC 学习。
然后才查询:
目的 MAC。
三十二、交换机三种转发情况
情况一:目的 MAC 已知
例如:
B → P2则只转发:
P2情况二:目的 MAC 未知
进行:
泛洪 Flooding
从:
除入端口外所有端口发送。
情况三:目的 MAC 和入端口相同
说明目的站就在当前网段:
不转发。
叫:
过滤。
真题:2014
本站题目给交换机拓扑和当前 MAC 表。
第一帧从 a1 到 c1:
- 学习:
a1 → 端口1- c1 未知。
于是向:
{2,3}泛洪。
c1 返回 ACK:
- 学习:
c1 → 端口3- a1 已知在端口 1。
所以只:
{1}答案:
{2,3} 和 {1}本站答案 B。(Any Docs)
三十三、题型二十四:Hub、交换机、路由器的域
这一张表必须完全掌握。
| 设备 | 层次 | 冲突域 | 广播域 |
|---|---|---|---|
| Hub | 物理层 | 不隔离 | 不隔离 |
| 交换机 | 数据链路层 | 每端口隔离 | 默认不隔离 |
| 路由器 | 网络层 | 隔离 | 隔离 |
一句话记忆
Hub
什么都不懂,只复制比特。
Switch
看 MAC,因此能隔离冲突。
Router
看 IP,因此能隔离广播。
真题:2015
“以太网交换机本质是什么?”
答案:
多端口网桥。
本站同时强调:
- 一个交换机端口是一个冲突域;
- 默认整个交换网络仍可以是一个广播域。(Any Docs)
三十四、题型二十五:“物理上能收到”与“向上交付”
这是408特别喜欢玩的文字游戏。
假设 Hub:
H1
|
Hub -- H2
|
H3帧目标是 H1。
Hub 会:
把比特复制到所有端口。
所以:
H1 能收到
H2 物理层也收到
H3 物理层也收到但是 H2、H3 网卡检查:
目的MAC != 自己于是丢弃。
所以:
“物理上能收到” ≠ “最终接受”。
本站 2016 真题正是要求结合 Hub 和交换机判断哪些主机从物理层可以收到确认帧。(Any Docs)
三十五、题型二十六:ARP + 交换机 + Hub
本站模拟题“王道·卷一 Q37”非常适合训练这一类综合题。
ARP Request:
广播。
目的 MAC:
FF-FF-FF-FF-FF-FF所以交换机:
泛洪。
ARP Reply:
已知道请求者 MAC,因此通常单播。
也就是:
ARP Request:广播
ARP Reply:单播(Any Docs)
这两句必须背住。
三十六、题型二十七:直通交换机延迟
交换机常见:
存储转发
收完整个帧:
CRC检查
↓
转发直通交换
读取目的 MAC 后:
立即开始转发。
真题:2013
100Mbps 交换机。
目的 MAC:
因此至少需要读取:
时间:
所以最小交换延迟:
本站答案 B。(Any Docs)
三十七、题型二十八:802.11 三地址/四地址
这是近年来越来越重要的题型。
一定不要死背地址1、2、3,而是先判断:
当前帧往哪个方向走?
两个标志:
To DS
From DS三十八、802.11 地址万能表
无线终端 → AP
地址1 = AP / BSSID
地址2 = 无线发送主机
地址3 = 最终二层目的AP → 无线终端
地址1 = 无线接收主机
地址2 = AP / BSSID
地址3 = 原始源主机AP → AP
四地址:
地址1 = 当前无线接收方 RA
地址2 = 当前无线发送方 TA
地址3 = 最终目的 DA
地址4 = 原始源 SA三十九、真题:2017 802.11 地址
主机 H 通过 AP 访问 Internet。
这是:
H → AP所以:
因此:
Addr1 = AP
Addr2 = H
Addr3 = 下一跳/最终二层目的本站真题就是按这一规则求三个地址。(Any Docs)
四十、模拟题:AP1 → AP2 四地址
本站“竟成·模拟七-37”进一步考:
AP1 → AP2因此:
需要四个地址:
Addr1 = AP2
Addr2 = AP1
Addr3 = H2
Addr4 = H1即:
前两个管“当前这一跳”,后两个管“原始端到端”。
这是非常有价值的真题拓展方向。(Any Docs)
四十一、题型二十九:802.11 主动扫描与被动扫描
本站模拟题还补了一个容易被忽略的考点。(Any Docs)
主动扫描
客户端发送:
Probe RequestAP:
Probe Response被动扫描
客户端监听:
Beacon记:
主动:终端主动询问 AP。 被动:终端等待 AP 主动广播。
四十二、题型三十:VLAN
VLAN:
Virtual LAN。
核心不是“划分冲突域”。
而是:
逻辑划分广播域。
所以:
模拟题:王道·卷四 Q36
问 VLAN 正确描述。
正确:
一个 VLAN 是一个广播域。
同时:
- 一个 VLAN 可以跨多个交换机;
- 不同 VLAN 二层不能直接通信;
- 可以通过路由器/三层交换机进行通信。
本站答案 A。(Any Docs)
四十三、题型三十一:PPP
PPP 是点对点链路协议。
需要掌握几个高频事实。
PPP 有 CRC
可以:
检测错误。
出错:
丢弃帧。
PPP 不进行可靠传输
普通数据帧:
- 不编号
- 不进行滑动窗口
- 不提供 ACK
- 不负责重传
因此:
PPP 有差错检测,但没有可靠交付机制。
本站“王道·卷三 Q36”正是问 PPP 是否存在确认机制,正确判断是“不提供普通数据帧的确认重传”。(Any Docs)
四十四、PPP 填充方式
必须分清:
异步链路
字节填充。
同步链路
零比特填充。
口诀:
异步字节,同步比特。
本站模拟题还特别指出一套题目的表述本身略有瑕疵:该题把同步/异步填充方式写反,因此主要错误项指向这一点;同时另一个选项的字面表述也不严谨。这种题不要为了“官方答案”忽视技术含义。(Any Docs)
四十五、2022 真题:整章最强综合题之一
这道题非常值得作为本章最后的综合训练。
题目给一个网络:
路由器
交换机
Hub
AP
多台主机
DHCP Server然后同时问:
- 某设备应该是 Hub、交换机还是路由器?
- 结合 100Base-T 最小帧计算最大距离。
- DHCP Discover 怎么广播?
- 802.11 三地址分别是什么?
也就是说,一道题把:
冲突域
+
广播域
+
CSMA/CD
+
DHCP
+
交换机
+
802.11 MAC帧全部串起来了。本站给出的关键结论包括:根据冲突域/广播域关系判断设备类型;利用最小帧发送时间求 Hub 链路最大距离;DHCP Discover 使用广播;再根据 AP 转发方向确定无线帧地址字段。(Any Docs)
四十六、以后遇到“设备类型题”的万能方法
不要先猜设备名字。
先翻译题目条件。
“同一个冲突域”
意味着中间不能存在:
交换机隔离。
所以可能 Hub。
“不同冲突域,但同广播域”
最典型:
交换机。
“不同广播域”
必须有:
路由器或三层设备。
这样做几乎不会错。
四十七、本章所有关键公式汇总
CRC
若生成多项式最高次数:
则 FCS 长度:
发送:
并满足:
海明码
停等利用率
滑动窗口利用率
GBN
SR
如果:
则:
CSMA/CD 最小帧长
传播时延
所以:
二进制指数退避
退避:
CDMA 解码
码片长度:
则:
结果:
四十八、最容易错的 12 个结论
- CRC 余数为 0 ≠ 数学上绝对无错,只是未检测到差错。
- CRC 能检错 ≠ 数据链路提供可靠传输。
- GBN 是累积确认,SR 是独立确认。
- GBN 接收窗口为 1,乱序直接丢弃。
- SR 可以缓存乱序帧。
- SR 后面的帧确认了,不代表窗口左端一定移动。
- CSMA/CD 用于传统共享有线以太网;无线主要用 CSMA/CA。
- CSMA/CD 检测碰撞,CSMA/CA 主要避免碰撞。
- 交换机根据源 MAC 自学习,根据目的 MAC 转发。
- 交换机隔离冲突域,但默认不隔离广播域。
- ARP 请求广播,ARP 响应通常单播。
- VLAN 隔离广播域;不同 VLAN 可通过三层设备通信。
四十九、最值得反复做的真题
如果时间有限,建议这一章至少反复掌握以下几类:
第一组:滑动窗口
2009 GBN 重传
训练:
累积 ACK。
2011 SR 重传
训练:
独立 ACK。
2012 GBN 序号位数
训练:
利用率 + 窗口 + 序号位数。
2014 GBN 最大吞吐
训练:
窗口覆盖 RTT。
2019 滑动窗口
训练:
和序号空间。
2023 三协议利用率比较
训练:
Stop-and-Wait / GBN / SR 本质区别。
2024 SR 图
训练:
时间线、窗口移动、序号循环。
这些题基本覆盖滑动窗口的完整命题体系。(docs.any1.tech)
第二组:MAC
2016 Hub 延迟 + 最大距离
2019 最小帧 + 单向传播
2023 二进制指数退避
2024 CSMA/CA + NAV
这一组覆盖:
到:
RTS/CTS/NAV几乎就是有线 MAC + 无线 MAC 的全部核心。(Any Docs)
第三组:局域网综合
2014 交换机自学习
2017 802.11 三地址
2022 Hub + Switch + DHCP + 802.11 综合大题
特别是 2022,大量知识点发生跨层组合,很符合目前 408 网络大题的风格。(Any Docs)
五十、未来很可能出现的变式
结合真题和本站模拟题,下面几种变式尤其值得准备。
预测一:SR + 丢 ACK + 序号回绕
例如给:
前一轮的:
F0ACK 丢失,新一轮序号又回到:
F0问为什么窗口不能超过 4。
这实际上逼真正理解:
而不是背公式。
预测二:GBN 与 SR 同样发生两帧错误,比较发送总帧数
这会同时考:
- GBN 丢弃乱序
- SR 缓存乱序
- GBN 回退重发
- SR 单帧重传
非常适合选择题。
预测三:交换机表开始为空 + ARP + 路由器
依次发生:
ARP Request
ARP Reply
IP Data
Reply Data要求填写每一步:
- 源 MAC
- 目的 MAC
- 哪些端口泛洪
- MAC 表如何变化
这是非常高质量的综合题。
预测四:802.11 + ARP/DHCP
例如:
STA → AP → Switch → Router问:
- Addr1
- Addr2
- Addr3
- 以太网转换后源/目的 MAC
- IP 地址是否改变
这种题可以同时串数据链路层和网络层。
预测五:CTS 和 RTS 在不同时间点计算 NAV
2024 已经出了:
收到 CTS 后还剩多久。
下一步完全可能改成:
收到 RTS 后设置多少 NAV。
核心就是:
只计算当前时刻以后尚未发生的部分。
五十一、本章真正的做题方法
最后把整章压缩成五句话。
遇到滑动窗口
先画:
序号环 + 窗口不要心算。
遇到信道利用率
先统一画:
发送 → 传播 → ACK → 传播再写分母。
遇到 CSMA/CD
第一反应:
遇到交换机
第一反应:
先根据源 MAC 学习
再根据目的 MAC 转发遇到 802.11 地址
第一反应不是背 Addr1,而是:
这帧到底是
STA → AP
还是
AP → STA
还是
AP → AP?然后判断:
To DS / From DS再填地址。
最终复习优先级
如果以 408 得分效率排序,建议:
GBN/SR 时间线与利用率 ↓ CSMA/CD 最小帧、传播时延、退避 ↓ 交换机自学习、Hub/交换机/路由器、广播域/冲突域 ↓ CSMA/CA、RTS/CTS、NAV、802.11 地址字段 ↓ CRC ↓ CDMA ↓ VLAN、PPP、海明码、各种概念细节
如果前四块能够真正做到“看到图自己推出来”,数据链路层的大部分高价值题型基本就建立起完整体系了。本站真题和模拟题的分布也基本支持这种复习优先级。(Any Docs)