十八、后退N帧协议

简介: 十八、后退N帧协议

1、后退N帧协议中的滑动窗口


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

3402fb24b1a543458da8c903b9140550.png


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


0a758464123547e6b234b0dda4f8aab5.png


后退N帧协议和停止等待协议的主要区别在于后退N帧协议的发送窗口包含多个帧序号;而选择重传机制区别于上二者的主要特点是:发送窗口和接收窗口均有多个帧序号。



2、GBN协议中发送方必须相应的三件事


2.1 上层的调用


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



2.2 收到了一个ACK


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



2.3 超时事件


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



3、GBN协议中接收方必须相应的事


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


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



4、运行中的GBN


image.png



4.1 滑动窗口的长度


滑动窗口长度不可以无限增大。若采用n个比特对帧窗口编号, 2 n 个 数 字 2^n个数字 2n个数字,那么发送窗口的尺寸 W T W_T WT应该满足 1 ≤ W T ≤ 2 n − 1 1 \leq W_T \leq 2^n-1 1≤WT≤2n−1。因为如果发送窗口尺寸过大,就会使得接收方无法区别新帧和旧帧。



4.2 GBN协议性能分析


优点在于因连续发送数据帧而提高了信道利用率;缺点在于,在重传时必须把原来已经正确发送的数据帧重传,使得传送效率降低。





目录
打赏
0
0
0
0
5
分享
相关文章
ffmpeg奇偶场帧Interlace progressive命令和代码处理
ffmpeg奇偶场帧Interlace progressive命令和代码处理
393 0
ffmpeg奇偶场帧Interlace progressive命令和代码处理
函数栈帧深度剖析(一篇带你牢牢掌握函数栈帧)(二)
函数栈帧深度剖析(一篇带你牢牢掌握函数栈帧)(二)
158 0
函数栈帧深度剖析(一篇带你牢牢掌握函数栈帧)(一)
函数栈帧深度剖析(一篇带你牢牢掌握函数栈帧)(一)
1003 0
iOS开发 - 滑动控制屏幕亮度和系统音量(附加AVAudioPlayer基本用法和Masonry简单使用)
iOS开发 - 滑动控制屏幕亮度和系统音量(附加AVAudioPlayer基本用法和Masonry简单使用)
293 0
iOS开发 - 滑动控制屏幕亮度和系统音量(附加AVAudioPlayer基本用法和Masonry简单使用)
来自浏览器原理的双倍快乐,搞懂了数据包的传输和为什么页面第二次打开快
本文分享浏览器关于数据包的传输和为什么页面第二次打开快的知识点。
286 0
笔记本会掉帧(外接显示器掉帧)
原因:可能是HDMI连接线有质量问题,可以更换HDMI连接线;可能是显卡缺少驱动或者显卡性能太低导致,需要更新驱动或者更换显卡。 电脑使用技巧:1、电脑黑屏,可能是电脑的系统出现问题,可以重装系统。可能是充放电电路故障,部分电脑支持对电池进行重新校验,可以查看电脑的说明书进行操作。