Skip to content

408

计算机网络

CN-03-06 流量控制:选择重传协议(SR)


一、定位信息

  • 圈层:核心层
  • 前置知识:GBN协议(CN-03-05)、滑动窗口概念
  • 知识网络位置:本单元是三种ARQ协议中最高效的一种,解决了GBN重传浪费的问题
  • 考点热度等级H级(高频重点)——SR协议的窗口大小限制和三种ARQ协议对比是408必考内容,近5年出现≥3次

二、知识点讲解

1. SR协议的核心思想

GBN协议中,出错帧之后的所有帧都要重传,即使它们已经被正确接收——这很浪费。SR协议允许接收方缓存乱序到达的帧,只重传出错的帧。

2. SR的关键特性

发送窗口 WTW_T:发送方可以连续发送的最大帧数。

接收窗口 WRW_R:接收方可以缓存乱序帧的范围。与GBN不同,SR的接收窗口 > 1。

工作流程

  1. 发送方在窗口内连续发送帧
  2. 接收方可以接收窗口范围内的任何帧(包括乱序帧),缓存并发送单个确认
  3. 如果帧 NN 超时,发送方只重传帧 NN(不像GBN重传N及后续所有帧)
  4. 当接收方收到缺失的帧后,将缓存的帧按序交付给网络层

3. 窗口大小限制

若序号字段为 nn 位:

WT+WR2nW_T + W_R \leq 2^n

通常取 WT=WR=2n1W_T = W_R = 2^{n-1}

为什么有这个限制? 与GBN类似,是为了避免序号回绕时接收方无法区分新帧和重传帧。

4. SR与GBN的对比

对比维度GBNSR
接收窗口1> 1(通常 2n12^{n-1}
确认方式累积确认逐帧确认
乱序帧处理丢弃缓存
重传策略重传出错帧及后续所有帧只重传出错帧
发送窗口限制WT2n1W_T \leq 2^n - 1WT+WR2nW_T + W_R \leq 2^n
实现复杂度较简单较复杂(需要缓存)
信道利用率较高更高

三、记忆与理解辅助

  1. SR口诀:"错了只重传一个,乱序的先存着"
  2. 窗口限制对比:GBN是 WT2n1W_T \leq 2^n - 1,SR是 WT+WR2nW_T + W_R \leq 2^n
  3. 三种协议递进:停止等待(发1等1)→ GBN(发多等1,错了全重传)→ SR(发多等多,错了只传一个)

四、例题与精解

例题1(基础巩固)

题目:在SR协议中,序号字段为4位,发送窗口和接收窗口大小相等。求发送窗口和接收窗口的最大值。

命题意图:考查SR协议窗口大小限制。

精解

  1. 审题分析:序号4位,WT=WRW_T = W_R,求最大值。

  2. 解题思路:用 WT+WR2nW_T + W_R \leq 2^n 约束。

  3. 完整步骤

    • n=4n = 42n=162^n = 16
    • WT+WR16W_T + W_R \leq 16
    • WT=WRW_T = W_R,所以 2WT162W_T \leq 16WT8W_T \leq 8
    • 发送窗口和接收窗口最大值均为 8
  4. 方法反思:SR的窗口限制比GBN宽松——GBN中 WT15W_T \leq 15(序号4位),SR中 WTW_T 最大8但 WRW_R 也最大8。

例题2(中等提升)

题目:在SR协议中,发送窗口大小为4,序号从0开始。发送方连续发送帧0、1、2、3。若帧1丢失,其余帧正确到达,描述协议的工作过程。

命题意图:考查SR协议处理帧丢失的完整过程。

精解

  1. 审题分析:窗口大小4,帧1丢失,帧0、2、3到达。

  2. 解题思路:接收方缓存乱序帧,发送方超时后只重传帧1。

  3. 完整步骤

    • 发送方发送帧0、1、2、3
    • 帧0到达:接收方接收,发送ACK 0,交付给网络层
    • 帧1丢失:接收方未收到
    • 帧2到达:接收方在窗口内,缓存帧2,发送ACK 2
    • 帧3到达:接收方在窗口内,缓存帧3,发送ACK 3
    • 帧1超时:发送方只重传帧1
    • 帧1到达:接收方收到帧1,将帧1、2、3按序交付给网络层
    • 接收窗口向前滑动
  4. 方法反思:SR的优势在于只重传丢失的帧,节省了带宽。但代价是接收方需要缓存和重排序,实现更复杂。


五、考情分析

  • 考查频次:SR协议窗口限制和ARQ协议对比近5年约3次
  • 常见题型:选择题(窗口限制、协议对比)和计算题
  • 分值占比:2–5分
  • 命题趋势:三种ARQ协议的对比是高频选择题,SR窗口限制是计算题常考。基于大纲与命题规律推测

六、易错点提醒

  1. 错误表现:认为SR的窗口限制与GBN相同 错误原因:混淆两种协议的窗口公式 正确理解:GBN是 WT2n1W_T \leq 2^n - 1,SR是 WT+WR2nW_T + W_R \leq 2^n

  2. 错误表现:认为SR接收方不需要缓存 错误原因:忽略SR的"选择"特性 正确理解:SR接收方必须缓存乱序到达的帧,这是SR的核心机制

  3. 错误表现:混淆累积确认和逐帧确认 错误原因:将GBN的确认方式套用到SR 正确理解:GBN用累积确认(ACK N = N及之前全收到),SR用逐帧确认(每个帧单独确认)


七、来源标注

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

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