停等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
发送窗口 WTWT1≤2K−1≤2K−1≤2K−1≤2K−1
接收窗口 WRWR11≤2K−1≤2K−1
帧编号位数 KK1位(0/1交替)≥2≥2≥2≥2
重传策略仅丢失帧丢失帧及后续所有帧仅丢失帧
效率最低中等最高
实现复杂度最简单中等最复杂
适用场景低速低延迟网络中等带宽低错误率高带宽高错误率网络

如何选择ARQ协议?

  1. 停等ARQ:适用于简单、低带宽场景(如UART通信)。
  2. 后退N帧ARQ:适用于中等带宽、低错误率(如传统TCP)。
  3. 选择重发ARQ:适用于高带宽、高延迟或高错误率(如现代TCP、QUIC)。

选择时需权衡 效率、实现复杂度 和 网络环境