一文看懂可靠传输协议之GBN协议

先看一下sw协议缺点:

再看GBN协议

接下来:

发送窗口:

注意发送窗口的大小为1时,就是sw协议

接受窗口的值为1

接收方确认数据无无码丢失重复之后 回复ACK

发送方接受到ack0-ACk4代表发送的前5个数据分组接收方已经正确收到

接下来我们看一种传输出现问题的情况

接受方按序接受,接收窗口每要接受一个分组数据,就要向前移动1

移动到2这个位置 并且通过差错检测发现DATA2产生了误码

丢掉误码的分组之后 误码分组后面的分组的发送序号未落入接受窗口(接受窗口长度为1)

DATA3和DATA4到达了接收端 但是接收端没有接收

这时接收方->发送方发送 上一次正常接受的分组的响应分组 ACK1

发送方接受到ACK1知道了DATA0 DATA1已经被接收方收到 发送窗口向后移动2位

但是!!ACK1到来不意味着DATA2就是由于某种原因接收端没收到,还有可能ACK2就在路上呢??

注意!!!!刚刚窗口是 0 1 2 3 4

现在向前移动2位是 2 3 4 5 6

那么发送方还会从DATA2开始发送嘛?为什么不发送2,3,4,5,6呢?而是只发送刚刚落入的5,6?

还是那句话:ACK1到来不意味着DATA2就是由于某种原因接收端没收到,还有可能ACK2就在路上呢??如果我发送2,3,4,5,6但是可能刚刚2,3,4接收方已经收到了,只不过对应的ACK还没有到达,这样如果我发送2,3,4,5,6可能就会造成分组重复,浪费网络资源。

5,6是新落入窗口的 所以5,6重新发送 结果可想而知 接受窗口序号为2 接收端接受不了

所以返回上一次正确接受的数据分组DATA1的确认分组ACK1

ACK1回到发送端了,窗口没有移动。。。。。。一直卡这个地方,后面的数据还发不发了?

这样我们规定一个时间:

超过这个时间重传所有窗口中的数据分组

所以:我们讲了什么

发送方一次发送的数据分组中有一个误码(DATA2),那么DATA2后面的数据分组(即便没有误码,这个是我的假设)到达了接收端。

由于接受窗口的值与发送分组的值不同而不能被接收。

这时候等到超过了超时重传时间,重新发送窗口中所有的数据分组。这就是回退n帧,协议名的由来。

你说太可惜啦,明明DATA2后面的数据如果没有误码,就可以被接受到的。。。

但是协议就是这样。。我们虽然确保了可靠传输,引入了超时重传,但是你想我们等待超时重传这一段时间是很宝贵的呀!所以这个协议适合在误码率低的信道上用。

而不适合那些经常容易误码的地方用,比如无线信道,容易受到干扰,这时候这个GBN协议就不太适用啦。

接下来来一道小小考研题

——————————————————————————————————

0-7的帧,说明滑动窗口的大小为8 至少也是用4个bit位去编码的吧

之前滑动窗口的值为0 1 2 3 4 5 6 7

发送方收到ACK3,说明三号及其之前的数据分组被正常接受

这时候移动滑动窗口4位

现在滑动窗口中的值为 4 5 6 7 8 9 10 11

重发的帧为4,5,6,7

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
后退N帧协议GBN)是在停止-等待协议的基础上进行改进的一种协议。它是一种滑动窗口协议,用于在发送方和接收方之间进行可靠的数据传输。在GBN协议中,发送方可以连续发送多个帧,而不需要等待确认。发送方维护一个发送窗口,其中包含了已发送但未收到确认的帧。接收方按序接收帧,并发送累计确认,告知发送方该窗口中的帧已经成功接收。如果发送方在超时时间内没有收到确认,那么它会重传窗口中的所有帧。 在GBN协议中,发送方的数据分类可以分为两类:已发送但未确认的帧和未发送的帧。发送方需要响应的事件包括累计确认和超时发送机制。接收方需要响应的事件包括按序接收和确认帧发送机制。 GBN协议的运行细节包括发送方和接收方之间的数据传输和确认机制。发送方的发送窗口长度决定了可以连续发送的帧的数量。GBN协议的性能可以通过重传没有被确认的帧来衡量。 综上所述,后退N帧协议GBN)是一种滑动窗口协议,用于在发送方和接收方之间进行可靠的数据传输。它通过允许发送方连续发送多个帧来提高传输效率,并通过确认和超时机制来确保数据的可靠传输。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【计算机网络】数据链路层 : 后退 N 帧协议 GBN ( 滑动窗口 | 发送窗口长度 | “发送方“ 累计确认、超时...](https://blog.csdn.net/han1202012/article/details/108070859)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值