摘 要: 主要分析了LEACH協議、EEUC協議、DEBUC協議。其中DEBUC協議是對EEUC協議的改進。這3個協議各有優缺點,應該根據實際情況來選擇合適的協議。這些協議的實現過程可以分為初始化階段和數據傳輸階段。各個協議的兩個階段的實現過程都有很大的差異。簡述了PEGASIS協議,它是在LEACH的基礎上進行改進的基于“鏈”的路由算法。這些協議是研究無線傳感器網絡的基礎。
WSN(Wireless Sensor Network)是由部署在檢測區域內的成百上千個低成本、低功耗、小尺寸、多功能的傳感器節點組成,通過無線通信方式形成的單跳或多跳的自組織網絡系統,其目的是感知、采集和處理網絡覆蓋區域中感知對象的信息,并發送給觀察者。WSN被廣泛地應用于軍事、商業、醫療救護和環境監測等多方面。
根據節點的拓撲結構可以分為平面路由協議和層次路由協議[1]。
平面路由協議簡單,健壯性很好,但它的可擴展性很差。層次路由協議一般分為初始化階段和數據傳輸階段。算法不同,而當選的簇頭可能不同,而數據傳輸的過程基本一致。
1 均勻分簇路由協議——LEACH協議
在初始化階段[2-3],每個節點產生一個0~1之間的隨機數,如果小于閾值[2-3],則此節點便是簇頭,它就會向周圍節點廣播它是簇頭的消息。根據接收信號的強度,普通節點選擇其要加入的簇,并告知相應的簇頭,此時所有的簇頭都必須處于接收狀態。當簇頭接收到所有的加入信息后,就產生TDMA消息,通知本簇內所有節點的工作時間。
在數據傳輸階段[2],普通節點按照TDMA[4]時隙向簇頭發送數據。簇頭把接收到的數據融合之后再轉發給sink。一段時間后,重新選擇簇頭。
該協議隨機選舉簇頭避免了簇頭能量過早消耗完,延長了網絡的生存時間,但數據傳送是采用單跳的方式,使得距sink較遠的簇頭花費能量很大,導致生存時間變短;頻繁地選舉簇頭也會消耗能量。為了節省資源開銷,數據傳輸階段的時間要長于初始化階段的時間。
2 非均勻分簇路由協議
2.1 EEUC協議
在初始化階段,sink向全網廣播一個信號,節點根據接收信號的強度計算它到sink的距離。根據預先設置的概率閾值[5],選出部分節點成為候選簇頭參與競爭,未參與競爭的節點進入睡眠狀態,直到競選過程結束。Si為任一候選簇頭,它到sink的距離為它的競爭半徑[6],若Si獲勝,則在競爭半徑內所有的候選簇頭均要退出競選。候選簇頭的競爭半徑隨著簇頭到sink距離的減小而減小。
在數據傳輸階段,普通節點將收集到的數據傳送給簇頭,簇頭進行處理之后將數據以多跳的方式傳送到sink。
2.2 DEBUC協議
該協議采用基于時間的簇頭競爭算法。廣播時間取決于候選簇頭的剩余能量和其鄰居節點的剩余能量。距sink較近的候選簇頭競爭范圍較小,這樣這些簇頭在簇內通信中消耗的能量較少,節省下來的能量用于簇間的數據轉發。在數據傳輸階段,采用簇間多跳路由協議。
初始化階段,普通節點根據接收到sink發出信號的強弱計算其與sink的大概距離。首先設置一個門限值以控制候選簇頭的比例,同時也為每個候選簇頭設置一個競爭半徑[7],候選簇頭的競爭半徑正比于它與sink的距離。
候選簇頭廣播消息,而普通節點休眠,接收到消息的候選簇頭更新其鄰居節點信息表,候選簇頭依據自身的時間進度廣播FINAL_HEAD_MSG[7]消息,宣布自己成為簇頭。簇頭選擇完成后,普通節點退出休眠,簇頭廣播消息,普通節點根據接收信息的強弱加入最近的簇頭,并通知簇頭,中繼節點不具有數據融合的能力。首先簇頭廣播一條消息,如果鄰居簇頭到sink的距離較小,則簇頭計算與鄰居簇頭的大概距離,并建立一個鄰居簇頭信息表;簇頭運用貪婪算法在其鄰居簇頭集合中選擇其中繼節點,如果簇頭的中繼節點是本身,則直接發送數據到sink,否則簇頭發送數據至中繼節點;當每個簇頭都找到中繼節點,則簇間多跳路由建立。
在數據傳輸階段,簇頭先對接收到的數據進行融合處理,然后將處理結果發送到sink。
隨著簇頭能量的減少,非均勻分簇路由協議的競爭半徑逐漸減小,這就需要重新成簇,能量減少的越多,成簇的簇數就越多,所以在成簇的過程中,就需要消耗更多的能量,有的節點在成簇的過程中,會把剩余的能量消耗完。
3 PEGASIS協議
PEGASIS協議假定所有節點都具有網絡拓撲的全局知識,在建鏈階段[8-10],首先從距離sink最遠的節點開始建鏈,這個節點根據貪婪算法尋找距自己最近的節點加入鏈,以此類推,所有的節點都按照這種方法加入鏈。在數據通信階段[8-9],鏈上的每個節點只與自己的鄰居節點通信,將收到的數據與自身數據融合后傳輸給下一跳的鄰居節點,一直傳送到鏈首節點,最后由鏈首節點將數據傳送給sink。
通過對以上典型路由算法的分析,可以發現仍然存在以下問題:
(1)在分簇階段,仍然要浪費能量用來建立簇。
(2)許多協議都假設傳感器節點和sink不動,一旦傳感器節點動起來,這些協議就很有可能不再成立。
(3)非均勻分簇路由協議緩解了“熱區”,但隨著簇頭能量減少,競爭半徑減小,就需要網絡拓撲結構是動態的,以便很快地更新網絡的拓撲結構,網絡拓撲結構的更新要消耗更多能量來實現。
(4)非均勻分簇算法要求網絡中傳感器節點最好是均勻分布的,如果在靠近sink的區域中傳感器節點分布的密度很大,而在遠離sink的區域中傳感器節點的分布密度很小,那么靠近sink的簇頭仍然會形成“熱區”。這就需要有更好的協議來解決這樣的問題。
(5)多數協議在考慮傳感器節點失效退出網絡或者有新的節點加入網路時,網絡的拓撲變化采用的辦法都是重新分簇。如果加入網絡的節點很少,重新分簇浪費的能量會很大,這就需要協議具有很高的容錯性來應對網絡的拓撲變化。
(6)隨著網絡規模越來越大,現階段的算法根本不能滿足超大規模網絡的要求,就需要提出一種多層分簇算法。在多層分簇算法中,如果層數很多,則可能會有一些節點在初始化階段就已經把能量用完了;如果層數很少,則根本不能體現多層分簇算法的優越性。所以在運用分層算法時,需要考慮層數為多少時才是最合適的。
隨著WSN路由技術的發展,會有越來越多的新算法被提出,新算法應該可以更好地應對簇頭的負載平衡,盡量減小在簇的形成階段由于拓撲而造成的能量浪費。總之,WSN路由技術的研究離不開負載平衡、能量高效、網絡壽命等熱點問題。
參考文獻
[1] 任豐原,黃海寧,林闖. 無線傳感器網絡[J]. 軟件學報,2003,14(7):1282-1291.
[2] 郭前崗,周德祥,周西峰.LEACH路由協議最優簇頭數計算方法[J].微型機與應用,2013,32(3):61-66.
[3] HEINZELMAN W R, CHANDRAKASAN A, BALAKRISH-NAN H[C]. Energy-Efficient Communication Protocol for Wireless Microsensor Networks,2000:3005-3014.
[4] 劉軍,李巖,齊華.基于NS2的無線傳感器網絡LEACH協議的改進與仿真[J]. 電子技術應用,2012,38(2):21-27.
[5] Li Chengfa,Ye Mao,Chen Guihai,et al. An energy-efficientunequal clustering mechanism for wireless sensor networks[C].IEEE International Conference on Mobille Adhoc and Sen-sor Systems Conference, 2005:597-604.
[6] 李成法,陳貴海,葉懋,等.一種基于非均勻分簇的無線傳感器網絡路由協議[J].計算機學報,2007,30(1):27-36.
[7] 蔣暢江,石為人,唐賢倫,等.能量均衡的無線傳感器網絡非均勻分簇路由協議[J].軟件學報,2012,23(5):1222-1232.