蔣 禧, 齊建東, 曹永潔, 趙燕東
(1.北京林業(yè)大學(xué)信息學(xué)院,北京100083;2.北京林業(yè)大學(xué)工學(xué)院,北京100083)
隨著無線傳感器網(wǎng)絡(luò)規(guī)模的不斷升級以及人們對圖像、視頻、語音等多媒體數(shù)據(jù)傳輸需求的增多,高密度、大規(guī)模部署的無線傳感器網(wǎng)絡(luò)和無線多媒體傳感器網(wǎng)絡(luò)(wirelessmultimedia sensor network,WMSN)應(yīng)運而生[1]。較單純傳輸文本類型數(shù)據(jù)的“傳統(tǒng)”WSN而言,高密度、大規(guī)模部署的無線傳感器網(wǎng)絡(luò)和無線多媒體傳感器網(wǎng)絡(luò)關(guān)注點側(cè)重在網(wǎng)絡(luò)瞬時的大量數(shù)據(jù)以及圖像、視頻、音頻等多媒體數(shù)據(jù)的傳輸上。節(jié)點在大數(shù)據(jù)量傳輸?shù)倪^程中,不可避免地會發(fā)生網(wǎng)絡(luò)擁塞,從而導(dǎo)致丟包率增加、時延加劇、能耗劇增等現(xiàn)象,影響網(wǎng)絡(luò)的穩(wěn)定性和可靠性。所以,大規(guī)模無線傳感器網(wǎng)絡(luò)和無線多媒體傳感器網(wǎng)絡(luò)中如何緩解網(wǎng)絡(luò)擁塞、減少節(jié)點能耗、提高網(wǎng)絡(luò)生存壽命成為了當(dāng)前研究中亟需解決的熱點問題之一。
無線傳感器網(wǎng)絡(luò)擁塞控制機制的引入就是為了保證網(wǎng)絡(luò)傳輸?shù)目煽啃?、穩(wěn)定性和時延性等特點,目前研究的算法已較多。ESRT[2]是一種基于節(jié)點本地緩沖監(jiān)測的擁塞檢測機制,根據(jù)網(wǎng)絡(luò)的當(dāng)前狀態(tài)調(diào)整節(jié)點傳輸速率,該算法的缺點在于需要Sink節(jié)點具有覆蓋整個網(wǎng)絡(luò)的通信能力,且對網(wǎng)絡(luò)所有節(jié)點采用全局統(tǒng)一的速率調(diào)整方案,故不適合WSN節(jié)點的大規(guī)模部署。由C.Wan等人提出的CODA[3]是一種能源有效的擁塞控制模式,節(jié)點通過周期性的查看信道負(fù)載以及緩沖區(qū)占用率來檢測擁塞,使用逐跳速率控制以及閉環(huán)的調(diào)節(jié)的方式來緩解擁塞。Fusion[4]采用了跨層的設(shè)計來應(yīng)對擁塞,它包含了3種機制:Hop-by-Hop的流量控制、速率限制和帶優(yōu)先級的MAC層處理,每個節(jié)點在發(fā)送數(shù)據(jù)包的包頭設(shè)置了一個擁塞位,通過檢查緩沖區(qū)隊列長度和信道采樣來監(jiān)測擁塞,一旦節(jié)點監(jiān)測到擁塞發(fā)生,就通過擁塞位廣播擁塞信息。Fusion采用令牌桶的方式進(jìn)行速率限制,可以有效地保證各節(jié)點間發(fā)送速率的公平性。RCRT[5]是一種提供可靠保證和擁塞控制的傳輸協(xié)議,它讓整個網(wǎng)絡(luò)的擁塞檢測在Sink端進(jìn)行,并由Sink端發(fā)送全網(wǎng)的速率調(diào)節(jié)信息。但是,在大范圍的網(wǎng)絡(luò)中,遠(yuǎn)端節(jié)點到Sink節(jié)點的報文延時較大,當(dāng)Sink節(jié)點接收到遠(yuǎn)端的擁塞信息時再發(fā)回控制速率控制報文時,遠(yuǎn)端節(jié)點的擁塞可能已經(jīng)緩解或者進(jìn)一步惡化,這種機制在擁塞控制的準(zhǔn)確性和時效性上會大打折扣。
目前,大多數(shù)網(wǎng)絡(luò)擁塞控制機制主要集中于對源節(jié)點發(fā)射速率進(jìn)行調(diào)節(jié)的思想。本文提出了一種能量優(yōu)先的無線傳感器網(wǎng)絡(luò)擁塞緩解機制,通過對擁塞節(jié)點的前一跳節(jié)點進(jìn)行路徑分流調(diào)節(jié)的思想以緩解網(wǎng)絡(luò)中的擁塞狀況。在路徑選擇的過程中,加入了對節(jié)點剩余能量狀況的考慮。它克服了速率調(diào)節(jié)機制運算復(fù)雜度較高及權(quán)值累加路徑分流機制無法統(tǒng)一單位化的缺點,采用擁塞度和剩余能量順序判斷的方法,降低節(jié)點能耗,延長網(wǎng)絡(luò)生存壽命。本文采用OMNET++仿真工具進(jìn)行仿真研究,結(jié)果證明了該機制的有效性。
本文提出一種能量優(yōu)先的擁塞緩解機制(priorityofenergy congestion relief mechanism,PECR),包含兩個部分:①擁塞檢測;②分流調(diào)節(jié)。過程如下:首先,節(jié)點周期性地計算本地緩沖區(qū)隊列使用情況,得出節(jié)點當(dāng)前時間t的擁塞度Ct(i)(i為節(jié)點編號),并將當(dāng)前的擁塞度Ct(i)和剩余能量Pt(i)向其上游節(jié)點反饋,上游節(jié)點比較其所有可轉(zhuǎn)發(fā)數(shù)據(jù)包的下游節(jié)點的擁塞度Ct(i)和剩余能量Pt(i)值。比較擁塞度是為了避免新路徑建立以后形成新的擁塞,比較剩余能量值是為了避免新路徑建立以后該鏈路由于能量不足而失效。如果當(dāng)前搜索到的節(jié)點滿足條件,即擁塞度C小于設(shè)定的閾值,剩余能量P大于設(shè)定的閾值,則可以作為新路徑的一跳。然后,從該節(jié)點開始按照同樣的方法繼續(xù)搜尋下一跳節(jié)點,直至建立起一條完整的從擁塞端前一節(jié)點到Sink節(jié)點的路徑。
有效的擁塞檢測策略是網(wǎng)絡(luò)擁塞控制機制的一個關(guān)鍵部分。當(dāng)前比較普遍的檢測方法是基于信道采樣和緩沖區(qū)占用的方法[6]。信道采樣是指節(jié)點通過監(jiān)聽信道是否空閑來判斷擁塞,該方法可以獲知信道的繁忙程度,但增加了能量的消耗,并可能導(dǎo)致對擁塞程度的不恰當(dāng)估計,比如當(dāng)節(jié)點緩沖區(qū)內(nèi)只有幾個數(shù)據(jù)包待發(fā)送時,而信道采樣值卻超過了一定的閾值,此時的擁塞可能是暫時的或者根本不會發(fā)生,但是擁塞反饋機制卻可能引起上游節(jié)點的一系列速率調(diào)節(jié)或者分流傳輸操作,導(dǎo)致整個網(wǎng)絡(luò)的吞吐量發(fā)生頻繁的震蕩,不利于網(wǎng)絡(luò)的穩(wěn)定傳輸。文獻(xiàn)[7]表明,當(dāng)網(wǎng)絡(luò)負(fù)載增加時,基于節(jié)點緩沖區(qū)隊列使用情況的擁塞檢測要好于基于信道采樣的擁塞檢測。
考慮到節(jié)點擁塞檢測的有效性,本文提出的擁塞檢測的基本思想為:節(jié)點每隔的時間(為一個檢測周期)檢測本地緩沖隊列的使用情況,定義為
在網(wǎng)絡(luò)流量不發(fā)生異常變動的情況下,可以預(yù)測在下一時刻tk+1,節(jié)點緩沖區(qū)的增量
在本擁塞檢測機制中,通過上一檢測周期數(shù)據(jù)增量對下一周期的緩沖區(qū)占用進(jìn)行預(yù)測的方式,在k時刻,節(jié)點檢測到的擁塞度就必須將此增量情況考慮在內(nèi),節(jié)點i在k時刻的擁塞度C定義為
則推測在第k+1個間隔內(nèi)節(jié)點i將發(fā)生網(wǎng)絡(luò)擁塞。為緩沖區(qū)擁塞的閾值,取值范圍為0到1。
閾值 決定著無線傳感器網(wǎng)絡(luò)擁塞檢測的準(zhǔn)確度和擁塞緩解的效率。如果 值過小,節(jié)點可能在緩沖區(qū)占用率還很低的情況下就報告擁塞,引起下一步的分流調(diào)節(jié)機制,影響對最佳路徑的使用,從而耗費網(wǎng)絡(luò)能量,降低網(wǎng)絡(luò)生存壽命;如果值過大,節(jié)點會對網(wǎng)絡(luò)的擁塞狀況無法做出迅速地反應(yīng),導(dǎo)致緩沖區(qū)隊列溢出,造成大量數(shù)據(jù)包不必要的丟失,影響網(wǎng)絡(luò)傳輸質(zhì)量。在確定一個 優(yōu)化值滿足一個特定目標(biāo)之前,必須綜合考慮節(jié)點緩沖區(qū)隊列大小、網(wǎng)絡(luò)規(guī)模、數(shù)據(jù)傳輸速率以及擁塞檢測周期等復(fù)雜因素,本文通過仿真實驗給出對閾值 的測定。
無線傳感器網(wǎng)絡(luò)的擁塞控制機制必須盡可能地降低節(jié)點運算的復(fù)雜度,減少擁塞控制報文數(shù)量。文獻(xiàn)[8]認(rèn)為,在速率調(diào)節(jié)和路徑分流的機制選擇上,基于速率調(diào)節(jié)的擁塞控制機制對節(jié)點性能的要求普遍較高,不利于節(jié)點的能耗控制。同時,基于降低源節(jié)點發(fā)射速率的擁塞緩解機制將會使重要的信息無法及時地到達(dá)Sink節(jié)點,在多媒體數(shù)據(jù)傳輸?shù)倪^程中,這一弊端尤為明顯。所以,在緩解擁塞的過程中,本文在基于路徑分流思想的基礎(chǔ)上,提出如下機制,具體流程如圖1所示。
圖1中無色框體部分為WSN網(wǎng)絡(luò)層路由選擇模塊,陰影框體為傳輸層擁塞緩解模塊。網(wǎng)絡(luò)層可選擇任意WSN路由協(xié)議來選擇最優(yōu)路徑,擁塞緩解機制獨立于路由選擇模塊存在。
圖1 擁塞緩解機制流程
S1)節(jié)點周期性地檢測擁塞信息,并向其鄰居節(jié)點反饋擁塞信息報文,報文包含節(jié)點編號NodeID、擁塞度Ck(i)、剩余電量Pk(i)字段。
S2)節(jié)點接收到所有鄰居節(jié)點傳來的擁塞信息報文后,將報文存入鄰居擁塞信息表內(nèi),示例如表1所示。
表1 2號節(jié)點鄰居擁塞信息
S3)在路由選擇模塊部分,若網(wǎng)絡(luò)啟用擁塞緩解機制,則節(jié)點將根據(jù)鄰居擁塞信息表按擁塞度和剩余能量值順序判斷其選取的最佳下一跳節(jié)點i是否發(fā)生擁塞Ck(i)小于 ,剩余能量Pk(i)大于 ,若根據(jù)路由選擇的最優(yōu)路徑下一跳節(jié)點i均滿足判斷條件,則該下一跳節(jié)點即為最優(yōu)路徑,進(jìn)而選取該節(jié)點轉(zhuǎn)發(fā)數(shù)據(jù)包。
S4)若根據(jù)上述判斷流程該節(jié)點未能滿足要求,則進(jìn)入分流路徑選擇模塊。在鄰居擁塞信息表中將該節(jié)點刪除,構(gòu)建出一個剩余能量滿足最低能量閾值要求的節(jié)點集合
在該集合中,選擇擁塞度最低的節(jié)點
即為根據(jù)擁塞緩解機制選取的臨時最佳路徑,轉(zhuǎn)發(fā)數(shù)據(jù)包。從下一跳路徑節(jié)點開始按照同樣的方法繼續(xù)搜尋下一跳節(jié)點,直至建立起新路徑。
S5)若節(jié)點在臨時備用路徑選取的過程中由于鄰居擁塞信息表中的節(jié)點數(shù)目過少,無法選取到在保證能量優(yōu)先的前提下滿足擁塞度小于閾值 的節(jié)點,那么節(jié)點將轉(zhuǎn)換回網(wǎng)絡(luò)層路由選擇模塊選取其默認(rèn)的最優(yōu)路徑進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。同時,由于鄰居信息的周期性更新,當(dāng)原先最優(yōu)路徑下一跳節(jié)點回到擁塞度在閾值 以下同時剩余能量大于閾值 的狀態(tài),則網(wǎng)絡(luò)將切換回最佳路徑進(jìn)行轉(zhuǎn)發(fā),盡量避免選取臨時路徑。
假設(shè)某網(wǎng)絡(luò)中2號節(jié)點有4個鄰居節(jié)點,分別為3、4、5、6。在k時刻分別接收到4個節(jié)點的擁塞報文,存入其鄰居節(jié)點信息表中,如表1所示。經(jīng)過路由模塊計算,節(jié)點2將選擇3號節(jié)點作為其下一跳的轉(zhuǎn)發(fā)路徑,但此時發(fā)現(xiàn) Ck(3)=0.8>0.75(假定擁塞度閾值為0.75),則判定此時節(jié)點3緩沖區(qū)內(nèi)發(fā)生擁塞,故放棄該最佳轉(zhuǎn)發(fā)節(jié)點,進(jìn)入分流路徑選取過程。將3號節(jié)點信息從鄰居擁塞表中刪除,判斷4、5、6這3個節(jié)點的剩余能量是否在0.2(假定剩余能量閾值為0.2)之上,構(gòu)建出滿足條件的節(jié)點集合{4,5}。在該集合中,選擇節(jié)點擁塞度最低的節(jié)點,此時Ck(4) 在判斷節(jié)點擁塞度的同時,本機制引入了節(jié)點的剩余能量,與利用多權(quán)值累加的路徑分流機制[9]相比,該機制不單純地依賴于 (1 Ck(i))+Pk(i)的總和來選取臨時最佳路徑。①通過權(quán)值累加的方法在權(quán)值 、的選取上無法精確賦值,尤其是在擁塞度和剩余電量不是在同一單位化的情況下,難以判定兩者的具體權(quán)重;②假設(shè)在同一單位化條件下 、值均設(shè)定為1、1,C、P 對應(yīng)有兩條路徑分別為 Ck(1)=0.6,Pk(1)=0.4;Ck(2)=0.2,Pk(2)=0.1,則根據(jù)該方法選擇的路徑必然為路徑2,但顯然,此時2號路徑節(jié)點的能量為0.1,到了瀕臨“死亡”的臨界值,若再選擇該節(jié)點轉(zhuǎn)發(fā)數(shù)據(jù),該節(jié)點很快將會因為能量耗盡而“死亡”,造成路徑黑洞。本文所提方案采用了逐級判定的思想,首先比較擁塞度是否滿足在閾值之內(nèi),其次比較節(jié)點剩余能量是否在能量閾值范圍內(nèi),通過順序比較,避免了雖然節(jié)點的某一權(quán)值極低,但由于權(quán)值總和比其它節(jié)點高而被選的場景,貫徹了能量優(yōu)先的擁塞檢測和緩解的思想。 本擁塞緩解機制的不足之處是當(dāng)找不到滿足要求的節(jié)點時(比如擁塞發(fā)生在網(wǎng)絡(luò)的邊緣節(jié)點),擁塞無法解除,同時在一定程度上還增加了整個網(wǎng)絡(luò)的能耗。但考慮到無線傳感器網(wǎng)絡(luò)節(jié)點高密度部署、節(jié)點大量冗余的特性,擁塞狀況往往集中發(fā)生在網(wǎng)絡(luò)的中心處,基于此分流機制的擁塞緩解機制具有較強的普遍實用性。 擁塞閾值 的確定對于PECR協(xié)議的擁塞緩解效率、網(wǎng)絡(luò)生存時間起到?jīng)Q定性的因素。采用OMNET++仿真工具[10],在100*100m的范圍內(nèi)隨機播撒21個節(jié)點(其中Sink節(jié)點1個,普通節(jié)點 20個),節(jié)點信號覆蓋范圍 15m,數(shù)據(jù)發(fā)送速率250kbps,初始能量值為300,網(wǎng)絡(luò)層采用最小跳數(shù)路由協(xié)議(min hop count,MHC)[11],設(shè)置擁塞度 分別為 0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0,觀察節(jié)點能耗變化趨勢。網(wǎng)絡(luò)運行200s后各節(jié)點能耗損失迥異,現(xiàn)選取有代表性的3個狀態(tài)如圖2至圖4所示。 仿真圖示給出,當(dāng) =0.6時,整個網(wǎng)絡(luò)內(nèi)各個節(jié)點的能量消耗最趨于一致,其它各個狀態(tài)下節(jié)點能耗不一,有些節(jié)點生存期長,而有些節(jié)點生存期過短。在該網(wǎng)絡(luò)仿真環(huán)境下,=0.6是一個經(jīng)驗最優(yōu)值,適合于該網(wǎng)絡(luò)整體能耗的控制和保證盡可能多節(jié)點的生存壽命。節(jié)點能量最低閾值 的選取,需要盡可能考慮滿足網(wǎng)絡(luò)最大生存時間的因素,一般可以采用10%*MaxPower[12]。 圖2 擁塞度閾值為0.3時的網(wǎng)絡(luò)中節(jié)點能耗曲線 圖3 擁塞度閾值為0.6時的網(wǎng)絡(luò)中節(jié)點能耗曲線 圖4 擁塞度閾值為0.9時的網(wǎng)絡(luò)中節(jié)點能耗曲線 基于上述OMNET++仿真環(huán)境,從各個節(jié)點能耗損失和網(wǎng)絡(luò)總體壽命兩項指標(biāo)上對比最小跳數(shù)路由協(xié)議、傳統(tǒng)多路徑擁塞控制機制 (ORSF)和本文提出的能量優(yōu)先擁塞緩解機制(PECR)3項協(xié)議。網(wǎng)絡(luò)中20個節(jié)點的生存時間表現(xiàn)各異,選取位置具有典型代表性的3個節(jié)點狀況輸出,如圖5至圖7所示。 圖5 6號節(jié)點能耗對比 圖6 10號節(jié)點能耗對比 圖7 18號節(jié)點能耗對比 6號節(jié)點所處區(qū)域節(jié)點布置比較稀疏,在分流調(diào)節(jié)過程中無法找到多余的臨時備用節(jié)點,故采用了能量優(yōu)先擁塞緩解模塊的節(jié)點生存壽命反而要短于未使用擁塞控制機制最小跳數(shù)路由和采用了權(quán)值相加路徑分流的傳統(tǒng)多路徑擁塞緩解機制;而10號和18號節(jié)點部署與節(jié)點密度較大的區(qū)域,采用PECR機制的節(jié)點的能量隨時間的衰減明顯慢于采用了其它機制的節(jié)點。由此我們可以得出,在節(jié)點高密度部署,冗余性較強的區(qū)域,本擁塞控制機制有著很好的性能表現(xiàn),而在節(jié)點稀疏部署,而同時節(jié)點能量、擁塞又有著充分保證的網(wǎng)絡(luò)中,本機制的表現(xiàn)不是很盡如人意。 基于3種協(xié)議對比下的整個網(wǎng)絡(luò)的生存壽命如圖8所示。 圖8 網(wǎng)絡(luò)生存壽命比較 所有節(jié)點采用PECR擁塞控制機制的網(wǎng)絡(luò)生存壽命比不采用任何擁塞控制機制的網(wǎng)絡(luò)壽命延長了510.12%,比采用傳統(tǒng)多路徑機制的網(wǎng)絡(luò)壽命延長了141.18%。在大數(shù)據(jù)量傳輸?shù)母呙芏葻o線傳感器網(wǎng)絡(luò)中,PRCR機制能夠減少節(jié)點能耗,提高網(wǎng)絡(luò)生存壽命。 本文根據(jù)當(dāng)前無線傳感器網(wǎng)絡(luò)大數(shù)據(jù)量傳輸對性能的基本要求,提出了一種能量優(yōu)先的擁塞檢測和緩解機制,并對該傳輸控制機制運行的各個階段和細(xì)節(jié)進(jìn)行了具體描述和論證,重點討論了擁塞檢測和路徑分流調(diào)節(jié)兩個環(huán)節(jié)的具體實現(xiàn)步驟和流程。最后通過OMNET++仿真實驗,對比了分別采用無擁塞緩解、多路徑分流和PECR機制的網(wǎng)絡(luò)中節(jié)點能耗狀況和整個網(wǎng)絡(luò)的生存壽命,仿真結(jié)果表明在節(jié)點高密度部署的網(wǎng)絡(luò)中,PECR機制對無線傳感器網(wǎng)絡(luò)能量優(yōu)先的原則有著很好的保證,顯著提高了網(wǎng)絡(luò)整體壽命。 [1] Akyildiz IF,Melodia T,Chowdhury K R.A survey on wireless multimedia sensor networks[J].Computer Netw(Elsevisr),2007,51(4):921-960. [2] Sankarasubramaniam Y,Akan O,Akyildiz I.ESRT:Event-to-sink reliable transport in wireless sensor networks[C].Proc ACM MOBIHOC 2003,Association of Computing Machinery.Annapolis,Maryland:ACM Press,2003. [3] Wan C,Eisenman S,Campbell A.CODA:Congestion detection andavoidancein sensornetworks[C].Procof the 1st Int'l Confon Embedded Networked Sensor Systems.Los Angeles:ACM Press,2003:266-279. [4] Hull B,Jamieson K,Balakrishnan H.Mitigating congestion in wireless sensor networks[C].Proc of the 2nd ACM Conf on Embedded Networked Sensor Systems(SenSys).Baltimore:ACM Press,2004:134-147. [5] Paek J,Govindan R.RCRT:Rate-controlled reliable transport for wireless sensor networks[C].Sydney,Australia:Proc 5th ACM International Conference on Embedded Networked Sensor Systems(SenSys'07),2007. [6] Fang Weiwei,Qian Depei,Liu Yi.Transmission control protocols for wireless sensor networks[J].Journal of Software,2008,19(6):1439-1451. [7] 孫利民,李波,周新運.無線傳感器網(wǎng)絡(luò)的擁塞控制技術(shù)[J].計算機研究與發(fā)展,2008,45(1):63-72. [8] Jaewon Kang.Adaptive resource control seheme to alleviage congestion in sensor networks[C].San Jose,CA,USA:Proceedings of the First Workshop on Broadband Advanced Sensor Networks(BASENETS),2004. [9] 羅娟,唐文勝,王威.一種自適應(yīng)的無線傳感器網(wǎng)絡(luò)擁塞緩解機制[J].計算機工程,2008,34(5):92-94. [10]OMNET++discrete event simulation system[EB/OL].http://www.omnetpp.org/,2006. [11]鄭明才,張大方,趙小超.最小跳數(shù)路由無線傳感器網(wǎng)絡(luò)中的路由數(shù)估計[J].計算機工程與應(yīng)用,2007,43(15):151-156. [12]Akkaya K,Younis M.An energy-aware qos routing protocol for wireless sensor networks[C].Rhode Island:Proceedings of the IEEE Workshop on Mobile and Wireless Networks,2003.2 網(wǎng)絡(luò)仿真
2.1 擁塞閾值 的確定
2.2 協(xié)議性能對比
3 結(jié)束語