無(wú)線傳感器網(wǎng)絡(luò)基于分簇的路由協(xié)議概述
WSN(Wireless Sensor Network)是由部署在檢測(cè)區(qū)域內(nèi)的成百上千個(gè)低成本、低功耗、小尺寸、多功能的傳感器節(jié)點(diǎn)組成,通過(guò)無(wú)線通信方式形成的單跳或多跳的自組織網(wǎng)絡(luò)系統(tǒng),其目的是感知、采集和處理網(wǎng)絡(luò)覆蓋區(qū)域中感知對(duì)象的信息,并發(fā)送給觀察者。WSN被廣泛地應(yīng)用于軍事、商業(yè)、醫(yī)療救護(hù)和環(huán)境監(jiān)測(cè)等多方面。
本文引用地址:http://butianyuan.cn/article/201710/366853.htm根據(jù)節(jié)點(diǎn)的拓?fù)浣Y(jié)構(gòu)可以分為平面路由協(xié)議和層次路由協(xié)議[1]。
平面路由協(xié)議簡(jiǎn)單,健壯性很好,但它的可擴(kuò)展性很差。層次路由協(xié)議一般分為初始化階段和數(shù)據(jù)傳輸階段。算法不同,而當(dāng)選的簇頭可能不同,而數(shù)據(jù)傳輸?shù)倪^(guò)程基本一致。
1 均勻分簇路由協(xié)議——LEACH協(xié)議
在初始化階段[2-3],每個(gè)節(jié)點(diǎn)產(chǎn)生一個(gè)0~1之間的隨機(jī)數(shù),如果小于閾值[2-3],則此節(jié)點(diǎn)便是簇頭,它就會(huì)向周圍節(jié)點(diǎn)廣播它是簇頭的消息。根據(jù)接收信號(hào)的強(qiáng)度,普通節(jié)點(diǎn)選擇其要加入的簇,并告知相應(yīng)的簇頭,此時(shí)所有的簇頭都必須處于接收狀態(tài)。當(dāng)簇頭接收到所有的加入信息后,就產(chǎn)生TDMA消息,通知本簇內(nèi)所有節(jié)點(diǎn)的工作時(shí)間。
在數(shù)據(jù)傳輸階段[2],普通節(jié)點(diǎn)按照TDMA[4]時(shí)隙向簇頭發(fā)送數(shù)據(jù)。簇頭把接收到的數(shù)據(jù)融合之后再轉(zhuǎn)發(fā)給sink。一段時(shí)間后,重新選擇簇頭。
該協(xié)議隨機(jī)選舉簇頭避免了簇頭能量過(guò)早消耗完,延長(zhǎng)了網(wǎng)絡(luò)的生存時(shí)間,但數(shù)據(jù)傳送是采用單跳的方式,使得距sink較遠(yuǎn)的簇頭花費(fèi)能量很大,導(dǎo)致生存時(shí)間變短;頻繁地選舉簇頭也會(huì)消耗能量。為了節(jié)省資源開銷,數(shù)據(jù)傳輸階段的時(shí)間要長(zhǎng)于初始化階段的時(shí)間。
2 非均勻分簇路由協(xié)議
2.1 EEUC協(xié)議
在初始化階段,sink向全網(wǎng)廣播一個(gè)信號(hào),節(jié)點(diǎn)根據(jù)接收信號(hào)的強(qiáng)度計(jì)算它到sink的距離。根據(jù)預(yù)先設(shè)置的概率閾值[5],選出部分節(jié)點(diǎn)成為候選簇頭參與競(jìng)爭(zhēng),未參與競(jìng)爭(zhēng)的節(jié)點(diǎn)進(jìn)入睡眠狀態(tài),直到競(jìng)選過(guò)程結(jié)束。Si為任一候選簇頭,它到sink的距離為它的競(jìng)爭(zhēng)半徑[6],若Si獲勝,則在競(jìng)爭(zhēng)半徑內(nèi)所有的候選簇頭均要退出競(jìng)選。候選簇頭的競(jìng)爭(zhēng)半徑隨著簇頭到sink距離的減小而減小。
在數(shù)據(jù)傳輸階段,普通節(jié)點(diǎn)將收集到的數(shù)據(jù)傳送給簇頭,簇頭進(jìn)行處理之后將數(shù)據(jù)以多跳的方式傳送到sink。
2.2 DEBUC協(xié)議
該協(xié)議采用基于時(shí)間的簇頭競(jìng)爭(zhēng)算法。廣播時(shí)間取決于候選簇頭的剩余能量和其鄰居節(jié)點(diǎn)的剩余能量。距sink較近的候選簇頭競(jìng)爭(zhēng)范圍較小,這樣這些簇頭在簇內(nèi)通信中消耗的能量較少,節(jié)省下來(lái)的能量用于簇間的數(shù)據(jù)轉(zhuǎn)發(fā)。在數(shù)據(jù)傳輸階段,采用簇間多跳路由協(xié)議。
初始化階段,普通節(jié)點(diǎn)根據(jù)接收到sink發(fā)出信號(hào)的強(qiáng)弱計(jì)算其與sink的大概距離。首先設(shè)置一個(gè)門限值以控制候選簇頭的比例,同時(shí)也為每個(gè)候選簇頭設(shè)置一個(gè)競(jìng)爭(zhēng)半徑[7],候選簇頭的競(jìng)爭(zhēng)半徑正比于它與sink的距離。
候選簇頭廣播消息,而普通節(jié)點(diǎn)休眠,接收到消息的候選簇頭更新其鄰居節(jié)點(diǎn)信息表,候選簇頭依據(jù)自身的時(shí)間進(jìn)度廣播FINAL_HEAD_MSG[7]消息,宣布自己成為簇頭。簇頭選擇完成后,普通節(jié)點(diǎn)退出休眠,簇頭廣播消息,普通節(jié)點(diǎn)根據(jù)接收信息的強(qiáng)弱加入最近的簇頭,并通知簇頭,中繼節(jié)點(diǎn)不具有數(shù)據(jù)融合的能力。首先簇頭廣播一條消息,如果鄰居簇頭到sink的距離較小,則簇頭計(jì)算與鄰居簇頭的大概距離,并建立一個(gè)鄰居簇頭信息表;簇頭運(yùn)用貪婪算法在其鄰居簇頭集合中選擇其中繼節(jié)點(diǎn),如果簇頭的中繼節(jié)點(diǎn)是本身,則直接發(fā)送數(shù)據(jù)到sink,否則簇頭發(fā)送數(shù)據(jù)至中繼節(jié)點(diǎn);當(dāng)每個(gè)簇頭都找到中繼節(jié)點(diǎn),則簇間多跳路由建立。
在數(shù)據(jù)傳輸階段,簇頭先對(duì)接收到的數(shù)據(jù)進(jìn)行融合處理,然后將處理結(jié)果發(fā)送到sink。
隨著簇頭能量的減少,非均勻分簇路由協(xié)議的競(jìng)爭(zhēng)半徑逐漸減小,這就需要重新成簇,能量減少的越多,成簇的簇?cái)?shù)就越多,所以在成簇的過(guò)程中,就需要消耗更多的能量,有的節(jié)點(diǎn)在成簇的過(guò)程中,會(huì)把剩余的能量消耗完。
3 PEGASIS協(xié)議
PEGASIS協(xié)議假定所有節(jié)點(diǎn)都具有網(wǎng)絡(luò)拓?fù)涞娜种R(shí),在建鏈階段[8-10],首先從距離sink最遠(yuǎn)的節(jié)點(diǎn)開始建鏈,這個(gè)節(jié)點(diǎn)根據(jù)貪婪算法尋找距自己最近的節(jié)點(diǎn)加入鏈,以此類推,所有的節(jié)點(diǎn)都按照這種方法加入鏈。在數(shù)據(jù)通信階段[8-9],鏈上的每個(gè)節(jié)點(diǎn)只與自己的鄰居節(jié)點(diǎn)通信,將收到的數(shù)據(jù)與自身數(shù)據(jù)融合后傳輸給下一跳的鄰居節(jié)點(diǎn),一直傳送到鏈?zhǔn)坠?jié)點(diǎn),最后由鏈?zhǔn)坠?jié)點(diǎn)將數(shù)據(jù)傳送給sink。
通過(guò)對(duì)以上典型路由算法的分析,可以發(fā)現(xiàn)仍然存在以下問題:
?。?)在分簇階段,仍然要浪費(fèi)能量用來(lái)建立簇。
?。?)許多協(xié)議都假設(shè)傳感器節(jié)點(diǎn)和sink不動(dòng),一旦傳感器節(jié)點(diǎn)動(dòng)起來(lái),這些協(xié)議就很有可能不再成立。
?。?)非均勻分簇路由協(xié)議緩解了“熱區(qū)”,但隨著簇頭能量減少,競(jìng)爭(zhēng)半徑減小,就需要網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)是動(dòng)態(tài)的,以便很快地更新網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的更新要消耗更多能量來(lái)實(shí)現(xiàn)。
(4)非均勻分簇算法要求網(wǎng)絡(luò)中傳感器節(jié)點(diǎn)最好是均勻分布的,如果在靠近sink的區(qū)域中傳感器節(jié)點(diǎn)分布的密度很大,而在遠(yuǎn)離sink的區(qū)域中傳感器節(jié)點(diǎn)的分布密度很小,那么靠近sink的簇頭仍然會(huì)形成“熱區(qū)”。這就需要有更好的協(xié)議來(lái)解決這樣的問題。
?。?)多數(shù)協(xié)議在考慮傳感器節(jié)點(diǎn)失效退出網(wǎng)絡(luò)或者有新的節(jié)點(diǎn)加入網(wǎng)路時(shí),網(wǎng)絡(luò)的拓?fù)渥兓捎玫霓k法都是重新分簇。如果加入網(wǎng)絡(luò)的節(jié)點(diǎn)很少,重新分簇浪費(fèi)的能量會(huì)很大,這就需要協(xié)議具有很高的容錯(cuò)性來(lái)應(yīng)對(duì)網(wǎng)絡(luò)的拓?fù)渥兓?/p>
(6)隨著網(wǎng)絡(luò)規(guī)模越來(lái)越大,現(xiàn)階段的算法根本不能滿足超大規(guī)模網(wǎng)絡(luò)的要求,就需要提出一種多層分簇算法。在多層分簇算法中,如果層數(shù)很多,則可能會(huì)有一些節(jié)點(diǎn)在初始化階段就已經(jīng)把能量用完了;如果層數(shù)很少,則根本不能體現(xiàn)多層分簇算法的優(yōu)越性。所以在運(yùn)用分層算法時(shí),需要考慮層數(shù)為多少時(shí)才是最合適的。
隨著WSN路由技術(shù)的發(fā)展,會(huì)有越來(lái)越多的新算法被提出,新算法應(yīng)該可以更好地應(yīng)對(duì)簇頭的負(fù)載平衡,盡量減小在簇的形成階段由于拓?fù)涠斐傻哪芰坷速M(fèi)??傊?,WSN路由技術(shù)的研究離不開負(fù)載平衡、能量高效、網(wǎng)絡(luò)壽命等熱點(diǎn)問題。
參考文獻(xiàn)
?。?] 任豐原,黃海寧,林闖。 無(wú)線傳感器網(wǎng)絡(luò)[J]。 軟件學(xué)報(bào),2003,14(7):1282-1291.
?。?] 郭前崗,周德祥,周西峰.LEACH路由協(xié)議最優(yōu)簇頭數(shù)計(jì)算方法[J]。微型機(jī)與應(yīng)用,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.
?。?] 劉軍,李巖,齊華?;贜S2的無(wú)線傳感器網(wǎng)絡(luò)LEACH協(xié)議的改進(jìn)與仿真[J]。 電子技術(shù)應(yīng)用,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.
?。?] 李成法,陳貴海,葉懋,等。一種基于非均勻分簇的無(wú)線傳感器網(wǎng)絡(luò)路由協(xié)議[J]。計(jì)算機(jī)學(xué)報(bào),2007,30(1):27-36.
?。?] 蔣暢江,石為人,唐賢倫,等。能量均衡的無(wú)線傳感器網(wǎng)絡(luò)非均勻分簇路由協(xié)議[J]。軟件學(xué)報(bào),2012,23(5):1222-1232.
評(píng)論