手机网站优化排名首页,群晖 wordpress 失败,wordpress添加百度统计代码,高质量的建设工程人员查询目录
回退N帧协议GBN
介绍
无差错情况
累积确认
有差错情况
发送窗口尺寸
小结
练习
解析
示意图 上篇中所介绍的停止-等待协议的信道利用率很低#xff1b;若出现超时重传#xff0c;则信道利用率更低。
如果发送方在收到接收方的确认分组之前可以连续发送多个数…目录
回退N帧协议GBN
介绍
无差错情况
累积确认
有差错情况
发送窗口尺寸
小结
练习
解析
示意图 上篇中所介绍的停止-等待协议的信道利用率很低若出现超时重传则信道利用率更低。
如果发送方在收到接收方的确认分组之前可以连续发送多个数据分组则可大大提高信道利用率也就是一种流水线式的传输。 回退N帧协议GBN 介绍
本篇我们介绍回退N帧协议该协议在流水线传输的基础上利用发送窗口来限制发送方可连续发送分组的个数。
举例说明 假设采用3个比特给分组编序号因此序号的取值范围是0-7如上图所示那是收发双方各自的分组序号当序号增加到7时下一个序号又从0开始。
发送方要维持一个发送窗口序号落在发送窗口内的数据分组可被连续发送而不必等收到接收方的相应确认分组后再发送发送窗口的尺寸即为。
对于本例其取值范围是其中的3是构成分组序号的比特数量本例取的值为5。
如果WT的值取为1则是停止-等待协议如果WT的值超过取值范围的上限则会造成严重的错误 如下图所示序号落在发送窗口内的这5个数据分组可以连续发送而序号落在发送窗口外的数据分组不允许发送。 接收窗口的尺寸即为对于回退N帧协议其取值只能为1这一点与停止等待协议是相同的。
如下图所示序号落在接收窗口内的这个数据分组允许接收而序号落在接收窗口外的数据分组不允许接收。 无差错情况
我们首先来看最简单的情况也就是无差错的情况。
发送方将序号落在发送窗口内的0-4号数据分组依次连续发送出去他们经过互联网的传输正确到达了接收方也就是没有出现乱序和误码。
接收方按序接收他们每接收一个接收窗口就向前滑动一个位置并给发送方发送针对所接收分组的确认分组0-4号确认分组经过互联网的传输正确到达了发送方。 发送方每接收一个发送窗口就向前滑动一个位置这样就有新的序号落入了发送窗口发送方可以将收到确认的数据分组从缓存中删除了而接收方可以择机将已接收的数据分组交付上层处理。 累积确认
接下来我们来看累积确认的概念。
使用回退N帧协议的接收方可以采用累积确认的方式也就是说接收方不一定要对收到的数据分组逐个发送确认而是可以在收到几个数据分组后由具体实现决定对按序到达的最后一个数据分组发送确认。ACKn表示序号为n及以前的所有数据分组都已正确接收了。
举例说明
发送方将序号落在发送窗口内的0-4号数据分组依次连续发送出去他们经过互联网的传输正确到达了接收方接收方按序接收他们。
当接收完0号和1号数据分组后给发送方发送了一个累积确认ACK1
当接收完2-4号数据分组后又给发送方发送了一个累积确认ACK4
假设ACK1在传输过程中丢失了而ACK4正确到达了发送方发送方接收ACK4后就知道了序号为4即之前的数据分组已被接收方正确接收了于是将发送窗口向前滑动5个位置这样就有新的序号落入了发送窗口发送方可以将收到确认的数据分组从缓存中删除了而接收方可以择机将已接收的数据分组交付上层处理。
从本例可以看出使用累积确认的其中一个优点就是即使确认分组丢失发送方也可能不必重传例如本例中ACK1丢失了但并没有造成1号数据分组的超时重传。
使用累积确认还有其他好处例如可以减少接收方的开销减少对网络资源的占用等。
当然使用累积确认也有缺点那就是不能向发送方及时反映出接收方已经正确接收的数据分组的信息。 有差错情况
接下来我们来看出现差错的情况
发送方将序号落在发送窗口内的这5个数据分组依次连续发送出去他们经过互联网的传输到达了接收方
假设他们在传输过程中受到了干扰其中5号数据分组出现了误码接收方通过数据分组中的检错码发现了错误于是丢弃该数据分组
而后续到达的这4个数据分组的序号与接收窗口中的序号不匹配 接收方同样也不能接受它们将它们丢弃并对之前按序接收的最后一个数据分组进行确认也就是发送ACK4。每丢弃一个数据分组就发送一个ACK4这四个ACK4经过互联网的传输到达了接收方。数据分组5在差错检测里就被丢弃了而其他四个是在接收端因为窗口不匹配丢弃的所以发四个而不是五个 发送方之前就接收过ACK4当收到这些重复的ACK4时就知道了之前所发送的数据分组出现了差错于是可以不等超时计时器超时就立刻开始重传。
至于收到几个重复确认就立刻重传由具体实现来决定。
在本例中假设收到这4个重复的确认并不会触发发送方立刻重传
一段时间后超时计时器出现超时发送方将发送窗口内已发送过的这些数据分组全部重传 在本例中尽管序号为6、7、0、1的数据分组之前已经正确的到达接收方但由于5号数据分组误码不被接受他们也受到牵连而不被接受发送方还要重传这些数据分组这就是所谓的Go-back-N也就是回退n帧。 可见当通信线路质量不好时回退N帧协议的信道利用率并不比停止-等待协议高。 发送窗口尺寸
接下来我们来看看如果发送窗口的尺寸超过其取值范围的上限会出现什么情况。
对于本例我们故意超过该上限将取值为8
发送方将序号落在发送窗口内的0-7号这8个数据分组依次连续发送出去他们经过互联网的传输 正确到达了接收方接收方按序正确接收他们后给发送方发回累积确认ACK7假设ACK7在传输过程中丢失了这将导致发送方的超时重传重传的0-7号数据分组到达接收方
现在问题来了接收方根据当前接收窗口内的序号会对这8个数据分组按序接收但是接收方之前已经接收过这8个数据分组了现在是在重复接收也就是说接收方无法分辨新旧分组进而会产生分组重复这种传输差错。简单来说无法进行按序接受接收窗口的序号会不匹配 因此发送窗口的尺寸不能超过其上限。
小结 练习
接下来我们来做一个有关回退N帧协议的练习
这是计算机专业考研全国统考计算机网络部分2009年的题 35 答案选择C。 解析
题目所给发送方只收到0、2、3号帧的确认这就表明接收方正确接收了0-3号帧
并针对它们中的每一个发送了确认帧只不过针对1号帧的确认帧丢失了。这是题目中的陷阱但又没有相应的选项所以迷惑性并不是很大
截止到计时器超时发送方只收到了针对0、2、3号帧的确认而发送方之前已经发送了0-7号帧因此应该从4号帧开始重传即重传之前已经发送过的4、5、6、7号帧共计重传4个帧。
示意图
我们再来画个示意图以便更容易理解该题
假设这是帧可用的序号这是发送窗口 发送方将序号落在发送窗口内的0-7号数据帧依次发送出去。
当收到针对0号数据帧的确认帧ACK0时发送窗口向前移动一个位置 若收到针对1号数据帧的确认帧ACK1时发送窗口也会向前移动一个位置只不过ACK1在传输过程中丢失了 当收到针对2号数据帧的确认帧ACK2时发送窗口向前移动两个位置将序号1和2全部移出发送窗口 当收到针对3号数据帧的确认帧ACK3时发送窗口向前移动一个位置 之后发送方出现了超时将发送窗口内已发送但未收到确认的4、5、6、7号数据帧依次重传 END 学习自湖科大——计算机网络微课堂