欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

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

文檔序號(hào):7862819閱讀:300來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):基于網(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)存儲(chǔ)轉(zhuǎn)發(fā)的路由方法基礎(chǔ)上,接收節(jié)點(diǎn)對(duì)接收的多個(gè)數(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ā)、分布式文件存儲(chǔ)和網(wǎng)絡(luò)安全等領(lǐng)域。TCP (傳輸控制協(xié)議)是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議。TCP在保證可靠性上,采用超時(shí)重傳和捎帶確認(rèn)機(jī)制。 由于無(wú)線鏈路的網(wǎng)絡(luò)狀況比較差,丟包率比較高,應(yīng)用傳統(tǒng)的TCP協(xié)議,需要重傳大量的數(shù)據(jù)包,有時(shí)某些數(shù)據(jù)包已經(jīng)被信宿收到了,但是從信宿傳到信源的ACK (確認(rèn)字符)傳輸失敗,信源需要重傳同樣的數(shù)據(jù)包,浪費(fèi)了帶寬。因此在無(wú)線網(wǎng)絡(luò)中應(yīng)用TCP協(xié)議效果并不好,為了改善TCP協(xié)議的質(zhì)量,在傳輸層采用網(wǎng)絡(luò)編碼進(jìn)行數(shù)據(jù)包的傳輸。通過(guò)在傳輸層增加一個(gè)編碼窗口,可以改善網(wǎng)絡(luò)吞吐量,減少網(wǎng)絡(luò)傳輸?shù)拇螖?shù)。

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