本發(fā)明涉及水聲網(wǎng)絡(luò)領(lǐng)域,尤其涉及一種適用于水聲網(wǎng)絡(luò)的分布式競爭窗口接入方法。
背景技術(shù):
隨著科學技術(shù)的進步與發(fā)展,自上世紀中葉以來,海上軍事應(yīng)用產(chǎn)品以及海洋資源開發(fā)的需求不斷增加,導致對海洋的研發(fā)速度加快,且使得越來越多的科研成果投入到研發(fā)過程中。其中,水聲傳感器網(wǎng)絡(luò)的應(yīng)用變得日益廣泛,在海洋數(shù)據(jù)采樣、海嘯地震災難預警、搜救護航、海洋污染監(jiān)控、資源探測、潛艇隱藏與反潛、魚雷制導等方面發(fā)揮著重大作用。與成熟的陸上無線網(wǎng)絡(luò)不同,水聲傳感器網(wǎng)絡(luò)有著環(huán)境惡劣、可用帶寬窄、傳播時延長、信號衰減大、多徑明顯、多普勒頻移等特點。因此,陸上無線通信媒質(zhì)接入控制協(xié)議不能直接用于水聲傳感器網(wǎng)絡(luò)中。
作為水聲傳感器網(wǎng)絡(luò)的主要組成部分,媒體接入控制協(xié)議需要同時兼顧吞吐量、端到端時延和能耗等性能指標。因此,構(gòu)建一個可靠、高能效、高吞吐量和低時延的水聲傳感器網(wǎng)絡(luò)很有必要。對于有退避機制的媒質(zhì)接入控制協(xié)議,節(jié)點競爭窗口值設(shè)置的偏大或偏小都將影響網(wǎng)絡(luò)的吞吐量。例如在文獻《Parrish N,Tracy L,Roy S,et al.System design considerations for undersea networks:Link and multiple access protocols[J].Selected Areas in Communications,IEEE Journal on,2008,26(9):1720-1730》中所提出的CW-MAC協(xié)議,它是在ALOHA協(xié)議基礎(chǔ)上增加了載波偵聽機制,當有數(shù)據(jù)需要發(fā)送時,節(jié)點要先偵聽信道,當前信道空閑節(jié)點可以立即發(fā)送數(shù)據(jù);當前信道忙碌時,發(fā)送節(jié)點在零到最大競爭窗口值之間隨機選取一個整數(shù)值,再乘上設(shè)定的時隙,把相乘后的值作為退避計數(shù)器初始值進行退避。倒計時結(jié)束后進行數(shù)據(jù)包發(fā)送,在計時過程中,一旦檢測到信道忙碌即暫停計數(shù)器,當信道再次空閑時重啟計時器。網(wǎng)絡(luò)場景發(fā)現(xiàn)變化時,例如傳感器節(jié)點電源能量耗盡使得網(wǎng)絡(luò)節(jié)點變少,某些節(jié)點因脫離錨點而改變位置,和布置加入新的傳感節(jié)點等,由于它的競爭窗口長度是預設(shè)固定的,不能根據(jù)網(wǎng)絡(luò)場景動態(tài)調(diào)整競爭窗口的大小。對于競爭窗口固定的協(xié)議在長時延、高誤碼率、低帶寬的水聲通信中,有以下的不足:
(1)節(jié)點競爭窗口值設(shè)置的越大則該節(jié)點接入信道的概率越低,導致信道利用率低、網(wǎng)絡(luò)吞吐量下降以及時延較長。相反,節(jié)點競爭窗口值設(shè)置的越小則該節(jié)點接入信道的概率越高,但是會增大發(fā)生碰撞的概率。
(2)由于網(wǎng)絡(luò)中節(jié)點所處的地理位置和接收節(jié)點的距離各有差異,若各個節(jié)點設(shè)置相同的競爭窗口值,則會導致不能合理利用信道資源,且當網(wǎng)絡(luò)拓撲結(jié)構(gòu)發(fā)生變化時,系統(tǒng)也難以通過自我迭代調(diào)節(jié)達到新的最優(yōu)狀態(tài)。
技術(shù)實現(xiàn)要素:
為了克服現(xiàn)有技術(shù)存在的缺點與不足,本發(fā)明提供一種適用于水聲網(wǎng)絡(luò)的分布式競爭窗口接入方法,該方法具有更高的網(wǎng)絡(luò)吞吐量、更低的端到端時延、更低的平均能耗以及更高的單次發(fā)送成功率。
為解決上述技術(shù)問題,本發(fā)明提供如下技術(shù)方案:一種適用于水聲網(wǎng)絡(luò)的分布式競爭窗口接入方法,包括以下步驟:
S1、信道中存在待發(fā)送數(shù)據(jù)包的節(jié)點;
S2、待發(fā)送的節(jié)點檢測信道是否空閑,若信道空閑,則發(fā)送數(shù)據(jù)包;若信道忙碌,則進入退避階段;
S3、節(jié)點進入退避階段后,初始化水聲網(wǎng)絡(luò)中各個發(fā)送節(jié)點的競爭窗口值,并計算各個發(fā)送節(jié)點與接收節(jié)點之間的傳播時延;
S4、根據(jù)計算所得的傳播時延,計算各個發(fā)送節(jié)點的競爭窗口長度;
S5、將競爭窗口長度作為節(jié)點的退避時長,使用退避計數(shù)器計算退避時長,當退避計數(shù)器減到0時,節(jié)點發(fā)送數(shù)據(jù)包;
S6、完成發(fā)送數(shù)據(jù)包后,信道恢復到空閑狀態(tài)。
進一步地,所述步驟S3中的傳播時延的計算方法如下:
其中,D(I,R)表示節(jié)點I和R之間的傳播時延,TRTT表示往返時間RTT所需要的時間,Ti表示節(jié)點I從發(fā)送詢問包到收到節(jié)點R的應(yīng)答包之間的時間長度,Tr表示節(jié)點R收到節(jié)點I的詢問包到它發(fā)送應(yīng)答包之間的時間長度。
進一步地,所述步驟S4中的競爭窗口長度的計算方法為:
假設(shè)網(wǎng)絡(luò)中有n個發(fā)送節(jié)點均勻分布在半徑為A的圓形區(qū)域內(nèi),圓內(nèi)所有節(jié)點均互相可達,信號在圓形區(qū)域內(nèi)傳播速度不變,令速度集合為S={S1,S2,…,Sn},對應(yīng)發(fā)送節(jié)點到接收節(jié)點的傳播時延的集合為D={D1,D2,…,Dn},則發(fā)送節(jié)點到接收節(jié)點的平均傳播時延Davg為:
對于發(fā)送節(jié)點i的競爭窗口CWi長度為:
其中,α為形變因子。
進一步地,所述對于發(fā)送節(jié)點i的競爭窗口CWi,其調(diào)節(jié)流程為:
S41、初始化發(fā)送節(jié)點競爭窗口的值;
S42、用往返時間計算發(fā)送節(jié)點到接收節(jié)點的傳播時延;
S43、用傳播時延計算各個發(fā)送節(jié)點競爭窗口的值;
S44、重新設(shè)置各發(fā)送節(jié)點競爭窗口的值。
進一步地,所述形變因子α取值為1.25。
進一步地,所述傳播時延指發(fā)送節(jié)點到接收節(jié)點的傳播時延,發(fā)送節(jié)點到接收節(jié)點的不同距離表示其之間的傳播時延也是不同的,且所述傳播時延正比于兩節(jié)點之間的距離。
采用上述技術(shù)方案后,本發(fā)明至少具有如下有益效果:
1、本發(fā)明在網(wǎng)絡(luò)拓撲結(jié)構(gòu)發(fā)生變化時,系統(tǒng)能通過自我迭代調(diào)節(jié)到新的最優(yōu)狀態(tài),使能夠合理利用信道資源,且保持網(wǎng)絡(luò)吞吐量在較高水平。
2、本發(fā)明的水聲網(wǎng)絡(luò)中根據(jù)各個發(fā)送節(jié)點與接收節(jié)點的距離之間的差異,對各個發(fā)送節(jié)點設(shè)置不同的競爭窗口值,使得本發(fā)明具有更高的網(wǎng)絡(luò)吞吐量、更低的端到端時延、更低的平均能耗以及更高的單次發(fā)送成功率。
附圖說明
圖1為本發(fā)明一種適用于水聲網(wǎng)絡(luò)的分布式競爭窗口接入方法的星形網(wǎng)絡(luò)拓撲圖;
圖2為本發(fā)明一種適用于水聲網(wǎng)絡(luò)的分布式競爭窗口接入方法的步驟流程圖。
圖3為本發(fā)明一種適用于水聲網(wǎng)絡(luò)的分布式競爭窗口接入方法的用往返時間計算傳播時延圖。
圖4為本發(fā)明一種適用于水聲網(wǎng)絡(luò)的分布式競爭窗口接入方法的競爭窗口分布式接入方法的子流程圖。
具體實施方式
需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互結(jié)合,下面結(jié)合附圖和具體實施例對本申請作進一步詳細說明。
實施例
本發(fā)明采用的是星形匯聚網(wǎng)絡(luò)拓撲結(jié)構(gòu),如圖1所示,接收節(jié)點位于網(wǎng)絡(luò)分布區(qū)域中心,網(wǎng)絡(luò)中的發(fā)送節(jié)點均勻分布并能夠偵聽到其它節(jié)點的信號。
如圖2所示,本發(fā)明提供一種適用于水聲網(wǎng)絡(luò)的分布式競爭窗口接入方法,步驟如下:
S1、信道中存在待發(fā)送數(shù)據(jù)包的節(jié)點;
S2、待發(fā)送的節(jié)點檢測信道是否空閑,若信道空閑,則發(fā)送數(shù)據(jù)包;若信道忙碌,則進入退避階段;
S3、節(jié)點進入退避階段后,初始化水聲網(wǎng)絡(luò)中各個發(fā)送節(jié)點的競爭窗口值,并計算各個發(fā)送節(jié)點與接收節(jié)點之間的傳播時延;傳播時延具體指發(fā)送節(jié)點到接收節(jié)點的傳播時延,發(fā)送節(jié)點到接收節(jié)點的不同距離表示其之間的傳播時延也是不同的,且所述傳播時延正比于兩節(jié)點之間的距離;
S4、根據(jù)計算所得的傳播時延,計算各個發(fā)送節(jié)點的競爭窗口長度;
S5、將競爭窗口長度作為節(jié)點的退避時長,使用退避計數(shù)器計算退避時長,當退避計數(shù)器減到0時,節(jié)點發(fā)送數(shù)據(jù)包;
S6、完成發(fā)送數(shù)據(jù)包后,信道恢復到空閑狀態(tài)。
其中傳播時延的測定可以使用測量往返時間RTT(Round-Trip Time)的方法獲得。
如圖3所示,節(jié)點I發(fā)送一個詢問包后,同時保存自己的發(fā)包時間tsend(I|T=I),其中T=I表示在節(jié)點I時間軸上,節(jié)點R收到詢問包后,記下收包時間trece(I→R|T=R),然后發(fā)送應(yīng)答包,在應(yīng)答包中加入收包時間和發(fā)送時刻tsend(R|T=R)的兩個時刻的時間戳,節(jié)點I收到應(yīng)答包記錄收包時間trece(R→I|T=I),然后通過兩節(jié)點收發(fā)時刻相減可以算出圖3中時間間隔Tr和Ti,然后節(jié)點I和節(jié)點R之間的傳播時延就可采用以下方法計算:
其中,D(I,R)表示節(jié)點I和節(jié)點R之間的傳播時延,TRTT表示往返時間RTT所需要的時間,Ti表示節(jié)點I從發(fā)送詢問包到收到節(jié)點R的應(yīng)答包之間的時間長度,Tr表示節(jié)點R收到節(jié)點I的詢問包到它發(fā)送應(yīng)答包之間的時間長度。為使符號簡化表達,可令:Di=D(I,R)。
競爭窗口長度計算方法為:根據(jù)發(fā)送節(jié)點與接收節(jié)點之間的不同距離,制定一種發(fā)送節(jié)點分布式競爭窗口值的方法。假設(shè)網(wǎng)絡(luò)中有n個發(fā)送節(jié)點,其集合為S={S1,S2,…,Sn},發(fā)送節(jié)點到接收節(jié)點的傳播時延集合為D={D1,D2,…,Dn},則發(fā)送節(jié)點到接收節(jié)點的平均傳播時延為:
根據(jù)上文所述,對于距離接收節(jié)點近的發(fā)送節(jié)點,其競爭窗口值變小即可;反之距離接收節(jié)點較遠的發(fā)送節(jié)點,時使其競爭窗口的值變大。對于發(fā)送節(jié)點i可使其競爭窗口CWi滿足:
α為形變因子,取1.25。發(fā)送節(jié)點競爭窗口的調(diào)節(jié)流程。發(fā)送節(jié)點計算各自競爭窗口值的時候使用式(1)和式(2)。把優(yōu)化后的競爭窗口長度作為退避計數(shù)器的長度,當退避計數(shù)器減到0時,該節(jié)點發(fā)送數(shù)據(jù)包。
如圖4所示,發(fā)送節(jié)點競爭窗口的調(diào)節(jié)流程為:
1、初始化發(fā)送節(jié)點競爭窗口的值;
2、用往返時間計算發(fā)送節(jié)點到接受節(jié)點的傳播時延;
3、用傳播時延計算各個發(fā)送節(jié)點競爭窗口的值;
4、重新設(shè)置各發(fā)送節(jié)點競爭窗口的值。
盡管已經(jīng)示出和描述了本發(fā)明的實施例,對于本領(lǐng)域的普通技術(shù)人員而言,可以理解的是,在不脫離本發(fā)明的原理和精神的情況下可以對這些實施例進行多種等效的變化、修改、替換和變型,本發(fā)明的范圍由所附權(quán)利要求及其等同范圍限定。