🌐流量控制 × 可靠传输 × 滑动窗口:计算机网络三大核心协议全解析(附408真题+信道利用率)
"可靠传输不是理所当然的,而是精心设计的结果。"
在计算机网络中,如何确保数据在不可靠的物理链路上可靠、高效地传输?
这个问题的答案,就藏在三个经典协议之中:停等协议(Stop-and-Wait) 、回退N帧(Go-Back-N, GBN) 和 选择重传(Selective Repeat, SR)。
它们不仅是《计算机网络》课程的核心内容,更是408统考高频考点 。今天,我们就用一篇推文,带你彻底搞懂这三大协议的原理、区别、性能对比,并附上信道利用率深度分析 + 近年408真题精讲!
一、为什么需要这些协议?
想象一下:你通过网络发送一封邮件,但中间某个路由器突然丢包了------如果没有机制来检测和恢复错误,你的邮件可能永远无法送达。
因此,网络协议必须解决两个关键问题:
-
可靠传输(Reliable Delivery):确保数据无差错、不丢失、不重复、按序到达。
-
流量控制(Flow Control):防止发送方"发得太快",导致接收方缓冲区溢出。
而滑动窗口机制,正是实现这两者的通用框架。
二、三大协议逐个击破
✅ 1. 停止等待协议(Stop-and-Wait)
▶ 工作原理
-
发送方发送一个帧 → 等待 ACK → 收到 ACK 后再发下一帧。
-
若超时未收到 ACK,则重传该帧。
-
使用1位序号(0/1交替),避免"重复帧"被误认为新帧。
▶ 优点 & 缺点
| 优点 | 缺点 |
|---|---|
| 实现极其简单 | 信道利用率极低 |
| 无需缓存 | 高延迟链路性能灾难 |
💡 举个例子:
假设帧传输时间 1ms,RTT = 100ms。
那么每 101ms 才能成功传 1ms 的数据 → 利用率 ≈ **1%**!
✅ 2. 后退N帧协议(Go-Back-N, GBN)
▶ 工作原理
-
发送方可连续发送多个帧(最多 N 个),形成"发送窗口"。
-
接收方只按序接收 :若第 k 帧出错,后续所有帧即使正确也全部丢弃。
-
接收方只发送累积确认(Cumulative ACK),表示"k-1 及之前都收到了"。
-
发送方一旦超时,从出错帧开始全部重传。
▶ 窗口大小限制

- 序号空间为 n 位(如3位序号 → 最多7个不同序号)
▶ 适用场景
-
误码率较低的链路(如局域网)
-
对实现复杂度敏感的系统
⚠️ 缺陷:若第1帧出错,后面99帧即使正确也要重传------带宽浪费严重!
✅ 3. 选择重传协议(Selective Repeat, SR)
▶ 工作原理
-
发送方连续发送多个帧。
-
接收方可缓存乱序到达的正确帧,并对每个帧单独发送 ACK。
-
发送方只重传未被确认的帧(即出错或超时的帧)。
▶ 窗口大小限制(关键!)

- 总窗口大小不能超过序号空间的一半,否则会因序号重用导致混淆。
🌰 举例:3位序号(0~7),则最大窗口为 4。
若 Ws=5,则可能出现"新帧序号 = 旧帧序号"的歧义!
▶ 优势
-
极大提升带宽利用率
-
在高误码率环境下表现远优于 GBN
-
是现代协议(如 TCP SACK)的思想来源
三、信道利用率深度分析
信道利用率(Channel Utilization)衡量的是有效数据传输时间占总通信时间的比例。它是评估协议效率的核心指标。
📌 基本参数定义

🔢 利用率公式推导
在一个往返时间内,最多可发送 ( W ) 个帧(W 为发送窗口大小)。
因此,最大利用率为:

注意:分母是"发送一个帧 + 等待 ACK 返回"的总时间(即管道容量周期)。
📊 三大协议利用率对比

✅ 关键结论 :
要达到高利用率,需满足:
这个值称为带宽-时延积(Bandwidth-Delay Product),决定了"管道中能塞多少数据"。
四、408真题精讲(近年高频题)
🔹【2020年408·第35题】
某链路速率为 1 Gbps,单向传播时延 10 ms,采用 GBN,帧长 1000 字节。为使信道利用率 ≥ 80%,帧序号至少需多少位?
解题步骤:

✅ 答案:11 位
🔹【2018年408·第34题】
选择重传协议使用 3 位序号,发送窗口最大为? A. 3 B. 4 C. 7 D. 8
解析:

✅ 答案:B. 4
❗ 易错点:很多人误选 C(7),那是 GBN 的最大窗口!
🔹【2022年408·第36题】(改编)
若某协议使用 4 位序号,接收窗口为 5,则该协议最可能是? A. 停等 B. GBN C. SR D. 无法确定
解析:

✅ 答案:C. SR
五、总结 & 学习建议
| 协议 | 可靠性 | 效率 | 实现复杂度 | 适用场景 |
|---|---|---|---|---|
| 停等 | ★★★★☆ | ★☆☆☆☆ | ★☆☆☆☆ | 教学/极简系统 |
| GBN | ★★★☆☆ | ★★★☆☆ | ★★☆☆☆ | 低误码率链路 |
| SR | ★★★★★ | ★★★★☆ | ★★★★☆ | 高性能/高误码环境 |
