我是靠谱客的博主 阔达樱桃,最近开发中收集的这篇文章主要介绍后退N帧协议,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

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

 

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

1.上层的调用

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

2.收到了一个ACK

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

3.超时事件

协议的名字为退后N帧/回退N帧,来源于出现丢失和时延过长帧发送的行为。就像在停等协议中一样,定时器将再次用于恢复数据帧或确认帧的丢失。如果出现超时,发送方重传所有已发送但未被确认的帧。

GBN接收方要做的事

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

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

 滑动窗口长度可以无限吗?

若采用n个比特对帧编号,那么发送窗口的尺寸W_{T}应满足1≤W_{T}2^{n}-1。因为发送窗口尺寸过大,就会使得无法区分新帧和旧帧。

GBN协议重点总结

1.累积确认(偶尔捎带确认)

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

3.确认序列号最大的、按序到达的帧

4.发送窗口最大为2^{n}-1,接收窗口大小为1

 

最后

以上就是阔达樱桃为你收集整理的后退N帧协议的全部内容,希望文章能够帮你解决后退N帧协议所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部