張俊
(南京郵電大學 通信與信息工程學院, 江蘇 南京 210003)
無線傳感器網絡(WSN)[1]是大量的傳感器節點通過無線通信的方式構成的自組織的多跳網絡結構,因為其應用的廣泛性而得到越來越多的高度重視。路由協議是無線傳感器網絡應用的基礎技術,而且數據的收發是網絡能量消耗的主要部分,所以對傳感器網絡路由協議的研究就很有意義。在WSN中,決定無線信道方式在于介質訪問控制(MAC),把有限的無線信道資源分配到各個傳感器之間,從而構建出傳感器網絡協議的底層。節能問題一直是WSN設計中首先考慮的問題,WSN各層協議設計中,節能都是重點考慮的方面,MAC協議也不例外。然而由于WSN經常被應用在醫療、軍事等對實時性要求很高的領域,這些領域要求及時監測、處理和傳遞信息,因此設計適合這些領域的MAC協議實時性就十分必要。目前WSN中的MAC協議通常假設節點都是靜止的,并不適合存在移動節點的WSN。而即使是靜止的WSN同樣具有動態性,例如增加新的節點,節點因為外部因素發生位移等,都會使WSN的拓撲結構發生變化。傳統的MAC協議對實時性和移動性都沒有考慮,勢必會影響這些協議在應用中的性能。
現有的WSN中的MAC協議一般可以分為基于競爭類和固定分配類。TAMC(Timeout-MAC)[2]、SMAC(Sensor-MAC)[3]、CSMA(Carrier Sense Multiple Access)[4]是基于競爭類中幾個比較有代表性的MAC協議。其中單純基于競爭的協議是CSMA,通過節點不斷地監測信道的使用狀況,在信道空閑時發送數據,信道忙時就等待,如果數據在傳輸時發生沖突,則發生沖突的節點需要在等待一段時間后重新發送數據。SMAC采用時間幀(Frame time),每個時間幀分為工作和休眠2個階段,通過2個狀態的周期性交替來節省能量,如圖1(a)所示。但是每個節點的占空比(工作時間和總時間的比例)是相同的,因此在負載可變的情況下,性能會有所下降。TMAC是在SMAC的基礎上,引入自適應占空比來適應負載可變的情況,如圖1(b)所示。但是節點在發送前加入喚醒前導,增加了發送和接收的能量和時延。TRAMA[5]是基于固定分配類的MAC協議,該協議將時間幀分成更小的時隙,如圖2(a)所示。采用各節點流量信息的分布式選舉算法來決定某個特定時隙中節點的傳輸選擇。但TRAMA時延長,不適合實時性要求高的應用。

圖1 SMAC與TMAC時間幀

圖2 TRAMA與AMAC時間幀
以上這幾種MAC協議均沒有考慮WSN的動態性。在實際應用中,傳感器傳輸數據時,各個節點產生數據的速率是不同的。本文借鑒了分簇的思想,簇內節點成員提出申請,簇首節點經過判斷使時隙合理分配,從而既提高了WSN的實時性,又兼顧其動態性。
AMAC協議采用LEACH[6]作為分簇和簇首選協議。簇內節點之間是單跳模式,如圖3(a)所示。在開始階段,簇首產生一個時間幀,它由若干時隙調度和仲裁(mediation)廣播組成,如圖3(b)所示。定義該時間幀在簇內執行一次為一輪。每個成員節點均分得一個時隙,只有在該時隙內的成員節點才能占有信道并與簇首節點進行通信,其他成員節點在該時隙無法與簇首節點進行通信。每個時隙包括一個固定時間長度τ,在slot-τ內,該成員節點與簇首進行通信,該節點可以根據數據剩余量和數據產生速率向簇首節點提出下一輪時隙申請,在時間τ內把該申請提交給簇首節點。當簇內節點這一輪通信完畢,簇首節點會根據申請信息進行仲裁,并將仲裁后的時隙調度在仲裁廣播時間內發給簇內各個成員節點。這樣在下一路簇內通信時成員節點可以根據新的時隙調度合理分配時間。

圖3 初始時刻簇內拓撲結構與時間幀
WSN的信道容量已知為C,假設簇內有n個成員節點,分別為S1,S2,…,Sn,它們各自的時隙分別為t1,t2,…,tn,數據產生速率為k1,k2,…,kn。初始階段簇內成員節點分得的時隙是相同的,即t1=t2=…=tn,如圖3(b)所示。設簇內第i個節點si在某輪的時隙為ti,則發送數據時間為ti– τ,設當前的數據長度為li,在該時隙內發送的數據長度為C(ti– τ),本輪過后si中剩余的數據為li– C(ti– τ)。如果li– C(ti– τ) > 0,說明si在時間ti內沒有將數據發送完,那么si在下一輪期望分得的時隙為:e(ti) = [li– C(ti– τ) + kiti]/C + τ;如果li–C(ti– τ) ≤ 0,說明數據已發送完畢,e(ti) = kiti/C +τ。
簇首節點對一輪接收到的數據信息融合后轉發到基站,然后對成員節點申請時隙的請求進行仲裁。具體規則如下:當成員節點si無數據發送時,e(ti) 取其下限為e(ti)min = τ,同時設定時隙上限e(ti)max = η,即成員節點的時隙范圍是[τ,η]。如果滿足條件τ ≤e(ti) ≤η,那該成員節點在下一輪的時隙為e(ti);否則若e(ti) >η,那它下一輪時隙為η。考慮到WSN的移動性,如果簇首節點沒有接收到某個成員節點在該時隙內的數據信息時,我們可以認為該節點已經不屬于該簇(死亡或已移出該簇)。這是因為在正常情況下簇內成員節點分得的最小時隙為τ,該節點至少會在τ內發送申請信息。我們以e(ti)是否為空作為節點si是否屬于該簇的先決條件,當e(ti)為空,該節點時隙就會從時間幀中移除。當該簇加入某個新成員節點時,該節點必須先向簇首節點注冊,簇首節點才能在下一輪時間幀時為這個節點分配一個新的時隙,然后通過廣播把新的時間幀發送給簇內成員節點。
在NS2平臺上對AMAC協議進行仿真實驗,并與TRAMA、CSMA、SMAC協議的性能進行比較。仿真條件設定:傳感器節點隨機分布在10000m×10000m區域內,每個節點通信范圍是100m,數據產生速度滿足泊松分布,網絡傳輸速率為50Kb/s,仿真時間為500s。
圖4、圖5分別描述了4種協議的網絡平均時延與網絡負載和網絡動態性的關系。圖4中,當負載較小時,因為CSMA是完全基于競爭的協議,不需要額外的控制信息,數據傳輸時延最小。同樣SMAC是基于競爭的協議,只不過它需要增加一些同步開銷,平均時延比CMAC大一些。以上2種協議時延都小于TRAMA、AMAC協議。但隨著網絡負載的增多,CSMA和SMAC協議數據包沖突開始增加,平均時延也跟著增大,TRAMA、AMAC協議的平均時延反而因為信道利用率的提高而減小。由圖5可以看出,AMAC協議的時間幀能隨網絡拓撲結構的變化而自動調整,因此在動態網絡中的平均時延變化不大,而其他3種協議的平均時延會隨著網絡中的動態性的增強而急劇增大。

圖4 不同負載下數據包的平均時延

圖5 動態網絡中數據包的平均時延
圖6,圖7分別說明了4種協議的數據包到達率與網絡負載和網絡動態性的關系。圖6中,CSMA、SMAC協議的數據包傳輸過程中會有沖突導致數據包丟失,隨著負載增大,丟失率很嚴重。而TRAMA、AMAC協議的優勢就十分明顯。圖7中,TRAMA、SAMC、CSMA協議都是依據靜態WSN設計的,因此數據包到達率會隨著網絡動態性的增強而下降。AMAC協議因為會自適應網絡拓撲結構的變化而自動調整時間幀,因此數據包的到達率仍然很高且變化得比較平穩。
本文分析了現存WSN中MAC協議的不足,提出了一種實時性較強的MAC協議,能夠很好地適用于動態WSN。AMAC根據節點的不同情況合理調整時隙分配,提高了信道利用率。仿真結果表明,AMAC協議較其他MAC協議在實時性和動態性上性能提高顯著。下一步我將會對設定的時隙上限η進一步優化,以提高節點占有信道的公平性和信道利用率。

圖6 不同負載下數據包的到達率

圖7 動態網絡中數據包的到達率
[1] 任豐原. 無線傳感器網絡[J]. 軟件學報,2003,14(7):1282-1291.
[2] 鄭增威,金水祥. 無線傳感器網絡及其應用[J]. 計算機科學,2003,30(10):138 -140.
[3] EDGAR H,CALLAWAY JR,Wireless Sensor Networks: Architechures and Protocols[M]. New York: Auer Bach Publications, 2003: 74-84.
[4] WALRAND J. Communication Networks[M]. Second edition. New York:McGraw-Hill, 1998.
[5] HEIDEMANN J,ESTRIN D. An energy efficient mac protocol for wireless sensor networks[A]. Proceeding of the INFOCOM[C]. San Francisco: IEEE Computer Society,2002: 1567-1576.
[6] HEINZELMAN W,CHANDRAKASAN A,BALAKRISHNAN H. An application-specific protocol architecture for wireless micro sensor networks[J]. IEEE Transactions on Wireless Communication,2002,1(4):600-670.
[7] Akyildiz IF,Su W, Sankarasubramaniam Y, Cayirci E. Wireless sensor networks: A survey[J].Computer Networks, 2002,38(4):393-422.
[8] S.Hedetniemi, A.Liestman. A survey of gossiping and broadcasting in communication networks[J]. Networks,1998,18(4):319-349.
[9] Sohrabi K, Gao J, Ailawadhi V, Pottie GJ. Protocols for self-organization of a wireless sensor network[J]. IEEE Personal Communications, 2000, 7(5): 16-27.