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

数据链路层滑动窗口协议

1. 三种协议对比表

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

在这里插入图片描述

2. 关键机制图解

2.1 GBN协议运行流程

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

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

2.2 SR协议运行流程

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

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

3. 窗口大小计算

3.1 最大窗口限制

协议发送窗口(W)接收窗口( R)约束条件
GBNW ≤ 2ⁿ-1R=1-
SRW ≤ 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=1U1最低
GBNW=7U2最高
SRW=4U1<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(因减少不必要的重传)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值