我是靠谱客的博主 成就小土豆,最近开发中收集的这篇文章主要介绍后退N帧协议(GBN协议)1.GBN协议是为了解决什么?2.GBN协议中的滑动窗口3.GBN发送方必须响应的三件事4.GBN接收方要做的事5.GBN协议重点总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

1.GBN协议是为了解决什么?

2.GBN协议中的滑动窗口

3.GBN发送方必须响应的三件事

4.GBN接收方要做的事 

5.GBN协议重点总结


1.GBN协议是为了解决什么?

解决停等协议的弊端:         

<1>必须增加序号范围

<2>发送方需缓存多个分组

2.GBN协议中的滑动窗口

<1>发送窗口 : 发送方维持一组连续的允许发送的帧的序号

<2>接收窗口 : 接收方维持一组连续的允许接收帧的序号

<3>滑动窗口的长度Wt :   1 <= Wt <= 2的n次方 - 1

3.GBN发送方必须响应的三件事

<1>上层的调用

上层要发送数据时,发送方先检查发送窗口是否已满,如果未满,则产生一个帧并将其发送;如果窗口已满,发送方只需将数据返回给上层,暗示上层窗口已满,上层等一会再发送(实际实现中,发送方可以缓存这些数据,窗口不满时再发送帧)

<2>收到了一个ACK

GBN协议中,对n号帧的确认采用累积确认的方式,标明接收方已经收到n号帧和它之前的全部帧

<3>超时事件

协议的名字为后退N帧/回退N帧,来源于出现丢失和时延过长发送方的行为。就像停等协议中一样,

定时器将再次用于恢复数据帧或确认帧的丢失,如果出现超时,发送方重传所有已发送但未确认的帧

4.GBN接收方要做的事

<1>如果正确收到n号帧,并且按序,那么接收方为n帧发送一个ACK,并将该帧中的数据部分交付给上层

<2>其余情况都丢弃帧,并为最近按序接收的帧重新发送ACK。接收方无需缓存任何失序帧,只需要维护一个信息:  expectedseqnum(下一个按序接收的帧序号)

5.GBN协议重点总结

1.累积确认

2.接收方只按顺序接收帧,不按序则丢弃

3.确认序列号最大的,按序返回最大的帧

4.滑动窗口的长度

最后

以上就是成就小土豆为你收集整理的后退N帧协议(GBN协议)1.GBN协议是为了解决什么?2.GBN协议中的滑动窗口3.GBN发送方必须响应的三件事4.GBN接收方要做的事5.GBN协议重点总结的全部内容,希望文章能够帮你解决后退N帧协议(GBN协议)1.GBN协议是为了解决什么?2.GBN协议中的滑动窗口3.GBN发送方必须响应的三件事4.GBN接收方要做的事5.GBN协议重点总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部