系統架構設計筆記(96)—— 丟包處理策略

丟包的常用處理方法有: 丟包重傳和前向糾錯。

1 丟包重傳

丟包重傳又叫後向糾錯,也稱爲自動重傳請求(ARQ),Automatic Repeat-reQuest。

它是 OSI 模型中數據鏈路層的錯誤糾正協議之一。它包括停止等待 ARQ 協議和連續 ARQ 協議,錯誤偵測( Error Detection ) 、 正面確認( Positive Acknowledgment ) 、 逾時重傳( Retransmissionafter Timeout )與負面確認繼以重傳( Negative Acknowledgmentand Retransmission )等機制。

1.1 定義

如果在協議中,發送方在準備下一個數據項目之前先等待一個肯定的確認,則這樣的協議稱爲 PAR ( Positive Acknowledgement with Retransmission ,支持重傳的肯定確認協議)或者 ARQ ( Automatic Repeat Request ,自動重複請求協議)。

自動重傳請求( Automatic Repeat Request ),通過接收方請求發送方重傳出錯的數據報文來恢復出錯的報文,是通信中用於處理信道所帶來差錯的方法之一,有時也被稱爲後向糾錯( Backward Error Correction , BEC );另外一個方法是信道糾錯編碼。

1.2 分類

傳統自動重傳請求分成爲三種,即停等式 (stop-and-wait ) ARQ ,回退 n 幀(go-back- n ) ARQ ,以及選擇性重傳( selective repeat ) ARQ 。後兩種協議是滑動窗口技術與請求重發技術的結合,由於窗口尺寸開到足夠大時,幀在線路上可以連續地流動,因此又稱其爲連續 ARQ 協議。

三者的區別在於對於出錯的數據報文的處理機制不同。三種 ARQ 協議中,複雜性遞增,效率也遞增。除了傳統的 ARQ ,還有混合 ARQ (Hybrid- ARQ )。

hybrid /ˈhaɪbrɪd/
Something of mixed origin or composition.

(1)停等式ARQ

在停等式 ARQ 中,數據報文發送完成之後,發送方等待接收方的狀態報告,如果狀態報告報文發送成功,發送後續的數據報文,否則重傳該報文。

停等式 ARQ ,發送窗口和接收窗口大小均爲1,發送方每發送一幀之後就必須停下來等待接收方的確認返回,僅當接收方確認正確接收後再繼續發送下一幀。該方法所需要的緩衝存儲空間最小,缺點是信道效率很低。

(2)回退n幀的ARQ
簡稱爲 GBN,即Go-Back-N ARQ。

發信側不用等待收信側的應答,持續的發送多個幀,假如發現已發送的幀中有錯誤發生,那麼從那個發生錯誤的幀開始及其之後所有的幀全部再重新發送。特點:複雜度低,但是不必要的幀會再重發,所以大幅度範圍內使用的話效率不高。

(3)選擇性重傳ARQ

發信側不用等待收信側的應答,持續的發送多個幀,假如發現已發送的幀中有錯誤發生,那麼發信側將只重新發送那個發生錯誤的幀。

特點:相對於 GBN 複雜度高,但是不需要發送沒必要的幀,所以效率高。

(4)混合ARQ

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

1.3 應用

在現代的無線通信中,ARQ主要應用在無線鏈路層。比如,在WCDMA和cdma2000無線通信中都採用了選擇性重傳ARQ和混合ARQ。

1.4 優缺點

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

缺點:

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

2 前向糾錯

前向糾錯也叫前向糾錯碼 (Forward Error Correction ,簡稱 FEC) ,是增加數據通訊可信度的方法。在單向通訊信道中,一旦錯誤被發現,其接收器將無權再請求傳輸 。FEC 是利用數據進行傳輸冗餘信息的方法,當傳輸中出現錯誤,將允許接收器再建數據。

2.1 簡介

前向糾錯是一種差錯控制方式,它是指信號在被送入傳輸信道之前預先按一定的算法進行編碼處理,加入帶有信號本身特徵的冗碼,在接收端按照相應算法對接收到的信號進行解碼,從而找出在傳輸過程中產生的錯誤碼並將其糾正的技術 。

2.2 應用場景

數字節目和模擬節目比,效果更清晰,色彩更純淨,通透性更高,畫面沒有雜質干擾。這都要得益於數字信號出色的抗干擾能力。

在數字信號中,爲了防止外界信號干擾,保護信號不變異,要進行多重的糾錯碼設置。數字信號在解碼過程中,對錯誤信號十分敏感,每秒鐘只要存在很小的誤碼,就無法正常解碼。而數字衛星信號之所以能順利播放,又是得益於數字信號中的糾錯碼的設置。在各種糾錯碼的設置中,被稱做 FEC 的前向糾錯是一個非常重要的防干擾算法。 FEC 降低了數字信號的誤碼率,提高了信號傳輸的可靠性。因此,在衛視接收的參數中, FEC 是個非常重要的數據。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章