一種能量感知型無(wú)線傳感器網(wǎng)絡(luò)跨層式通信協(xié)議
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘 要:結(jié)合無(wú)線傳感器網(wǎng)絡(luò)面向應(yīng)用的實(shí)際需求,提出一種新穎的能量感知型無(wú)線傳感器網(wǎng)絡(luò)跨層協(xié)議ECLC,并給出了實(shí)現(xiàn)過(guò)程和仿真結(jié)果?;谥攸c(diǎn)關(guān)注熱點(diǎn)能耗的策略,綜合WSN在能量高效、可擴(kuò)展性、服務(wù)質(zhì)量等方面的不同要求,設(shè)計(jì)了簡(jiǎn)單可靠、易于實(shí)現(xiàn)的跨層式WSN網(wǎng)絡(luò)協(xié)議。仿真結(jié)果表明:ECLC協(xié)議在傳感器網(wǎng)絡(luò)系統(tǒng)層面較好地改善能量消耗的有效性和均衡性,因而避免了網(wǎng)絡(luò)中熱點(diǎn)的過(guò)早出現(xiàn),延長(zhǎng)了整個(gè)網(wǎng)絡(luò)的生存期。
關(guān)鍵詞:無(wú)線傳感器網(wǎng)絡(luò);跨層協(xié)議;能量高效;熱點(diǎn)
0 引 言
無(wú)線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks,WSN)是一種特殊的無(wú)線自組織通信網(wǎng)絡(luò)。其區(qū)別于傳統(tǒng)無(wú)線自組織網(wǎng)絡(luò)的特點(diǎn)包括:節(jié)點(diǎn)數(shù)量特別巨大、節(jié)點(diǎn)硬件功能簡(jiǎn)單、應(yīng)用場(chǎng)境復(fù)雜、各種資源受限等。能量資源受限是WSN主要的瓶頸之一。
能量感知型WSN協(xié)議重點(diǎn)強(qiáng)調(diào)高效利用能量的重要性,其設(shè)計(jì)思想主要是在WSN各層協(xié)議中引入能量?jī)?yōu)化算法,通過(guò)控制整個(gè)網(wǎng)絡(luò)的能耗平穩(wěn)性和高效性,從而達(dá)到在系統(tǒng)層面上改善傳感器網(wǎng)絡(luò)能耗特性、減少傳感器網(wǎng)絡(luò)的熱點(diǎn)并延長(zhǎng)整個(gè)網(wǎng)絡(luò)的生存周期的目的。為了解決能耗問(wèn)題,研究者提出了眾多的解決途徑,文獻(xiàn)[2]提出的SPEED協(xié)議采用基于位置的思想,提供擁塞控制和軟實(shí)時(shí)保障,從而降低通信沖突;文獻(xiàn)[3]提出的SPIN協(xié)議則是利用基于數(shù)據(jù)的思想,通過(guò)引入抽象的元數(shù)據(jù)概念避免資源的盲目利用;Shah RC等人則直接設(shè)計(jì)了基于能量?jī)?yōu)化的路由協(xié)議。然而后續(xù)研究表明,在網(wǎng)絡(luò)某一層單獨(dú)引入能量?jī)?yōu)化策略的效果并不明顯,并且可能會(huì)惡化其他層的能耗特性。跨層優(yōu)化思想利用網(wǎng)絡(luò)各層信息的有機(jī)交互,可以避免各層獨(dú)立優(yōu)化時(shí)引起的層間干擾。
本文基于這一思想,設(shè)計(jì)了一種簡(jiǎn)單可靠的跨層式通信協(xié)議ECLC(Cross-Layer Communication Proto-c0l),仿真結(jié)果表明:ECLC協(xié)議在保障網(wǎng)絡(luò)流量和網(wǎng)絡(luò)效率的前提下,可以較好地改善網(wǎng)絡(luò)的能耗特性,延長(zhǎng)網(wǎng)絡(luò)的生存時(shí)間。
1 ECLE協(xié)議的設(shè)計(jì)目標(biāo)
ECLC協(xié)議首要目標(biāo)是改善整個(gè)網(wǎng)絡(luò)的能耗特性;利用路由層與MAC層之間交互各自的能量信息,因此設(shè)計(jì)目標(biāo)完全以實(shí)際應(yīng)用的需求和可實(shí)現(xiàn)性為出發(fā)點(diǎn)。
1.1 能耗特性
網(wǎng)絡(luò)整體能耗效率:整個(gè)網(wǎng)絡(luò)的生存周期內(nèi),網(wǎng)絡(luò)總能量(全部節(jié)點(diǎn)的初始能量之和)與整個(gè)網(wǎng)絡(luò)采集到的數(shù)據(jù)量之比值??杀硎緸椋?/p>
其中:ein-WSN表示整個(gè)WSN的初始能量;Dwsn為WSN在整個(gè)生存期內(nèi)探測(cè)到的數(shù)據(jù);ein-i為節(jié)點(diǎn)i的初始能量;Di為節(jié)點(diǎn)i在其生存期內(nèi)探測(cè)到的全部數(shù)據(jù);n為該WSN節(jié)點(diǎn)的個(gè)數(shù)。該指標(biāo)衡量了WSN路由協(xié)議的整體能量效率。
網(wǎng)絡(luò)能耗平穩(wěn)度:在任意時(shí)刻,整個(gè)網(wǎng)絡(luò)中所有節(jié)點(diǎn)剩余能量的均方誤差??杀硎緸椋?/p>
其中:隨機(jī)變量erem表示W(wǎng)SN節(jié)點(diǎn)的剩余能量。剩余能量均方誤差衡量了整個(gè)網(wǎng)絡(luò)能耗的平穩(wěn)性,通過(guò)控制剩余能量均方誤差,可防止部分節(jié)點(diǎn)過(guò)早耗盡能量。
網(wǎng)絡(luò)生存時(shí)間:從網(wǎng)絡(luò)開(kāi)始工作到有一定數(shù)量的節(jié)點(diǎn)死亡。該指標(biāo)主要從時(shí)間角度考察了路由協(xié)議的整體性能;在WSN的實(shí)際應(yīng)用過(guò)程中,網(wǎng)絡(luò)生存時(shí)間是很關(guān)鍵的指標(biāo)之一。
1.2 可擴(kuò)展性與容錯(cuò)能力
由于WSN的應(yīng)用環(huán)境復(fù)雜多變,節(jié)點(diǎn)失效、節(jié)點(diǎn)位置變化、新節(jié)點(diǎn)的加入都會(huì)引起網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的變化,這就要求網(wǎng)絡(luò)協(xié)議具有很強(qiáng)的擴(kuò)展性。另外由于節(jié)點(diǎn)死亡或無(wú)線鏈路本身的缺點(diǎn)會(huì)造成通信失敗等故障,因而又對(duì)協(xié)議的容錯(cuò)能力有較高要求。
1.3 快速收斂性
WSN的能量和通信帶寬等資源十分有限,因此要求協(xié)議能夠快速收斂,以適應(yīng)網(wǎng)絡(luò)拓?fù)涞膭?dòng)態(tài)變化,減少通信協(xié)議開(kāi)銷(xiāo),提高信息傳輸效率。
1.4 服務(wù)質(zhì)量(QoS)
WSN協(xié)議的QoS主要包括傳輸時(shí)延、數(shù)據(jù)精度、帶寬利用率等指標(biāo)。一旦考慮了服務(wù)質(zhì)量,那么必然要在QoS和能耗特性之間選擇平衡。
2 ECLC協(xié)議的描述
2.1 基本定義
為了后面描述的方便,先給出以下基本定義:鄰居(Vicinage):與節(jié)點(diǎn)A可以直接通信的節(jié)點(diǎn)稱(chēng)為節(jié)點(diǎn)A的鄰居。節(jié)點(diǎn)A的所有鄰居構(gòu)成它的鄰域,記為VA。
前向鄰居(Forward Vicinage):數(shù)據(jù)傳輸過(guò)程中可以成為節(jié)點(diǎn)A下一跳節(jié)點(diǎn)的鄰居。節(jié)點(diǎn)A的所有前向鄰居構(gòu)成它的前向鄰居集;記為FVSA。
后向鄰居(Backward Vicinage):如果節(jié)點(diǎn)A是節(jié)點(diǎn)B的前向鄰居,那么節(jié)點(diǎn)B就稱(chēng)為節(jié)點(diǎn)A的后向鄰居。節(jié)點(diǎn)A的所有后向鄰居構(gòu)成它的后向鄰居集,記為BVSA。
目的節(jié)點(diǎn)(Termini Node):不需其他節(jié)點(diǎn)路由,可直接將數(shù)據(jù)包發(fā)送給Sink的節(jié)點(diǎn)。
熱度:節(jié)點(diǎn)建立通信鏈路的頻繁程度。
2.2 信道接入
無(wú)線信道訪問(wèn)機(jī)制采用IEEE802.11 CSMA/CA機(jī)制。需要使用信道的節(jié)點(diǎn)首先偵聽(tīng)信道是否空閑,如果信道空閑且經(jīng)過(guò)一個(gè)DIFS時(shí)序間隔后仍為空閑狀態(tài),那么發(fā)送節(jié)點(diǎn)直接開(kāi)始發(fā)送分組數(shù)據(jù);否則發(fā)送節(jié)點(diǎn)一直偵聽(tīng)信道直至信道最終空閑下來(lái)并且超過(guò)DIFS時(shí)序間隔,此時(shí)發(fā)送節(jié)點(diǎn)將啟動(dòng)退避機(jī)制。圖1描述了CSMA/CA機(jī)制的基本訪問(wèn)方式。
2.3 鏈路選擇
當(dāng)系統(tǒng)布設(shè)完畢進(jìn)入穩(wěn)定狀態(tài)后,Sink節(jié)點(diǎn)開(kāi)始廣播HELL0消息,其格式如圖2所示。
該數(shù)據(jù)包共16個(gè)字節(jié),其各字段含義如下:
NOP:用來(lái)標(biāo)識(shí)采用何種協(xié)議,包括協(xié)議的名稱(chēng)代碼、版本號(hào)等信息;
TID:HELLo消息的來(lái)源,因?yàn)橄到y(tǒng)中往往不止一個(gè)節(jié)點(diǎn)可直接向Sink發(fā)送數(shù)據(jù);
NOT:該數(shù)據(jù)包被轉(zhuǎn)發(fā)的次數(shù),Sink節(jié)點(diǎn)廣播此消息時(shí)該字段為O,每轉(zhuǎn)發(fā)一次,該字段值加1,終節(jié)點(diǎn)發(fā)送時(shí)此字段值為1;
TRID:發(fā)出該數(shù)據(jù)包的節(jié)點(diǎn)ID;
EREM:發(fā)出該數(shù)據(jù)包的節(jié)點(diǎn)的當(dāng)前剩余能量;
HELL0:消息內(nèi)容;
HOT:發(fā)送該消息的節(jié)點(diǎn)“熱度”;
0NM:用來(lái)標(biāo)記每次建立路由,在一次建立路由過(guò)程中,消息編碼固定,Sink節(jié)點(diǎn)移動(dòng)位置或其他情況下需要重建路由時(shí),修改該字段;
SP:用來(lái)填補(bǔ)該數(shù)據(jù)包的空余,該字段值為O。
當(dāng)某個(gè)節(jié)點(diǎn)收到此消息后,完成下面動(dòng)作:
(1)檢測(cè)數(shù)據(jù)幀,檢測(cè)步驟如下:
①查看數(shù)據(jù)包的消息代碼字段,檢查與上次接收到的協(xié)議編號(hào)是否相同(首次接收到判為不同);若相同轉(zhuǎn)步驟③;否則轉(zhuǎn)步驟②;
②清除鄰居列表信息,重新建表;
③查看HELLO消息數(shù)據(jù)包的轉(zhuǎn)發(fā)節(jié)點(diǎn)ID字段,若該節(jié)點(diǎn)已包括在后向鄰居列表中,則丟棄該包;
④將轉(zhuǎn)發(fā)節(jié)點(diǎn)ID添加到前向鄰居列表。
(2)發(fā)送一個(gè)名為“COUNTERSIGN”的確認(rèn)消息數(shù)據(jù)包,消息格式如圖3所示:
該數(shù)據(jù)包共有16個(gè)字節(jié),各字段含義如下:
NOP:與HELLO消息的相應(yīng)字段相同;
TRID:產(chǎn)生并發(fā)送該消息的節(jié)點(diǎn)ID;
COUNTERSIGN:消息內(nèi)容;
REIDL:該字段包含了需接收該消息的全部節(jié)點(diǎn)ID;
SP:與HELL0消息的相應(yīng)字段相同。
(3)轉(zhuǎn)發(fā)HELLO消息,其過(guò)程為:
①修改轉(zhuǎn)發(fā)次數(shù)字段,給其值加1;
②將轉(zhuǎn)發(fā)節(jié)點(diǎn)ID、“熱度”、剩余能量替換為自己的相應(yīng)值;
③發(fā)送HELLO消息。
(4)接收確認(rèn)消息,修改其后向鄰居表。
2.4 建立通信鏈路
當(dāng)某個(gè)節(jié)點(diǎn)需要發(fā)送數(shù)據(jù)時(shí),它在自己的前向鄰居中選擇一個(gè)節(jié)點(diǎn)作為接收點(diǎn),其選擇步驟如下:
(1)根據(jù)前向鄰居表內(nèi)各個(gè)鄰居的“熱度”,避開(kāi)比較熱的節(jié)點(diǎn);
(2)啟用功率管理算法計(jì)算最佳傳輸距離范圍;
(3)在最佳傳輸距離范圍內(nèi)選擇剩余能量最大的節(jié)點(diǎn)作為它的下一跳。
2.5 數(shù)據(jù)傳輸
傳感器節(jié)點(diǎn)產(chǎn)生的數(shù)據(jù)包格式如圖4所示,數(shù)據(jù)包中各字段含義如下:
NOP:與HELL0消息相同;
REID:接收該數(shù)據(jù)包的節(jié)點(diǎn)ID;
NOT:表示該數(shù)據(jù)包被發(fā)送的次數(shù);源節(jié)點(diǎn)發(fā)送時(shí)該字段值為1;
TRID:發(fā)送該數(shù)據(jù)包的節(jié)點(diǎn)ID;
DATE:數(shù)據(jù)包的內(nèi)容;
SP:補(bǔ)充數(shù)據(jù)包的空余,該字段值為0。
圖4數(shù)據(jù)幀格式數(shù)據(jù)包轉(zhuǎn)發(fā)過(guò)程如下:
(1)當(dāng)某個(gè)節(jié)點(diǎn)接收到該數(shù)據(jù)包時(shí),檢測(cè)接收節(jié)點(diǎn)ID是否與自己ID一致,若不一致丟棄該包,再檢測(cè)發(fā)送節(jié)點(diǎn)ID是否在自己的后向鄰居列表中,若發(fā)送節(jié)點(diǎn)ID不在自己后向鄰居列表中,則丟棄該包。否則接收該包并緩存。
(2)數(shù)據(jù)包被緩存后,該節(jié)點(diǎn)將該數(shù)據(jù)包的接收節(jié)點(diǎn)ID字段替換為它的下一跳ID,將發(fā)送節(jié)點(diǎn)ID字段修改為自己的ID,然后將數(shù)據(jù)包發(fā)送出去。
3 仿真分析
利用OPNET仿真平臺(tái)對(duì)設(shè)計(jì)的通信協(xié)議進(jìn)行了仿真,在200×100的區(qū)域中,共隨機(jī)布設(shè)了120個(gè)節(jié)點(diǎn),仿真環(huán)節(jié)的各項(xiàng)參數(shù)設(shè)置如表1所示。
3.1 ECLC的能耗特性分析
圖5表示了AODV,DSRE,SPEED,GPSR,SPIN(MAC層采用802.11協(xié)議),ECLC六種協(xié)議在傳輸相同數(shù)據(jù)量的條件下的能耗特性,可以看出:與其他幾種協(xié)議相比,未使用跨層交互機(jī)制時(shí)幾種協(xié)議能耗特性相差較小,原因是幾種協(xié)議的MAC層訪問(wèn)機(jī)制相同;而在開(kāi)啟跨層優(yōu)化功能后,ECLC可以很好地避免沖突與網(wǎng)絡(luò)擁擠,因而減少了能量浪費(fèi)。圖5是未開(kāi)啟跨層優(yōu)化時(shí)各種協(xié)議的能耗比較;圖6是開(kāi)啟跨層優(yōu)化后各種協(xié)議的能耗比較。
3.2 ECLC網(wǎng)絡(luò)生存時(shí)間的影響
在仿真路由協(xié)議對(duì)網(wǎng)絡(luò)生存時(shí)間的影響時(shí),選擇節(jié)點(diǎn)死亡數(shù)目超過(guò)1/3的時(shí)刻作為WSN的失效時(shí)刻,即在仿真時(shí),當(dāng)死亡節(jié)點(diǎn)數(shù)量達(dá)到40時(shí),表示W(wǎng)SN死亡。圖7表示了多次仿真取算術(shù)平均值的網(wǎng)絡(luò)生存時(shí)間比較圖。從圖中可以看出,ECLC可以最大限度地延長(zhǎng)網(wǎng)絡(luò)生存周期,這是因?yàn)镋CLC協(xié)議更好地控制了所有節(jié)點(diǎn)能量消耗的平穩(wěn)性,因而不會(huì)導(dǎo)致部分區(qū)域過(guò)早出現(xiàn)熱點(diǎn)而引發(fā)連鎖效應(yīng)。
4 結(jié) 語(yǔ)
本文通過(guò)采用跨層機(jī)制來(lái)交換層間能耗信息,設(shè)計(jì)了一種簡(jiǎn)單可靠的能量感知型無(wú)線傳感器網(wǎng)絡(luò)通信協(xié)議ECL,并給出了實(shí)現(xiàn)過(guò)程。在理論分析的基礎(chǔ)上,用OPNET仿真平臺(tái)對(duì)所設(shè)計(jì)的協(xié)議進(jìn)行了仿真分析,結(jié)果表明:ECLC通信協(xié)議對(duì)節(jié)點(diǎn)數(shù)量特別巨大的傳感器網(wǎng)絡(luò)的能耗特性有很好的改善作用,可以顯著改善整個(gè)WSN網(wǎng)絡(luò)能耗的均衡性,從而延長(zhǎng)了網(wǎng)絡(luò)的生存時(shí)間。由于無(wú)線傳感器網(wǎng)絡(luò)協(xié)議有很強(qiáng)的應(yīng)用相關(guān)性,后續(xù)工作將包括:進(jìn)一步優(yōu)化ECLC協(xié)議細(xì)節(jié),增強(qiáng)其各種性能,尤其是增強(qiáng)可移植性,使其成為一種開(kāi)放式WSN通信協(xié)議。