陳欲科
(公誠管理咨詢有限公司,廣東 東莞 523000)
在有限的資源條件下,用無線網絡進行可靠傳輸是值得從業者深究和重視的問題。因為在當今的社會上,互聯網飛速發展,對網絡的要求也越來越嚴格,許多的應用在無線網絡上進行無線傳輸,這也就提高了無線網絡技術的性能要求,要求無線網絡具有很高的可靠性和低傳輸時延性[1]。隨著智能手機的推行,移動通信技術也得到了發展,但是在有限的資源條件下,要盡可能的發展技術,提高傳輸安全性,減少丟包問題的發生,同時也要發展恢復數據技術,減少丟包問題帶來的損失。
現在應用對數據包的發送成功率要求較高,達到百分之百,但是一般情況下,由于無線網絡的布網簡單,受傳輸環境影響嚴重,發送成功率僅有百分之二十,所以,無線網絡的丟包率很高,遠遠大于有線網絡。環境因素的不穩定容易導致路徑損耗、盲區衰落、多徑衰落,還需要其他的技術來保證無線網絡傳輸的穩定性,從目前的技術手段來說,主要有以下四種輔助手段[2]。
ARQ是一種自動請求重傳的機制,當傳輸失敗時,會收到NACK的反饋,發送端獲得反饋后,會自動重新傳輸數據,直到收到了ACK的反饋。ACK的反饋代表著發送成功。但是這種機制也存在著一定的問題,例如當傳輸的網絡通信節點較多,同時向發送端進行反饋,會造成反饋風暴,出現網絡延時問題。
FEC是從一定數量的消息中恢復想要的信息,可以避免大量無效數據的重傳,它延遲性低,但是占用的帶寬資源更多,傳輸大量的信息可以擁有較高的糾錯信息能力,在傳輸開銷和傳輸效率間要尋求一個平衡,FEC和NACK結合起來使用可以達到這個平衡。在應用方面FEC和ARQ適用于不同的場景,FEC更合適用在傳輸錯誤率高的情況下[3]。
將ARQ和FEC結合起來,就是混合差錯控制技術,用FEC的機制可以避免反饋風暴的出現,再利用ARQ的方式,可以對傳輸出錯的數據進行糾錯重傳,提高傳達成功率。
網絡編碼是利用路由器和編碼的信息交換技術,與傳統的傳輸技術不同,傳統數據的傳輸是利用中間節點作為應答器,對數據進行存儲和傳。網絡編碼中最重要的機制是當路徑中的節點收到信息時傳輸到下一跳,對每個節點的信息都進行了網絡編碼,將網絡鏈路帶寬有效的利用起來,提高了利用率[4]。
像Tetry一樣,RQUDP以內聯冗余率k發送數據,可以恢復丟失的數據包,且將數據進行平滑的傳輸。其目標是可靠的傳輸機制,且保證數據連續傳輸到應用程序。像這樣一種輕量、自適應、可靠的傳輸機制可以實現為II型HARQ(增量冗余)、UDP傳輸代理或可靠的隧道(如RBSCP)[5]。
RQUDP可以恢復所有的數據,避免損失,當沒有可發送的數據時還會自動終止。它具有移動的編碼窗口,可以避免突然發生的不良情況與事件對數據傳輸制度的影響,還能限制接收端解碼的復雜性,可以憑借輕量級確認機制的連續包丟失率估計的冗余調整。
自適應冗余度的算法在此不做贅述,接下來將詳細介紹前兩種機制。
表1列出了本節中使用的不同符號。圖1展示了完整的數據交換過程,其中數據包為黑色,修復包為紅色,恢復包為灰色。大小為W=4的編碼窗口是發送方緩沖區中的紅色幀。

表1 本節不同符號的含義

圖1 完全可靠機制原理圖
RQOUDP對NACK方案進行了改進,提供了一個可靠性良好的工作層,可以適應各個環境,它獨立于包錯誤率(packet error rate, PER)和內聯冗余比。確認包可以指定丟失的序列號列表,還可以指定接收包最高連續序列號。接收方未確認,發送方則會將沒確認的部分再次發送,直到被接收方確認,保證線性組合數據包的可靠性。在發送全部的數據以后,要在每個發送的數據包里包含一個Flag,發送方設置為1,指示流的結束。當接收者開始解碼,就會自動使用ARQ的F flag進行結束,關閉對話框。這避免了反饋風暴的出現,提高了傳輸效率[6]。
它記錄窗口號、窗口總數以及窗口和內存中的地址映射關系,調用發送模塊發送數據包。它從內存獲取數據存儲信息,封裝數據到自定義數據幀中,并啟動封裝過程,與消息處理狀態機相似,在接收數據的過程中,可以直接用信息處理模塊對信息進行處理,接收和消息處理同時進行可以提高工作效率。當接收的信息和窗口與發送的一致,就會用接收窗口進行接收,如果不一致,接收端會利用NACK進行反饋。根據接收端的反饋,發送端會采取不同的方法,例如ACK代表需要重新傳輸,而NACK則代表需要先找回丟失數據再進行傳輸[7]。
發生混亂時,可以采用接收端計算資源,在嵌入式系統中,使用大小為W的滑動編碼窗口對譯碼的復雜程度進行界限,這樣的窗口可以一直增長,直到達到最大的大小,比起傳統的有限大小的窗口更加靈活方便。在特殊情況發生時,編碼窗口可能會被阻礙,這時還是應該繼續照常發送新的數據包,保證接收端可以平滑的接收數據。當編碼的窗口已經滿了的時候,可以用不同的系數編碼同一組數據,使用多個修復包進行修復。在使用RaptorQ進行發送時,發送方設計符號來進行編碼,在反饋過程中,當出現傳輸延遲,且延遲較長,則會觸發重發,所以必須選擇RTO的一部分作為緩沖包的計時器,RTO是RTT的乘法,選擇RTO的時間會避免重新傳輸,重傳定時器與RTO的測量有關,它能測量網絡動態參數,及時反映網絡狀態,保證數據傳輸效率,避免數據的丟失。無線網絡傳播延遲長,延遲的時間可以用來收集符號應用RaptorQ的編碼,一般來說,會選擇當前RTO時間的三分之一來作為延遲定時器[8]。
在這個信息高速發達的時代,對計算機的網絡通信技術的發展要求也越來越高,保障數據信息的高效、安全、穩定是網絡通信技術必須滿足的問題,相關從業人員要深入研究如何完成數據在不同網絡之間的傳輸,如何提高網絡傳輸之間的成功率,才能滿足如今時代發展的需求。