流量控制 × 可靠传输 × 滑动窗口:计算机网络三大核心协议全解析(附408真题+信道利用率)

🌐流量控制 × 可靠传输 × 滑动窗口:计算机网络三大核心协议全解析(附408真题+信道利用率)

"可靠传输不是理所当然的,而是精心设计的结果。"

在计算机网络中,如何确保数据在不可靠的物理链路上可靠、高效地传输?

这个问题的答案,就藏在三个经典协议之中:停等协议(Stop-and-Wait)回退N帧(Go-Back-N, GBN)选择重传(Selective Repeat, SR)

它们不仅是《计算机网络》课程的核心内容,更是408统考高频考点 。今天,我们就用一篇推文,带你彻底搞懂这三大协议的原理、区别、性能对比,并附上信道利用率深度分析 + 近年408真题精讲


一、为什么需要这些协议?

想象一下:你通过网络发送一封邮件,但中间某个路由器突然丢包了------如果没有机制来检测和恢复错误,你的邮件可能永远无法送达。

因此,网络协议必须解决两个关键问题:

  1. 可靠传输(Reliable Delivery):确保数据无差错、不丢失、不重复、按序到达。

  2. 流量控制(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 ★★★★★ ★★★★☆ ★★★★☆ 高性能/高误码环境
相关推荐
趣知岛2 小时前
计算机专业的就业方向
计算机网络·计算机·职业规划·就业方向
不染尘.3 小时前
cookie和session技术及实现
服务器·网络·网络协议·计算机网络
Ccjf酷儿4 小时前
计算机网络 (郑烇) 8 网络安全
计算机网络·安全·web安全
colus_SEU4 小时前
【计算机网络笔记】第三章 传输层
网络·笔记·计算机网络
不染尘.4 小时前
应用层之HTTP
服务器·网络·网络协议·计算机网络·http
散修-小胖子4 小时前
进程的概念、组成、特征—简单易懂
计算机网络·操作系统
元亓亓亓5 小时前
考研408--计算机网络--day13--电子邮件&万维网&HTTP
网络·计算机网络·考研·http·408
qqssss121dfd5 小时前
计算机网络(第8版,谢希仁)第四章习题解答
服务器·c语言·网络·单片机·计算机网络
colus_SEU6 小时前
【计算机网络笔记】第四章 网络层的数据平面
笔记·计算机网络