楊遜豪,何加銘,董義旺,吳 剛
(1.寧波大學通信技術研究所,浙江寧波 315211;2.浙江省移動網應用技術重點實驗室,浙江寧波 315211;3.中國電信股份有限公司寧波分公司,浙江寧波 315001)
無線傳感器網絡(Wireless Sensor Networks,WSNs)作為新一代傳感器系統,能夠實時監測、感知、采集各種環境或監測對象的信息,并對這些信息加以處理,以便獲取詳盡、準確的信息[1]。但由于其受功能、特性及應用背景的影響巨大,因此設計具有最大化生存周期、最小化網絡能耗的無線傳感器網絡,保證網絡的連通性和有效減低能耗具有十分重要的意義。
媒體訪問控制協議(Medium Access Control,MAC)[2],處于無線傳感器網絡底層,是保證無線傳感器網絡高效通信的關鍵協議之一,盡可能延長無線傳感器網絡壽命十分重要。目前無線傳感器網絡的MAC協議設計中還存在許多缺陷需要去解決[3-4]。因此設計無線傳感器網絡MAC協議應該在確保低能耗的前提下,具有盡可能高的吞吐量、盡可能小的時延、數據無誤傳輸以及支持多種業務需要等特性以滿足用戶需求。
針對不同應用場合對無線傳感器網絡要求不盡相同的特點,MAC協議分為基于競爭協議、基于調度協議和混合 MAC 協議[5]。S-MAC 協議[6]是一種基于競爭機制的典型MAC協議,專門針對事件通知應用場景,可以較好地適應這種場景中的數據流變化。在沒有數據時節點基本處于休眠狀態,節省自身的能量;而在突發事件觸發大量數據傳輸時,又可以自適應增加節點喚醒次數,從而加快數據傳輸。S-MAC的主要工作機制如下。
S-MAC協議最主要的運行機制為周期性偵聽/休眠機制。它將時間分為多個工作周期,每個工作周期又分為偵聽階段和休眠階段。在偵聽階段,節點完成與相鄰節點間通信。在休眠狀態,節點為了減少能耗,直接關閉發射接收器。若此時存在需要處理的數據,則執行緩存操作,待到節點處于偵聽狀態時再進行處理。
節點每隔一段偵聽周期廣播一次同步信息,鄰居節點同樣采用該策略,從而使得整個網絡形成了若干個采用不同策略的虛擬簇。不同的虛擬簇之間通過簇間邊界節點進行數據交換,通過虛擬簇機制,新節點很容易加入到現有網絡中去。但是這些邊界節點為了能夠保證簇與簇之間能夠順利地進行數據傳輸,保存了多個調度,這樣在每個調度規定的時刻都會被喚醒。但這種機制存在節點能量過度消耗的情況。
S-MAC使用了802.11的沖突避免機制,即虛擬載波監聽和物理載波監聽結合的RTS-CTS通告機制,協議規定每個節點控制一個時間幀,當節點有數據包要發送時,先進行等待,直到屬于該節點的幀到來時,先廣播帶有接收節點和包長度的控制報頭消息,然后傳送數據。收到報頭消息的節點如果不是接收節點,則關閉射頻模塊,較好地解決了隱藏終端問題和暴露終端問題。
在S-MAC協議初始化階段,調度的同步十分重要。但是S-MAC協議的同步只能在較小范圍內完成,導致了在全網范圍內存在多個不同調度表的簇。簇邊界上的節點,為了能夠順利與鄰簇節點進行通信,需要在該節點上保存多個調度信息,因此邊界節點會在每個調度表的監聽時段醒來,相較于其他節點較少進入休眠階段,能量消耗較大,導致了網絡整體壽命的縮短。
為了解決這個問題,對現有的SS-MAC協議[7]進行改進,設計了一種算法規則,采用優先級標準作為依據,使得相鄰的虛擬簇進行合并,最終實現整個網絡調度的統一,消除邊界節點,從而解決了不同虛擬簇間邊界節點能耗過快的問題。
整個虛擬簇用樹來表示,把創建根節點稱為樹根,簇中每個節點都存在一個權值,表示節點距離根節點的跳數,根節點的權值為零,其余節點在接入網絡之前,權值預設為一個較大的初始值。算法采用從根節點到虛擬簇邊界的最大權值來表示優先級,生成樹統計模型如圖1所示。改進后的 MAC協議稱為TS-MAC協議,在每個節點上保存變量列表ValueList,包括某一虛擬簇全簇節點總數 Total、最大權值ValueMax、本節點權值 ValuePoint、父節點標識Father、子節點標識 Son[i]、同步包到達時間 ArriveTime[i]以及對應節點的下級節點總數SonNum[i]。
在文獻[8]中介紹了一種GAF改進算法,在該算法的基礎上設計了一種根節點選擇策略。假設每個節點能夠隨時查詢自身ID以及剩余能量,同時賦予剩余能量最大的節點為根節點,剩余能量次大的節點作為候選根節點,當根節點剩余能量達到閾值時,候選根節點將接替成為根節點,避免由于根節點能量耗盡引起節點間通信質量的下降。
算法初始階段,節點按照ID依次發送和接收通知消息 M(N1,N2,Emax,Esub),其中 Emax 為現有虛擬簇內剩余能量最大值,Esub為剩余能量次大值,N1、N2為與此相對應的ID。
假設某虛擬簇內共有N個節點,任意一個節點ID為Nn,能量為En,Tr為初始時間,Ts為發送消息所需時間,具體根節點選舉算法實現如下:


圖1 生成樹統計模型

這樣所有節點均將獲悉根節點的ID和剩余能量,完成根節點的選舉。
創建生成樹,統計簇內節點信息,實現虛擬簇內節點瞬時同步,算法實現如下:

根據生成樹信息,進行簇的合并,算法實現如下:


針對無線傳感器網絡所存在的特性,必須考慮由于網絡拓撲變化造成樹結構變化的情況。對于新加入的節點,可以通過監聽網絡中其余節點的同步請求報文,獲取周期T(取3~5個同步周期)內收到的具有最小權值的鄰居節點作為自身父節點,并將權值加1作為自身權值,保證了生成樹總是擁有最新的拓撲,增強了魯棒性。當節點因某些原因與網絡失去聯系時,若該節點不屬于根節點,則按照上述方法進行拓撲調整。本算法規則采用消息開始發送到無線信道的時刻作為同步消息時間戳,消除了時延誤差,提高了時間同步的精度。
如圖2所示,在實際傳輸中存在著傳輸時延、接收時延等不確定性因素,則 4 個時刻 T1、T2、T3、T4實際應該滿足如下關系:

式中,εtrans12是消息由節點1傳輸到節點2的傳輸時延,εrecv2則是節點2接收消息時產生的隨機誤差;a12為節點2相對于節點1的局部誤差。從上式中可以看到,報文間隔時間過長會造成同步精度的影響。因此,要求應答包返回的時間間隔不能太長,同時應答包一次所包含的同步信息也不能太多。

圖2 消息交換機制誤差
本文采用OMNET++仿真工具[9-10]對TS-MAC協議進行仿真分析。OMNET++是一款開源的網絡仿真系統,近年來在科學和工業領域里逐漸流行,主要用于通信網絡和分布式系統的仿真。
OMNET++進行TS-MAC協議建模仿真流程如圖3所示。

圖3 TS-MAC仿真建模流程
通過以上對TS-MAC協議的剖析和對OMNET++編程模式的理解,定義如下仿真環境。
仿真的節點拓撲如圖4所示,N個節點呈線性分布,其中節點N-1為目標節點,節點0為源節點,相鄰節點間隔為200 m。從源節點處開始發送數據包至目的節點,發送速率為n個/s。

圖4 節點網絡拓撲
主要仿真參數如表1所示。

表1 主要仿真參數
3.3.1 能耗分析
如圖4所示模型進行仿真,得到邊界節點消耗能量隨時間變化的曲線,如圖5所示。由于邊界節點在300 s開始接收到2個調度表信息,因此其能量消耗速率較之前快一倍。而TS-MAC與SS-MAC協議下邊界節點始終只有一個調度表,因此其能量消耗速率保持不變。但TS-MAC協議較SS-MAC協議在完成全網同步時間上要少得多,因此能量消耗幅度始終低于SS-MAC協議。從仿真輸出結果可以看出,TS-MAC與SS-MAC協議下數據流持續時間都比S-MAC協議下要長,網絡連通性較好。

圖5 邊界節點能耗
3.3.2 實時性分析
采用多次仿真取平均值的方法如圖6所示,由圖可以看出,SS-MAC協議在仿真時間達到3200 s處實現全網同步,TS-MAC協議在1600 s時實現全網同步,說明TS-MAC協議較之SS-MAC協議具有更好的實時性。

圖6 協議實時性比較
針對 S-MAC協議中邊界節點能耗過快,SSMAC協議中全局同步時間過長,無法快速實現全局同步的問題,提出了一種新的TS-MAC協議,通過設定優先級標準來確定虛擬簇的最大權值,利用生成樹來完成根節點與下級節點的時間同步,以達到局部時間同步,并以此為標準在簇間邊界節點上進行調度表的取舍,從而實現簇的合并和全網調度的同步,消除了邊界節點。仿真結果驗證了該算法能夠有效地控制節點的能耗,提高了網絡的連通性。
[1]馬祖長,孫怡寧,梅濤,等.無線傳感器網絡綜述[J].通信學報,2004,25(4):114-124.
[2]蹇 強,龔正龍,朱培棟,等.無線傳感器網絡MAC協議研究進展[J].軟件學報,2008,19(2):389-403.
[3]KUNTZ R,GALLAIS A,NOEL T.From Versatility to Auto-adaptation of the Medium Access Control in Wireless Sensor networks[J].Journal of Parallel and Distributed Computing,2011,71(9):1236-1248.
[4]BOKAREVA T,HU Wen,KANHERE S,et al.Wireless Sensor Networks for Battlefield Surveillance[C]∥Proc of Land Warfare Conference,LWC-2006,Australia,2006:1-5.
[5]YAHYA B,BEN-OTHMAN J.Towards a Classification of Energy Aware MAC Protocols for Wireless Sensor Networks[J].Wireless Communications and Mobile Computing,2009,9(12):1572-1607.
[6]YE W,HEIDEMANN J,ESTRIN D.An Energy-efficientMAC Protocol for Wireless Sensor Networks[C]∥Proc of IEEE INFOCOM 2002,New York,USA,2002:1567-1576.
[7]劉 冰,楊 昀,張惠民,等.一種高效的無線傳感器網絡的 MAC層方案[J].無線電工程,2007,37(3):11-13.
[8]SANTI P.Silenceis Golden with High Probability:Maintaining a Connected Backbone in Wireless Sesor Networks[C]∥Proc of European Workshop on WSN,Berlin,2004:106-121.
[9]馮友宏,關可.基于OMNET的無線傳感器網絡算法的改進[J].傳感技術學報,2010,23(6):859-862.
[10]楊永康,王永斌,劉宏波.基于Mixim模塊的無線移動網絡仿真[J].計算機與數字工程,2011,39(9):101-104.