長春理工大學 張 靜 郎百和 王綿綿
基于LEACH的無線傳感器網絡路由協議研究
長春理工大學張靜郎百和王綿綿
能耗的優化機制是無線傳感器網絡的路由協議研究中的關鍵問題。本文對LEACH路由算法進行了研究,針對簇首選擇機制與單挑路由的不足之處,提出改進的LEACH-BP路由算法。該算法在簇的建立階段,采用Sink基站對簇頭進行選舉的機制和優化閾值公式對節點功耗不均勻分布進行了優化。在簇間通信階段,針對單挑路由的不合理采用鏈式結構。最后采用OPNET軟件對改進的LEACH-BP算法進行仿真,仿真結果表明改進后的路由算法有利于延長整個網絡的存活時間。
無線傳感器網絡;路由協議;LEACH
無線傳感器網絡(Wireless Sensor Network,WSN)是一種Adhoc網絡,由大量部署在監測區域內的傳感器節點,以無線通信的方式組成一個多跳自組網絡系統[1]。路由協議的主要作用是進行路由選擇和數據轉發,良好的路由算法有利于節約功耗,延長網絡的生命周期。針對網絡路由算法,目前已經有大量研究,從網絡結構上可分為2類:平面路由算法和層次路由算法。在平面路由算法中,各節點在網絡中地位一樣,都可進行數據的采集和傳遞,但其在網絡資源方面造成大量浪費;層次路由算法首先將監測區域劃分為多個簇,然后通過數據融合技術降低冗余數據, 有效的減少通信數據,但仍存在簇首節點因為能耗不均出現能量耗盡而脫離網絡的問題[2]。在眾多路由算法中,基于LEACH的分簇路由協議在數據路由和節約功耗方面都表現出較好的性能,具有典型的研究價值。
2.1路由協議概述
路由協議的主要任務是進行路由選擇和數據傳輸,無線傳感器網絡路由協議良好的路由協議有助于節約網絡功耗,是研究的重點。LEACH 的分簇路由協議采用分簇技術將網絡的功耗均衡到每個傳感器節點,在節約功耗方面優勢明顯。
LEACH協議是由Heinzelman等人針對無線傳感器網絡設計的一種低功耗路由協議[3]。LEACH協議的思路是采用了分簇技術,整個網絡被分割成多個簇,簇內節點負責采集數據,然后將采集的數據發送給簇頭,簇頭將對收集到的信息進行數據融合后發送個Sink基站,協議中還采用了“輪”的簇首選舉策略[4]。LEACH路由協議結構如圖2.1所示。

圖2.1 分簇路由結構
2.2LEACH算法描述
LEACH協議包括兩個階段:簇的建立和簇間通信。簇的建立和簇間通信所工作的時間為一個周期。
在簇的建立階段,從所有傳節點中選擇部分節點作為簇頭,簇頭節點相當于本簇內數據傳輸的leader。簇頭的選擇方法是,每個節點都生成隨機數(0或1),然后將生成的隨機數與閾值做比較,閾值公式如式(1),如果生成的隨機數小于閾值 T(n),則該節點當選簇頭。

T(n)代表編號為n的節點的閾值; r節點為當前所處的輪數;P為 成為簇頭節點的百分比。
簇間通信的任務是進行數據的傳輸。在該階段,簇內節點對監測區域的信息進行采集并發送給Sink基站,簇頭將采用數據融合技術收到的信息進行整理,隨后采用單挑的傳輸機制將數據傳輸到Sink基站。如此,則完成了數據傳輸的整個流程,如此周期循環直到網絡功耗耗盡。運行的周期性機制可以用圖2.2表示。
2.3周期輪轉機制

圖2.2
2.4存在問題分析
LEACH 協議協議作為一種經典的分簇路由協議,其在節約網絡功耗方面有著明顯優勢,但仍有不足之處。其主要問題可以概述如下:
1)在簇的建立階段。簇頭選舉機制中所有節點參與選舉生成隨機數基將在計算上帶來大量的不必要能耗;閾值公式雖然保證了所有傳感器節點都有機會參與選舉,但是并沒有考慮節點存在能耗不均的問題。
2)在簇間通信過程中。簇頭采用單挑的方式直接將信息發送給Sink節點。但由于簇頭到基站的距離遠近不同,對于網絡中距離Sink節點較遠的簇頭采用單挑必將造成能量的浪費,會導致部分節點過早能量耗盡而脫離網絡。
簇頭節點相當于本簇內數據傳輸的leader,進行工作消耗的能量較大,將造成各節點能耗不均衡;簇頭選舉機制中的閾值公式沒有考慮到節點剩余能量的因素,可能導致剩余能量較少的節點因多次當選簇頭能量耗盡而脫離網絡。針對這一問題,提出改進的簇頭選舉策略。該策略在LEACH協議建立開始時,所有網絡節點利用通信模塊都向Sink基站發送格式為[ID,P,E]的數據包。該數據包包含傳感器節點在當前網絡中的身份信息、節點當前能量信息、隨機數。基站根據數據包建立各節點信息的集合S{[ID1,P1E,1][ID2,P2,E2]……[IDn,Pn,En]},并將隨機數P與改進后的閾值公式進行比較。改進的閾值公式如式(2),其中a為節點的剩余能量占所有節點平均剩余能量的百分比。


圖3.1 鏈式數據傳輸結構
在簇間通信階段,由于單挑路由機制對于距離Sink節點較遠的簇頭節點會造成能量浪費。在優化的路由算法中采用鏈式結進行簇間傳輸數據,距離基站較遠的簇頭,選擇鄰居簇頭作為下一跳路由節點,直到到達Sink節點。鏈式數據傳輸結構如圖3.1所示。
本文使用OPNET軟件對改進的LEACH-BP算法進行仿真,仿真區域設置于50m*50m的監測區域內,節點數量50個,每個節點的初始能量為2J,輪轉周期20S。

圖4.1 網絡消耗總能量

圖4.2 網絡生命周期對比分析圖
圖4.1對三種路由算法的網絡消耗能量進行了對比分析,從圖可以看出LEACH、LEACH-C、LEACH-BP消耗總能量的差別,改進的路由算法LEACH-BP網絡消耗能量低于其他兩種算法,能有效的節約網絡功耗。
圖4.2對網絡生命周期進行了比較,網絡生命周期是指整個網絡待能量耗盡的生存時間,結果表明LEACH-BP算法相對LEACH和LEACH-C在網絡生命周期方面得到優化。
無線傳感器網絡的功耗問題一直是制約其發展的關鍵問題,雖然LEACH協議在節約功耗方面有一定的優勢,但仍舊存在不足之處,本文通過對LEACH算法的研究,分別從簇的建立和簇間通信兩個方面提出了一種基于LEACH的優化路由算法LEACH-BP。該算法優化了簇頭選舉機制和閾值公式,并采用鏈路結構的簇間通信策略,通過仿真分析表明該算法可以有效節約網絡功耗。
[1]黎寧.Ad Hoc網絡中的節能機制[J].電訊技術,2004,(3):5-11.
[2]孫利民.無線傳感器網絡[M].北京:清華大學出版社,2005:35-52.
[3]Kulik J,Heinzelman W,Balakrishnan H.Negotiation-based protocols for disseminating information in wireless sensor networks[J]. Wireless networks,2002,8(2):169-185.
[4]班艷麗,柴喬林.改進的網絡路由算法[J].電子技術應用,2006,32(1):137-140.
張靜(1991—),女,四川廣安人,長春理工大學電子信息工程學院碩士研究生在讀,研究方向:信號檢測與信號處理理論與技術。