- 無線傳感器網絡技術與應用(第2版)
- 張蕾主編
- 5794字
- 2021-12-17 16:21:41
2.4 網絡層
網絡層是無線傳感器網絡研究的熱點之一,特別是在無線傳感器網絡的發展過程中,提出了許多路由算法和協議。
路由協議的目的是將消息分組從源節點(傳感器節點)發送到目的節點(匯聚節點),因此需要完成兩大功能:一是選擇適合的優化路徑,二是沿著選定的路徑正確轉發數據。盡管傳統的無線局域網或者移動Ad hoc網絡基于提高服務質量和公平性提出了很多路由協議,但這些協議的主要任務不是考慮網絡的能量消耗,而是追求端到端的延遲最小、網絡利用率最高以及能夠避免通信擁塞和均衡網絡流量的最優路徑。無線傳感器網絡具有較強的應用相關性,不同應用中的路由協議可能差別很大,沒有一個通用的路由協議。此外,無線傳感器網絡的路由機制還經常與數據融合技術聯系在一起,通過減少通信量而節省能量,因此,傳統無線網絡的路由協議不適用于無線傳感器網絡。
2.4.1 路由協議概述
在最初的研究中,人們借鑒傳統的無線網絡路由協議的思想,運用成熟的互聯網技術和Ad hoc路由機制設計無線傳感器網絡的路由協議,但結果顯示傳統無線網絡與無線傳感器網絡有著明顯不同的技術要求。舉例來說,傳統無線網絡中通常是有源供電不用擔心能量耗盡,無線傳感器網絡中的節點是能量有限且沒有補充,如果大量節點因能量耗盡而無法正常工作將導致整個網絡癱瘓;另外,無線傳感器網絡還具有拓撲結構變化頻繁、節點計算存儲能力有限等特點。
與傳統網絡的路由協議相比,無線傳感器網絡的路由協議具有以下特點。
1)能量優先。傳統路由協議在選擇最優路徑時,很少考慮節點的能量消耗問題,而無線傳感器網絡中節點的能量有限,如何延長整個網絡的生存期成為傳感器網絡路由協議設計的重要目標。因此需要考慮節點的能量消耗以及網絡能量均衡使用的問題。
2)基于局部拓撲信息。無線傳感器網絡為了節省通信能量,通常采用多跳的通信模式,而節點有限的存儲資源和計算資源,使其不能存儲大量的路由信息,不能進行太復雜的路由計算。在節點只能獲取局部拓撲信息和資源有限的情況下,如何實現簡單高效的路由機制是無線傳感器網絡要解決的一個基本問題。
3)以數據為中心。傳統的路由協議通常以地址作為節點的標識和路由的依據,而無線傳感器網絡中大量節點隨機部署,所關注的是監測區域的感知數據,而不是具體哪個節點獲取的信息,不依賴于全網唯一的標識。無線傳感器網絡通常包含多個傳感器節點到少數匯聚節點的數據流,按照對感知數據的需求、數據通信模式和流向等,形成以數據為中心的消息轉發路徑。
4)應用相關。無線傳感器網絡的應用環境千差萬別,數據通信模式不同,沒有一個路由機制能夠適合所有的應用,設計者需要針對每一個具體應用的需求,設計與之適應的特定路由機制。
針對無線傳感器網絡路由機制的上述特點,在設計符合其自身特點的路由協議時必須考慮以下問題:
1)能量高效。無線傳感器網絡路由協議不僅要選擇能量消耗小的消息傳輸路徑,而且要從整個網絡的角度考慮,選擇使整個網絡能量均衡消耗的路由。傳感器節點一般采用電池供電,通常部署在惡劣環境下很難更換電池。因此,無線傳感器網絡的路由機制要能夠簡單且高效地實現信息傳輸。
2)可擴展性。在無線傳感器網絡中,監測區域范圍或節點密度不同,造成網絡規模大小不同;節點失敗、新節點加入以及節點移動等,都會使網絡拓撲結構發生動態變化,這就要求路由機制具有可擴展性,能夠適應網絡結構的變化。
3)魯棒性。能量用盡或因環境因素造成傳感器節點信息傳輸的失敗、周圍環境對無線鏈路通信質量的影響以及無線鏈路本身的缺點等,這些無線傳感器網絡的不可靠特性要求路由機制具有一定的容錯能力。
4)快速收斂性。無線傳感器網絡的拓撲結構動態變化,節點能量和通信帶寬等資源有限,因此要求路由機制能夠快速收斂,以適應網絡拓撲的動態變化,減少通信協議開銷,提高消息傳輸效率。
5)安全性。無線的傳輸環境很容易被惡意攻擊,無人看管的節點很容易被竊取數據,所以無線傳感器網絡路由機制應該提供有效的措施以確保信息傳輸的安全性。
針對不同的無線傳感器網絡的應用,研究人員提出了不同的路由協議。根據不同應用對無線傳感器網絡各種特性的敏感度不同,將路由協議進行分類整理。
1)根據拓撲結構可分為平面路由協議和分簇路由協議。平面路由協議一般節點對等、功能相同、結構簡單、維護容易,但僅適合規模小的網絡,不能對網絡資源進行優化管理;而分簇協議中節點的功能不同、各司其職,網絡的擴展性好,適合較大規模的網絡。
2)根據路徑的多少可分為單路徑路由協議和多路徑路由協議。單路徑路由協議是將數據沿一條路徑傳遞,數據通道少、消耗低,但容易造成丟包且錯誤率高。多路徑路由協議是將單個數據分成若干組,沿多條路徑進行傳遞,即便有一條路徑報廢,數據也會經由其他路徑傳遞,可靠性較好,但重復率高、能量消耗大,適合對傳輸可靠性要求較高且初始能量高的應用場合。
3)根據通信模式可分為時鐘驅動型、事件驅動型和查詢驅動型。時鐘驅動型是傳感器節點周期性地主動把采集到的數據信息報告給匯聚節點,比如環境監測類的無線傳感器網絡;事件驅動型是傳感器節點在感應到數據后進行判斷,若超過事先設定的閾值,則認為觸發了某種事件,需要立即傳送數據給匯聚節點,如用于預警的無線傳感器網絡;在查詢驅動型路由協議中,僅當傳感器節點收到用戶感興趣的查詢時,才向匯聚節點發送數據。
4)根據目的節點的個數可分為單播路由協議和多播路由協議。單播路由協議只有一個發送方和一個目的節點;多播路由協議有多個目的節點,節點將采集到的數據信息并行地以多播樹方式進行傳播,在樹的分叉處復制和轉發數據包。多播路由協議里數據包發送次數變少,網絡帶寬的使用效率提高。
5)根據是否進行數據融合可分為融合路由協議和非融合路由協議。如果在數據傳輸過程中,根據預先制定的規則對多個數據包的相關信息進行合并和壓縮,就屬于數據融合路由協議,這類協議降低了數據冗余度,減少了網絡通信量,節省了能量,但是也相應增加了傳輸時延;非融合路由協議在傳遞過程中不做任何處理,傳遞量大,消耗能量大,甚至引起“擁堵”。
2.4.2 平面路由協議
(1)泛洪(Flooding)路由協議和閑聊(Gossiping)路由協議
泛洪路由協議是一種傳統的路由協議,網絡中各節點不需要掌握網絡拓撲結構和路由的計算方法。節點接收感應消息后,以廣播的形式向所有鄰居節點轉發消息,直到數據包到達目的節點或預先設定的生命期限變為零為止。泛洪路由協議實現起來簡單、魯棒性也高,而且時延短、路徑容錯能力強,可以作為衡量標準去評價其他路由算法,但是很容易出現消息“內爆”、盲目使用資源和消息重疊的問題,消息傳輸量大,加之能量浪費嚴重,因此泛洪路由協議很少直接使用。
閑聊路由協議是對泛洪路由協議的改進,節點在收到感應數據后不是采用廣播形式而是隨機選擇一個節點進行轉發,這樣就避免了消息的“內爆”,但是隨機選取節點會造成路徑質量的良莠不齊,增加了數據的傳輸時延,并且無法解決資源盲目利用和消息重疊的問題。
(2)SPIN(Sensor Protocol for Information via Negotiation)路由協議
SP IN路由協議是第一個以數據為中心的自適應路由協議,它通過協商機制來解決泛洪路由協議中的“內爆”和“重疊”問題。傳感器節點監控各自能量的變化,若能量處于低水平狀態,則必須中斷操作轉而充當路由器的角色,所以在一定程度上避免了資源的盲目使用。但在傳輸新數據的過程中,沒有考慮到鄰居節點的能量限制,只直接向鄰近節點廣播ADV數據包[4],而不轉發任何新數據,如果新數據無法傳輸,就會出現“數據盲點”,影響整個網絡數據包信息的收集。
(3)DD(Directed Diffusion)路由協議
DD路由協議多用于查詢的擴散路由協議,與其他路由協議相比,最大特點就是引入梯度的理念,表明網絡節點在該方向的深入搜索,以此獲得匹配數據的概率。它以數據為中心,生成的數據常用一組屬性值來為其命名。興趣擴散、初始梯度場建立和數據傳輸組成DD路由協議的三個階段。
1)興趣擴散。匯聚節點下達查詢命令多采用泛洪方式,傳感器節點在接收到查詢命令后對查詢消息進行緩存并執行局部數據的融合。
2)初始梯度場建立。隨著興趣查詢消息遍布全網,梯度場就在傳感器節點和匯聚節點間建立起來,于是多條通往匯聚節點的路徑也相應地形成。
3)數據傳輸。通過加強機制發送路徑加強消息給最新發來數據的鄰居節點,并且給這條加強消息賦予一個值,最終梯度值最高的路徑成為數據傳輸的最佳路徑。
DD路由協議多采用多路徑,魯棒性好;節點只需與鄰居節點進行數據通信,從而避免保存全網的信息;節點不需要維護網絡的拓撲結構,數據的發送是基于需求的,這樣就節省了部分能量。DD路由協議的不足是建立梯度時花銷大,多匯聚節點的網絡一般不建議使用。
2.4.3 分簇路由協議
1.LEACH協議
LEACH路由協議的全稱是Low Energy Adaptive Clustering Hierarchy,中文意思是低功耗自適應集簇分層型協議。基本原理:選出簇頭后,向全網廣播當選成功的消息,其他節點根據接收到的信號強度來選擇自己要加入哪個簇并遞交入簇申請,信號強度越強表明離簇頭越近;當完成簇成型后,簇頭根據簇成員數量的多寡,需要發送給本簇內的所有成員一份TDMA時間調度表;簇成員在數據采集時根據事先設置的TDMA時間表進行操作,采集信息并上傳給簇頭;簇頭將接收到的數據進行融合后直接傳向匯聚節點;在數據采集達到規定時間或次數后,網絡開始新一輪的工作周期,簇頭依然根據上述步驟進行下一輪選舉。
該協議實現簡單,由于利用了數據融合技術,在一定程度上減小了通信流量,節省了能量;隨機選舉簇頭,平均分擔路由任務量,減少能耗,延長了系統的壽命;但LEACH路由協議也存在不可忽視的缺點,比如由于簇頭選舉是隨機地依據本地信息自行決定,避免不了出現位置隨機、分布不均的情況;每輪簇頭的數量和不同簇中節點數量不同,導致網絡整體負載的不均衡;多次分簇帶來了額外開銷以及覆蓋問題;簇頭選取時沒有考慮節點的剩余能量,有可能導致剩余能量很少的節點隨機當選為簇頭;如果匯聚節點位置與目標區域有較大的距離,且功率足夠大,通過單跳通信傳送數據會造成大量的能量消耗,所以單跳通信模式下的LEACH協議比較適合于小規模網絡;另外,該協議在單位時間內一般發送數量基本固定的數據,不適合突發型的通信場合。
2.TEEN路由協議
TEEN是第一個事件驅動的響應型聚類路由協議,根據簇頭與匯聚節點間距離的遠近來搭建一個層次結構。TEEN中有兩個重要參數:硬閾值和軟閾值。
硬閾值設置一個檢測值,只有當傳送的數據值大于硬閾值時,節點才允許向匯聚節點上傳數據;而軟閾值設置一個檢測值的變化量值,規定只有當傳送數據的改變量大于設定的軟閾值時,才同意再次向匯聚節點上傳數據,這兩個閾值決定了節點何時能夠發送數據。
工作原理如下:當首次發送的數據值大于硬閾值時,下一級節點向上一級節點報告,并將數值保存起來;此后當發送數據值大于硬閾值且變化量大于軟閾值時,低一級節點才會再次向上一級節點報告數據。TEEN路由協議的示意圖如圖2-6所示。

圖2-6 TEEN路由協議示意圖
TEEN路由協議的優點是由于軟、硬閾值的存在,具有了過濾功能,精簡了數據的傳輸量,節省了大量的能量,適合于響應型應用。層次型的簇頭結構不需要所有節點具有大功率通信能力,更適合無線傳感器網絡的特點。
TEEN路由協議的缺點是多層次簇的構建非常復雜;如果某個節點的檢測數據達不到硬閾值,那么用戶將無法獲知這個感應數據,也無法判斷這個節點是否失效,因此在周期性采樣的網絡中要謹慎使用;如果每個節點都需要較高的通信功率與匯聚節點通信,則僅適合小規模的系統。
3.TTDD(Two-Tier Data Dissemination)路由協議
TTDD路由協議主要針對網絡中存在的多匯聚節點和匯聚節點移動問題,是基于網格的層次路由協議。
TTDD協議包括三個階段:構建網格階段、發送查詢數據階段和傳輸數據階段。其中構建網格階段是TTDD協議的第一步,也是最關鍵、最核心的一步。協議中的節點都清楚自身所處的位置,當得到有事件發生的信號時,就近選擇一個節點作為源節點。源節點將自身所處位置作為格狀網的一個交叉點,基于此點,先計算出相鄰交叉點的位置,利用貪婪算法計算出距離該位置最近的節點,最近節點就成為新交叉點,以此鋪展開構建成一個網格狀。
事件信息和源節點信息被保存在網格的各個交叉點。數據查詢時,匯聚節點在所達范圍內,依次找出最近的交叉點,經由交叉點傳播數據直至源節點;源節點收到查詢命令后,將數據沿最短路徑返傳向匯聚節點。有時,在等待數據回傳時,匯聚節點可以采用代理(Agent)機制保持移動,以保證數據的可靠傳輸。
TTDD路由協議采用單路徑,可以延長網絡的生命周期,采用代理機制很好地解決了匯聚節點的移動性問題,但是在TTDD路由協議中,節點必須知道自身的位置,要求節點密度比較高,計算與維護網格的開銷成本也較大,網格構建、查詢請求和數據傳輸過程都會造成傳輸的延遲,所以這種協議在目標高速移動和高實時性需求的場合應慎用。
2.4.4 其他路由協議
SAR路由協議是第一個在無線傳感器網絡中保證服務質量(QoS)的主動路由協議,該協議以基于路由表驅動的多路徑方式滿足網絡低能耗和魯棒性的要求,它的特點是路由協議不僅要考慮到每條路徑的能量,還要涉及端到端的延遲需求和待發送數據包的優先級。
最小代價路由協議是以跳數或能耗作為代價參數的,最終實現最小化代價的目的,一般采用退避原則進行代價發布。
GEAR(Geographical and Energy-Aware Routing)路由協議是根據事件區域的地理位置信息,建立匯聚節點到事件區域的優化路徑,避免了泛洪傳播方式,從而減少了路由建立的開銷。
GEM(Graph Embedding)路由協議是一種適用于數據中心存儲方式的地理路由協議,其基本思想是建立一個虛擬極坐標系統,用來表示實際的網絡拓撲結構,網絡中的節點形成一個以匯聚節點為根的帶環樹,每個節點用到樹根的跳數距離和角度范圍來表示,節點間的數據路由通過這個帶環樹實現。
SPEED協議是一個實時路由協議,在一定程度上實現了端到端的傳輸速率保證、網絡擁塞控制以及負載平衡機制。SPEED協議首先交換節點的傳輸延遲,以得到網絡負載情況;然后節點利用局部地理信息和傳輸速率做出路由決定,同時通過鄰居反饋機制保證網絡傳輸速率在一個全局定義的傳輸速率閾值之上;節點還通過反向壓力路由變更機制避開延遲太大的鏈路和路由空洞。
2.4.5 路由協議自主切換
無線傳感器網絡中的路由協議和具體應用緊密相關,沒有一個能適用于所有應用的路由協議,無線傳感器網絡可能需要在相同監測區域內完成不同的任務,此時如果為每種任務部署專門的傳感器網絡將增加運營成本。為了能夠適應多種任務,需要根據應用環境和網絡條件自主選擇路由協議,并允許在各個路由協議之間自由切換。