停等ARQ 后退N帧ARQ 选择重发ARQ 详细对比
停等ARQ、后退N帧ARQ(Go-Back-N ARQ) 和 选择重发ARQ(Selective Repeat ARQ) 的详细对比,涵盖 工作原理、窗口大小、效率、优缺点 及 适用场景。
1. 停等ARQ(Stop-and-Wait ARQ)
工作原理
- 发送方每发送一帧后,必须等待接收方的 ACK(确认),才能发送下一帧。
- 如果 超时未收到ACK,则重传该帧。
窗口大小
- 发送窗口 WT=1WT=1(每次只能发一帧)
- 接收窗口 WR=1WR=1(每次只能收一帧)
- 帧编号位数 K≥1K≥1(通常只需 1位,即
0
和1
交替)
效率
- 信道利用率低,因为大部分时间在等待ACK:效率=T传输T传输+2×T传播延迟效率=T传输+2×T传播延迟T传输
- 适用于 低带宽延迟积(BDP) 的网络。
优点
✅ 实现简单,无需复杂缓冲或编号管理。
✅ 适用于低错误率、低带宽网络(如串口通信)。
缺点
❌ 效率极低,在高延迟或高带宽网络中性能差。
❌ 无法利用信道带宽,因为必须等待ACK后才能继续发送。
适用场景
- 低速、低延迟网络(如串行通信、嵌入式系统)。
- 简单协议(如TFTP、早期网络设备)。
2. 后退N帧ARQ(Go-Back-N ARQ)
工作原理
- 发送方可以连续发送 多个帧(窗口大小 WT≥1WT≥1,无需等待单个ACK。
- 接收方 按序确认,如果某帧丢失或出错,丢弃后续所有帧,并通知发送方 从错误帧开始重传所有后续帧(后退N帧)。
窗口大小
- 发送窗口 WT≤2K−1WT≤2K−1(K为帧编号位数)
- 接收窗口 WR=1WR=1(只能按顺序接收)
- 帧编号位数 K≥2K≥2(通常取3~4位)
效率
- 比停等ARQ高,但仍有浪费:
- 如果某帧丢失,后续所有已发送帧都要重传。
- 适用于 低错误率 网络。
优点
✅ 比停等ARQ效率高,可连续发送多个帧。
✅ 实现比选择重发ARQ简单(接收方无需缓存乱序帧)。
缺点
❌ 错误率高时,大量重传导致带宽浪费。
❌ 接收窗口 WR=1WR=1,无法利用乱序到达的帧。
适用场景
- 中等带宽、低错误率网络(如早期TCP实现)。
- 需要比停等ARQ更高效率,但不想实现复杂选择重发的情况。
3. 选择重发ARQ(Selective Repeat ARQ)
工作原理
- 发送方可以连续发送多个帧(窗口大小 WT≥1WT≥1)。
- 接收方 缓存乱序到达的帧,并 选择性确认(SACK),仅要求重传丢失或错误的帧。
窗口大小
- 发送窗口 WT≤2K−1WT≤2K−1(K为帧编号位数)
- 接收窗口 WR≤2K−1WR≤2K−1(可缓存乱序帧)
- 帧编号位数 K≥2K≥2(通常取4位以上)
效率
- 最高效的ARQ协议:
- 仅重传丢失帧,不浪费带宽。
- 适用于 高错误率、高带宽延迟积(BDP) 网络。
优点
✅ 最高效率,仅重传错误帧,无带宽浪费。
✅ 适用于高延迟、高错误率网络(如卫星通信、现代TCP)。
缺点
❌ 实现复杂,需要 接收方缓存乱序帧 和 选择性ACK机制。
❌ 需要更大的帧编号空间(避免窗口滑动冲突)。
适用场景
- 高带宽、高延迟网络(如卫星通信、现代TCP)。
- 需要最大化吞吐量的可靠传输(如QUIC、SCTP)。
对比总结
特性 | 停等ARQ | 后退N帧ARQ | 选择重发ARQ |
---|---|---|---|
发送窗口 WTWT | 1 | ≤2K−1≤2K−1 | ≤2K−1≤2K−1 |
接收窗口 WRWR | 1 | 1 | ≤2K−1≤2K−1 |
帧编号位数 KK | 1位(0/1交替) | ≥2≥2 | ≥2≥2 |
重传策略 | 仅丢失帧 | 丢失帧及后续所有帧 | 仅丢失帧 |
效率 | 最低 | 中等 | 最高 |
实现复杂度 | 最简单 | 中等 | 最复杂 |
适用场景 | 低速低延迟网络 | 中等带宽低错误率 | 高带宽高错误率网络 |
如何选择ARQ协议?
- 停等ARQ:适用于简单、低带宽场景(如UART通信)。
- 后退N帧ARQ:适用于中等带宽、低错误率(如传统TCP)。
- 选择重发ARQ:适用于高带宽、高延迟或高错误率(如现代TCP、QUIC)。
选择时需权衡 效率、实现复杂度 和 网络环境。