自动请求重发(automatic repeat request)是数据通信中在接收端进行差错检测,并自动请求发送端重发的差错控制技术,简称ARQ。在ARQ中,重发要一直延续到该码字被成功地接收为止。
简介
自动请求重发,也称“循环自动请求”,ARQ(Automatic Repeatre Quest)协议是指在接收站接收到一个包含出错数据的信息(帧)时,自动发出一个重传错帧的请求。ARQ的作用原则是对出错的数据帧自动重发,它有三种形式:有等待式ARQ、后退N步ARQ和选择重发ARQ。
自动重传请求(Automatic Repeat-reQuest,ARQ)是OSI模型中传输层的错误纠正协议之一。它包括停止等待ARQ协议和连续ARQ协议,错误侦测(Error Detection)、正面确认(Positive Acknowledgment)、逾时重传(Retransmission after Timeout)与负面确认继以重传(Negative Acknowledgment and Retransmission)等机制。
实用ARQ系统多采用线性分组码(见纠错码)。在ARQ系统中,选用适当的线性码总可使不可检错误概率小到所需的误码指标。ARQ的主要优点是检错方式简单以及能在非常低的错误概率下根据信道质量动态调整传信率。但与前向纠错相比,ARQ要求有可靠的反馈信道,引起较长且不固定的传输时延以及要求传输系统对信源进行控制等问题,是对ARQ使用的主要约束。所以它主要应用于对时延要求不严格但对误码性能要求高的数据传输中。
分类
ARQ方式有等待式ARQ、后退N步ARQ和选择重发ARQ三种基本类型
2.1 等待式ARQ
等待式ARQ的发送端送出一个码字后,等待从接收端回执信号。确认信号(ACK)通知发送端该码字已被正确收到,而否认信号(NAK)通知发送端收到的码字有错。发送端在收到ACK后,即发送下一个码字,而在收到NAK后则重发刚才发出的码字,直到收到ACK为止。等待式ARQ比较简单且在许多数据通信系统中得到应用,如IBM的BISYNC规程。等待ARQ的主要缺点是等待回执期间未充分利用信道容量。
2.2 后退N步ARQ
在后退N步ARQ中,码字被连续地发送,发送端在送出一个码字后不必等待其回执。在经过一个往返延迟(即发出一个码字到收到关于这个码字的回执所需的时间)后,另外N—1个码字已被送出。当收到NAK后,发送端退回到NAK所对应的码字,重发此码字以及其后的N—1个在往返延迟期间已送出的码字,因此发送端要有一个缓存器来存放这些码字。在接收端,跟在错误接收码字之后的N—1个接收码字不管其正确与否均被舍弃,所以在接收端只要存储一个码字即可。因为采用连续地发送和重发;,后退N步ARQ方式较等待式ARQ有效。但在往返延迟较大时,后退N步ARQ方式不太有效。
2.3 选择重发ARQ
选择重发ARQ中码字也是连续传送的,但发送端仅重发那些与NAK相对应的码字。由于通常情况下码字必须依正确的次序送给用户,故在接收端需要一个缓存器来存放检测后无错的接收码字。当最早的NAK码字被成功接受后,收端按相继的次序送出无错的接收码字,直到遇到下一个有错的接收码字时止。接收端应有足够大的缓存器,否则就会发生溢出而丢失数据。在三种ARQ方式中,选择重发ARQ最有效但实现也最复杂。
在信道干扰较大时,单用ARQ会因不断重发而使数据传送速率下降过多且传输时延变化太大,而仅采用前向纠错一般又不能保证足够的正确性,把两者结合起来就形成了混合型ARQ。在混合型ARQ中采用纠错码进行传输,在接收端若存在一个码字与所收到的信号间的距离小于限定的门限,则把接收信号判定为这个码字(纠错),反之则判定接收出错,要求发端重发;。由于纠错过程会产生新的差错,所以混合型ARQ的出错概率比单纯ARQ大一些,但由于纠错可显著减少要求重发的次数,所以混合型ARQ的传输效率比单纯ARQ的要高。
应用
在现代的无线通信中,ARQ主要应用在无线链路层。比如,在WCDMA和cdma2000无线通信中都采用了选择性重传ARQ和混合ARQ。
优缺点
优点:比较简单 。因而被广泛的应用在分组交换网络中。
缺点:1.通信信道的利用率不高,也就是说,信道还远远没有被数据比特填满。2.是需要接收方发送ACK,这样增加了网络的负担也影响了传输速度。重复发送数据包来纠正错误的方法也严重的影响了它的传输速度。