【计算机网络】数据链路层-滑动窗口协议

发布于:2025-06-11 ⋅ 阅读:(51) ⋅ 点赞:(0)

数据链路层滑动窗口协议

1. 三种协议对比表

特性 停止-等待协议 GBN协议 SR协议
窗口大小 发送 = 1,接收 = 1 发送 = W (1<W≤2ⁿ-1),接收 = 1 发送 = C,接收 = R
确认方式 单个确认 累积确认 选择性确认
重传策略 超时重传 回退N帧重传 选择性重传
接收缓冲区 不需要 不需要 需要
信道利用率 最低 中等 最高
典型窗口限制 - W ≤ 2ⁿ-1 C + R ≤ 2ⁿ 且 R ≤ C 且 R ≤ 2ⁿ⁻¹

在这里插入图片描述

2. 关键机制图解

2.1 GBN协议运行流程

Sender Receiver 帧0-7 收到0,2,3(1的确认丢失) ACK(累积确认0123已收到) 只需重传4-7 Sender Receiver

图片解析:连续ARQ协议中,接收方累积确认是对按序到达的最后一个分组的确认:
发 0到7
只收到 0 2 3确认
说明:0123已被接收
只需要重传4 5 6 7
因为1的确认只是丢了,不代表没收到1

2.2 SR协议运行流程

Sender Receiver 帧0-2 收到1(0,2的确认丢失) ACK(只确认1) 重传0 和 2 Sender Receiver

图片解析:SR采用逐个确认
发 0到2
只收到1的确认
说明:0 2 超时
因此重传0 2
此时1的确认不是累积确认,可以认为0丢了

3. 窗口大小计算

3.1 最大窗口限制

协议 发送窗口(W) 接收窗口( R) 约束条件
GBN W ≤ 2ⁿ-1 R=1 -
SR W ≤ 2ⁿ⁻¹ R ≤ 2ⁿ⁻¹ W + R ≤ 2ⁿ

示例(n=3位序号):

  • 此时用GBN,能得到最大窗口:7
  • SR典型配置:W=4, R=4,且这里W拉到最大只能是6,一样小于GBN的7

3.2 信道利用率

在这里插入图片描述
在这里插入图片描述

流量控制-最大信道利用率公式
W发送窗口大小 × t1发数据发送时延 /( t1 + RTT往返传播时延 + t2确认数据发送时延 )

所以W发送窗口要大,利用率才会变高。
t1:发送方的发送时延
t2:确认方的发送时延

4. 典型计算题

4.1 最大利用率比较

给定条件:

  • 帧序号3位
  • 忽略确认帧传输时间
  • 发送窗口=接收窗口

计算结果:

协议 最大窗口 利用率排序
停止-等待 W=1 U1最低
GBN W=7 U2最高
SR W=4 U1<U3<U2

4.2 流水线传输时延

题目

  • 文件大小:1MB
  • 带宽:100Mbps
  • 分组大小:1000B
  • 计算总时延

解答:发送总时延(流水线)= 文件的发送时延 + 一个分组的转发时延 = 1MB/100Mb/s + 1000B/100Mb/s = 80.08ms

\begin{aligned}
t_{total} &= \frac{1MB}{100Mbps} + \frac{1000B}{100Mbps} \\
&= \frac{8 \times 10^6}{100 \times 10^6} + \frac{8000}{100 \times 10^6} \\
&= 0.08s + 0.00008s \\
&= 80.08ms
\end{aligned}

5. 易错点

  1. 确认机制混淆

    • GBN的ACKn表示"期望收到n号帧"(即n-1及之前已收到
    • SR的ACKn表示"n号帧已收到"
  2. 窗口大小限制

    • SR协议要求W + R ≤ 2ⁿ(不是W ≤ 2ⁿ-1)
    • 实际应用中常取W = R = 2ⁿ⁻¹
  3. 性能比较

    • 信道利用率:GBN > SR(当窗口相同时)
    • 实际效率:SR > GBN(因减少不必要的重传)

网站公告

今日签到

点亮在社区的每一天
去签到