無(wú)線傳感器網(wǎng)絡(luò)由部署在監(jiān)測(cè)區(qū)域內(nèi)大量的廉價(jià)微型傳感器節(jié)點(diǎn)組成,通過(guò)無(wú)線通信方式形成的一個(gè)多跳的自組織網(wǎng)絡(luò)系統(tǒng),主要用于收集、傳播和處理傳感信息。
與傳統(tǒng)的無(wú)線自組織網(wǎng)絡(luò)不同,無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)目龐大,節(jié)點(diǎn)分布密集;由于環(huán)境影響和能量耗盡,節(jié)點(diǎn)更容易出現(xiàn)故障;環(huán)境干擾和節(jié)點(diǎn)故障易造成網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的變化。另外,節(jié)點(diǎn)的能量、處理能力、存儲(chǔ)能力和通信能力等都有限,因此無(wú)線傳感器網(wǎng)絡(luò)的首要設(shè)計(jì)目標(biāo)是能源的高效利用。無(wú)線傳感網(wǎng)絡(luò)介質(zhì)訪問(wèn)控制(Media Access Control,MAC)協(xié)議必須以節(jié)約能源為主要目標(biāo),并且采用折中機(jī)制,使用戶可以在延長(zhǎng)網(wǎng)絡(luò)生命周期和提高網(wǎng)絡(luò)吞吐量、降低通信延遲等方面做出選擇。
目前針對(duì)不同的傳感器網(wǎng)絡(luò)應(yīng)用,研究人員從不同方面提出了多個(gè)MAC協(xié)議,缺乏統(tǒng)一的分類方式,根據(jù)采用固定分配信道方式或隨機(jī)訪問(wèn)信道方式,將傳感器網(wǎng)絡(luò)MAC協(xié)議分為:時(shí)分復(fù)用方式(TDMA)、隨機(jī)競(jìng)爭(zhēng)方式和其他MAC協(xié)議。固定分配信道方式的TDMA可以自然完成節(jié)點(diǎn)上的低占空比操作,因?yàn)樗麄冎恍柙谧约旱臅r(shí)隙里開(kāi)啟無(wú)線模塊完成發(fā)送和接收,但其可擴(kuò)展性較差,而時(shí)間同步對(duì)系統(tǒng)是一筆較大的開(kāi)銷。由于無(wú)線傳感網(wǎng)絡(luò)數(shù)據(jù)率較低,而且對(duì)時(shí)延的要求不高,因此目前實(shí)用的節(jié)能MAC協(xié)議基本是基于競(jìng)爭(zhēng)的協(xié)議。大量實(shí)驗(yàn)和理論分析表明無(wú)線傳感器節(jié)點(diǎn)的能量浪費(fèi)主要源自空閑偵聽(tīng)、沖突、串?dāng)_和控制。因此結(jié)合現(xiàn)有的無(wú)線傳感器網(wǎng)絡(luò)MAC協(xié)議,引入層次型拓?fù)浣Y(jié)構(gòu)控制思想,建立一種高效節(jié)能的無(wú)線傳感器網(wǎng)絡(luò)協(xié)議,并進(jìn)行分析、仿真和驗(yàn)證,具有研究意義。
1 競(jìng)爭(zhēng)類MAC協(xié)議分析
1.1 S-MAC協(xié)議
S-MAC協(xié)議是在802.11MAC協(xié)議的基礎(chǔ)上,針對(duì)傳感器網(wǎng)絡(luò)的節(jié)能需求而提出的傳感器網(wǎng)絡(luò)MAC協(xié)議。S-MAC協(xié)議假設(shè)通常情況下傳感器網(wǎng)絡(luò)數(shù)據(jù)傳輸量少,節(jié)點(diǎn)協(xié)作完成共同的任務(wù),網(wǎng)絡(luò)內(nèi)部能夠進(jìn)行數(shù)據(jù)處理和融合以減少數(shù)據(jù)通信量,網(wǎng)絡(luò)可以容忍一定程度的延遲。研究表明傳感器能量主要消耗在節(jié)點(diǎn)間的通行上,而空閑偵聽(tīng)大約占節(jié)點(diǎn)通信能量的1/3.為達(dá)到節(jié)省能量的目的S-MAC協(xié)議主要采用周期性的偵聽(tīng)/睡眠的低占空比機(jī)制,控制節(jié)點(diǎn)盡可能處于睡眠狀態(tài)來(lái)降低節(jié)點(diǎn)能量的消耗。但S-MAC協(xié)議存在以下問(wèn)題:S-MAC協(xié)議中同一個(gè)虛擬簇中的所有節(jié)點(diǎn)要同時(shí)從睡眠狀態(tài)轉(zhuǎn)換到活動(dòng)狀態(tài),開(kāi)始對(duì)信道的競(jìng)爭(zhēng),而大量節(jié)點(diǎn)沒(méi)有數(shù)據(jù)傳輸任務(wù),這些節(jié)點(diǎn)對(duì)信道的競(jìng)爭(zhēng)和空閑偵聽(tīng)浪費(fèi)了大量的能量。
1.2 T-MAC協(xié)議
T-MAC(Timeout MAC)協(xié)議是在S-MAC協(xié)議的基礎(chǔ)上提出的。S-MAC協(xié)議的周期長(zhǎng)度受限于延遲要求和緩存大小,而偵聽(tīng)時(shí)間主要依賴于消息速率。因此,為保證消息的可靠傳輸,節(jié)點(diǎn)的周期活動(dòng)時(shí)間必須適應(yīng)最高的通信負(fù)載,從而造成網(wǎng)絡(luò)負(fù)載較小時(shí),節(jié)點(diǎn)空閑偵聽(tīng)時(shí)間的相對(duì)增加,針對(duì)這一不足,文獻(xiàn)提出了T-MAC協(xié)議,該協(xié)議在保持周期偵聽(tīng)長(zhǎng)度不變的情況下,根據(jù)通信流量動(dòng)態(tài)調(diào)整節(jié)點(diǎn)活動(dòng)時(shí)間,用突發(fā)方式發(fā)送消息,減少空閑偵聽(tīng)時(shí)間。但是由于大量無(wú)需數(shù)據(jù)傳輸?shù)墓?jié)點(diǎn)對(duì)信道的競(jìng)爭(zhēng)和空閑偵聽(tīng)仍造成大量能量的浪費(fèi),另外T-MAC協(xié)議的執(zhí)行,會(huì)出現(xiàn)早睡眠問(wèn)題,引起網(wǎng)絡(luò)的吞吐量降低。為此,它采用兩種方法來(lái)提高早睡眠引起的數(shù)據(jù)吞吐量下降:(1)未來(lái)請(qǐng)求發(fā)送機(jī)制。(2)滿緩沖區(qū)優(yōu)先機(jī)制,但效果并不是很理想。
2 基于拓?fù)淇刂平Y(jié)構(gòu)的MAC協(xié)議設(shè)計(jì)
S-MAC、T-MAC虛擬簇中的所有節(jié)點(diǎn)都周期性地從睡眠狀態(tài)轉(zhuǎn)入工作狀態(tài),參與信道的競(jìng)爭(zhēng)和數(shù)據(jù)傳輸,而大部分節(jié)點(diǎn)沒(méi)有數(shù)據(jù)傳輸任務(wù),造成他們?cè)诖蟛糠只顒?dòng)時(shí)間處于空閑偵聽(tīng)狀態(tài),而浪費(fèi)了大量能量。針對(duì)S-MAC、T-MAC無(wú)法避免的問(wèn)題,提出了新MAC協(xié)議GS-MAC(Geo graphical SeNSor MAC)。GS-MAC協(xié)議引入了GAF拓?fù)淇刂扑惴ê,適當(dāng)減少活動(dòng)節(jié)點(diǎn)數(shù)量,加快算法的收斂速度,減少大量節(jié)點(diǎn)對(duì)信道的空閑偵聽(tīng)和數(shù)據(jù)碰撞,從而達(dá)到節(jié)能的目的。
2.1 GAF改進(jìn)算法
GAF(Geographical Adaptive Fidelity)算法是以節(jié)點(diǎn)地理位置為依據(jù)的分簇算法,該算法把監(jiān)測(cè)區(qū)域分成虛擬單元格,將節(jié)點(diǎn)按照位置信息劃入相應(yīng)的單元格;每個(gè)單元格中定期選舉產(chǎn)生一個(gè)簇頭節(jié)點(diǎn),只有簇頭節(jié)點(diǎn)保持活動(dòng),其他節(jié)點(diǎn)進(jìn)入睡眠狀態(tài),GAF算法的執(zhí)行包括兩個(gè)階段:第一階段是虛擬單元格的劃分;第二階段是簇頭的選舉產(chǎn)生。
虛擬單元格的劃分:根據(jù)節(jié)點(diǎn)的位置信息和通信半徑,將網(wǎng)絡(luò)區(qū)域劃分成若干虛擬單元格,保證相鄰單元格中的任意兩個(gè)節(jié)點(diǎn)都能夠直接通信。為保證相鄰兩個(gè)單元格中任意的兩個(gè)節(jié)點(diǎn)都能夠直接通信,需滿足如下關(guān)系式
在式(1)中,R為所有節(jié)點(diǎn)的通信半徑;r為正方形虛擬單元格邊長(zhǎng)。
簇頭的選舉產(chǎn)生:GAF算法中簇頭承擔(dān)更多的數(shù)據(jù)處理和通信,消耗的能量相對(duì)較大。在改進(jìn)的GAF算法中簇頭的選舉考慮到了節(jié)點(diǎn)剩余能量問(wèn)題,選舉剩余能量較多的節(jié)點(diǎn)擔(dān)任簇頭。隨機(jī)簇頭選舉算法:節(jié)點(diǎn)只知道自己的能量信息和位置信息。假設(shè)某次簇頭選舉在Tr時(shí)刻開(kāi)始,對(duì)單元格內(nèi)任意節(jié)點(diǎn)N,以概率P發(fā)送測(cè)試消息。概率P與剩余能量成正比,如果測(cè)試消息成功,它就發(fā)生消息M(Ep,N),Ep為節(jié)點(diǎn)N剩余能量;如果消息發(fā)送不成功,節(jié)點(diǎn)N進(jìn)入偵聽(tīng)狀態(tài)。如果在一個(gè)時(shí)槽內(nèi)沒(méi)有接到發(fā)送消息,表明該時(shí)槽內(nèi)沒(méi)有節(jié)點(diǎn)競(jìng)爭(zhēng)成功,開(kāi)始新一輪的選舉,反之,如果有節(jié)點(diǎn)競(jìng)爭(zhēng)成功,發(fā)送M(Ep,N)消息擔(dān)任簇頭,單元格內(nèi)其他節(jié)點(diǎn)偵聽(tīng)到消息M加入該簇。
2.2 GS-MAC協(xié)議描述
在GS-MAC協(xié)議中只有簇頭節(jié)點(diǎn)進(jìn)入活動(dòng)狀態(tài)如圖1和圖2所示。
在新協(xié)議中,由于引入拓?fù)浣Y(jié)構(gòu)機(jī)制,可以減少一部分節(jié)點(diǎn)的空閑偵聽(tīng)時(shí)間,只保留簇頭節(jié)點(diǎn)處于活動(dòng)狀態(tài),在簇頭選舉中考慮到節(jié)點(diǎn)剩余能量,在局部范圍內(nèi)做到平衡節(jié)點(diǎn)剩余能量,延長(zhǎng)了網(wǎng)絡(luò)生存周期。
簇頭節(jié)點(diǎn)維護(hù)和S-MAC協(xié)議類似的工作/睡眠機(jī)制,每個(gè)簇頭節(jié)點(diǎn)周期性的與直接鄰近簇頭節(jié)點(diǎn)通過(guò)接收和廣播SYNC數(shù)據(jù)幀來(lái)交換調(diào)度信息;采用CSMA/CA機(jī)制和隨機(jī)退避時(shí)間;經(jīng)歷RTS/CTS/DATA/ACK通信過(guò)程完成數(shù)據(jù)傳輸,在數(shù)據(jù)傳輸完成之前不遵循其休眠時(shí)間安排;采用流量自適應(yīng)偵聽(tīng)機(jī)制,減少消息的傳輸時(shí)延。
2.3 性能分析
利用NS2對(duì)S-MAC協(xié)議和新協(xié)議(GS-MAC)在能量消耗和傳輸時(shí)延兩方面進(jìn)行比較,其中能量消耗為從源節(jié)點(diǎn)發(fā)送一定數(shù)量包到目的節(jié)點(diǎn)的總能耗,時(shí)延為端到端時(shí)延。仿真場(chǎng)景設(shè)置300 m×300 m,布置10~50個(gè)節(jié)點(diǎn),R=300 m,r=100 m,劃分9個(gè)虛擬單元格。仿真參數(shù)選擇如表1所示。
從圖3可以看出在節(jié)點(diǎn)數(shù)目等于10時(shí),幾乎每個(gè)虛擬單元格都只有1個(gè)節(jié)點(diǎn),GAF拓?fù)淇刂扑惴ㄐ实,基本接近S-MAC協(xié)議,隨著節(jié)點(diǎn)數(shù)目的逐步增加,GAF拓?fù)淇刂扑惴ㄐ曙@著提高,能量消耗明顯降低。
為比較兩種協(xié)議在網(wǎng)絡(luò)延遲性能方面的表現(xiàn)。在300m×300 m的場(chǎng)景中均勻布置50個(gè)固定節(jié)點(diǎn),采用多跳網(wǎng)絡(luò)拓?fù)鋪?lái)測(cè)試端到端的數(shù)據(jù)時(shí)延,源節(jié)點(diǎn)產(chǎn)生20條消息,每條100 Byte,所有消息不分片,在輕流量載荷條件下重復(fù)10次實(shí)驗(yàn),測(cè)的每條平均消息時(shí)延如圖4所示,由于源節(jié)點(diǎn)在GS-MAC中競(jìng)爭(zhēng)簇頭節(jié)點(diǎn)形成的時(shí)延,造成兩種協(xié)議中第一個(gè)轉(zhuǎn)發(fā)跳時(shí)延有較大差異,隨著消息的向前傳遞,后面排隊(duì)時(shí)延較少,但由于GS-MAC中發(fā)現(xiàn)狀態(tài)的存在,使GS-MAC協(xié)議時(shí)延略大于S-MAC協(xié)議時(shí)延。
綜上所述,引進(jìn)拓?fù)浣Y(jié)構(gòu)控制的GS-MAC協(xié)議能夠在正常延時(shí)的條件下,進(jìn)一步降低了節(jié)點(diǎn)能耗,延長(zhǎng)了網(wǎng)絡(luò)生存期。
3 結(jié)束語(yǔ)
通過(guò)分析無(wú)線傳感器網(wǎng)絡(luò)S-MAC協(xié)議性能,針對(duì)在數(shù)據(jù)業(yè)務(wù)量少的情況下,大部分傳感器節(jié)點(diǎn)處于空閑偵聽(tīng)狀態(tài),浪費(fèi)了大量節(jié)點(diǎn)能量,引入GAF拓?fù)浣Y(jié)構(gòu)控制算法,使得在正常的網(wǎng)絡(luò)延遲下,大幅減少了處于空閑偵聽(tīng)狀態(tài)下的節(jié)點(diǎn)數(shù)量。通過(guò)仿真表明,GS-MAC協(xié)議具有較高的能量效率,延長(zhǎng)了網(wǎng)絡(luò)使用壽命。
作者:付向全 孫志毅 來(lái)源:電子科技