它包括停止等待ARQ协议和连续ARQ协议,错误侦测(Error Detection)、正面确认(Positive Acknowledgment)、逾时重传(Retransmission after Timeout)与负面确认继以重传(Negative Acknowledgment and Retransmission)等机制。
如果在协议中,发送方在准备下一个数据项目之前先等待一个肯定的确认,则这样的协议称为PAR(Positive Acknowledgement with Retransmission,支持重传的肯定确认协议)或者ARQ(Automatic Repeat Request,自动重复请求协议)。
自动重传请求(Automatic Repeat Request),通过接收方请求发送方重传出错的数据报文来恢复出错的报文,是通信中用于处理信道所带来差错的方法之一,有时也被称为后向纠错(Backward Error Correction,BEC);另外一个方法是信道纠错编码。
传统自动重传请求分成为三种,即停等式(stop-and-wait)ARQ,回退n帧(go-back-n)ARQ,以及选择性重传(selective repeat)ARQ。后两种协议是滑动窗口技术与请求重发技术的结合,由于窗口尺寸开到足够大时,帧在线路上可以连续地流动,因此又称其为连续ARQ协议。三者的区别在于对于出错的数据报文的处理机制不同。三种ARQ协议中,复杂性递增,效率也递增。除了传统的ARQ,还有混合ARQ(Hybrid-ARQ)。
停等式ARQ
在停等式ARQ中,数据报文发送完成之后,发送方等待接收方的状态报告,如果状态报告报文发送成功,发送后续的数据报文,否则重传该报文。
停等式ARQ,发送窗口和接收窗口大小均为1,发送方每发送一帧之后就必须停下来等待接收方的确认返回,仅当接收方确认正确接收后再继续发送下一帧。该方法所需要的缓冲存储空间最小,缺点是信道效率很低。
回退n帧的ARQ
发信侧不用等待收信侧的应答,持续的发送多个帧,假如发现已发送的帧中有错误发生,那么从那个发生错误的帧开始及其之后所有的帧全部再重新发送。
特点:(GDN)复杂度低,但是不必要的帧会再重发,所以大幅度范围内使用的话效率是不高的
例:如果序列号有K bits,那么这个ARQ的协议大小为:2^k-1。
选择性重传ARQ
发信侧不用等待收信侧的应答,持续的发送多个帧,假如发现已发送的帧中有错误发生,那么发信侧将只重新发送那个发生错误的帧。
特点:相对于GDN 复杂度高,但是不需要发送没必要的帧,所以效率高。
例:如果序列号有K bits,那么这个ARQ的协议大小为:2^(k-1)。
混合ARQ
在混合ARQ中,数据报文传送到接收方之后,即使出错也不会被丢弃。接收方指示发送方重传出错报文的部分或者全部信息,将再次收到的报文信息与上次收到的报文信息进行合并,以恢复报文信息。
应用
编辑在现代的无线通信中,ARQ主要应用在无线链路层。比如,在WCDMA和cdma2000无线通信中都采用了选择性重传ARQ和混合ARQ。
优缺点
编辑优点:比较简单 。因而被广泛的应用在分组交换网络中。
缺点:1.通信信道的利用率不高,也就是说,信道还远远没有被数据比特填满。2.是需要接收方发送ACK,这样增加了网络的负担也影响了传输速度。重复发送数据包来纠正错误的方法也严重的影响了它的传输速度。
http://www.ccs-labs.org/teaching/rn/animations/gbn_sr/
相关推荐
Go Back N协议是一种在网络通信中实现可靠数据传输的协议,它是TCP/IP协议栈中的一个关键组件,用于确保数据包在不可靠的网络环境下能够正确、完整地传递。本项目通过Java Applet编程技术,生动地展示了Go Back N...
Go-Back-N(GBN)是停止等待ARQ(Automatic Repeat-reQuest)协议的一种改进版本,它在数据通信中被广泛应用于错误控制,尤其是在网络传输中。该协议的基本思想是允许发送方连续发送多个数据帧,而无需等待每个帧的...
该代码是 Selective Repeat ARQ 协议的 Matlab 模拟,包括对从发送方到接收方的帧传输延迟以及从接收方到发送方的 Ack 延迟的计算。 我是 ARQ 世界的新手(我的研究主要集中在单向 FEC),所以我非常感谢关于增强此...
角度选择性重复 scRepeat是一个用 ES6 scRepeat的模块,它... script src =" bower_components/angular-selective-repeat/dist/angular-selective-repeat.min.js " > </ script > 在 angular 应用程序中注入
滑动窗口协议、选择重传协议以及Go-Back-N协议是计算机网络中数据传输层,尤其是TCP/IP协议栈中实现可靠传输的重要机制。这些协议在确保数据正确无误地在网络中传输方面起着至关重要的作用。 滑动窗口协议是一种...
Vmamba selective_scan 在Linux下环境安装包,适用于cuda 11.8 ; pip install selective_scan-0.0.2-cp310-cp310-linux_x86_64.whl 即可安装上; 此版本包含selective_scan_cuda_oflex和selective_scan_cuda_core;...
### Python+OpenCV实现Selective Search算法 #### 一、Selective Search简介 Selective Search是一种用于对象检测的任务中的候选区域提取算法,它可以生成一组矩形框,这些矩形框可能包含图像中的对象。它通过一...
要运行 sender、receiver 和 packet,请执行以下操作: 运行“制作” 然后将编译发送方、接收方和数据包打开3个终端,进入程序文件夹运行“./n模拟器运行“java接收器” 运行“java发件人<文件” 然后你可以看到...
基于selective_search源码对手写数字串进行过滤分割,并基于tensorflow在mnist训练好的模型进行识别。 环境:Windows10 + tensorflow1.2 + python3.5 + cv2 程序: example/demo.py---对手写数字图片的分割,并将每...
ARQ协议有多种类型,包括停等ARQ、Go-Back-N ARQ和Selective Repeat ARQ,每种都有其独特的优点和适用场景。 停等ARQ是最简单的ARQ协议,它要求发送端每次只发送一个数据帧,并等待接收端的确认。如果接收端发现...
安装成功后,还是遇到ImportError xxxx selective_scan_cuda.cpython-xxx-linux-gnu.so undefined symbol,用此编译好的文件进行替换即可
selective_scan_cuda 在Windows下对应的模块编译好的文件,可解决 No moudule named selective_scan_cuda.
GBN(Go-Back-N)是一种在数据通信网络中广泛使用的滑动窗口协议,尤其在ARQ(Automatic Repeat-reQuest,自动重传请求)机制中扮演着关键角色。该协议以高效、可靠的数据传输为目标,确保在网络不稳定时仍能正确...
标题 "new_code.rar_back" 和描述 "go back n code for computer programming" 提及的是与计算机编程中的"Go-Back-N"协议相关的内容。这个协议是网络传输中的一个重要的数据流控制算法,主要用于解决TCP/IP协议栈中...
《选择性搜索(Selective Search)在C++中的实现详解》 选择性搜索(Selective Search)是一种在计算机视觉领域广泛使用的图像区域提议(region proposal)算法,它的主要目标是从图像中快速提取出可能包含物体的...
这款插件的名称表明了它的主要功能,即“选择性颜色校正”,允许用户在特定色彩范围内进行细致的色彩调整,从而提高视频或动画的视觉效果。 在AE中,颜色校正是一个关键步骤,用于改变或改善画面的整体色彩平衡、...
Vmamba selective_scan 在Windows下环境安装包,直接pip install 即可:pip install selective-scan-0.0.2-cp310-cp310-win_amd64.whl; 此版本包含 selective_scan_cuda_core; 安装博客参考:...
传统自动重传请求分成为三种,即停等式(stop-and-wait)ARQ,回退n帧(go-back-n)ARQ,以及选择性重传(selective repeat)ARQ。后两种协议是滑动窗口技术与请求重发技术的结合,由于窗口尺寸开到足够大时,帧在...
selective_scan_cuda 在Windows下对应的模块编译好的文件,可解决 No moudule named selective_scan_cuda. 参考博客Mamba 环境安装踩坑问题汇总及解决方法:https://blog.csdn.net/yyywxk/article/details/140420538
这个插件在处理视频或动画中的色彩时具有很高的灵活性,可以对特定颜色范围进行精确的调整,从而增强整体视觉效果。 颜色校正是视频后期制作的关键环节,"cs selective color correct" 插件能够帮助用户实现以下几...