一種基于網(wǎng)絡(luò)編碼的無線網(wǎng)狀網(wǎng)絡(luò)介質(zhì)訪問控制方法
【專利摘要】本發(fā)明公開了一種基于網(wǎng)絡(luò)編碼的無線網(wǎng)狀網(wǎng)絡(luò)介質(zhì)訪問控制方法,該方法包含的步驟有:數(shù)據(jù)包接收階段、數(shù)據(jù)包發(fā)送階段、ACK監(jiān)聽階段。本協(xié)議在介質(zhì)訪問控制層中引入了網(wǎng)絡(luò)編碼機(jī)制,比傳統(tǒng)基于沖突避免的介質(zhì)訪問控制方法有較大的吞吐提升;該方法解碼成功率高,控制開銷少,硬件消耗計(jì)算消耗低,移植性強(qiáng),兼容性好,從另外一個(gè)角度,部分解決了網(wǎng)絡(luò)擁塞問題。
【專利說明】一種基于網(wǎng)絡(luò)編碼的無線網(wǎng)狀網(wǎng)絡(luò)介質(zhì)訪問控制方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及無線網(wǎng)絡(luò)【技術(shù)領(lǐng)域】,具體涉及一種基于網(wǎng)絡(luò)編碼的無線網(wǎng)絡(luò)介質(zhì)訪問控制方法,適用于以提供高吞吐量為服務(wù)目的的無線網(wǎng)狀網(wǎng)絡(luò)。
【背景技術(shù)】
[0002]如何提高數(shù)據(jù)吞吐量是無線網(wǎng)狀網(wǎng)絡(luò)的重點(diǎn)研究課題。在信道介質(zhì)資源有限的情況下,為接入設(shè)備提供高帶寬高吞吐優(yōu)質(zhì)的數(shù)據(jù)傳輸服務(wù),對(duì)無線網(wǎng)狀網(wǎng)絡(luò)的物理層、介質(zhì)訪問控制層提出較高要求。同時(shí),無線網(wǎng)狀網(wǎng)絡(luò)的組網(wǎng)設(shè)備一般價(jià)格低廉,數(shù)據(jù)緩存能力、運(yùn)算處理能力有限,在這樣苛刻的硬件條件下,保證介質(zhì)訪問控制方法高效穩(wěn)定運(yùn)行同樣是一個(gè)關(guān)鍵性問題。由于網(wǎng)絡(luò)編碼對(duì)吞吐量提升有顯著作用,另外,網(wǎng)絡(luò)編碼需要額外的硬件資源,所以,基于網(wǎng)絡(luò)編碼兼具穩(wěn)定性擴(kuò)展性的無線網(wǎng)狀網(wǎng)絡(luò)介質(zhì)訪問控制方法是一個(gè)突破口。
[0003]無線網(wǎng)狀網(wǎng)絡(luò)在近些年有了廣泛應(yīng)用。主要為企業(yè)、學(xué)校、商場(chǎng)、車站等人員密集場(chǎng)所提供無線網(wǎng)絡(luò)接入解決方案。其主要特征在于部署便捷、成本低廉、自動(dòng)組網(wǎng)、擴(kuò)展性高。在有線網(wǎng)絡(luò)部署困難,擴(kuò)展性無法保證的情況下,使用無線網(wǎng)狀網(wǎng)絡(luò)替代底層基礎(chǔ)設(shè)施,是最簡(jiǎn)單有效的辦法。利用無線網(wǎng)狀網(wǎng)絡(luò)提供互聯(lián)網(wǎng)接入服務(wù)的關(guān)鍵在于,如何為眾多無線終端提供高吞吐、穩(wěn)定的數(shù)據(jù)傳輸機(jī)制?,F(xiàn)有技術(shù)中,為了提高無線網(wǎng)狀網(wǎng)絡(luò)的數(shù)據(jù)吞吐量,主要有以下幾種研究:
[0004]第一類:物理層更高帶寬;該方法的缺點(diǎn)是通過硬件技術(shù),提高單頻帶寬或多頻復(fù)用,技術(shù)難度大,增加了無線接入設(shè)備價(jià)格,對(duì)終端設(shè)備要求高,屬于一種治標(biāo)不治本的解決辦法。同時(shí)高頻通信、多頻通信,換取吞吐量的代價(jià)是無線信號(hào)空間的電磁污染。
[0005]第二類:網(wǎng)絡(luò)層機(jī)會(huì)路由;該方法的缺點(diǎn)是額外通信開銷大,控制復(fù)雜,實(shí)現(xiàn)難度大。路由協(xié)議一般工作在網(wǎng)絡(luò)層,機(jī)會(huì)路由正常工作使用的控制信息需要額外傳輸來完成,這導(dǎo)致數(shù)據(jù)鏈路層付出了額外開銷。而且機(jī)會(huì)路由實(shí)現(xiàn)起來技術(shù)難度大,對(duì)硬件資源的消耗還沒有詳盡的研究。
[0006]第三類:更嚴(yán)格的介質(zhì)訪問控制方法;該類方法的缺點(diǎn)是要求無線網(wǎng)狀網(wǎng)絡(luò)節(jié)點(diǎn)與節(jié)點(diǎn)之間達(dá)到一定程度的默契,也就是說彼此知道對(duì)方即將做什么,節(jié)點(diǎn)之間時(shí)鐘同步要求極高。而且,一旦網(wǎng)絡(luò)中某個(gè)設(shè)備出現(xiàn)問題,與其合作的其他設(shè)備也將面臨同樣問題。網(wǎng)絡(luò)普適性、魯棒性、擴(kuò)展性都存在問題。
[0007]第四類:網(wǎng)絡(luò)層加入網(wǎng)絡(luò)編碼機(jī)制;該類方法的缺點(diǎn)是網(wǎng)絡(luò)編碼獨(dú)立于介質(zhì)訪問控制層和TCP層,需要使用額外的無線廣播協(xié)議來提供可靠的廣播服務(wù)。同時(shí),這類方法會(huì)在網(wǎng)絡(luò)中制造范圍更大的虛擬瓶頸節(jié)點(diǎn),導(dǎo)致大范圍網(wǎng)絡(luò)擁塞。而且,網(wǎng)絡(luò)層的擁塞控制理論,會(huì)導(dǎo)致這類方法無法正常工作。另外,這類方法也很少考慮對(duì)硬件資源的消耗,實(shí)現(xiàn)起來技術(shù)難度大,設(shè)備適應(yīng)性差。
[0008]獨(dú)立于介質(zhì)訪問控制層和TCP層的網(wǎng)絡(luò)編碼機(jī)制,每個(gè)節(jié)點(diǎn)都要機(jī)會(huì)監(jiān)聽鄰居節(jié)點(diǎn)廣播的數(shù)據(jù)包,放在自己的緩存內(nèi),以備解碼時(shí)使用。這樣做帶來的缺陷主要有:1)無節(jié)制的監(jiān)聽鄰居數(shù)據(jù)包對(duì)本地緩存消耗是災(zāi)難性的。其緩存消耗除了鏈路負(fù)載外,還受鄰居個(gè)數(shù)影響。而且這些監(jiān)聽到的數(shù)據(jù)包是否會(huì)被利用也是未知數(shù)。吞吐量提升付出的機(jī)會(huì)成本太高,應(yīng)用不確定性高,可控性差。2)節(jié)點(diǎn)預(yù)測(cè)鄰居是否緩存了某個(gè)數(shù)據(jù)包,主要依據(jù)鏈路傳輸成功率ETX指標(biāo)進(jìn)行概率估計(jì)。根據(jù)ROC校驗(yàn)理論,其使用的估計(jì)模型都有固定的錯(cuò)誤率。在節(jié)點(diǎn)數(shù)量高,終端設(shè)備多,通信干擾大,無線鏈路質(zhì)量較差的情況下,此固定錯(cuò)誤率會(huì)導(dǎo)致相當(dāng)一部分編碼包不能被正確解碼,從而浪費(fèi)了更多硬件資源和信道資源。3)這種機(jī)制通常追求每次編碼都將盡可能多的數(shù)據(jù)包編在一次,以減少單個(gè)節(jié)點(diǎn)的廣播次數(shù)。但這種做法在實(shí)際中并不合適。一來未必所有的目標(biāo)節(jié)點(diǎn)都能正確解碼,二來可靠的廣播協(xié)議在目的節(jié)點(diǎn)多的時(shí)候,往往會(huì)限制更大范圍內(nèi)的節(jié)點(diǎn)通信,造成整片區(qū)域信道利用率低下。
【發(fā)明內(nèi)容】
[0009]基于網(wǎng)絡(luò)編碼的無線網(wǎng)狀網(wǎng)絡(luò)介質(zhì)訪問控制方法與通常的介質(zhì)訪問控制方法顯著不同,針對(duì)現(xiàn)有無線網(wǎng)狀網(wǎng)絡(luò)介質(zhì)訪問控制方法在吞吐量提升能力上的不足和網(wǎng)絡(luò)層引入編碼機(jī)制的諸多缺陷,本發(fā)明提出一種高吞吐、低消耗,兼具普適性魯棒性的介質(zhì)訪問控制方法。
[0010]為了實(shí)現(xiàn)上述任務(wù),本發(fā)明采用的技術(shù)方案是: [0011]一種基于網(wǎng)絡(luò)編碼的無線網(wǎng)狀網(wǎng)絡(luò)介質(zhì)訪問控制方法,在該無線網(wǎng)狀網(wǎng)絡(luò)中,當(dāng)一個(gè)節(jié)點(diǎn)收到鄰居節(jié)點(diǎn)發(fā)來的一個(gè)數(shù)據(jù)包后,判斷該數(shù)據(jù)包是普通數(shù)據(jù)包還是編碼數(shù)據(jù)包:
[0012]如果是編碼數(shù)據(jù)包,則對(duì)該編碼數(shù)據(jù)包進(jìn)行解碼,解碼成功得到需要的普通數(shù)據(jù)包,解碼不成功則丟棄該編碼數(shù)據(jù)包;
[0013]如果是普通數(shù)據(jù)包,則判斷該普通數(shù)據(jù)包是否達(dá)到編碼數(shù)據(jù)包的生成條件,如達(dá)到則對(duì)其進(jìn)行編碼,并將編碼后的得到的編碼數(shù)據(jù)包向鄰居節(jié)點(diǎn)廣播;
[0014]編碼數(shù)據(jù)包的生成條件及編碼過程如下:
[0015]在該無線網(wǎng)狀網(wǎng)絡(luò)中,節(jié)點(diǎn)A至少有兩個(gè)鄰居節(jié)點(diǎn),設(shè)初始時(shí)刻節(jié)點(diǎn)A的轉(zhuǎn)發(fā)隊(duì)列為空,則從初始時(shí)刻開始:節(jié)點(diǎn)A收到鄰居節(jié)點(diǎn)發(fā)來的一個(gè)普通數(shù)據(jù)包p2后,在轉(zhuǎn)發(fā)隊(duì)列中尋找一個(gè)普通數(shù)據(jù)包Pl,如果存在Pl同時(shí)滿足公式I和公式2,則將pl和p2編碼成為編碼數(shù)據(jù)包P ;
【權(quán)利要求】
1.一種基于網(wǎng)絡(luò)編碼的無線網(wǎng)狀網(wǎng)絡(luò)介質(zhì)訪問控制方法,其特征在于,在該無線網(wǎng)狀網(wǎng)絡(luò)中,當(dāng)一個(gè)節(jié)點(diǎn)收到鄰居節(jié)點(diǎn)發(fā)來的一個(gè)數(shù)據(jù)包后,判斷該數(shù)據(jù)包是普通數(shù)據(jù)包還是編碼數(shù)據(jù)包: 如果是編碼數(shù)據(jù)包,則對(duì)該編碼數(shù)據(jù)包進(jìn)行解碼,解碼成功得到需要的普通數(shù)據(jù)包,解碼不成功則丟棄該編碼數(shù)據(jù)包; 如果是普通數(shù)據(jù)包,則判斷該普通數(shù)據(jù)包是否達(dá)到編碼數(shù)據(jù)包的生成條件,如達(dá)到則對(duì)其進(jìn)行編碼,并將編碼后的得到的編碼數(shù)據(jù)包向鄰居節(jié)點(diǎn)廣播;如不能達(dá)到生成條件,則將該普通數(shù)據(jù)包按照802.11協(xié)議進(jìn)行轉(zhuǎn)發(fā); 編碼數(shù)據(jù)包的生成條件及編碼過程如下: 在該無線網(wǎng)狀網(wǎng)絡(luò)中,節(jié)點(diǎn)A至少有兩個(gè)鄰居節(jié)點(diǎn),設(shè)初始時(shí)刻節(jié)點(diǎn)A的轉(zhuǎn)發(fā)隊(duì)列為空,則從初始時(shí)刻開始:節(jié)點(diǎn)A收到鄰居節(jié)點(diǎn)發(fā)來的一個(gè)普通數(shù)據(jù)包p2后,在轉(zhuǎn)發(fā)隊(duì)列中尋找一個(gè)普通數(shù)據(jù)包pl,如果存在Pl同時(shí)滿足公式I和公式2,則將pi和p2編碼成為編碼數(shù)據(jù)包P ;
2.如權(quán)利要求1所述的基于網(wǎng)絡(luò)編碼的無線網(wǎng)狀網(wǎng)絡(luò)介質(zhì)訪問控制方法,其特征在于,所述的普通數(shù)據(jù)包Pl和Ρ2經(jīng)過亦或運(yùn)算編碼成為編碼數(shù)據(jù)包P,具體為: 將普通數(shù)據(jù)包Ρ2目的主機(jī)MAC地址和pl目的主機(jī)MAC地址做亦或運(yùn)算,所得結(jié)果填入Pl的目的主機(jī)MAC字段;將普通數(shù)據(jù)包p2源主機(jī)MAC地址和pl源主機(jī)MAC地址做亦或運(yùn)算,所得結(jié)果填入Pl的源主機(jī)MAC字段;將?2的數(shù)據(jù)部分和pl的數(shù)據(jù)部分做亦或運(yùn)算,所得結(jié)果填入Pl的數(shù)據(jù)部分字段;如果Pl和P2的數(shù)據(jù)部分長(zhǎng)度不一致,則將長(zhǎng)度較短的一方尾部填O補(bǔ)位,生成的新的數(shù)據(jù)包為編碼數(shù)據(jù)包P。
3.如權(quán)利要求1所述的基于網(wǎng)絡(luò)編碼的無線網(wǎng)狀網(wǎng)絡(luò)介質(zhì)訪問控制方法,其特征在于,在該無線網(wǎng)狀網(wǎng)絡(luò)中,每個(gè)節(jié)點(diǎn)中均設(shè)置有資源隊(duì)列,當(dāng)節(jié)點(diǎn)將一個(gè)普通數(shù)據(jù)包成功發(fā)送給另一個(gè)節(jié)點(diǎn)后,將該普通數(shù)據(jù)包從轉(zhuǎn)發(fā)隊(duì)列移入到資源隊(duì)列中,并為該普通數(shù)據(jù)包啟動(dòng)一個(gè)倒計(jì)時(shí)器,倒計(jì)時(shí)器初始值為Θ,倒計(jì)時(shí)器歸零后,將該普通數(shù)據(jù)包從資源隊(duì)列移除。
4.如權(quán)利要求3所述的基于網(wǎng)絡(luò)編碼的無線網(wǎng)狀網(wǎng)絡(luò)介質(zhì)訪問控制方法,其特征在于,當(dāng)節(jié)點(diǎn)收到一個(gè)編碼數(shù)據(jù)包后,對(duì)其進(jìn)行解碼操作:節(jié)點(diǎn)從自己的資源隊(duì)列中尋找與收到的編碼數(shù)據(jù)包對(duì)應(yīng)的普通數(shù)據(jù)包,將找到的普通數(shù)據(jù)包和收到的編碼數(shù)據(jù)包進(jìn)行亦或運(yùn)算,得到需要的普通數(shù)據(jù)包。
5.如權(quán)利要求1所述的基于網(wǎng)絡(luò)編碼的無線網(wǎng)狀網(wǎng)絡(luò)介質(zhì)訪問控制方法,其特征在于,所述的節(jié)點(diǎn)A生成編碼數(shù)據(jù)包P后,對(duì)P進(jìn)行廣播的步驟如下: 步驟SI,創(chuàng)建廣播RTS幀,將普通數(shù)據(jù)包pl、p2的下一跳節(jié)點(diǎn)的MAC地址寫入RTS幀中,并確定信道占用時(shí)長(zhǎng)Tb,將Tb添加到廣播RTS幀的通信時(shí)間字段,Tb計(jì)算方法如下:
Tb = 5 X SIFS+ (82+L) X t0 (公式 3) 公式3中,SIFS為802.11協(xié)議規(guī)定的最短等待時(shí)間常數(shù),L為編碼數(shù)據(jù)包p的長(zhǎng)度,h為傳輸一個(gè)字節(jié)所需要的時(shí)間,由鏈路帶寬決定; 步驟S2,節(jié)點(diǎn)A廣播RTS幀申請(qǐng)信道; 步驟S3,鄰居節(jié)點(diǎn)收到RTS幀后,確定自己回復(fù)RTS幀的等待時(shí)間Tcts,并在等待時(shí)間后回復(fù)CTS幀給節(jié)點(diǎn)A ;Tcts計(jì)算方法如下:
【文檔編號(hào)】H04L1/00GK103957085SQ201410216133
【公開日】2014年7月30日 申請(qǐng)日期:2014年5月21日 優(yōu)先權(quán)日:2014年5月21日
【發(fā)明者】李海濤, 陳曉江, 房鼎益, 劉晨, 徐丹, 王薇, 尹小燕, 郭軍 申請(qǐng)人:西北大學(xué)