付向全,孫志毅
(太原科技大學電子信息工程學院,山西太原 030024)
無線傳感器網絡由部署在監測區域內大量的廉價微型傳感器節點組成,通過無線通信方式形成的一個多跳的自組織網絡系統,主要用于收集、傳播和處理傳感信息。
與傳統的無線自組織網絡不同,無線傳感器網絡節點數目龐大,節點分布密集;由于環境影響和能量耗盡,節點更容易出現故障;環境干擾和節點故障易造成網絡拓撲結構的變化。另外,節點的能量、處理能力、存儲能力和通信能力等都有限,因此無線傳感器網絡的首要設計目標是能源的高效利用。無線傳感網絡介質訪問控制(Media Access Control,MAC)協議必須以節約能源為主要目標,并且采用折中機制,使用戶可以在延長網絡生命周期和提高網絡吞吐量、降低通信延遲等方面做出選擇。
目前針對不同的傳感器網絡應用,研究人員從不同方面提出了多個MAC協議,缺乏統一的分類方式,根據采用固定分配信道方式或隨機訪問信道方式,將傳感器網絡MAC協議分為:時分復用方式(TDMA)、隨機競爭方式和其他MAC協議。固定分配信道方式的TDMA可以自然完成節點上的低占空比操作,因為他們只需在自己的時隙里開啟無線模塊完成發送和接收,但其可擴展性較差,而時間同步對系統是一筆較大的開銷。由于無線傳感網絡數據率較低,而且對時延的要求不高,因此目前實用的節能MAC協議基本是基于競爭的協議。大量實驗和理論分析表明無線傳感器節點的能量浪費主要源自空閑偵聽、沖突、串擾和控制。因此結合現有的無線傳感器網絡MAC協議,引入層次型拓撲結構控制思想,建立一種高效節能的無線傳感器網絡協議,并進行分析、仿真和驗證,具有研究意義。
S - MAC 協議[2]是在 802.11MAC[1]協議的基礎上,針對傳感器網絡的節能需求而提出的傳感器網絡MAC協議。S-MAC協議假設通常情況下傳感器網絡數據傳輸量少,節點協作完成共同的任務,網絡內部能夠進行數據處理和融合以減少數據通信量,網絡可以容忍一定程度的延遲。研究表明傳感器能量主要消耗在節點間的通行上,而空閑偵聽大約占節點通信能量的1/3。為達到節省能量的目的S-MAC協議主要采用周期性的偵聽/睡眠的低占空比機制,控制節點盡可能處于睡眠狀態來降低節點能量的消耗。但SMAC協議存在以下問題:S-MAC協議中同一個虛擬簇中的所有節點要同時從睡眠狀態轉換到活動狀態,開始對信道的競爭,而大量節點沒有數據傳輸任務,這些節點對信道的競爭和空閑偵聽浪費了大量的能量。
T -MAC[3](Timeout MAC)協議是在 S - MAC 協議的基礎上提出的。S-MAC協議的周期長度受限于延遲要求和緩存大小,而偵聽時間主要依賴于消息速率。因此,為保證消息的可靠傳輸,節點的周期活動時間必須適應最高的通信負載,從而造成網絡負載較小時,節點空閑偵聽時間的相對增加.針對這一不足,文獻[3]提出了T-MAC協議,該協議在保持周期偵聽長度不變的情況下,根據通信流量動態調整節點活動時間,用突發方式發送消息,減少空閑偵聽時間。但是由于大量無需數據傳輸的節點對信道的競爭和空閑偵聽仍造成大量能量的浪費,另外T-MAC協議的執行,會出現早睡眠問題,引起網絡的吞吐量降低。為此,它采用兩種方法來提高早睡眠引起的數據吞吐量下降:(1)未來請求發送機制。(2)滿緩沖區優先機制,但效果并不是很理想。
S-MAC、T-MAC虛擬簇中的所有節點都周期性地從睡眠狀態轉入工作狀態,參與信道的競爭和數據傳輸,而大部分節點沒有數據傳輸任務,造成他們在大部分活動時間處于空閑偵聽狀態,而浪費了大量能量。針對S-MAC、T-MAC無法避免的問題,提出了新MAC協議 GS-MAC(Geographical Sensor MAC)。GS-MAC協議引入了GAF拓撲控制算法后,適當減少活動節點數量,加快算法的收斂速度,減少大量節點對信道的空閑偵聽和數據碰撞,從而達到節能的目的。
GAF(Geographical Adaptive Fidelity)[4]算法是以節點地理位置為依據的分簇算法,該算法把監測區域分成虛擬單元格,將節點按照位置信息劃入相應的單元格;每個單元格中定期選舉產生一個簇頭節點,只有簇頭節點保持活動,其他節點進入睡眠狀態,GAF算法的執行包括兩個階段:第一階段是虛擬單元格的劃分;第二階段是簇頭的選舉產生[5-6]。
虛擬單元格的劃分:根據節點的位置信息和通信半徑,將網絡區域劃分成若干虛擬單元格,保證相鄰單元格中的任意兩個節點都能夠直接通信。為保證相鄰兩個單元格中任意的兩個節點都能夠直接通信,需滿足如下關系式

在式(1)中,R為所有節點的通信半徑;r為正方形虛擬單元格邊長。
簇頭的選舉產生:GAF算法中簇頭承擔更多的數據處理和通信,消耗的能量相對較大。在改進的GAF算法中簇頭的選舉考慮到了節點剩余能量問題,選舉剩余能量較多的節點擔任簇頭。隨機簇頭選舉算法:節點只知道自己的能量信息和位置信息。假設某次簇頭選舉在Tr時刻開始,對單元格內任意節點N,以概率P發送測試消息。概率P與剩余能量成正比,如果測試消息成功,它就發生消息M(Ep,N),Ep為節點N剩余能量;如果消息發送不成功,節點N進入偵聽狀態。如果在一個時槽內沒有接到發送消息,表明該時槽內沒有節點競爭成功,開始新一輪的選舉,反之,如果有節點競爭成功,發送M(Ep,N)消息擔任簇頭,單元格內其他節點偵聽到消息M加入該簇[7-9]。
在GS-MAC協議中只有簇頭節點進入活動狀態如圖1和圖2所示[10]。

在新協議中,由于引入拓撲結構機制,可以減少一部分節點的空閑偵聽時間,只保留簇頭節點處于活動狀態,在簇頭選舉中考慮到節點剩余能量,在局部范圍內做到平衡節點剩余能量,延長了網絡生存周期[11]。
簇頭節點維護和S-MAC協議類似的工作/睡眠機制,每個簇頭節點周期性的與直接鄰近簇頭節點通過接收和廣播SYNC數據幀來交換調度信息;采用CSMA/CA機制和隨機退避時間;經歷 RTS/CTS/DATA/ACK通信過程完成數據傳輸,在數據傳輸完成之前不遵循其休眠時間安排;采用流量自適應偵聽機制,減少消息的傳輸時延。
利用NS2對S-MAC協議和新協議(GS-MAC)在能量消耗和傳輸時延兩方面進行比較,其中能量消耗為從源節點發送一定數量包到目的節點的總能耗,時延為端到端時延。仿真場景設置300 m×300 m,布置10~50個節點,R=300 m,r=100 m,劃分9個虛擬單元格。仿真參數選擇如表1所示。

表1 仿真參數選擇

從圖3可以看出在節點數目等于10時,幾乎每個虛擬單元格都只有1個節點,GAF拓撲控制算法效率低,基本接近S-MAC協議,隨著節點數目的逐步增加,GAF拓撲控制算法效率顯著提高,能量消耗明顯降低。
為比較兩種協議在網絡延遲性能方面的表現,在300 m×300 m的場景中均勻布置50個固定節點,采用多跳網絡拓撲來測試端到端的數據時延,源節點產生20條消息,每條100 Byte,所有消息不分片,在輕流量載荷條件下重復10次實驗,測的每條平均消息時延如圖4所示,由于源節點在GS-MAC中競爭簇頭節點形成的時延,造成兩種協議中第一個轉發跳時延有較大差異,隨著消息的向前傳遞,后面排隊時延較少,但由于GS-MAC中發現狀態的存在,使GS-MAC協議時延略大于S-MAC協議時延。
綜上所述,引進拓撲結構控制的GS-MAC協議能夠在正常延時的條件下,進一步降低了節點能耗,延長了網絡生存期。
通過分析無線傳感器網絡S-MAC協議性能,針對在數據業務量少的情況下,大部分傳感器節點處于空閑偵聽狀態,浪費了大量節點能量,引入GAF拓撲結構控制算法,使得在正常的網絡延遲下,大幅減少了處于空閑偵聽狀態下的節點數量。通過仿真表明,GS-MAC協議具有較高的能量效率,延長了網絡使用壽命。
[1]IEEE.IEEE computer society lan man standings committee[S].USA:IEEE Std 802.11 -1999,Wireless LAN Medium Access Control(MAC)and Physical Layer(PHY)Specification,1999.
[2]YE W,HEIDEMANN J,ESTRIN D.An energy -efficient MAC protocol for wireless sensor networks[C].NewYork,NY:Proc 21st Int'1 Annual Joint Conf IEEE Computer and Communications Societies(INFOCOM 2002),2002:1567 -1576.
[3]VAN DAM T,LANGENDOEN K.An adaptive energy- efficient MAC protocol for wireless sensor networks[C].Losangeles,CA:In:Proc 1stInt'1 Conf on Embedded Networked Sensor Systems(SenSys)Nov.5 -7,2003,Los Angeles,CA,2003:171-180.
[4]XUY,HEIDEMANN J,ESTRIN D.Geography,informed energy conservation for Ad hoc routing[C].Rome,Italy:Proc 7th Annual Int'I Conf on Mobile Computing and Networking(MobiCOM),2001:70 -84.
[5]鄭國強,李建東,周志立.無線傳感器網絡MAC協議研究進展[J].自動化學報,2008,34(3):305 -316.
[6]湯波,羅昌俊,周明天.能量均衡的無線傳感器網絡分簇方法[J].計算機應用研究,2008,25(3):878 -880.
[7]陳林星.無線傳感器網絡技術與應用[M].北京:電子工業出版社,2009.
[8]何劍,白光偉.無線傳感器網絡S-MAC協議性能研究[J].計算機工程,2010,36(24):087 -089.
[9]吳雪,馬興凱.無線傳感器網絡拓撲控制策略研究[J].通信技術,2009,42(3):161 -163.
[10]周瑋,駱堅.一種改進的無線傳感器網絡MAC協議[J].微計算機信息,2011,27(1):160 -161.
[11]李冰,李捷.一種基于GAF的無線傳感器網絡分簇算法[J].計算機技術與發展,2008,18(12):113 -115.