国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于網(wǎng)絡(luò)編碼的傳輸控制協(xié)議的改進(jìn)方法

      文檔序號:7862819閱讀:298來源:國知局
      專利名稱:基于網(wǎng)絡(luò)編碼的傳輸控制協(xié)議的改進(jìn)方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及傳輸控制協(xié)議的改進(jìn)方法。
      背景技術(shù)
      網(wǎng)絡(luò)編碼(Network Coding)是網(wǎng)絡(luò)通信領(lǐng)域的一項(xiàng)前沿科技,網(wǎng)絡(luò)編碼理論一經(jīng)提出,就引起了學(xué)術(shù)界、工業(yè)界廣泛的關(guān)注。網(wǎng)絡(luò)編碼是一種融合編碼和路由的信息交換技術(shù),在傳統(tǒng)存儲轉(zhuǎn)發(fā)的路由方法基礎(chǔ)上,接收節(jié)點(diǎn)對接收的多個數(shù)據(jù)包進(jìn)行編碼,增加單次傳輸?shù)男畔⒘?,從而提高網(wǎng)絡(luò)整體性能。網(wǎng)絡(luò)編碼可以廣泛應(yīng)用于Ad Hoc網(wǎng)絡(luò)(自組織網(wǎng)絡(luò)),傳感器網(wǎng)絡(luò)、P2P (端到端)內(nèi)容分發(fā)、分布式文件存儲和網(wǎng)絡(luò)安全等領(lǐng)域。TCP (傳輸控制協(xié)議)是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議。TCP在保證可靠性上,采用超時重傳和捎帶確認(rèn)機(jī)制。 由于無線鏈路的網(wǎng)絡(luò)狀況比較差,丟包率比較高,應(yīng)用傳統(tǒng)的TCP協(xié)議,需要重傳大量的數(shù)據(jù)包,有時某些數(shù)據(jù)包已經(jīng)被信宿收到了,但是從信宿傳到信源的ACK (確認(rèn)字符)傳輸失敗,信源需要重傳同樣的數(shù)據(jù)包,浪費(fèi)了帶寬。因此在無線網(wǎng)絡(luò)中應(yīng)用TCP協(xié)議效果并不好,為了改善TCP協(xié)議的質(zhì)量,在傳輸層采用網(wǎng)絡(luò)編碼進(jìn)行數(shù)據(jù)包的傳輸。通過在傳輸層增加一個編碼窗口,可以改善網(wǎng)絡(luò)吞吐量,減少網(wǎng)絡(luò)傳輸?shù)拇螖?shù)。

      發(fā)明內(nèi)容
      為了解決現(xiàn)有技術(shù)中問題,本發(fā)明提供了一種基于網(wǎng)絡(luò)編碼的傳輸控制協(xié)議的改進(jìn)方法。一種基于網(wǎng)絡(luò)編碼的傳輸控制協(xié)議的改進(jìn)方法,包括協(xié)議模型和協(xié)議描述
      協(xié)議模型
      在傳輸層,修改TCP協(xié)議的反饋機(jī)制,提出一種傳輸層網(wǎng)絡(luò)編碼算法。該算法在傳輸層增加一個網(wǎng)絡(luò)編碼窗口,即傳輸層維護(hù)兩個窗口 TCP窗口和網(wǎng)絡(luò)編碼窗口。網(wǎng)絡(luò)編碼窗口接受TCP窗口數(shù)據(jù)包將其緩存到緩存區(qū)。當(dāng)網(wǎng)絡(luò)編碼窗口收到若干數(shù)據(jù)包后,產(chǎn)生指定數(shù)目編碼數(shù)據(jù)包,將其傳遞到網(wǎng)絡(luò)層。這樣明顯降低數(shù)據(jù)包重傳的次數(shù),從而提高了網(wǎng)絡(luò)的吞吐量。編碼數(shù)據(jù)包包括NCheader、TCP header>DATA mixed,其中,NC header為網(wǎng)絡(luò)編碼報頭,TCP header為正常的TCP報頭,DATA mixed為編碼數(shù)據(jù);
      網(wǎng)絡(luò)編碼報頭包括Start、End > Num> Coefficient,其中,Start表示參與編碼的原始數(shù)據(jù)包的起始序列號,End表示參與編碼的最后一個原始數(shù)據(jù)包的下一個數(shù)據(jù)包的序列號,Num表示這段數(shù)據(jù)已經(jīng)發(fā)送編碼數(shù)據(jù)包的次數(shù),Coefficient表示編碼向量;
      二、協(xié)議描述
      應(yīng)用聯(lián)合分塊網(wǎng)絡(luò)編碼,定義編碼窗口的大小為B,B=m*k,其中m表示數(shù)據(jù)塊分成的小塊的個數(shù),k表示每個小塊包含的數(shù)據(jù)包數(shù),每個小塊最多傳輸t次,其中t = n/m,規(guī)定η=Β/ρ,ρ為從信源到信宿的丟包率;信源端在網(wǎng)絡(luò)編碼窗口產(chǎn)生一個編碼數(shù)據(jù)包傳遞給網(wǎng)絡(luò)層,最終發(fā)送到信宿端,當(dāng)信宿端收到了這個編碼數(shù)據(jù)包,提取NC header,然后,計算編碼矩陣的秩,并將秩作為Num域,連同start和end作為ACK的一部分發(fā)送出去,作為對剛收到的編碼數(shù)據(jù)包的反饋;當(dāng)信宿端網(wǎng)絡(luò)編碼窗口某些塊的數(shù)據(jù)包能夠解碼時,傳遞給TCP窗口,同時清空網(wǎng)絡(luò)編碼窗口中的數(shù)據(jù)包,否則繼續(xù)緩存編碼數(shù)據(jù)包。作為本發(fā)明的進(jìn)一步改進(jìn),當(dāng)傳輸t次后,某小塊仍然不能解碼,令這個小塊的數(shù)據(jù)包和下一個小塊的數(shù)據(jù)包一起進(jìn)行編碼,當(dāng)傳輸2t次后,如果這兩個小塊也不能解碼,則將前三個小塊的數(shù)據(jù)包一起進(jìn)行編碼,傳輸3t次,以此類推,直至m個小塊也不能進(jìn)行解碼,以后就發(fā)送這m個小塊的編碼數(shù)據(jù)包。作為本發(fā)明的進(jìn)一步改進(jìn),如果某個或某些小塊能夠解碼,解碼后,發(fā)送下一個數(shù)據(jù)塊,此時,更新數(shù)據(jù)包序列號,設(shè)置Start=end, end = end+m, Num=O,重新發(fā)送新的數(shù)據(jù)塊。作為本發(fā)明的進(jìn)一步改進(jìn),信源端處理來自信源的數(shù)據(jù)包,來自接收端的ACK,`計算發(fā)送數(shù)據(jù)包的起始序列號SEQ和Start的差值為Differ ;
      1.設(shè)置Start= O, End = k, Num = O, k是每個小塊包含的數(shù)據(jù)包數(shù);
      2.當(dāng)如下事件發(fā)生時,處理事件,否則,等待;
      3.來自TCP源的要發(fā)送的數(shù)據(jù);
      (a)如果是請求連接的控制數(shù)據(jù)包,把它傳遞給網(wǎng)絡(luò)層,繼續(xù)等待;
      (b)如果是要傳輸?shù)脑紨?shù)據(jù)包,將該原始數(shù)據(jù)包存儲到網(wǎng)絡(luò)編碼窗口的緩存區(qū);
      4.如果網(wǎng)絡(luò)編碼窗口的緩存區(qū)中的數(shù)據(jù)包個數(shù)η彡End- Start,并且Num〈End-Start-I進(jìn)行如下操作,否則等待;
      (a)生成一個從Start到End的原始數(shù)據(jù)包的線性組合的編碼數(shù)據(jù)包;
      (b)Num++;并將Start、End和Num以及編碼系數(shù)組成一個編碼數(shù)據(jù)包報頭,將該報頭附到TCP報頭上,作為一個TCP數(shù)據(jù)包傳輸?shù)骄W(wǎng)絡(luò)層;
      5.如果網(wǎng)絡(luò)編碼窗口的緩存區(qū)中的數(shù)據(jù)包個數(shù)η彡End-Start,并且Num彡End-Start-I;
      (a)Start 不變,End = End+k ;
      (b)返回4;
      6.如果是來自接收端的ACK,提取出Start,End和Num,查看接收端的系數(shù)矩陣的秩
      Num;
      (a)如果Num〈End- Start將TCP buffer中的序列號為Start + differ的原始數(shù)據(jù)包清除,返回4;
      (b)如果Num = End - Start;
      (i)清空網(wǎng)絡(luò)編碼窗口的緩存區(qū)中從Start到End的數(shù)據(jù)包;
      (ii)清除TCPbuffer中的序列號為start + differ原始數(shù)據(jù)包;
      (iii)Start = End , End =End + k,返回 4。作為本發(fā)明的進(jìn)一步改進(jìn),信宿端
      I.如果有來自信宿的ACK;
      如果是控制數(shù)據(jù)包,用于連接管理,則直接傳遞給網(wǎng)絡(luò)層,繼續(xù)等待;2.如果是來自信源的packet;
      (a)提取網(wǎng)絡(luò)編碼報頭中的Start,End,編碼向量;
      (b)將編碼向量加入到編碼矩陣中,求出編碼矩陣的秩;
      (C)如果編碼矩陣的秩不變,丟棄該數(shù)據(jù)包,同時從編碼矩陣中將該數(shù)據(jù)包的編碼系數(shù)刪除,向信源發(fā)送一個ACK;
      (d)如果編碼矩陣的秩Num增加I; (i)如果Num〈End- Start,將編碼數(shù)據(jù)包的數(shù)據(jù)部分加入到編碼窗口;
      (ii)如果Num= End - Start ,將編碼數(shù)據(jù)包的數(shù)據(jù)部分加入到編碼窗口,應(yīng)用高斯消去法,獲得原始數(shù)據(jù)包,將原始數(shù)據(jù)包傳遞給TCP窗口,然后清空編碼窗口 ;
      (iii)向網(wǎng)絡(luò)層發(fā)送一個ACK,生成的ACK包括序列號和NCheader,其中Num域是編碼矩陣的秩。本發(fā)明的有益效果是
      I.當(dāng)丟包率固定時,發(fā)送不同數(shù)目原始數(shù)據(jù)包,應(yīng)用TCP和聯(lián)合分塊網(wǎng)絡(luò)編碼的重傳數(shù)據(jù)包分布圖,如圖3所示可以看出,當(dāng)丟包率固定時,應(yīng)用網(wǎng)絡(luò)編碼明顯能降低傳輸?shù)拇螖?shù)。2.當(dāng)發(fā)送節(jié)點(diǎn)發(fā)送原始數(shù)據(jù)包數(shù)目固定時,發(fā)送不同數(shù)目原始數(shù)據(jù)包,應(yīng)用TCP和聯(lián)合分塊網(wǎng)絡(luò)編碼的重傳數(shù)據(jù)包分布圖,如圖4所示可以看出,傳輸固定數(shù)目的原始數(shù)據(jù)包,應(yīng)用網(wǎng)絡(luò)編碼明顯能降低傳輸?shù)拇螖?shù)。通過上述分析,應(yīng)用網(wǎng)絡(luò)編碼后,能明顯降低數(shù)據(jù)包重傳的次數(shù),從而提高了網(wǎng)絡(luò)
      的吞吐量。


      圖I是含網(wǎng)絡(luò)編碼窗口的網(wǎng)絡(luò)模型;
      圖2是網(wǎng)絡(luò)編碼窗口傳輸數(shù)據(jù)模型;
      圖3是本發(fā)明固定丟包率,TCP和網(wǎng)絡(luò)編碼重傳數(shù)目分布 圖4是本發(fā)明固定原始數(shù)據(jù)包,TCP和網(wǎng)絡(luò)編碼重傳數(shù)目分布圖。
      具體實(shí)施例方式下面結(jié)合附圖對本發(fā)明做進(jìn)一步說明。對傳輸層的傳輸和反饋機(jī)制進(jìn)行了修改,在傳輸層嵌入了網(wǎng)絡(luò)編碼操作。具體修改如下
      在傳輸層增加一個網(wǎng)絡(luò)編碼窗口(圖1),即傳輸層維護(hù)兩個窗口 TCP窗口和網(wǎng)絡(luò)編碼窗口。數(shù)據(jù)由應(yīng)用層產(chǎn)生,并自上而下傳遞到TCP窗口,網(wǎng)絡(luò)編碼窗口接受TCP窗口數(shù)據(jù)包將其緩存到緩存區(qū)。當(dāng)網(wǎng)絡(luò)編碼窗口收到若干(這個數(shù)字要根據(jù)具體網(wǎng)絡(luò)環(huán)境確定)數(shù)據(jù)包后,產(chǎn)生指定數(shù)目(這個數(shù)字要根據(jù)具體網(wǎng)絡(luò)環(huán)境確定)編碼數(shù)據(jù)包,將其傳遞到網(wǎng)絡(luò)層,直到底層發(fā)送。編碼后數(shù)據(jù)包的格式如表I所示
      表I編碼數(shù)據(jù)包格式___
      |NCheader TCPheader DATA—mixedNC header :網(wǎng)絡(luò)編碼報頭;
      TCP header :正常的TCP報頭;
      DATA mixed :編碼數(shù)據(jù)。網(wǎng)絡(luò)編碼報頭的格式如表2所示
      表2編碼數(shù)據(jù)包報頭(NC header) _
      [start |End|Num!Coefficient Start表示參與編碼的原始數(shù)據(jù)包的起始序列號; End表示參與編碼的最后一個原始數(shù)據(jù)包的下一個數(shù)據(jù)包的序列號;
      Num表示這段數(shù)據(jù)已經(jīng)發(fā)送編碼數(shù)據(jù)包的次數(shù);
      Coefficient表不編碼向量。協(xié)議描述
      定義編碼窗口的大小為B,B=m*k,其中m表示數(shù)據(jù)塊分成的小塊的個數(shù),k表示每個小塊包含的數(shù)據(jù)包數(shù)。每個小塊最多傳輸t次,其中t = n/m.規(guī)定η = Β/ρ,ρ為從信源到信宿的丟包率。當(dāng)傳輸t次后,某小塊仍然不能解碼,我們就讓這個小塊的數(shù)據(jù)包和下一個小塊的數(shù)據(jù)包一起進(jìn)行編碼,當(dāng)傳輸2t次后,如果這兩個小塊也不能解碼,則將前三個小塊的數(shù)據(jù)包一起進(jìn)行編碼,傳輸3t次,以此類推,直至m個小塊也不能進(jìn)行解碼,以后就發(fā)送這m個小塊的編碼數(shù)據(jù)包。如果某個或某些小塊能夠解碼,解碼后,發(fā)送下一個數(shù)據(jù)塊。此時,更新數(shù)據(jù)包序列號。設(shè)置Start=end, end = end+m, Num=O0重新發(fā)送新的數(shù)據(jù)塊。信源端在網(wǎng)絡(luò)編碼窗口產(chǎn)生一個編碼數(shù)據(jù)包傳遞給網(wǎng)絡(luò)層,通過網(wǎng)絡(luò)發(fā)送到信宿端。當(dāng)信宿端收到了這個編碼數(shù)據(jù)包,提取NC header,然后,計算編碼矩陣的秩,并將秩作為Num域,連同start和end作為ACK的一部分發(fā)送出去,作為對剛收到的編碼數(shù)據(jù)包的反饋。當(dāng)信宿端網(wǎng)絡(luò)編碼窗口某些塊的數(shù)據(jù)包能夠解碼時,傳遞給TCP窗口,同時清空網(wǎng)絡(luò)編碼窗口中的數(shù)據(jù)包。否則繼續(xù)緩存編碼數(shù)據(jù)包。具體偽代碼如下
      信源端信源端有兩種類型的事件要處理來自信源的數(shù)據(jù)包,來自接收端的ACK。計算發(fā)送數(shù)據(jù)包的起始序列號(SEQ)和Start的差值為Differ (這是一個變量)。I.設(shè)置Start = O, End = k, Num = O, k是每個小塊包含的數(shù)據(jù)包數(shù);
      2.當(dāng)如下事件發(fā)生時,處理事件,否則,等待;
      3.來自TCP源的要發(fā)送的數(shù)據(jù);
      (a)如果是請求連接的控制數(shù)據(jù)包,把它傳遞給網(wǎng)絡(luò)層,繼續(xù)等待;
      (b)如果是要傳輸?shù)脑紨?shù)據(jù)包,將該原始數(shù)據(jù)包存儲到網(wǎng)絡(luò)編碼窗口的緩存區(qū);
      4.如果網(wǎng)絡(luò)編碼窗口的緩存區(qū)中的數(shù)據(jù)包個數(shù)η彡End- Start,并且Num〈End-Start-I進(jìn)行如下操作,否則等待。(a)生成一個從Start到End的原始數(shù)據(jù)包的線性組合的編碼數(shù)據(jù)包;
      (b)Num++ (這個是自增的意思,就是Num= Num+1);并將Start、End和Num以及編碼系數(shù)組成一個編碼數(shù)據(jù)包報頭,將該報頭附到TCP報頭上,作為一個TCP數(shù)據(jù)包傳輸?shù)骄W(wǎng)絡(luò)層;
      5.如果網(wǎng)絡(luò)編碼窗口的緩存區(qū)中的數(shù)據(jù)包個數(shù)η彡End-Start,并且Num彡End-Start-I;
      (a)Start 不變,End = End+k ;
      (b)返回4;
      6.如果是來自接收端的ACK,提取出Start,End和Num,查看接收端的系數(shù)矩陣的秩
      Num;
      (a)如果Num〈End- Start將TCP buffer中的序列號為Start + differ的原始數(shù)據(jù)包清除,返回4;
      (b)如果Num = End - Start;
      (i)清空網(wǎng)絡(luò)編碼窗口的緩存區(qū)中從Start到End的數(shù)據(jù)包;
      (ii)清除TCPbuffer中的序列號為start + differ原始數(shù)據(jù)包;
      (iii)Start = End , End =End + k,返回 4; 目宿端
      1.如果有來自信宿的ACK;
      如果是控制數(shù)據(jù)包,用于連接管理,則直接傳遞給網(wǎng)絡(luò)層,繼續(xù)等待;
      2.如果是來自信源的packet;
      (a)提取網(wǎng)絡(luò)編碼報頭中的Start,End,編碼向量;
      (b)將編碼向量加入到編碼矩陣中,求出編碼矩陣的秩;
      (C)如果編碼矩陣的秩不變,丟棄該數(shù)據(jù)包,同時從編碼矩陣中將該數(shù)據(jù)包的編碼系數(shù)刪除,向信源發(fā)送一個ACK;
      (d)如果編碼矩陣的秩Num增加I;
      (i)如果Num〈End- Start,將編碼數(shù)據(jù)包的數(shù)據(jù)部分加入到編碼窗口;
      (ii)如果Num= End - Start ,將編碼數(shù)據(jù)包的數(shù)據(jù)部分加入到編碼窗口,應(yīng)用高斯消去法,獲得原始數(shù)據(jù)包,將原始數(shù)據(jù)包傳遞給TCP窗口,然后清空編碼窗口 ;
      (iii)向網(wǎng)絡(luò)層發(fā)送一個ACK,生成的ACK包括序列號和NCheader,其中Num域是編碼矩陣的秩。以上內(nèi)容是結(jié)合具體的優(yōu)選實(shí)施方式對本發(fā)明所作的進(jìn)一步詳細(xì)說明,不能認(rèn)定本發(fā)明的具體實(shí)施只局限于這些說明。對于本發(fā)明所屬技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干簡單推演或替換,都應(yīng)當(dāng)視為屬于本發(fā)明的保護(hù)范圍。
      權(quán)利要求
      1.一種基于網(wǎng)絡(luò)編碼的傳輸控制協(xié)議的改進(jìn)方法,其特征在于 在傳輸層修改TCP協(xié)議的反饋機(jī)制,增加一個網(wǎng)絡(luò)編碼窗口,即傳輸層維護(hù)兩個窗口 TCP窗口和網(wǎng)絡(luò)編碼窗口 ;網(wǎng)絡(luò)編碼窗口接受TCP窗口數(shù)據(jù)包將其緩存到緩存區(qū),當(dāng)網(wǎng)絡(luò)編碼窗口收到若干數(shù)據(jù)包后,產(chǎn)生指定數(shù)目編碼數(shù)據(jù)包,將其傳遞到網(wǎng)絡(luò)層; 編碼數(shù)據(jù)包包括NC header、TCP header>DATA mixed,其中,NC header為網(wǎng)絡(luò)編碼報頭,TCP header為正常的TCP報頭,DATA mixed為編碼數(shù)據(jù); 網(wǎng)絡(luò)編碼報頭包括Start、End > Num> Coefficient,其中,Start表示參與編碼的原始數(shù)據(jù)包的起始序列號,End表示參與編碼的最后一個原始數(shù)據(jù)包的下一個數(shù)據(jù)包的序列號,Num表示這段數(shù)據(jù)已經(jīng)發(fā)送編碼數(shù)據(jù)包的次數(shù),Coefficient表示編碼向量; 編碼窗口的大小為B,B=m*k,其中m表示數(shù)據(jù)塊分成的小塊的個數(shù),k表示每個小塊包含的數(shù)據(jù)包數(shù),每個小塊最多傳輸t次,其中t = n/m,規(guī)定η = Β/ρ,ρ為從信源到信宿的丟包率; 信源端在網(wǎng)絡(luò)編碼窗口產(chǎn)生一個編碼數(shù)據(jù)包傳遞給網(wǎng)絡(luò)層,通過網(wǎng)絡(luò)發(fā)送到信宿端,當(dāng)信宿端收到了這個編碼數(shù)據(jù)包,提取NC header,然后,計算編碼矩陣的秩,并將秩作為Num域,連同start和end作為ACK的一部分發(fā)送出去,作為對剛收到的編碼數(shù)據(jù)包的反饋; 當(dāng)信宿端網(wǎng)絡(luò)編碼窗口某些塊的數(shù)據(jù)包能夠解碼時,傳遞給TCP窗口,同時清空網(wǎng)絡(luò)編碼窗口中的數(shù)據(jù)包,否則繼續(xù)緩存編碼數(shù)據(jù)包。
      2.根據(jù)權(quán)利要求I所述的基于網(wǎng)絡(luò)編碼的傳輸控制協(xié)議的改進(jìn)方法,其特征在于當(dāng)傳輸t次后,某小塊仍然不能解碼,令這個小塊的數(shù)據(jù)包和下一個小塊的數(shù)據(jù)包一起進(jìn)行編碼,當(dāng)傳輸2t次后,如果這兩個小塊也不能解碼,則將前三個小塊的數(shù)據(jù)包一起進(jìn)行編碼,傳輸3t次,以此類推,直至m個小塊也不能進(jìn)行解碼,以后就發(fā)送這m個小塊的編碼數(shù)據(jù)包。
      3.根據(jù)權(quán)利要求2所述的基于網(wǎng)絡(luò)編碼的傳輸控制協(xié)議的改進(jìn)方法,其特征在于如果某個或某些小塊能夠解碼,解碼后,發(fā)送下一個數(shù)據(jù)塊,此時,更新數(shù)據(jù)包序列號,設(shè)置Start=end, end = end+m, Num=O,重新發(fā)送新的數(shù)據(jù)塊。
      4.根據(jù)權(quán)利要求I所述的基于網(wǎng)絡(luò)編碼的傳輸控制協(xié)議的改進(jìn)方法,其特征在于信源端處理來自信源的數(shù)據(jù)包,來自接收端的ACK,計算發(fā)送數(shù)據(jù)包的起始序列號SEQ和Start的差值為Differ ; 1.設(shè)置Start= O, End = k, Num = O, k是每個小塊包含的數(shù)據(jù)包數(shù);
      2.當(dāng)如下事件發(fā)生時,處理事件,否則,等待;
      3.來自TCP源的要發(fā)送的數(shù)據(jù); (a)如果是請求連接的控制數(shù)據(jù)包,把它傳遞給網(wǎng)絡(luò)層,繼續(xù)等待; (b)如果是要傳輸?shù)脑紨?shù)據(jù)包,將該原始數(shù)據(jù)包存儲到網(wǎng)絡(luò)編碼窗口的緩存區(qū);
      4.如果網(wǎng)絡(luò)編碼窗口的緩存區(qū)中的數(shù)據(jù)包個數(shù)η彡End- Start,并且Num〈End-Start-I進(jìn)行如下操作,否則等待; (a)生成一個從Start到End的原始數(shù)據(jù)包的線性組合的編碼數(shù)據(jù)包; (b)Num++;并將Start、End和Num以及編碼系數(shù)組成一個編碼數(shù)據(jù)包報頭,將該報頭附到TCP報頭上,作為一個TCP數(shù)據(jù)包傳輸?shù)骄W(wǎng)絡(luò)層;
      5.如果網(wǎng)絡(luò)編碼窗口的緩存區(qū)中的數(shù)據(jù)包個數(shù)η彡End-Start,并且Num彡End-Start-1;(a)Start 不變,End = End+k ; (b)返回4;.6.如果是來自接收端的ACK,提取出Start, End和Num,查看接收端的系數(shù)矩陣的秩Num; (a)如果Num〈End- Start將TCP buffer中的序列號為Start + differ的原始數(shù)據(jù)包清除,返回4;(b)如果Num = End - Start; (i)清空網(wǎng)絡(luò)編碼窗口的緩存區(qū)中從Start到End的數(shù)據(jù)包; (ii)清除TCPbuffer中的序列號為start + differ原始數(shù)據(jù)包;(iii)Start = End , End =End + k,返回 4。 . 5.根據(jù)權(quán)利要求I所述的基于網(wǎng)絡(luò)編碼的傳輸控制協(xié)議的改進(jìn)方法,其特征在于信宿端 .1.如果有來自信宿的ACK; 如果是控制數(shù)據(jù)包,用于連接管理,則直接傳遞給網(wǎng)絡(luò)層,繼續(xù)等待; . 2.如果是來自信源的packet; (a)提取網(wǎng)絡(luò)編碼報頭中的Start,End,編碼向量; (b)將編碼向量加入到編碼矩陣中,求出編碼矩陣的秩; (C)如果編碼矩陣的秩不變,丟棄該數(shù)據(jù)包,同時從編碼矩陣中將該數(shù)據(jù)包的編碼系數(shù)刪除,向信源發(fā)送一個ACK; (d)如果編碼矩陣的秩Num增加I; (i)如果Num〈End- Start,將編碼數(shù)據(jù)包的數(shù)據(jù)部分加入到編碼窗口; (ii)如果Num= End - Start ,將編碼數(shù)據(jù)包的數(shù)據(jù)部分加入到編碼窗口,應(yīng)用高斯消去法,獲得原始數(shù)據(jù)包,將原始數(shù)據(jù)包傳遞給TCP窗口,然后清空編碼窗口 ; (iii)向網(wǎng)絡(luò)層發(fā)送一個ACK,生成的ACK包括序列號和NCheader,其中Num域是編碼矩陣的秩。
      全文摘要
      本發(fā)明提供了一種基于網(wǎng)絡(luò)編碼的傳輸控制協(xié)議的改進(jìn)方法。在傳輸層修改了TCP協(xié)議的反饋機(jī)制,增加一個網(wǎng)絡(luò)編碼窗口,即傳輸層維護(hù)兩個窗口TCP窗口和網(wǎng)絡(luò)編碼窗口。數(shù)據(jù)由應(yīng)用層產(chǎn)生,并自上而下傳遞到TCP窗口,網(wǎng)絡(luò)編碼窗口接受TCP窗口數(shù)據(jù)包將其緩存到緩存區(qū)。當(dāng)網(wǎng)絡(luò)編碼窗口收到若干數(shù)據(jù)包后,產(chǎn)生指定數(shù)目編碼數(shù)據(jù)包,將其傳遞到網(wǎng)絡(luò)層,最后底層發(fā)送。這樣能明顯降低數(shù)據(jù)包重傳的次數(shù),從而提高了網(wǎng)絡(luò)的吞吐量。
      文檔編號H04L1/16GK102904689SQ20121038909
      公開日2013年1月30日 申請日期2012年10月15日 優(yōu)先權(quán)日2012年10月15日
      發(fā)明者秦陽, 鐘曉雄 申請人:哈爾濱工業(yè)大學(xué)深圳研究生院
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1