自動(dòng)重傳請(qǐng)求(automatic repeat-request,arq)是osi模型中數(shù)據(jù)鏈路層的錯(cuò)誤糾正協(xié)議之一。
它包括停止等待arq協(xié)議和連續(xù)arq協(xié)議,錯(cuò)誤偵測(cè)(error detection)、正面確認(rèn)(positive acknowledgment)、逾時(shí)重傳(retransmission after timeout)與負(fù)面確認(rèn)繼以重傳(negative acknowledgment and retransmission)等機(jī)制。如果在協(xié)議中,發(fā)送方在準(zhǔn)備下一個(gè)數(shù)據(jù)項(xiàng)目之前先等待一個(gè)肯定的確認(rèn),則這樣的協(xié)議稱為par(positive acknowledgement with retransmission,支持重傳的肯定確認(rèn)協(xié)議)或者arq(automatic repeat request,自動(dòng)重復(fù)請(qǐng)求協(xié)議)。
自動(dòng)重傳請(qǐng)求(automatic repeat request),通過(guò)接收方請(qǐng)求發(fā)送方重傳出錯(cuò)的數(shù)據(jù)報(bào)文來(lái)恢復(fù)出錯(cuò)的報(bào)文,是通信中用于處理信道所帶來(lái)差錯(cuò)的方法之一,有時(shí)也被稱為后向糾錯(cuò)(backward error correction,bec);另外一個(gè)方法是信道糾錯(cuò)編碼。
停等式arq
在停等式arq中,數(shù)據(jù)報(bào)文發(fā)送完成之后,發(fā)送方等待接收方的狀態(tài)報(bào)告,如果狀態(tài)報(bào)告報(bào)文發(fā)送成功,發(fā)送后續(xù)的數(shù)據(jù)報(bào)文,否則重傳該報(bào)文。
停等式arq,發(fā)送窗口和接收窗口大小均為1,發(fā)送方每發(fā)送一幀之后就必須停下來(lái)等待接收方的確認(rèn)返回,僅當(dāng)接收方確認(rèn)正確接收后再繼續(xù)發(fā)送下一幀。該方法所需要的緩沖存儲(chǔ)空間最小,缺點(diǎn)是信道效率很低。
回退n幀的arq
在回退n幀的arq中,當(dāng)發(fā)送方接收到接收方的狀態(tài)報(bào)告指示報(bào)文出錯(cuò)后,發(fā)送方將重傳過(guò)去的n個(gè)報(bào)文?;赝薾,發(fā)送窗口大于1(2^(k-1)),接收窗口等于1。允許發(fā)送方可以連續(xù)發(fā)送信息幀,但是,一旦某幀發(fā)生錯(cuò)誤,必須重新發(fā)送該幀及其后的n幀。這種方式提高了信道的利用率,但允許已發(fā)送有待于確認(rèn)的幀越多,可能要退回來(lái)重發(fā)的幀也越多。
選擇性重傳arq
在選擇性重傳arq中,當(dāng)發(fā)送方接收到接收方的狀態(tài)報(bào)告指示報(bào)文出錯(cuò),發(fā)送方只發(fā)送傳送發(fā)生錯(cuò)誤的報(bào)文。選擇重傳協(xié)議,發(fā)送窗口和接收窗口都大于1 且小于(2^(k-1))。發(fā)送方僅重新傳輸發(fā)生錯(cuò)誤的幀,并緩存錯(cuò)誤幀之后發(fā)送的幀。與回退n相比,減少了出錯(cuò)幀之后正確的幀都要重傳的開(kāi)銷。
混合arq
在混合arq中,數(shù)據(jù)報(bào)文傳送到接收方之后,即使出錯(cuò)也不會(huì)被丟棄。接收方指示發(fā)送方重傳出錯(cuò)報(bào)文的部分或者全部信息,將再次收到的報(bào)文信息與上次收到的報(bào)文信息進(jìn)行合并,以恢復(fù)報(bào)文信息。