扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
以下摘自笔者编著的《网络工程师必读——网络工程基础》图书:
7.4.6 连续ARQ协议
连续重发请求ARQ方案是指发送方可以连续发送一系列信息帧,即不用等前一帧被确认便可继续发送下一帧,效率大大提高。但在这种重发请求方案中,需要在发送方设置一个较大的缓冲存储空间(称作重发表),用以存放若干待确认的信息帧。当发送方到对某信息帧的确认帧后,便可从重发表中将该信息帧删除。所以,连续重发请求ARQ方案的链路传输效率大大提高,但相应地需要更大的缓冲存储空间。
在这一协议中,当发送站点发送完一个数据帧后,不是停下来等待应答帧,而是可以连续在发送若干个数据帧。如果在此过程中又收到了接收端发来的应答帧,那么还可以接着发送数据 帧。由于减少了等待时间,整个通信的吞吐量就提高了。
如结点A向结点B发送数据帧,当结点A发完0号帧时,并不等待,而是继续发送后续的1号帧、2号帧等。由于连续发送了许多帧,所以应答帧不仅要说明是对哪一帧进行确认或否认,而且应答帧本身也必须编号。假设2号帧出了差错,于是结点B发送否认帧NAK2。当否认帧NAK2到达结点A时,结点A正在发送5号数据帧。当5号 帧发送完毕后,结点A才能进行2号帧的重发。
这里要注意两点:
l 接受端只能按序接收数据帧。对于2号帧,结点B应答了NAK2,虽然接着又收到了三个正确的数据帧,但都必须将他们丢弃,因为这些帧的发送序号都不是顺序号。
l 结点A在重传2号数据帧时,虽然已经发完了5号帧,但仍必须向回走,从2 号帧起进行重传。正因如此,连续ARQ又称为Go-back-N ARQ,意思是当出现差错必须重传时,要向回走N个帧,然后再开始重传。
GO-DACK-N策略的基本原理是,当接收方检测出失序的信息帧后,要求发送方重发最后一个正确接收的信息帧之后的所有未被确认的帧;或者当发送方发送了N个帧后,若发现该N帧的前一个帧在计时器超时后仍未返回其确认信息,则该帧被判为出错或丢失,此时发送方就不得不重新发送出错帧及其后的N帧。这就是GO-DACK-N(退回N)法名称的由来。因为对接收方来说,由于这一帧出错,就不能以正常的序号向它的高层递交数据,对其后发送来的N帧也可能都不能接收而丢弃。GO-DACK-N法操作过程如图7-7所示。图中假定发送完8号帧后,发现2号帧的确认返回信号在计时器超时后还未收到,则发送方只能退回到从2号帧开始重发以后所有已发的数据。
图7-7 Go-back-N法工作原理示例
还有另一种情况。2号数据帧丢失,3号至5号数据帧虽然正确传送 到结点B,但也不得不被丢弃。当结点A发送5号数据帧的过程中,超时定时器设定的超 时时间到。因此,在5号数据帧发送完毕后,就回到2号数据帧进行重传。
在使用连续ARQ协议时,如果发送端一直没有受到对方的确认信息,那么实际上发送端并不能无限制的发送其数据。这是因为:当未被确认的数据帧的数目太多时,只要有一帧出了差错,就要有很多的 数据帧需要重传,这必然浪费很多时间。另外为了对所发送的大量数据帧进行编号,每个数据帧的发送序号也要占用较 多的比特数,这样又增加了一些不必要的开销。因此,在连续ARQ协议中必须将已发送出去、但未被确认的数据帧的数目加以限制, 这是本章后面将要 要的滑动窗口协议所要讨论的内容。
从原理不难看出,连续ARQ协议一方面因连续发送数据帧而提高了效率,但另一方 面,在重传时又必须把原来已正确传送过的数据帧进行重传(但仅因这些数据帧之前有 一个数据帧出了错),这样又使传送速率降低。由此可见,若传输信道的传输质量很差 而误码率较大时,连续ARQ协议不一定优于停止等待协议。
综上所述,连续重发请求ARQ方案的特点如下:
(1)发送方连续发送信息帧,而不必等待确认帧的返回;
(2)在重发表中保存所发送的每个帧的备份;
(3)重发表按先进先出(FIFO)队列规则操作;
(4)接收方对每一个正确收到的信息帧返回一个确认帧,每一个确认帧包含一个惟一的序号,随相应的确认帧返回;
(5)接收方保存一个接收次序表,包含最后正确收到的信息帧的序号。当发送方收到相应信息帧的确认后,从重发表中删除该信息帧的备份;
(6)当发送方检测出失序的确认帧(即第N号信息帧和第N+2号信息帧的确认帧已返回,而N+1号的确认帧未返回)后,便重发未被确认的信息帧。
查看本文来源
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者