ARQ

ARQ

自動重傳請求(Automatic Repeat-reQuest,ARQ)是OSI模型中數據鏈路層的錯誤糾正協定之一。它包括停止等待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

在回退n幀的ARQ中,當傳送方接收到接收方的狀態報告指示 報文出錯後,傳送方將重傳過去的n個報文。

回退N, 傳送視窗大於1且小於等於(2^(k-1)),接收視窗等於1。允許傳送方可以連續傳送 信息幀,但是,一旦某幀發生錯誤,必須重新傳送該幀及其後的n幀。這種方式提高了信道的利用率,但允許已傳送有待於確認的幀越多,可能要退回來重發的幀也越多。

選擇性重傳ARQ

在選擇性重傳ARQ中,當傳送方接收到接收方的狀態報告指示 報文出錯,傳送方只傳送傳送發生錯誤的報文。

選擇重傳協定, 傳送視窗和接收視窗都大於1 且小於等於(2^(k-1))。傳送方僅重新傳輸發生錯誤的幀,並快取錯誤幀之後傳送的幀。與回退N相比,減少了出錯幀之後正確的幀都要重傳的開銷。

混合ARQ

在混合ARQ中,數據報文傳送到接收方之後,即使出錯也不會被丟棄。接收方指示傳送方重傳出錯 報文的部分或者全部信息,將再次收到的報文信息與上次收到的報文信息進行合併,以恢復報文信息。

連續ARQ協定

為了克服停止並等待ARQ協定長時間等待ACK的缺點。這個協定會連續傳送一組數據包,然後再等待這些數據包的ACK.

選擇重複 (Selective Repeat)

傳送點連續傳送數據包但對每個數據包都設有個一個計時器。

當在一定時間內沒有受到某個數據包的ACK時,傳送點只重新傳送那個沒有ACK的數據包

這個方法的缺點是接收點收到的數據包的順序可能不是傳送的數據包順序。因此在數據包里必須含有順序字元來幫助接受點來排序。

倒退N (Go-back-N)

這個方法解決了選擇重複中數據包順序被打亂的問題。

傳送點連續傳送數據包,每個數據包都含有順序字元。

接受點發現某個數據包沒有接受到,對傳送點發NACK.在NACK中指明沒有接受的數據包。

接收點丟棄從第一個沒有收到的數據包開始的所有數據包。

傳送點收到NACK後,從NACK中指明的數據包開始重新傳送

這個辦法的問題是如何正確選擇表明數據包的順序字元的數量。這個數量因當包括ACK或者ACK從接收點到達傳送點的時間。

套用

UMTS的ARQ機制是在基地台控制站(Radio Network Controller,RNC),使用安置在協定資料單元(Protocol Data Unit,PDU)前的序號來作為是否有封包遺失的依據,有不少的延遲時間。

優缺點

優點:比較簡單 。因而被廣泛的套用在 分組交換網路中。

缺點:1.通信信道的利用率不高,也就是說,信道還遠遠沒有被數據比特填滿。2.是需要接收方傳送ACK,這樣增加了網路的負擔也影響了傳輸速度。重複傳送 數據包來糾正錯誤的方法也嚴重的影響了它的傳輸速度。

相關搜尋

熱門詞條

聯絡我們