陳晨+楊紅麗

摘要:LEACH(low energy adaptive clustering hierarchy)路由協議是無線傳感器網絡里最經典的分簇路由協議,它的“分簇”思想被廣泛應用,但是它只能是小規模無線傳感器網絡的路由協議,比如100×100的區域。提出一種基于LEACH路由協議的新協議LEACH-LS(low energy adaptive clustering hierarchy-LargeScale),可應用于大規模的無線傳感器網絡。用MATLAB工具進行仿真,結果表明新協議在大規模無線傳感器網絡應用很好。
關鍵詞:大規模無線傳感器網絡; LEACH; LEACH-LargeScale
DOIDOI:10.11907/rjdk.171151
中圖分類號:TP393
文獻標識碼:A 文章編號:1672-7800(2017)006-0171-03
0 引言
無線傳感器網絡(WSNs)是當今備受關注的熱點領域,它將傳感器技術、嵌入式計算技術、現代網絡和無線通信技術、分布式信息處理技術有機結合,通過許多集成的微型傳感器進行監控和信息采集,通過無線廣播方式將信息發送到目的地。傳感器網絡技術應用廣泛,如國防軍事、工業、農業、城市管理、生物醫療、環境監測、急救、搶險救災、反恐等重要領域,學術界和工業界高度重視,被認為是21世紀最具影響力的技術之一[1-3]。目前,無線傳感器網絡研究主要是在網絡層和鏈路層。路由協議屬于網絡層,它是無線傳感器網絡的核心技術之一[4]。
LEACH(Low Energy Adaptive Clustering Hierarchy)路由協議是最經典的分層路由協議。LEACH路由協議把節點分為簇頭節點和簇員節點。簇員節點把采集到的數據信息發送給簇頭節點,簇頭節點把簇員節點發送的數據信息和采集的數據信息進行融合,然后簇頭節點直接把融合后的數據發送給基站。LEACH協議的優點是運用了數據融合技術,去除了冗余的數據信息,從而節省了節點的剩余能量。隨機產生的簇頭節點使所有傳感器節點共同承擔網絡能量消耗,避免了某些節點過快死亡。
但LEACH路由協議局限性很大。由于LEACH協議規定所有傳感器節點都能與基站直接通信,且傳感器節點的通信距離有限,所以它只能應用在小規模的無線傳感器網絡中,不適用于大規模的無線傳感器網絡。本文對LEACH協議進行了改進,提出了新協議LEACH-LS,LEACH-LS協議不僅擁有LEACH協議的優點,還能應用在大規模網絡里,使傳感器節點能在大規模網絡里進行數據通信。
1 LEACH協議
1.1 LEACH協議介紹
WSNs路由協議有平面型和層次型兩種[5]。LEACH協議是一種經典的分層路由協議,它把傳感器網絡分為兩層,基站只和簇頭節點通信。LEACH協議與一般的平面型路由協議相比可提高15%的網絡壽命。由于LEACH協議隨機選擇簇頭節點,從而使所有傳感器節點共同承擔網絡能量消耗。LEACH 協議的基本單位是“輪”,它由很多輪組成。一輪由建簇和數據收集兩個階段組成。為了避免由于建簇造成過多能量消耗,數據收集階段時間一般較長[4-5]。
LEACH協議的前提條件是:①基站位置固定;②所有傳感器節點有自己的唯一ID標位置,一旦固定就不能改變;③所有傳感器節點都能和基站直接通信,并且能量有限,能量一旦耗盡就不能補充;④傳感器節點的通信距離有限。
每輪開始時,網絡開始建簇。所有傳感器節點都生成一個(0,1)的隨機數。若某節點生成的隨機數小于閾值T(n)則成為簇頭節點,然后該節點廣播信號。未成為簇頭的節點尋找信號最強的簇頭節點并申請成為它的簇員節點,最終傳感器網絡生成了很多簇群,每個簇群里有一個簇頭節點和若干簇員節點。最后簇頭節點為每個簇員節點分配TDMA信道,每個簇員節點在自己的時間段給簇頭節點發送數據信息。如果節點沒有在本循環內當選為簇頭節點,閾值T(n)公式是 T(n)=p/[1-p*(r mod(1/p))];如果節點已經在本循環內當選過簇頭節點,閾值T(n)公式是T(n)=0。p是簇頭節點在所有節點中的比重,r是當前輪數減1,1/p 輪是一個循環。
建簇完成后即進入數據收集階段。所有簇員節點把收集到的數據在自己的信道時間內發送給簇頭節點,簇頭節點收到所有簇員節點發送的數據后進行數據融合,融合完成后把融合數據直接發送給基站。數據收集持續一段時間后再重新建簇,如此循環。不同的簇采用不同的CDMA碼通信從而減少其它簇的干擾[4,6-7]。
1.2 LEACH協議的局限性
由于無線傳感器節點的通信距離有限,而LEACH協議要求所有傳感器節點直接和基站通信。因此,LEACH協議只適用于規模較小的無線傳感器網絡,不能應用在大規模網絡中。
2 LEACH-LS協議
針對LEACH路由協議不能應用在大規模無線傳感器網絡的不足,本文提出了LEACH-LS協議。LEACH-LS協議與LEACH協議類似,也是由建簇階段和數據收集階段兩部分組成,下面詳細介紹LEACH-LS協議。
在一個大規模的無線傳感器網絡里,基站位于中間位置。所有傳感器節點根據自身位置推出與基站的距離(假設所有傳感器節點都知道自己的位置和基站的位置[9]),傳感器節點根據自身與基站的距離標記序號。標號以80m為單位,比如距離大于0小于80的為1號,大于80小于160的為2號,以此類推。之所以選80m為單位,是因為如果傳感器節點的通信距離超過87m就是遠距離發射,能耗會大大增加[8]。
(1)建簇階段。LEACH-LS協議的建簇階段和LEACH協議類似。每輪開始時,除了標號為1的節點外,所有傳感器節點都生成一個大于0且小于1的隨機數,生成的隨機數與閾值T(n)比較大小,閾值T(n)與LEACH協議的T(n)相同。未成為簇頭的傳感器節點選擇距離自己最近的節點為簇頭節點。標號為1的傳感器節點不選擇簇頭節點也不競選簇頭節點,而是直接把數據發送給基站。
(2)數據收集階段。簇頭節點接收到所有簇員節點發來的數據后,與收集的數據進行融合,然后把融合后的數據發送給比自己標號小1且距離最近的簇頭節點。比如某簇頭節點的標號是4,那么它把本簇的數據信息融合后發送給距離自己最近的3號簇頭節點,以此類推。標號為2的簇頭節點把數據發送給距離自己最近的標號為1的普通節點,所有標號為1的普通節點都擔當轉發數據的作用。圖1是600×600的大規模網絡LEACH-LS協議演示。
其中,Etx(k,d)表示傳感器節點向距離為d meter 的目的地發送k bit數據時的能量消耗,Erx(k)表示節點接收k bit數據的能量消耗,Eelec表示電路的消耗系數,εfs和εamp分別為近距離和遠距離發射放大器能耗參數,d是源節點和目的節點之間的距離,d0是臨界值。
LEACH-LS協議的仿真環境是2 000個節點隨機分布在600×600的區域內,基站位于(300,300)的中間位置,傳感器節點發送數據包的最遠距離是180m。一個數據包是4 000bit,一個控制包的大小為100bit,所有傳感器節點的初始能量是0.5J,簇頭節點數據融合的能量消耗是5nJ/bit/message,Eelec為50nJ/bit,εfs為10pJ/bit/m2,εamp為0.0013pJ/bit/m4,d0是87m。簇頭節點的比例p是0.05[6]。按照節點與基站的距離大小,把所有傳感器節點分為1號(距離小于80m)、2號(距離大于80m且小于160m)、3號(距離大于160m小于240m)、4號(距離大于240m)。
LEACH協議的仿真環境是100個節點隨機分布在100×100的區域里,基站在(50,120)的位置,傳感器節點的通信半徑是180m,其余的仿真環境和LEACH-LS一樣。
3.2 仿真結果分析
圖2和圖3是LEACH協議在100×100區域里的仿真實驗結果。圖2顯示LEACH協議的存活節點數量隨輪數的增加而減少。實驗數據顯示,LEACH協議的第一個節點死亡輪數是786輪,整個網絡的死亡輪數是1 175輪。從圖3可以得出,隨著輪數的增加,基站收集到的數據越來越多。直到整個網絡死亡時,基站收集到的數據包個數接近2×104個。然而,由于傳感器節點的通信距離有限,并且LEACH協議要求所有節點與基站直接通信,所以LEACH協議不能應用在大規模的網絡里。
圖4和圖5 是LEACH-LS在600×600區域里的仿真實驗結果。圖4的實驗結果顯示LEACH-LS的第一個死亡節點輪數是121輪,整個網絡的死亡輪數是139輪。圖5的實驗結果顯示,隨著運行輪數的增加,基站收集到的數據包個數越來越多。整個網絡死亡時,基站收集到的數據包個數接近6×104個。實驗結果表明,LEACH-LS協議可以應用在大規模無線傳感器網絡里,LEACH-LS協議可以在600×600的區域里使傳感器節點正常向基站傳送數據。
4 結語
對LEACH路由協議的研究發現,由于傳感器節點的通信范圍有限,LEACH協議不能應用在大規模無線傳感器網絡里。本文在LEACH協議的基礎上進行了改進,提出了新協議LEACH-LS。仿真實驗表明LEACH-LS協議可以在600×600的大規模網絡里使傳感器節點正常收集和傳送數據。
雖然LEACH-LS可以運用在大規模無線傳感器網絡里,但它的生命周期較短,提高LEACH-LS協議的網絡壽命是下一步要進行的研究工作。
參考文獻:
[1]崔莉, 鞠海玲, 苗勇,等. 無線傳感器網絡研究進展[J]. 計算機研究與發展, 2005,42(1):163-174.
[2]胡鋼, 謝冬梅, 吳元忠. 無線傳感器網絡路由協議LEACH的研究與改進[J]. 傳感技術學報,2007,20(6):1391-1396.
[3]李蘭英, 劉昌東. 一種無線傳感器網絡路由協議LEACH的改進算法[J]. 哈爾濱理工大學學報, 2015, 20(2):75-79.
[4]張偉華, 李臘元, 張留敏,等. 無線傳感器網絡LEACH協議能耗均衡改進[J]. 傳感技術學報, 2009, 21(11):1918-1922.
[5]任豐原,黃海寧,林闖.無線傳感器網絡[J].軟件學報,2003,14(7):1282-1291.
[6]HEINZELMAN,WENDI RABINER, CHANDRAKASAN,et al. Energy-efficient communication protocol for wireless microsensor networks[C]. Hawaii International Conference on System Sciences,IEEE,2000.
[7]吳臻, 金心宇. 無線傳感器網絡的LEACH算法的改進[J]. 傳感技術學報, 2006,19(1):34-36.
[8]李亞男, 徐夫田, 陳金鑫. 基于LEACH的WSNs分簇優化策略[J]. 傳感技術學報,2014(5):670-674.
[9]張浩, 李臘元. 基于LEACH協議的能耗均衡路由算法[J]. 計算機工程, 2011,37(7):91-93.
[10]陳杰. MATLAB 寶典[M]. 北京: 電子工業出版社, 2011.
[11]王臻躍. 基于LEACH的改進路由協議[J]. 軟件導刊, 2015(3):114-116.
(責任編輯:杜能鋼)