GBN协议和SR协议关于窗口大小的分析

文章探讨了GBN(Go-Back-N)和SR(Stop-and-Wait)协议在不同窗口大小设置下的行为。当GBN协议中WT等于2^n时,可能会导致重复帧的错误接收。而在SR协议中,通常假设WT等于WR,但如果WT大于2^n-1,接收方可能接收到重复帧,造成传输错误。在没有大前提的情况下,WR+WT大于2^n也是非法的,因为会导致帧识别问题。

文章最新内容请移步原文地址

n表示用于帧编号的比特数

GBN协议

结论

1<WT<=2n-1,WR=1

WT=2n会怎么样

假设此时n为3,WT=8,W=1,若此时发送窗口[0,1,2,3,4,5,6,7],接收窗口[0];

接收窗口成功接收到了帧编号0~7共计7个数据帧,接收方窗口向前移动为7个帧单位变为又变为了[0],接收方发送这7个数据帧相对应的确认帧;

但是由于某种原因,发送方没有收到这7个确认帧,于是在定时器超时之后发送方选择重传这7个数据帧;

接收方在再次收到这7个数据帧时,由于帧(1,2,3,4,5,6,7)落在接收窗口外于是被拒绝,而帧(0)被再次接受,于是会错误的接收这1个重复帧,导致传输出错。

SR协议

在讨论SR协议的窗口大小时,我们一般会定义一个大前提:接收方窗口和发送方窗口的大小通常是相同的。(做题时一般默认有大前提,除非题目给定了WT>2n-1
接下来我们根据有无这个大前提来分析一下SR协议下发送窗口和接收窗口的尺寸大小问题

有大前提

结论

WT=WR<=2n-1

大于2n-1会怎么样

在有大前提的情况下,发送窗口尺寸WT和接收窗口尺寸WR总是相同,假设此时n为3,WT=WR=5,若此时发送窗口[0,1,2,3,4],接收窗口[0,1,2,3,4];

接收窗口成功接收到了帧编号0~4共计五个数据帧,接收方窗口向前移动为[5,6,7,0,1,2],接收方发送这五个数据帧相对应的确认帧;

但是由于某种原因,发送方没有收到这五个确认帧,于是在定时器超时之后发送方选择重传这五个数据帧;

接收方在再次收到这五个数据帧时,由于帧(0,1,2)落在接收窗口内,于是会错误的接收这三个重复帧,导致传输出错。

无大前提

结论

WR<=WT且WR+WT<=2n

WR>WT

接收窗口总有窗口资源被浪费

WR+WT>2n

已知WR>WT非法,因此我们只讨论WR<=WT下WR+WT>2n的情况。由于WR<=WT,若要WR+WT>2n,则WT>2n-1,结合有大前提情况下大于2n-1的分析,容易有也会出现接收方无法分辨新帧和旧帧的情况,因此WR+WT>2n非法。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

red-fox-yj

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值