[發(fā)明專利]基于網(wǎng)絡編碼的傳輸控制協(xié)議的編譯碼方法有效
| 申請?zhí)枺?/td> | 201710588547.1 | 申請日: | 2017-07-19 |
| 公開(公告)號: | CN107547436B | 公開(公告)日: | 2020-03-20 |
| 發(fā)明(設計)人: | 蘭小龍;陳慶春;唐小虎;梁宏斌 | 申請(專利權)人: | 西南交通大學 |
| 主分類號: | H04L12/823 | 分類號: | H04L12/823;H04L12/835 |
| 代理公司: | 成都信博專利代理有限責任公司 51200 | 代理人: | 張輝 |
| 地址: | 610031 四川省成都市*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 網(wǎng)絡 編碼 傳輸 控制 協(xié)議 譯碼 方法 | ||
1.一種基于網(wǎng)絡編碼的傳輸控制協(xié)議的編譯碼方法,其特征在于,包括編碼方法和譯碼方法,具體如下:
編碼方法
步驟1:在編碼端,位于傳輸控制協(xié)議TCP層與網(wǎng)際協(xié)議IP層之間的網(wǎng)絡編碼層設有一個網(wǎng)絡編碼緩存區(qū),所述網(wǎng)絡編碼緩存區(qū)存放來自傳輸控制協(xié)議TCP層的數(shù)據(jù)包,設定初始值N=0,循環(huán)執(zhí)行步驟2,直到傳輸控制協(xié)議TCP層沒有數(shù)據(jù)抵達網(wǎng)絡編碼層為止;
步驟2:當有新的數(shù)據(jù)報文從傳輸控制協(xié)議TCP層抵達網(wǎng)絡編碼緩存區(qū)之后,根據(jù)傳輸控制協(xié)議TCP頭部的字節(jié)序號按順序存放在網(wǎng)絡編碼緩存區(qū)當中;發(fā)送端會對最近抵達的W個傳輸控制協(xié)議TCP數(shù)據(jù)報文進行編碼并發(fā)送;
編碼數(shù)據(jù)包分為兩類,分別為正常編碼數(shù)據(jù)包和冗余編碼數(shù)據(jù)包,冗余編碼數(shù)據(jù)包是為了彌補網(wǎng)絡中丟包,發(fā)送端額外多發(fā)出來的數(shù)據(jù)包;設定的冗余度R需滿足R≥1/(1-Pe),其中,Pe為網(wǎng)絡中實際的丟包率;
發(fā)送編碼數(shù)據(jù)報文的具體步驟為:
步驟2.1:每當有新的數(shù)據(jù)包抵達網(wǎng)絡編碼緩存區(qū)之后,令N=N+R,然后執(zhí)行操作:如果則構造一個正常編碼數(shù)據(jù)包;如果則構造一個正常編碼數(shù)據(jù)包和個冗余編碼數(shù)據(jù)包,其中表示向下取整運算;
步驟2.2:構造正常編碼數(shù)據(jù)包和冗余編碼數(shù)據(jù)包
如果傳輸控制協(xié)議TCP報文負載長度不一致,設該W個傳輸控制協(xié)議TCP數(shù)據(jù)報文中最長的數(shù)據(jù)報文長度為L,采用補零的方式使所有報文數(shù)據(jù)長度一致,具體如下:
步驟2.2.1:對正常編碼數(shù)據(jù)包,將編碼緩存區(qū)中最近抵達的W個數(shù)據(jù)包全部進行異或操作,即產(chǎn)生新的編碼數(shù)據(jù)包表示為
Pi表示第i個就近到達的傳輸控制協(xié)議TCP數(shù)據(jù)報文,i=1,2,...,W;
步驟2.2.2:對冗余編碼數(shù)據(jù)包,將編碼緩存區(qū)中最近抵達的W個數(shù)據(jù)包按如下方式進行編碼運算
其中,k是從1~255中隨機選取的整數(shù),aik(i=1,2,...,W)為第i個數(shù)據(jù)包的編碼系數(shù),ai是從有限域GF(28)選出的,其加法和乘法運算都是在有限域GF(28)下完成的;
步驟2.3:填充編碼頭部;編碼頭部包括源端口、目的端口、編碼窗口大小、系數(shù)指示位、起始報文的序列號Start1,后W-1個原始傳輸控制協(xié)議TCP數(shù)據(jù)報文的相對序列號Start2~StartW;
步驟2.4:令將已編碼的數(shù)據(jù)包發(fā)送到IP層;
譯碼方法
步驟1:在譯碼端,位于在傳輸控制協(xié)議TCP層與網(wǎng)絡層之間的網(wǎng)絡編碼層設有譯碼緩存區(qū),所述譯碼緩存區(qū)用于存放已收到的編碼數(shù)據(jù)包;構建一個譯碼矩陣,用于對編碼數(shù)據(jù)包的系數(shù)執(zhí)行高斯消元運算;
步驟2:當有新的數(shù)據(jù)報文從網(wǎng)際協(xié)議IP層抵達網(wǎng)絡編碼層之后,將編碼數(shù)據(jù)報文存放在譯碼緩沖區(qū),并檢查該數(shù)據(jù)包是否是用于建立連接的控制報文,如果是,則直接上交給傳輸控制協(xié)議TCP層;否則就執(zhí)行以下操作:
步驟2.1:根據(jù)系數(shù)指示位,判斷抵達的編碼數(shù)據(jù)報文是正常編碼數(shù)據(jù)包還是冗余編碼數(shù)據(jù)包,若是正常編碼數(shù)據(jù)包,則將其編碼系數(shù)直接加入到譯碼矩陣中;若是冗余編碼數(shù)據(jù)包,則判斷其所涉及參與編碼的原始傳輸控制協(xié)議TCP報文是否被全部譯出,若是,則直接將該冗余編碼包給丟掉;若否,則將冗余編碼數(shù)據(jù)包的編碼系數(shù)提取出來并加入到譯碼矩陣中;
步驟2.2:若有編碼系數(shù)被添加到譯碼矩陣中,則根據(jù)這些編碼系數(shù)執(zhí)行高斯消元,將譯碼矩陣化成上三角矩陣,判斷該編碼數(shù)據(jù)包是否能有益于譯出原始傳輸控制協(xié)議TCP數(shù)據(jù)報文,即判斷矩陣的秩是否增加,若該數(shù)據(jù)包有益于譯碼,則構造一個應答報文ACK發(fā)送到網(wǎng)際協(xié)議IP層,對應的編碼數(shù)據(jù)報文與譯碼矩陣做相同的操作;
步驟2.3:如果有數(shù)據(jù)包被譯出,則將譯碼出的數(shù)據(jù)包立即發(fā)送到傳輸控制協(xié)議TCP層;
步驟2.4:根據(jù)當前譯碼矩陣的情況,在譯碼緩沖區(qū)中刪除對后續(xù)譯碼操作無用的數(shù)據(jù)報文,即刪除譯碼矩陣中最早數(shù)據(jù)包對應序號之前的數(shù)據(jù)報文。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于西南交通大學,未經(jīng)西南交通大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710588547.1/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種顯示進度的交通指示燈
- 下一篇:一種智能跟車方法
- 網(wǎng)絡和網(wǎng)絡終端
- 網(wǎng)絡DNA
- 網(wǎng)絡地址自適應系統(tǒng)和方法及應用系統(tǒng)和方法
- 網(wǎng)絡系統(tǒng)及網(wǎng)絡至網(wǎng)絡橋接器
- 一種電力線網(wǎng)絡中根節(jié)點網(wǎng)絡協(xié)調(diào)方法和系統(tǒng)
- 一種多網(wǎng)絡定位方法、存儲介質(zhì)及移動終端
- 網(wǎng)絡裝置、網(wǎng)絡系統(tǒng)、網(wǎng)絡方法以及網(wǎng)絡程序
- 從重復網(wǎng)絡地址自動恢復的方法、網(wǎng)絡設備及其存儲介質(zhì)
- 神經(jīng)網(wǎng)絡的訓練方法、裝置及存儲介質(zhì)
- 網(wǎng)絡管理方法和裝置





