1.無線傳感器網(wǎng)絡mac協(xié)議特點與設計原則
mac協(xié)議就是當信道使用產(chǎn)生競爭時,如何采用有效協(xié)調(diào)機制或服務準則來分配信道的使用權。
mac協(xié)議:以一定的順序和有效的方式分配節(jié)點訪問媒體的規(guī)則。
mac協(xié)議的功能:決定終端通過何種方式接入介質(zhì)傳送數(shù)據(jù)包,處理mac的組織結構及協(xié)調(diào)終端節(jié)點共享信道資源,規(guī)范網(wǎng)絡中業(yè)務源的接入、避免沖突、功率控制、qos管理等。
選擇適當?shù)膍ac協(xié)議,提高無線資源的使用效率,提高系統(tǒng)的容量和傳輸質(zhì)量。
由于wsn獨特的資源限制和應用要求,設計mac協(xié)議時,有以下幾個原則:
(1)能量有效性
由于節(jié)點一般采用電池供電,電池能量難以補充和更換,有效利用節(jié)點能量,延長網(wǎng)絡生存時間,是設計網(wǎng)絡各層協(xié)議要考慮的重要問題。節(jié)點能耗消耗中,無線收發(fā)電路消耗占據(jù)絕大部分,mac協(xié)議直接控制無線收發(fā)電路,因此mac協(xié)議的能量有效性直接影響節(jié)點和網(wǎng)絡的生存壽命。
(2)可擴展性
是mac協(xié)議適應網(wǎng)絡大小、拓撲結構、節(jié)點密度不斷變化的能力。一個好的mac協(xié)議應具有可擴展性,以適應網(wǎng)絡的動態(tài)變化。
(3)沖突避免
是mac協(xié)議的基本任務。在wsn中,沖突避免的能力直接影響網(wǎng)絡的吞吐量性能、帶寬利用率以及節(jié)點的節(jié)能效果。
(4)延遲
指從發(fā)送節(jié)點向接收節(jié)點發(fā)送一個數(shù)據(jù)包需要的時間。在wsn中,延遲的重要性取決于具體的應用要求,與網(wǎng)絡拓撲結構也有關系。
(5)吞吐量
指在單位時間內(nèi)從發(fā)送節(jié)點到接收節(jié)點傳輸?shù)臄?shù)據(jù)量。網(wǎng)絡的吞吐量受許多因素的影響,例如沖突避免機制的有效性、信道利用率、延遲、控制開銷等。
(6)公平性
指網(wǎng)絡中的節(jié)點能夠平等地共享信道。對于節(jié)點間共同協(xié)作完成同一個任務,保證網(wǎng)絡性能具有重要意義。
傳統(tǒng)的mac協(xié)議的設計目標是最大化吞吐量、最小化時延并且提供公平性。而為無線傳感器網(wǎng)絡設計的mac協(xié)議關注的是最小化能耗,這就決定了它要適度地減小吞吐量和增加時延。
2.無線傳感器網(wǎng)絡mac協(xié)議的分類
根據(jù)信道的分配策略可以分為:
固定分配類
隨機競爭類
按需分配類
根據(jù)協(xié)議的應用場合和業(yè)務種類可分為:
面向話音業(yè)務類
面向數(shù)據(jù)業(yè)務類
面向綜合話音與數(shù)據(jù)業(yè)務類
根據(jù)網(wǎng)絡的拓撲結構分為:
有基礎設施結構的中心類
用于ad hoc結構的分布式;
根據(jù)媒質(zhì)接入方式大致可分為:
基于競爭的mac協(xié)議
基于調(diào)度的mac協(xié)議
(1)基于競爭的mac協(xié)議——采用按需使用信道的方式。
當節(jié)點需要發(fā)送數(shù)據(jù)時,通過競爭方式使用無線信道,如果發(fā)送的數(shù)據(jù)發(fā)生了碰撞,就按照某種策略重新發(fā)送數(shù)據(jù),直到數(shù)據(jù)發(fā)送成功或放棄發(fā)送。
①dcf分布協(xié)調(diào)功能協(xié)議
基于ieee 802.11標準 ,主要是從macaw(maca:multiple access with collision avoidance for wireless )協(xié)議演進而來。該協(xié)議很簡單并且能很大程度上解決隱藏終端問題,但要求射頻接收部分一直處于偵聽狀態(tài),耗能大,不適合wsn。
② pamas協(xié)議(power aware medium protocol and signaling)
該協(xié)議基于csma,要求節(jié)點有兩個分離的信道(控制和數(shù)據(jù)),每個節(jié)點只有當它的鄰居不接收或發(fā)送時,才偵聽數(shù)據(jù)信道并回復連接請求。不傳輸或不接收的節(jié)點會自動關閉無線收發(fā)模塊以節(jié)省能量。由于雙信道的使用,增加了傳感器節(jié)點設計的成本和復雜度。
(2)基于調(diào)度的mac協(xié)議
基于調(diào)度的mac協(xié)議通過集中控制點預先安排其控制的所有節(jié)點在互相獨立的子信道接入共享媒質(zhì),具有代表性的協(xié)議有trama、smacs/ear、d-mac等。
①trama(traffic adaptive medium access)協(xié)議
這是一種感知路由的分布式tdma調(diào)度協(xié)議,包括3個協(xié)議:鄰居協(xié)議np、調(diào)度交換協(xié)議sep和自適應時隙選擇算法aea。將時間分為連續(xù)時隙,采用分布式選舉每個時隙的發(fā)送者,通過避免將時隙分配給無流量節(jié)點或使非接收或發(fā)送節(jié)點休眠來節(jié)能。
②smacs/ear協(xié)議(self-organizing medium access control for sensor networks/eaves-drop and register)
該協(xié)議是結合tdma和fdma的mac協(xié)議,為每一對鄰居節(jié)點分配一個特有頻率進行數(shù)據(jù)傳輸,不同節(jié)點之間的頻率互不干擾,從而避免傳輸碰撞。
3.典型的無線傳感器網(wǎng)絡mac協(xié)議**
(1)s-mac協(xié)議(sensor mac)
第一個完全針對無線傳感器網(wǎng)絡設計的基于競爭的mac協(xié)議,具有有效節(jié)能、擴展性和沖突避免三大優(yōu)點。
根據(jù)wsn數(shù)據(jù)鏈路層的無效能耗問題,如
空閑偵聽:通信模塊始終處于接收狀態(tài)
數(shù)據(jù)沖突:數(shù)據(jù)碰撞重傳造成能量浪費
串擾:接收和處理無關數(shù)據(jù),造成接受模塊與處理模塊耗能增多
控制開銷:控制報文不傳送有效數(shù)據(jù),消耗結點能量,造成能量損失
針對上述能量損耗,s-mac采用的主要機制如下 :
① 周期監(jiān)聽和睡眠機制:s-mac協(xié)議將時間分為幀,幀長度由應用程序決定。幀內(nèi)分監(jiān)聽工作階段和睡眠階段。監(jiān)聽/睡眠階段持續(xù)時間根據(jù)應用可調(diào),當節(jié)點處于睡眠階段就關掉無線電波以節(jié)省能量,但需緩存這期間收到的數(shù)據(jù)以便工作階段集中發(fā)送,并設置一個喚醒定時器。節(jié)點還需發(fā)送周期同步信息以同步相鄰節(jié)點,相鄰節(jié)點也可采用相同的監(jiān)聽/睡眠策略,新節(jié)點也可加入進來,節(jié)點還需要廣播它們各自的監(jiān)聽/睡眠計劃,這樣使得s-mac具有良好的擴展性。s-mac協(xié)議發(fā)送數(shù)據(jù)期間不會進入睡眠階段。該機制存在的不足是由于采用周期睡眠會帶來一定的通信延遲,此外會占用大量存儲空間緩存數(shù)據(jù),這在資源受限的無線傳感器網(wǎng)絡顯得尤為突出。
② 沖突和串音避免機制:采用了物理和虛擬載波監(jiān)聽機制和rts/cts握手交互機制來減少沖突和避免串音。
與ieee 802.11 mac協(xié)議不同的是當鄰居節(jié)點正在通信時,s-mac協(xié)議節(jié)點直接進入睡眠階段;當接收方節(jié)點處于空閑并正在監(jiān)聽周期時,就會被喚醒。串音分組通常是不需要的分組,它隨著節(jié)點密度和業(yè)務負載增加而變得更加嚴重,因而造成能量浪費。串音可以通過更新基于rts/cts的nav來避免,當nav不為零就進入睡眠階段,從而避免串音現(xiàn)象發(fā)生。一個可以遵循的原則就是當發(fā)送方和接收方的所有鄰居在節(jié)點發(fā)送數(shù)據(jù)期間監(jiān)聽到rts/cts后就應當進入睡眠階段。
③消息傳遞機制:長消息轉為多個短消息,只需一次rts/cts,提高消息成功發(fā)送率。
對于無線信道,傳輸差錯和消息長度成正比,短消息傳輸成功的概率要大于長消息。消息傳遞技術根據(jù)這一原理,將長消息分為若干個短消息,采用一次rts/cts交互的握手機制預約這個長消息發(fā)送的時間,集中連續(xù)發(fā)送全部短消息,既可以減少控制報文開銷,又可以提高消息成功發(fā)送率。
④流量自適應監(jiān)聽機制:在多跳無線傳感器網(wǎng)絡中,節(jié)點周期性睡眠會導致通信延遲的累加。s-mac協(xié)議采用了流量自適應監(jiān)聽機制,減小了通信延遲的累加效應。主要思想就是在一次通信過程中,通信節(jié)點的鄰居節(jié)點在通信結束后不立即進入睡眠階段,而是保持監(jiān)聽一段時間。如果節(jié)點在該時間段內(nèi)收到rts分組,則可立即接收數(shù)據(jù),無須進入下一次監(jiān)聽工作周期,從而減少了數(shù)據(jù)分組的傳輸延遲。如果這段時間沒有收到rts分組,則轉入睡眠階段直到下一次監(jiān)聽工作周期。
盡管流量自適應監(jiān)聽機制將通信延遲減少到一半以上,但周期睡眠造成的延遲依然很顯著(特別是當網(wǎng)絡負載增大的時候)。因此,s-mac并不適合健康監(jiān)測、目標跟蹤等實時性較高的應用。
(2)t-mac協(xié)議
該協(xié)議是在s-mac協(xié)議基礎上改進的,也將時間分為幀,幀長度固定,監(jiān)聽工作長度可變。 t-mac協(xié)議規(guī)定了5種事件和一個計時器ta,根據(jù)ta確定監(jiān)聽工作階段的結束時間。
5種事件分別是——
幀長度超時,即周期時間定時器溢出;
節(jié)點在無線信道收到數(shù)據(jù);
通過接收信號強度指示(rssi)感知數(shù)據(jù)傳輸沖突;
節(jié)點的數(shù)據(jù)或確認發(fā)送完成;
通過監(jiān)聽rts/cts(request to send/clear to send)確認鄰居節(jié)點完成數(shù)據(jù)交換。
如果在ta內(nèi),通信模塊沒有監(jiān)聽到這5種事件中的任何一種,就認為信道進入空閑狀態(tài),節(jié)點就關閉無線電波通信模塊,進入睡眠階段。
為了減少空閑監(jiān)聽能耗,可以采用低能耗監(jiān)聽技術——
t-mac協(xié)議節(jié)點周期性地短時間監(jiān)聽信道,以確定信道空閑狀態(tài)。
如果無線信道空閑,節(jié)點再次進入睡眠階段。
如果信道忙,節(jié)點繼續(xù)監(jiān)聽信道,直到數(shù)據(jù)接收完畢或信道再次空閑。
節(jié)點在發(fā)送數(shù)據(jù)時,幀前加入喚醒前導,使得接收節(jié)點在幀的數(shù)據(jù)部分發(fā)送前進入工作狀態(tài),以接收數(shù)據(jù)。加入喚醒前導,增加了發(fā)送和接收數(shù)據(jù)的控制開銷,但減少了空閑監(jiān)聽的能耗。針對此問題,t-mac協(xié)議在保持周期長度不變的基礎上,根據(jù)通信流量動態(tài)調(diào)節(jié)活動時間,用突發(fā)方式發(fā)送消息,從而減少空閑監(jiān)聽時間。
t-mac協(xié)議的基本交互過程如圖所示。
t-mac協(xié)議的基本交互過程
(3)sift協(xié)議
sift協(xié)議是k.jamieson等提出的基于事件驅動的無線傳感器網(wǎng)絡mac協(xié)議,不同于上面ieee 802.11和其他基于競爭的mac協(xié)議。
該協(xié)議充分考慮了無線傳感器網(wǎng)絡的3個特點:
①事件驅動性,存在事件檢測的空間相關性和事件傳遞的時間相關性;
②并非所有節(jié)點都需要報告事件;
③感知事件的節(jié)點密度隨時間動態(tài)變化
sift協(xié)議不但保留了s-mac和t-mac協(xié)議都具有的盡可能讓節(jié)點處于睡眠階段以節(jié)省能量的功能,而且由于無線傳感器網(wǎng)絡的流量具有突發(fā)性和局部相關性,sift協(xié)議很好地利用了這些特點,通過在不同時隙采用不同的發(fā)送概率,使得在短時間內(nèi)部分節(jié)點能夠無沖突地廣播事件,從而在節(jié)省能量的同時也減少了消息傳輸?shù)难舆t,這是和以往的 mac協(xié)議的最大不同之處。
通常一般的基于窗口的競爭性mac協(xié)議中,當有數(shù)據(jù)需要發(fā)送時,節(jié)點首先在發(fā)送窗口[1,cw]內(nèi)隨機選擇一個發(fā)送時隙,然后節(jié)點監(jiān)聽直到選擇的發(fā)送時隙到來。如監(jiān)聽期間沒有其他節(jié)點使用信道,則節(jié)點立即發(fā)送數(shù)據(jù),否則需在信道空閑時重新選擇發(fā)送時隙。當多個節(jié)點選擇相同一個時隙時就會發(fā)生沖突。
sift協(xié)議采用的是cw值固定的窗口,節(jié)點不是從發(fā)送窗口選擇發(fā)送時隙,而是在不同時隙中選擇不同發(fā)送數(shù)據(jù)的概率。
假定當前有n個節(jié)點與其競爭發(fā)送,在選擇第r個時隙發(fā)送數(shù)據(jù)的概率pr為:
上式中為分布參數(shù)(0<<1),的選擇與n和cw值相關。 sift協(xié)議就是通過非均勻概率分布將優(yōu)勝節(jié)點從整個競爭節(jié)點中篩選(sift)出來的。
sift協(xié)議和s-mac以及t-mac協(xié)議一樣只是從發(fā)送數(shù)據(jù)的節(jié)點考慮問題,對接收節(jié)點的狀態(tài)考慮較少,需要節(jié)點間保持時鐘同步,特別適合于傳感器網(wǎng)絡內(nèi)局部區(qū)域使用。
4.3.4 無線傳感器網(wǎng)絡路由協(xié)議
1.無線傳感器網(wǎng)絡路由協(xié)議特點與設計原則
與傳統(tǒng)網(wǎng)絡的路由協(xié)議相比,無線傳感器網(wǎng)絡的路由協(xié)議具有以下特點:
(1)能量優(yōu)先
由于節(jié)點的能量有限,因此需要考慮節(jié)點的能量消耗以及網(wǎng)絡能量均衡使用的問題。
(2)基于局部拓撲信息
節(jié)點只能獲取局部拓撲信息且資源有限,需要實現(xiàn)簡單高效的路由機制。
(3)以數(shù)據(jù)為中心
傳感器網(wǎng)絡通常包含多個傳感器節(jié)點到少數(shù)匯聚節(jié)點的數(shù)據(jù)流,按照對感知數(shù)據(jù)的需求、數(shù)據(jù)通信模式和流向等,以數(shù)據(jù)為中心形成信息的轉發(fā)路徑。
(4)應用相關
傳感器網(wǎng)絡的應用環(huán)境千差萬別,需要針對每一個具體應用的需求,設計與之適應的特定路由機制。
根據(jù)無線傳感器網(wǎng)絡路由的特點,現(xiàn)階段wsn路由協(xié)議設計要遵從如下原則:
(1)能量利用率優(yōu)先考慮
無線傳感器網(wǎng)絡路由協(xié)議以節(jié)能為目標,采用各種方式減少通信消耗,延長wsn的生存時間。
(2)數(shù)據(jù)為中心
以數(shù)據(jù)為中心的路由協(xié)議要求采用基于屬性的命名機制,某個節(jié)點的故障并不會影響整個協(xié)議的運行,提高了網(wǎng)絡的強健性。
(3)不影響傳感器節(jié)點探測精度條件下的數(shù)據(jù)聚合
通過數(shù)據(jù)聚合,將多個節(jié)點的數(shù)據(jù)綜合成有意義的信息,提高了感知信息的準確性,同時增強了系統(tǒng)的強健性。
(4)實現(xiàn)節(jié)點定位和目標追蹤
通過節(jié)點定位,達到路由決策的目的,同時降低整個系統(tǒng)的能量消耗,提高系統(tǒng)的生存時間。