一種端到端無線傳輸控制協議線性網絡編碼的改進方法
2023-10-10 00:48:24 1
專利名稱:一種端到端無線傳輸控制協議線性網絡編碼的改進方法
技術領域:
本發明涉及無線通信領域,特別涉及無線通信過程中TCP傳輸性能優化技術領域,具體是指一種端到端無線傳輸控制協議線性網絡編碼的改進方法。
背景技術:
傳輸控制協議(TCP)是當今網際網路協議棧的關鍵協議之一。很多網際網路應用,比如文件傳輸協議FTP和網絡終端協議Telnet等,都是依靠TCP進行數據的可靠傳輸。TCP設計之初是專門針對有線網絡設計的,有線網絡中數據丟失主要是由擁塞造成的。但是在無線網絡中,數據丟失經常是由衰落、幹擾和其它物理現象造成的,那麼TCP就不適合在無線網絡中應用。在無線網絡中,一旦出現丟包,TCP經常錯誤地認為網絡中出現擁塞並且減小傳輸速率,而實際上是無線鏈路丟包,不需要減小發送滑動窗口。結果,和有線網絡相比時,TCP在無線網絡中的性能就差了很多。網絡編碼由R.Ahlswede等人在2000年提出,其實現依靠網絡中節點在轉發信息前對接收到的信息進行編碼後再傳輸。由於網絡編碼可以有效改善通信網絡性能,尤其是無線網絡性能,迅速引起研究人員的注意,並且目前成為全球範圍內的研究熱點。在已有的技術中,端到端線性網絡編碼技術在無線傳輸控制協議中的應用主要存在以下問題:(1)網絡編碼層編碼時,對需要編碼的原始報文信息的編碼並未具體說明可行的實施過程;(2)在所生成的網絡編碼頭中,編碼頭較為複雜,冗餘較多,可以進一步優化;(3)接收端在成功接收到編碼報文後,回復攜帶的是期望接收單個未解碼的原始TCP報文信息,這與編碼信息來自網絡編碼層不一致,應該攜帶期望傳輸的網絡編碼信息;(4)發送端滑動窗口是動態的,和丟包率有關,並沒有考慮編碼窗口、滑動窗口以及鏈路丟包的相互關係,容易造成網絡編碼不能有效的解碼。以上問題增加了接收端解碼的複雜度,難於實現,不利於實際的推廣使用。而本發明針對上述問題,提出了具體可行的解決辦法,改善了基於端到端線性網絡編碼用於無線傳輸控制協議的效果,提高了無線網絡的吞吐量。
發明內容
本發明的目的是提出一種端到端無線傳輸控制協議線性網絡編碼的改進方法,降低基於網絡編碼的傳輸控制協議的編碼和解碼複雜度,減少重傳次數,提高網絡的吞吐量。在TCP/IP協議棧的TCP和IP層之間,增加一個子層網絡編碼層,並設置一定大小的網絡編碼緩衝區。發送端TCP報文的發送不再採用單個報文的形式,而是採用一定大小的編碼窗口在網絡編碼層對TCP緩衝區的多個報文進行隨機線性編碼發送。接收端接收編碼報文之後,進行解碼,恢復原始的TCP報文。網絡編碼頭包括:起始傳輸的報文序列號S,本次傳輸的網絡編碼報文序列號,編碼窗口大小N,N個原始TCP報文對應補成固定長度L的補零字節數和對應的有限域內的隨機編碼係數;
編碼算法:X, = Y^kPk,其中Pk為第k個TCP報文,為第i個TCP報文的編碼系
數,編碼係數由有限域GF(28)隨機產生,TCP報文在網絡編碼層按照線性編碼算法進行網絡編碼。如果TCP報文負載長度未達到指定長度L,採用補零的方式實現相同長度。作為本發明的改進,當編碼報文丟失時,發送端並不立即啟動重傳,而是等待丟失的編碼報文的個數達到編碼窗口 N時,再啟動重傳,這樣有利於簡化滑動窗口滑動操作以及降低解碼的複雜度,提高網絡的吞吐量。 設冗餘因子為R,TCP滑動窗口為W,滑動步調為M,若發送端未收到重傳控制報文,則滑動步調M=W=N=R ;若收到重傳控制報文,則停止滑動,滑動步調M=O,啟動重傳。作為本發明的進一步改進,設置已丟失報文重傳次數上限為T (令T=N),若重傳T次,依然沒有收到該報文的確認幀,則不再重傳,同時清除緩衝區中該組其它的編碼報文。本發明中,發送端主要處理:編碼和發送來自於TCP緩衝區的源數據包;以及接收來自於接收端的確認巾貞,確認巾貞包括普通確認巾貞和重傳控制中貞。1.如果收到接收端的普通確認幀,則提取網絡編碼報文系列號,清除網絡編碼緩衝區中確認收到的編碼報文。2.如果是重傳控制幀,則滑動窗口停止滑動,提取重傳控制幀中的待重傳網絡編碼序列號,啟動重傳。3.如果是來自TCP的要傳輸的源數據包:(1)判斷TCP緩衝區的源數據包個數是否達到N個,若沒有達到N個,繼續等待;否則,轉(2);(2)從TCP緩衝區提取N個源數據包,將N個源數據包進行編碼,產生N個編碼報文,並將這N個編碼報文發送到IP層;(3)提取編碼報文的TCP序列號,清除TCP緩衝區對應的數據包;(4)計算丟失的已經編碼報文數NUM,若NUM〈N,滑動窗口向後滑動N,轉(I);否則,轉(5);(5)啟動重傳,滑動窗口停止向後滑動,編碼窗口重傳丟失的編碼報文;轉(4)。本發明中,接收端主要處理:接收並解碼來自於發送端的編碼報文,以及向發送端發送確認中貞。接收到編碼報文後,提取編碼係數,組成編碼向量,並將該編碼向量放入編碼矩陣中,求出編碼矩陣的秩;(1)若秩〈N,此時保留接收到的編碼數據包,並向發送端發送確認幀;(2)若秩=N,則可將N個編碼的數據包解碼,得到N個源數據包,此時清除接收到的N個已經解碼的編碼報文,並向信源發送確認幀。
圖1網絡編碼頭幀設計;圖2重傳確認幀網絡編碼頭設計;圖3網絡編碼算法流程。
具體實施例方式下面結合附圖對本發明做進一步說明。在TCP/IP協議棧的TCP和IP層之間,增加一個子層網絡編碼層。發送端TCP報文的發送不再採用單個報文的形式,而是採用一定大小的編碼窗口在網絡編碼層對TCP緩衝區的多個報文進行隨機線性編碼發送;接收端接收編碼報文之後,進行解碼,恢復原始的TCP報文;當網絡出現編碼報文丟失時,並不立即啟動重傳;僅當丟失的網絡編碼報文數大於或等於編碼窗口 N時,滑動窗口停止滑動,並啟動重傳。本發明的網絡編碼頭幀結構如圖1所示,起始傳輸的報文序列號S (4位元組),本次傳輸的網絡編碼報文序列號(I字節),編碼窗口大小N (I字節),N個原始TCP報文對應補成固定長度L的補零字節數(I字節)和對應的有限域內的隨機編碼係數(I字節);編碼窗口為參與網絡編碼的原始TCP報文個數;編碼固定長度L應大於等於實際TCP分段報文大小的整數值;針對無線網絡,一般有限域取GF (28)。當丟失的網絡編碼報文數大於或等於編碼窗口 N時,啟動重傳,接收端發送重傳確認幀,其幀結構如圖2所示,其中類型(I字節)表示該確認幀是普通確認幀還是重傳確認幀;編碼頭長度表示待重傳編碼報文個數;待重傳編碼序號通知發送端順序需要重發的編碼報文。編碼和解碼具體過程如下:發送端:1.如果收到接收端的普通確認幀,則提取網絡編碼報文系列號,清除網絡編碼緩衝區中確認收到的編碼報文。2.如果是重傳控制幀,則滑動窗口停止滑動,提取重傳控制幀中的網絡編碼序列號,啟動重傳。3.編碼算法如圖3所示,如果是來自TCP的待傳輸的數據包:(I)如圖3中的步驟120,等待接收上層報文,並判斷TCP緩衝區的源數據包個數是否達到N個,若沒有達到N個,繼續等待;否則,轉(2);(2)如圖3中的步驟140,從TCP緩衝區提取N個源數據包,將N個源數據包進行編碼,產生N個編碼報文,並將這N個編碼報文發送到IP層;(3)如圖3中的步驟160,提取編碼報文對應的TCP序列號,清除TCP緩衝區對應的數據包;(4)如圖3中的步驟180,計算丟失的編碼報文數NUM,若NUM〈N,滑動窗口向後滑動N,轉(I);否則,轉(5);(5)啟動重傳,如圖3中的步驟200,滑動窗口停止向後滑動,編碼窗口重傳丟失的編碼報文;轉(4)。接收端:接收到編碼報文後,提取編碼係數,組成編碼向量,並將該編碼向量放入編碼矩陣中,求出編碼矩陣的秩;(I)若秩〈N,此時保留接收到的編碼數據包,並向發送端發送確認幀;(2)若秩=N,則可將N個編碼的數據包解碼,得到N個源數據包,此時清除接收到的N個已經解碼的編碼報文,並向信源發送確認幀。
假設網絡的丟包率
權利要求
1.一種基於端到端無線傳輸控制協議線性網絡編碼的改進方法,其特徵在於,其改進方法包括以下幾個方面:(1)在網絡編碼層優化了網絡編碼頭幀設計,全面考慮了編解碼所需參數,縮短了網絡編碼頭長度,減少了網絡編碼頭的複雜性;(2)根據無線網絡丟包情況,設計了合理的滑動窗口和編碼窗口,並優化令兩者大小相等;(3)接收端確認幀捎帶信息內容為期望下一次接收的網絡編碼報文序號;(4)修改了報文丟失重傳機制,當編碼報文累計丟包數達到編碼窗口大小時,啟動重傳。
2.根據權利要求1所述的一種端到端無線傳輸控制協議線性網絡編碼的改進方法,其特徵在於,所述的網絡編碼頭包括:起始傳輸的報文序列號S (4位元組),本次傳輸的網絡編碼報文序列號(I字節),編碼窗口大小N (I字節),N個原始TCP報文對應補成固定長度L的補零字節數(I字節)和對應的有限域內的隨機編碼係數(I字節);編碼窗口為參與網絡編碼的原始TCP報文個數;編碼固定長度L應大於等於實際TCP分段報文大小的整數值;針對無線網絡,隨機編碼係數一般取自有限域取GF (28)。
3.根據權利要求1所述的一種端到端無線傳輸控制協議線性網絡編碼的改進方法,其特徵在於,所述的接收到編碼數據報文之後的確認幀捎帶的信息為:接收端確認捎帶信息內容為期望下一次接收的網絡編碼報文序號,而不是發送端TCP報文序列號。
4.根據權利要求1所述的一種端到端無線傳輸控制協議線性網絡編碼的改進方法,其特徵在於,所述的累計編碼報文重傳機制具體為:當網絡出現編碼報文丟失時,並不立即啟動重傳;僅當丟失的網絡編碼報文數大於或等於編碼窗口 N時,滑動窗口停止滑動,並啟動重傳。
5.根據權利要求4所述的一種端到端無線傳輸控制協議線性網絡編碼的改進方法,其特徵在於,所述的重傳控制報文的網絡編碼頭幀格式為:類型(I字節),長度(I字節),待重傳的N個編碼報文序列號,每個序列號佔I字節;類型域表明該確認幀是普通確認報文或是啟動重傳控制報文,長度域表示該確認網絡編碼頭的總字節數,待重傳的N個編碼報文序列號是通知發送端順序需要重發的編碼報文。
全文摘要
本發明提供了一種端到端無線傳輸控制協議線性網絡編碼的改進方法。具體為(1)在網絡編碼層優化了網絡編碼頭幀設計,全面考慮了編解碼所需參數,縮短了網絡編碼頭長度,減少了網絡編碼頭的複雜性;(2)根據無線網絡丟包情況,設計了合理的滑動窗口和編碼窗口,並優化令兩者大小相等。(3)接收端確認捎帶信息內容為期望下一次接收的網絡編碼報文序號;(4)修改了報文丟失重傳機制,當編碼報文累計丟包數達到滑動窗口數時,啟動重傳。以上操作能減小網絡編碼的複雜性,提高網絡編碼效率和端到端系統的TCP吞吐量。
文檔編號H04L29/06GK103152359SQ201310097340
公開日2013年6月12日 申請日期2013年3月25日 優先權日2013年3月25日
發明者廖勇, 曹傑, 魏海波, 何娟 申請人:重慶大學