国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于擁塞控制的無線傳感器網(wǎng)絡(luò)能耗優(yōu)化路由算法

2020-10-16 01:44李建坡張慶華張展圖尹月琴張華健
關(guān)鍵詞:緩沖區(qū)隊(duì)列數(shù)據(jù)包

李建坡,張慶華,張展圖,尹月琴,張華健

(1.東北電力大學(xué)電氣工程學(xué)院,吉林 吉林 132012;2.西安石油大學(xué),陜西 西安 710000;3.國(guó)網(wǎng)陜西省電力公司延安供電公司,陜西 延安 716000)

能耗優(yōu)化是無線傳感器網(wǎng)絡(luò)中的一項(xiàng)關(guān)鍵技術(shù),其中,合理的路由協(xié)議可以有效實(shí)現(xiàn)WSN能耗優(yōu)化[1-2].現(xiàn)有的分簇式路由協(xié)議多基于網(wǎng)絡(luò)層進(jìn)行能耗優(yōu)化設(shè)計(jì)[3],未考慮MAC(Medium Acess Control)層緩沖區(qū)隊(duì)列長(zhǎng)度等信息對(duì)路由的影響,忽略了擁塞問題,從而導(dǎo)致較高的分組丟失,并且會(huì)引發(fā)數(shù)據(jù)傳輸碰撞以及重傳,增加能量消耗.為了解決網(wǎng)絡(luò)擁塞對(duì)路由的影響,DPC(Distributed Power Control)協(xié)議[4]在路由中引入了數(shù)據(jù)包隊(duì)列觸發(fā)器,當(dāng)發(fā)生擁塞狀況后,節(jié)點(diǎn)會(huì)通過其控制數(shù)據(jù)包流,從而解決擁塞的問題;DCCA(Distributed Congestion Feedback Algorithm)協(xié)議[5]首先通過在MAC層増加擁塞監(jiān)控機(jī)制,在網(wǎng)絡(luò)層引入數(shù)據(jù)包控制方法,來決定如何對(duì)數(shù)據(jù)包進(jìn)行處理;ACSBMR(Energy-Balanced Multi-path Routing Protocol based on Ant Colony System)協(xié)議[6]在路由發(fā)現(xiàn)過程中,引入MAC層緩沖區(qū)隊(duì)列長(zhǎng)度信息,并且綜合考慮節(jié)點(diǎn)最小剩余能量、平均剩余能量、節(jié)點(diǎn)距離信息等因素作為啟發(fā)式函數(shù),使節(jié)點(diǎn)可以根據(jù)緩沖區(qū)的長(zhǎng)度動(dòng)態(tài)調(diào)節(jié)自身的路由路徑,但是該方法缺少擁塞檢測(cè)的機(jī)制,不能夠及時(shí)對(duì)網(wǎng)絡(luò)的擁塞情況作出準(zhǔn)確判斷.

綜上所述,針對(duì)路由算法中存在的擁塞問題,雖然提出了一些跨層擁塞控制方法,但是這些方法在對(duì)擁塞控制機(jī)制進(jìn)行研究的同時(shí),往往缺少對(duì)能耗方面的考慮,而且擁塞檢測(cè)過程較為復(fù)雜,在解決擁塞問題的同時(shí)產(chǎn)生了許多額外的能量開銷.本文通過網(wǎng)絡(luò)層與MAC層的跨層設(shè)計(jì)思想,提出了一種基于擁塞控制的無線傳感器網(wǎng)絡(luò)能耗優(yōu)化路由算法(CCERA),該算法提出了一種基于跨層設(shè)計(jì)的擁塞控制機(jī)制,引入MAC層緩沖區(qū)隊(duì)列長(zhǎng)度信息,利用數(shù)據(jù)傳輸前的信息交互過程檢測(cè)網(wǎng)絡(luò)中的擁塞問題并進(jìn)行擁塞解除.

1 WSN擁塞控制機(jī)制

擁塞控制是WSN中的一項(xiàng)關(guān)鍵技術(shù),通常擁塞控制包括三個(gè)步驟.

(1)擁塞檢測(cè)

(1)

(2)

(3)

(2)擁塞通告

顯示擁塞通告是將擁塞信息單獨(dú)成一類幀,CODA[8]協(xié)議(Congestion Detection and Avoidance)使用backpressure幀顯式通告.隱式擁塞通告是將擁塞信息捎帶在控制幀或普通分組里,在算法ESRT(Event-to-sink Reliable Transport)[9]中,當(dāng)檢測(cè)到子節(jié)點(diǎn)擁塞后,在相應(yīng)節(jié)點(diǎn)所發(fā)送的分組中將擁塞位設(shè)置為1,這樣即可傳遞擁塞信息.

(3)擁塞解除

CODA協(xié)議綜合了開閉環(huán)擁塞控制方法.傳輸路徑上某一個(gè)節(jié)點(diǎn)或區(qū)域檢測(cè)到擁塞后,采用開環(huán)逐級(jí)擁塞控制,擁塞區(qū)域或節(jié)點(diǎn)首先調(diào)整發(fā)送速率,收到擁塞信息的節(jié)點(diǎn)降低速率直到擁塞節(jié)點(diǎn)或區(qū)域不再存在擁塞狀況為止.CCF[10]協(xié)議(Congestion Control and Fairness)采用基于速率預(yù)分配方法.帶有擁塞信息的數(shù)據(jù)幀結(jié)構(gòu)示意圖,如圖1所示.在數(shù)據(jù)幀中加入擁塞位,即可判斷網(wǎng)絡(luò)是否處于擁塞狀態(tài).

圖1 帶有擁塞位的數(shù)據(jù)幀結(jié)構(gòu)圖

以上方案都可以有效避免WSN擁塞,但是這些方法不適合事件驅(qū)動(dòng)型的WSN,因?yàn)樵谔厥馐录尿?qū)動(dòng)下,需要數(shù)據(jù)及時(shí)發(fā)送出去,通過調(diào)節(jié)速率會(huì)影響消息地及時(shí)發(fā)送.同時(shí),這些方法也不適用于分簇式路由協(xié)議,此外擁塞的檢測(cè)過程中頻繁的信息交互會(huì)產(chǎn)生額外的能量消耗,并且檢測(cè)的實(shí)時(shí)性差,對(duì)緩沖區(qū)隊(duì)列的適應(yīng)性差.

2 基于擁塞控制的WSN跨層路由協(xié)議

2.1 基于緩沖區(qū)隊(duì)列長(zhǎng)度的擁塞檢測(cè)策略

在分簇式路由協(xié)議的簇間數(shù)據(jù)傳輸階段,如果多個(gè)簇頭都選擇同一個(gè)簇頭作為中繼節(jié)點(diǎn),那么就可能造成中繼節(jié)點(diǎn)因數(shù)據(jù)量過大導(dǎo)致緩沖區(qū)滿而丟失數(shù)據(jù)從而產(chǎn)生了擁塞問題.在簇頭節(jié)點(diǎn)收集完自身成員節(jié)點(diǎn)數(shù)據(jù)之后,再將數(shù)據(jù)發(fā)送給其下一跳節(jié)點(diǎn)或基站.為了在發(fā)送數(shù)據(jù)前對(duì)擁塞情況進(jìn)行判斷,利用數(shù)據(jù)傳輸前的控制信息交換階段來進(jìn)行擁塞檢測(cè).

提出的改進(jìn)策略是在節(jié)點(diǎn)發(fā)送RTS消息之前,先計(jì)算自身的緩沖區(qū)隊(duì)列長(zhǎng)度Lcur-i,然后將其記錄在RTS幀中并發(fā)送給通過比較轉(zhuǎn)發(fā)代價(jià)因子而選舉出的中繼節(jié)點(diǎn)j,中繼節(jié)點(diǎn)j收到RTS消息后,計(jì)算Lcur-j,然后再計(jì)算節(jié)點(diǎn)i和節(jié)點(diǎn)j的緩沖區(qū)隊(duì)列長(zhǎng)度之和

Lnew-j=Lcur-i+Lcur-j,

(4)

公式中:Lcur-i為簇頭i當(dāng)前緩沖區(qū)隊(duì)列長(zhǎng)度;Lcur-j為簇頭j當(dāng)前的緩沖區(qū)隊(duì)列長(zhǎng)度;Lnew-j為節(jié)點(diǎn)j的緩沖區(qū)隊(duì)列預(yù)計(jì)長(zhǎng)度,其含義為,如果i將數(shù)據(jù)全部傳輸之后,節(jié)點(diǎn)j的緩沖區(qū)隊(duì)列長(zhǎng)度將變?yōu)長(zhǎng)cur-i+Lcur-j.在計(jì)算完Lnew-j之后,開始進(jìn)行擁塞檢測(cè),如果

Lnew-j≤Lmax,

(5)

說明此時(shí)不會(huì)發(fā)生擁塞;反之,則會(huì)發(fā)生擁塞,其中Lmax為緩沖區(qū)隊(duì)列最大長(zhǎng)度.

但是,如果此時(shí)節(jié)j還沒有完成簇內(nèi)數(shù)據(jù)的收集工作,此時(shí),節(jié)點(diǎn)j內(nèi)的成員節(jié)點(diǎn)正在向j發(fā)送數(shù)據(jù),說明此時(shí)節(jié)點(diǎn)j的緩沖區(qū)隊(duì)列正在增長(zhǎng),也就說明根據(jù)Lj判斷此時(shí)節(jié)點(diǎn)j并不處于擁塞狀態(tài),但是在節(jié)點(diǎn)i向節(jié)點(diǎn)j發(fā)送數(shù)據(jù)的時(shí)候,節(jié)點(diǎn)j由于仍在收集數(shù)據(jù),可能會(huì)發(fā)生擁塞.所以這里引入一個(gè)擁塞指數(shù)

(6)

公式中:Llast-j為節(jié)點(diǎn)j在一個(gè)時(shí)隙Tslot之前的緩沖區(qū)長(zhǎng)度,擁塞指數(shù)ρ反映的是一段時(shí)間緩沖區(qū)長(zhǎng)度的變化率,在收到第一個(gè)RTS的時(shí)刻,計(jì)算一個(gè)時(shí)隙之前的緩沖區(qū)長(zhǎng)度Llast-j,并計(jì)算擁塞指數(shù).如果滿足ρ=0說明當(dāng)前緩沖區(qū)隊(duì)列長(zhǎng)度未發(fā)生變化,簇頭節(jié)點(diǎn)j已經(jīng)完成了簇內(nèi)的數(shù)據(jù)收集工作;如果ρ>0說明此時(shí)簇頭節(jié)點(diǎn)正在收集成員節(jié)點(diǎn)的數(shù)據(jù),簇頭節(jié)點(diǎn)i需要退避一段時(shí)間再發(fā)送RTS進(jìn)行擁塞檢測(cè),退避的時(shí)間表示為

Tbackoff=|ni-nj|·Tslot,

(7)

公式中:Tslot為一個(gè)時(shí)隙的時(shí)間;Tbackoff為退避時(shí)間;ni,nj為成員節(jié)點(diǎn)數(shù)目.在退避Tbackoff之后,再發(fā)送RTS給節(jié)點(diǎn)j進(jìn)行擁塞的檢測(cè).

通過上述過程,簇頭節(jié)點(diǎn)j完成了首次擁塞檢測(cè),并且在第一次檢測(cè)處于無擁塞狀態(tài)后將ρ更新為0.為了節(jié)約能量,簇頭需要收集所有其他簇頭轉(zhuǎn)發(fā)過來的數(shù)據(jù)后再發(fā)送給基站,所以在第一次擁塞檢測(cè)之后,如果檢測(cè)到此時(shí)節(jié)點(diǎn)處于無擁塞狀態(tài),即將當(dāng)前的緩沖區(qū)隊(duì)列長(zhǎng)度值更新為L(zhǎng)new-j,如果再有其他節(jié)點(diǎn)需向簇頭節(jié)點(diǎn)j發(fā)送數(shù)據(jù),節(jié)點(diǎn)j收到新的RTS后,在擁塞檢測(cè)的過程中,將新的Lcur-j作為當(dāng)前緩沖區(qū)隊(duì)列長(zhǎng)度.之后每收到一個(gè)新的簇頭節(jié)點(diǎn)發(fā)來的RTS,便將新的簇頭節(jié)點(diǎn)的緩沖區(qū)隊(duì)列長(zhǎng)度與當(dāng)前緩沖區(qū)隊(duì)列進(jìn)行求和,并作為新的Lcur-j用于下一個(gè)簇頭節(jié)點(diǎn)的擁塞檢測(cè).

通過以上方法,最終制定出一個(gè)基于緩沖區(qū)隊(duì)列長(zhǎng)度與擁塞指數(shù)的聯(lián)合擁塞檢測(cè)機(jī)制.

圖2 帶有擁塞位的CTS幀結(jié)構(gòu)圖

2.2 擁塞通告與擁塞解除階段

帶有擁塞位的CTS幀結(jié)構(gòu)圖,如圖2所示.CN即為加入的擁塞位,其他位與圖1的數(shù)據(jù)幀結(jié)構(gòu)類似.CN=0為無擁塞,CN=1為發(fā)生擁塞.這種擁塞通告方法不需要節(jié)點(diǎn)之間進(jìn)行頻繁的信息交互,而且不需要單獨(dú)發(fā)送擁塞信息,從而避免了由此產(chǎn)生的額外能量開銷.

源節(jié)點(diǎn)在收到帶有擁塞信息的CTS消息后,通過讀取擁塞位的數(shù)值判斷節(jié)點(diǎn)的擁塞狀態(tài).由于中繼節(jié)點(diǎn)是在得到所有來自上一跳數(shù)據(jù)后再把它們統(tǒng)一發(fā)給基站,所以調(diào)節(jié)傳輸速率無法解除擁塞,在檢測(cè)到擁塞后,源節(jié)點(diǎn)直接采用單跳的傳輸方式將數(shù)據(jù)發(fā)送給基站.擁塞控制機(jī)制流程圖,如圖3所示.

圖3 擁塞控制機(jī)制流程圖

3 仿真結(jié)果分析

本算法在NS2環(huán)境下進(jìn)行仿真,在100 m2×100 m2的區(qū)域內(nèi)(M=100 m),隨機(jī)部署100個(gè)節(jié)點(diǎn)(N=100),所有的節(jié)點(diǎn)初始能量是相等的(Emax=2J),每一輪每一個(gè)節(jié)點(diǎn)產(chǎn)生的數(shù)據(jù)包數(shù)目為20個(gè).

基于擁塞控制的無線傳感器網(wǎng)絡(luò)能耗優(yōu)化路由算法(CCERA)與其他算法在發(fā)送數(shù)據(jù)量上性能和生命周期的對(duì)比,如圖4所示.與LEACH和UCRA算法相比,本算法所發(fā)的數(shù)據(jù)包分別增加了約204.4%和139.2%,網(wǎng)絡(luò)生命周期分別延長(zhǎng)了約240.7%和104.9%;與FPCRA算法相比,雖然網(wǎng)絡(luò)生命周期縮短了約2.4%,但所發(fā)的數(shù)據(jù)包增加了約7.2%.

CCERA在存活節(jié)點(diǎn)數(shù)量和網(wǎng)絡(luò)生命周期方面性能對(duì)比,如圖5所示.與LEACH和UCRA算法相比,本算法的死亡節(jié)點(diǎn)出現(xiàn)時(shí)間分別推遲了100%、336.4%;與FPCRA算法相比,亡節(jié)點(diǎn)出現(xiàn)時(shí)間推遲了20%.這是因?yàn)樵诰W(wǎng)絡(luò)前期,簇頭數(shù)目較多,出現(xiàn)擁塞的總次數(shù)也在增加,用于解除擁塞從而提高數(shù)據(jù)包數(shù)量的能耗也在增加.在網(wǎng)絡(luò)的中后期,由于節(jié)點(diǎn)數(shù)目逐漸減少,簇頭數(shù)目也在逐漸減少,擁塞情況在逐漸降低,用于解除擁塞的能耗逐漸降低.所以,網(wǎng)絡(luò)生存總周期與FPCRA相差并不多.

圖4 數(shù)據(jù)包發(fā)送數(shù)量與生命周期上的對(duì)比 圖5 存活節(jié)點(diǎn)數(shù)量和網(wǎng)絡(luò)生命周期上的對(duì)比

當(dāng)部署的節(jié)點(diǎn)增加到200個(gè)時(shí),CCERA算法與其他算法在發(fā)送數(shù)據(jù)量上性能的對(duì)比,如圖6所示.與UCRA算法相比,本算法所發(fā)的數(shù)據(jù)包數(shù)目增加了約300%,與FPCRA算法相比,所發(fā)的數(shù)據(jù)包增加了約33%.從圖中可以看出,在200個(gè)節(jié)點(diǎn)的情況下,本文所提出的擁塞檢測(cè)策略更好地避免了擁塞情況的發(fā)生.

與UCRA算法相比,存活節(jié)點(diǎn)數(shù)量和網(wǎng)絡(luò)生命周期上的對(duì)比,如圖7所示.由圖7可知,本算法的網(wǎng)絡(luò)生命周期延長(zhǎng)了約83%;與FPCRA算法相比,本算法的網(wǎng)絡(luò)生命周期延長(zhǎng)了約16%.從圖7中可以看出,本算法提出的基于擁塞控制的簇間傳輸策略在區(qū)域中擁有更多節(jié)點(diǎn)的情況下,節(jié)能效果更明顯.

圖6 各算法在數(shù)據(jù)包發(fā)送數(shù)目上的對(duì)比 圖7 存活節(jié)點(diǎn)數(shù)量和網(wǎng)絡(luò)生命周期上的對(duì)比

4 總 結(jié)

本文提出了一種基于擁塞控制的無線傳感器網(wǎng)絡(luò)能耗優(yōu)化路由算法(CCERA),在基于緩沖區(qū)隊(duì)列長(zhǎng)度的擁塞檢測(cè)機(jī)制方面,通過跨層設(shè)計(jì)思想,在路由算法中引入MAC層緩沖區(qū)隊(duì)列長(zhǎng)度信息,提出了擁塞指數(shù)的概念來體現(xiàn)緩沖區(qū)隊(duì)列長(zhǎng)度的變化趨勢(shì),通過數(shù)據(jù)發(fā)送前的控制信息交換階段完成擁塞的檢測(cè);在擁塞通告與擁塞解除方面,本算法采用隱式擁塞通告方法以及單跳傳輸解除方法.仿真實(shí)驗(yàn)表明,本算法相比于LEACH、UCRA、FPCRA算法,數(shù)據(jù)包發(fā)送量至少提高了33%,網(wǎng)絡(luò)生命周期至少提高了16%.一定程度上解決了擁塞問題,并延長(zhǎng)了網(wǎng)絡(luò)的生命周期.

猜你喜歡
緩沖區(qū)隊(duì)列數(shù)據(jù)包
二維隱蔽時(shí)間信道構(gòu)建的研究*
民用飛機(jī)飛行模擬機(jī)數(shù)據(jù)包試飛任務(wù)優(yōu)化結(jié)合方法研究
隊(duì)列隊(duì)形體育教案
隊(duì)列里的小秘密
基于多隊(duì)列切換的SDN擁塞控制*
C#串口高效可靠的接收方案設(shè)計(jì)
緩沖區(qū)溢出漏洞攻擊及其對(duì)策探析
青春的頭屑
初涉緩沖區(qū)
本期導(dǎo)讀