Skip to content

408

计算机网络

CN-03-04 流量控制:停止-等待协议


一、定位信息

  • 圈层:核心层
  • 前置知识:帧的概念(CN-03-01)、差错控制(CN-03-03)
  • 知识网络位置:本单元是流量控制最简单的协议,是理解GBN和SR协议的基础
  • 考点热度等级H级(高频重点)——停止-等待协议的效率计算和信道利用率是408常考内容,近5年出现≥3次

二、知识点讲解

1. 停止-等待协议(Stop-and-Wait)原理

发送方每发送一帧就停下来等待接收方的确认(ACK),收到确认后才发送下一帧。

工作流程

  1. 发送方发送帧 NN
  2. 接收方收到帧 NN,发送确认 ACK NN
  3. 发送方收到 ACK NN,发送帧 N+1N+1
  4. 重复以上过程

2. 两种异常情况

(1)帧丢失

发送的帧在传输过程中丢失,接收方收不到帧,不会发送ACK。

解决方案:发送方设置超时计时器。如果在超时时间内没有收到ACK,就重传该帧。

(2)ACK丢失

接收方收到了帧并发送了ACK,但ACK在传输过程中丢失。

解决方案:同样通过超时重传解决。但接收方可能收到重复帧,需要用序号区分新帧和重传帧。

3. 帧序号

停止-等待协议中,只需要 1 bit 序号(0和1交替),因为发送方每次只发送一帧,接收方收到的帧的序号只能是0或1。

4. 信道利用率

停止-等待协议的信道利用率很低:

U=TDTD+RTT+TAU = \frac{T_D}{T_D + RTT + T_A}

其中:

  • TDT_D:发送一帧的发送时延
  • RTTRTT:往返时间
  • TAT_A:ACK的发送时延(通常很小可忽略)

信道利用率低的根本原因:发送方大部分时间在等待确认,信道处于空闲状态。

5. 停止-等待协议与ARQ

停止-等待协议是**ARQ(自动重传请求)**协议的一种。ARQ有三种:

  • 停止-等待ARQ(SW)
  • 后退N帧ARQ(GBN)
  • 选择重传ARQ(SR)

三、记忆与理解辅助

  1. 核心思想:"发一帧等一确认"——简单但效率低
  2. 序号只需1bit:因为每次只有一帧"在路上",序号只需区分"当前帧"和"下一帧"
  3. 信道利用率公式U=TD/(TD+RTT+TA)U = T_D / (T_D + RTT + T_A),当 RTTTDRTT \gg T_D 时利用率极低

四、例题与精解

例题1(基础巩固)

题目:在一个停止-等待协议中,发送方发送一帧的发送时延为 1 ms,单程传播时延为 200 ms,ACK的发送时延忽略不计。求信道利用率。

命题意图:考查停止-等待协议信道利用率的计算。

精解

  1. 审题分析TD=1T_D = 1 ms,传播时延 = 200 ms,RTT=400RTT = 400 ms,TA0T_A \approx 0

  2. 解题思路:代入信道利用率公式。

  3. 完整步骤

    • U=TD/(TD+RTT+TA)=1/(1+400+0)=1/4010.25%U = T_D / (T_D + RTT + T_A) = 1 / (1 + 400 + 0) = 1/401 \approx 0.25\%
  4. 方法反思:信道利用率极低!发送1ms的数据要等400ms的确认,绝大部分时间信道空闲。这就是为什么需要GBN和SR等协议。

例题2(中等提升)

题目:在停止-等待协议中,数据帧的发送时延为 20 ms,单程传播时延为 30 ms。若超时时间设为 100 ms,在不发生差错的情况下,发送一个帧从开始到收到确认的平均时间是多少?若数据帧丢失率为 10%,求平均发送一个帧所需的时间。

命题意图:考查停止-等待协议的时延分析。

精解

  1. 审题分析TD=20T_D = 20 ms,传播时延 = 30 ms,超时时间 = 100 ms,无差错和有差错两种情况。

  2. 解题思路:无差错时计算正常往返时间;有差错时考虑超时重传。

  3. 完整步骤

    • 无差错
      • 正常时间 = 发送时延 + 传播时延 + ACK传播时延 = 20 + 30 + 30 = 80 ms
      • 平均时间 = 80 ms
    • 有差错(帧丢失率10%)
      • 每次发送成功的概率 = 0.9
      • 平均发送次数 = 1/0.91.111/0.9 \approx 1.11
      • 每次失败的代价 = 超时时间 = 100 ms
      • 平均时间 = 0.9×80+0.1×(100+80)+0.01×(100+100+80)+...0.9 \times 80 + 0.1 \times (100 + 80) + 0.01 \times (100 + 100 + 80) + ...
      • 用公式:Tavg=80+0.1×100/0.980+11.1=91.1T_{avg} = 80 + 0.1 \times 100 / 0.9 \approx 80 + 11.1 = 91.1 ms
  4. 方法反思:帧丢失会导致超时重传,增加平均时延。超时时间的设置需要大于正常往返时间。


五、考情分析

  • 考查频次:停止-等待协议效率计算近5年约3次
  • 常见题型:计算题(信道利用率)
  • 分值占比:5分
  • 命题趋势:信道利用率计算是高频考点,常与GBN/SR对比考查。基于大纲与命题规律推测

六、易错点提醒

  1. 错误表现:计算RTT时只算单程传播时延 错误原因:忘记RTT是往返时间 正确理解:RTT = 2 × 单程传播时延

  2. 错误表现:忽略发送时延在信道利用率中的作用 错误原因:误以为发送时延就是传播时延 正确理解:发送时延是数据推到信道的时间,传播时延是信号在信道上传播的时间

  3. 错误表现:认为停止-等待协议不需要序号 错误原因:觉得每次只发一帧不需要区分 正确理解:需要1bit序号来区分重传帧和新帧


七、来源标注

  • 依据2026考研统考大纲
  • 依据《计算机网络》(第8版)谢希仁版
  • 依据大学本科经典教材共识

考研全科复习资料 - 基于2026考研统考大纲