無線傳感器網絡中節(jié)能MAC協議的研究
引言
本文引用地址:http://www.ljygm.com/article/159729.htm無線傳感器網絡是由大量傳感器節(jié)點構成的一種特殊 Ad Hoc 網絡,主要用于數據的 采集和傳輸,有著廣泛的應用前景。由于傳感器節(jié)點一般由電池供電,且節(jié)點的體積微小, 而電池能夠攜帶的能量非量有限,因此,節(jié)省能耗是無線傳感器網絡中的一個研究熱點。 人們提出了許多有效的 MAC 層協議[1],其中以S—MAC 最具有代表性。它一方面繼承 了IEEE802.11 MAC[2] 協議中的基本機制,另—方面采用周期性睡眠工作方式,有效降低了 能耗,因此成為傳感器網絡中廣受關注的MAC 協議之一。本文將詳細分析以S—MAC 為代表的 Schedule 類協議原理和性能,并在此基礎上探討更節(jié)能的MAC 協議的研究和設計。
一 Schedule 類協議
1.1 S—MAC 協議
S—MAC(Schedules MAC)協議是基于時間調度協議的代表,它融合了幾乎所有的無線 網絡的節(jié)能技術。S—MAC 協議的主要目的就是節(jié)能,它的最主要的思想是通過周期性的 休眠來使得射頻低占空比運行。另外它還融入了其它的節(jié)能技術,如沖突避免和串音避免, 還有消息傳遞以及自適應偵聽機制。
周期性*和睡眠
周期性*和睡眠是 S—MAC 協議的最精華部分。在許多傳感器網絡應用中,大多都 是小數據量應用,即周期內只有少量數據,而其它很長的時間內都沒有數據。因此,S—MAC 協議通過讓節(jié)點進入周期性睡眠模式來減少*時間。例如,如果每秒鐘讓節(jié)點休眠半秒, 而另半秒進入空閑*,那么該節(jié)點的radio 工作的占空因數(dutycyde)就減少到50%,即能 夠節(jié)省近50%的能量。
周期性*和睡眠的基本機制是偵察→睡眠→偵察→睡眠,每個節(jié)點在一段時間內睡眠,然后在醒過來后立即進入空閑*狀態(tài)來*信道;在睡眠時,節(jié)點關閉它的射頻,并 使用一個定時器來定時喚醒。*和睡眠的持續(xù)時間可以根據不同應用場景來選擇。一般為 了同步方便,所有節(jié)點可以設置相同的睡眠和喚醒時間。每個節(jié)點通過向鄰居廣播自己的調 度信息來實現鄰居節(jié)點間的調度信息的共享,同時每個節(jié)點都要為鄰居維護一張調度表,里 面記錄了各個鄰居節(jié)點的調度信息。
消息傳遞
S—MAC 的方法是把長信息分割為許多小的片斷,然后傳輸它們。但是只在一開始使 用一個RTS 分組和—個CTS 分組。每次傳輸一個數據片斷分組,發(fā)送者等待接收者送來的 ACK。每個數據片段和其ACK 都附帶有—個剩余時間域,其意義是告知鄰居節(jié)點還需占用 信道多長時間,即相當于預約了信道整個消息發(fā)送所需要的時間。因此如果沒能夠接收到 ACK,節(jié)點可以擴展傳輸時間,并迅速重傳現有的片斷,如圖1 所示。

正常工作圖顯示了在發(fā)送 RTS 包的時候,剩余時間域就已經為整個消息的發(fā)送預留了 占用信道的時間,而后的數據包和ACK 包中的時間隨著包的發(fā)送依次遞減。而重發(fā)工作圖 中顯示,當發(fā)送方的一個片段包未收到ACK 時,它立刻重發(fā)且擴展了剩余時間。由于每個 分組和ACK 都有剩余時間域,因此即使有節(jié)點提前醒來(由于重發(fā)耽誤了時間),也可以得 到新的剩余時間,而再次進入睡眠,等待發(fā)送結束。在每個數據片斷后使用ACK 的目的是 預防隱藏終端問題。在傳輸過程中,一個鄰居節(jié)點醒來或新節(jié)點加入都是可能的。如果節(jié)點 只是接收者的鄰居而不是發(fā)送者的,它就不會聽到發(fā)送者正在傳輸的數據片斷。如果接收者 并沒有頻繁的發(fā)送ACK,新節(jié)點也許會錯誤的從它的載波偵聽中推斷媒介是空閑的,并開 始發(fā)送數據,從而導致現有的傳輸將會在接收者處被損壞。
評論