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