劉園莉,李臘元,盧 迪
(武漢理工大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院,武漢 430063)
隨著無線傳感器網(wǎng)絡(luò)[1]的廣泛應(yīng)用,國內(nèi)外掀起了一股研究無線傳感器網(wǎng)絡(luò)的浪潮,其中研究熱點是路由協(xié)議、應(yīng)用安全。與傳統(tǒng)的無線網(wǎng)絡(luò)相比,無線傳感器網(wǎng)絡(luò)路由協(xié)議研究的側(cè)重點不同,傳統(tǒng)無線網(wǎng)絡(luò)沒有能量方面的約束,只專注于 QoS的研究,而無線傳感器網(wǎng)絡(luò)的特點決定了整個網(wǎng)絡(luò)被能量所限制,因此在設(shè)計路由協(xié)議時必須考慮能量約束機(jī)制,主要目標(biāo)就是節(jié)約能量。無線傳感器網(wǎng)絡(luò)是由大量的具有通信和計算能力的傳感器節(jié)點以多跳和自組織的方式組成的網(wǎng)絡(luò),多用于監(jiān)控?zé)o人值守區(qū)或,無線傳感器網(wǎng)絡(luò)具有布設(shè)容易、高自組織能力、很好的適應(yīng)性等特點,這些特點使得無線傳感器網(wǎng)絡(luò)在氣象、軍事、醫(yī)療衛(wèi)生和很多商用領(lǐng)域有著廣闊的前景和很高的應(yīng)用價值[2-3]。
但是無線傳感器網(wǎng)絡(luò)固有的缺點使得它在具體的應(yīng)用中有一些局限性,比如說傳感器節(jié)點的能量問題,因為傳感器節(jié)點大多數(shù)使用在無人職守區(qū)域,節(jié)點容量有限且不能更換電池裝置,因而節(jié)點在采集數(shù)據(jù)、計算能力和數(shù)據(jù)傳輸上的能力非常有限,使得在設(shè)計 WSN的路由中更側(cè)重能量節(jié)約問題,現(xiàn)有的大部分路由協(xié)議都是在尋找最小能耗的最佳路徑或者通過數(shù)據(jù)融合來減少數(shù)據(jù)傳輸。本文在原有的LEACH協(xié)議的基礎(chǔ)上進(jìn)行分區(qū)域的簇頭選取,各個區(qū)域獨立運行 LEACH協(xié)議,并讓區(qū)域內(nèi)的簇頭之間采用多跳傳輸數(shù)據(jù)的方式,在促進(jìn)能量負(fù)載均衡的基礎(chǔ)上節(jié)約能量。
LEACH是無線傳感器網(wǎng)絡(luò)里面最早的分簇式路由協(xié)議,它相對于傳統(tǒng)平面路由協(xié)議相比,更能高效的利用能量和有效的平衡網(wǎng)絡(luò)負(fù)載從而延長網(wǎng)絡(luò)壽命,因此具有很高的參考和應(yīng)用價值。正因為如此,對基于 LEACH分簇路由協(xié)議及其相關(guān)協(xié)議的研究越來越多,使得分簇式協(xié)議不斷向前擴(kuò)展。
協(xié)議使用自適應(yīng)成簇[4-5]和簇首節(jié)點輪換技術(shù),它周期性的執(zhí)行任務(wù),每一個周期分為兩個階段,分別是簇的建立階段和穩(wěn)定運行階段,建簇和穩(wěn)定運行階段的時間比在協(xié)議中是 1∶19,穩(wěn)定運行時間要遠(yuǎn)遠(yuǎn)長于建簇時間,這也是為了節(jié)省分簇過于頻繁所照成過多的能量損失。在穩(wěn)定運行階段,各個非簇首節(jié)點將按簇首分給的時隙來發(fā)送數(shù)據(jù)給簇首,簇首收到各個簇成員發(fā)來的數(shù)據(jù)進(jìn)行綜合處理后再發(fā)給 Sink節(jié)點,以此來節(jié)省路由開銷。與一般的平面多跳路由協(xié)議和靜態(tài)聚類算法相比,LEACH可以將網(wǎng)絡(luò)生命周期延長 15%,是完全分布式協(xié)議,數(shù)據(jù)傳輸?shù)难舆t很小,但是因為所有簇頭節(jié)點直接與 Sink節(jié)點通信需要耗費很多能量,因此它不能適合大范圍的應(yīng)用。而且由于簇首節(jié)點擔(dān)負(fù)著接受、數(shù)據(jù)融合、發(fā)送等一些列綜合任務(wù),能量的開銷很大,LEACH協(xié)議為了保證分簇路由協(xié)議中各個節(jié)點等概率的成為簇頭而設(shè)計的。它在每一輪過后將重新選擇簇首,使網(wǎng)絡(luò)能相對均衡的消耗能量,從而達(dá)到負(fù)載平衡。所以該算法僅僅適用于每個節(jié)點在單位時間內(nèi)需要發(fā)送的數(shù)據(jù)量基本相同的情況,而不適合突發(fā)數(shù)據(jù)通信。
LEACH協(xié)議[6]選擇簇首策略具體如下:在建簇中的簇首選擇階段,每個節(jié)點從 0到 1之間隨機(jī)選擇一個數(shù)和閾值 T(n)進(jìn)行大小比較,如果小于閾值,將被選中成為新一輪的簇首,接著廣播自己是簇頭的消息。如果節(jié)點已經(jīng)被當(dāng)選過簇首,則將 T(n)置為 0,這樣將不可能再當(dāng)選簇首了,閾值 T(n)表示為:
上式中 P是簇頭所占節(jié)點的百分比,r表示當(dāng)前的循環(huán)回合,G是最近 1/p回合中沒有當(dāng)選的節(jié)點集合??梢?對于當(dāng)選了簇頭的節(jié)點在接下來的1/p輪中不可能重新當(dāng)選一次,T(n)的值越大,節(jié)點當(dāng)選簇首的概率越大,隨著輪數(shù)的進(jìn)行,未當(dāng)選成簇首的節(jié)點當(dāng)選簇首的概率越來越大。
具體的每一循環(huán)輪的實現(xiàn)步驟如下:
第1步 初始化階段的簇首選擇 第一輪的簇首選擇,LEACH協(xié)議隨機(jī)選擇出簇首。
第2步 成簇階段 每個被選出的簇首將向四面八方廣播自己是簇首的消息,領(lǐng)域的非簇首節(jié)點在接受到來自各個方向的不同簇首節(jié)點要求加盟的消息后,將根據(jù)各個簇首的消息信號的強(qiáng)弱進(jìn)行簇首選擇,將發(fā)送的信號最強(qiáng)的簇首節(jié)點當(dāng)選為自己的本域簇首,因為信號越強(qiáng),則說明二者之間的通信代價最小。
第3步 非簇首成員在決定了歸屬那個簇首之后,向該簇首發(fā)出申請入簇的消息,相應(yīng)的簇首將該簇節(jié)點收編入簇。接下來各個簇首綜合簇成員信息,設(shè)定 TDMA時隙表。一旦簇成員知道了自己的時間片,將進(jìn)入穩(wěn)定的工作階段。
第4步 進(jìn)入數(shù)據(jù)通信階段 通信階段采用CSMA機(jī)制,為每位非簇成員安排了不同的時隙,然后用廣播的方式發(fā)送給本簇的成員,簇成員一旦知道自己的時間片后就進(jìn)入穩(wěn)定的工作階段。并在自己的時間片到來時向簇首發(fā)送所采集到的數(shù)據(jù),否則,啟用睡眠模式,以節(jié)省能量。
第5步 在得到各個成員發(fā)來的數(shù)據(jù)后,簇首進(jìn)行綜合處理,之所以進(jìn)行處理,是因為傳感器節(jié)點采集的數(shù)據(jù)量非常大,而同一個簇內(nèi)的數(shù)據(jù)冗余程度很高,通過這樣的處理能夠大大的減少通信量,簇頭完成數(shù)據(jù)融合后將處理好的數(shù)據(jù)發(fā)送個Sink節(jié)點。
LEACH協(xié)議成簇后的網(wǎng)絡(luò)拓?fù)鋱D如下。
圖1 LEACH協(xié)議的成簇網(wǎng)絡(luò)拓?fù)鋱D
首先從平面式路由協(xié)議到分簇式路由協(xié)議發(fā)展在整個無線傳感器網(wǎng)絡(luò)發(fā)展史上是一個質(zhì)的飛躍,它比平面路由協(xié)議更能節(jié)約能量,分簇式路由協(xié)議通過設(shè)置簇首構(gòu)成一個上層連接網(wǎng)絡(luò)來進(jìn)行長距離的路由轉(zhuǎn)發(fā),而簇首進(jìn)行了各節(jié)點的數(shù)據(jù)融合后在進(jìn)行轉(zhuǎn)發(fā)能大大減少數(shù)據(jù)的傳輸量,通過時分復(fù)用機(jī)制,成員節(jié)點功能簡單明確,只在到達(dá)自己的時間片后傳輸數(shù)據(jù),平時進(jìn)入睡眠模式,最終能有效的節(jié)省單個節(jié)點和整個網(wǎng)絡(luò)能量,延長網(wǎng)絡(luò)壽命,相對于平面式路由來說已經(jīng)大大的提高網(wǎng)絡(luò)整體性能。它采用將整個簇首的任務(wù)均攤與各個節(jié)點,使得各個節(jié)點都有機(jī)會擔(dān)任簇首,平衡整個網(wǎng)絡(luò)的負(fù)載。
但是 LEACH協(xié)議在提高網(wǎng)絡(luò)性能的同時是以加快簇首能耗速度為代價的,一旦簇首能耗過快已至耗盡,很容易造成盲點,過早的加快節(jié)點的死亡速度。同時還要意識到,在簇頭選擇階段,LEACH協(xié)議采用的是在整個區(qū)域中隨機(jī)的選擇簇頭,這種方式雖然簡單,但是無法保證簇頭節(jié)點在空間上的均勻分布,在某些情況下算法所選擇的簇頭節(jié)點可能集中在某一個小范圍之內(nèi),使得一部分成員節(jié)點無法加入任何簇或者與簇頭節(jié)點進(jìn)行數(shù)據(jù)傳輸時消耗過多的能量??偨Y(jié) LEACH協(xié)議有以下缺點:①每一輪都進(jìn)行一次簇重組,帶來了大量的開銷。②根據(jù)公式(1)的簇首選舉策略選取簇首,可能造成簇首分布不均,簇內(nèi)成員個數(shù)差異較大,使得各簇首負(fù)載不均衡,造成個別簇首較早死亡。③簇內(nèi)的節(jié)點都直接與簇首通信,增加了簇首的能量消耗。④簇首也采用單跳的方式直接和基站通信,當(dāng)網(wǎng)絡(luò)規(guī)模很大時,通信的范圍也很大,對于能量受限的傳感器網(wǎng)絡(luò)節(jié)點來說,加速了節(jié)點的能量消耗,降低了網(wǎng)絡(luò)的生存周期。
在描述具體的算法前,先推導(dǎo)最優(yōu)化的簇首個數(shù)公式。定義分析時用到的變量:N為傳感器節(jié)點個數(shù),K為簇的個數(shù);Eelec是發(fā)送或接收單位信息所需能量;dtoCH簇內(nèi)成員節(jié)點到簇首節(jié)點的距離;dtoBS簇首節(jié)點到基站(BS)的距離;εfs簇成員與簇首通信時用的無線信號傳播參數(shù);εmp簇首與基站通信時用的無線信號傳播參數(shù);EDA數(shù)據(jù)融合單位信息所需的能量。
簇首節(jié)點在一輪中所需能量 ECH包括兩部分:接收(N/K-1)簇內(nèi)成員節(jié)點發(fā)送信息所需的能量以及與基站通信所需的能量:
簇內(nèi)單個成員節(jié)點在一輪中所需能量 EnonCH僅包括其向簇首節(jié)點發(fā)送單位信息所需的能量:
那么整個簇在一輪中所需能量 Ecluster包括一個簇首及(N/K-1)個簇成員所需能量:
所以整個網(wǎng)絡(luò)在一輪中所需能量 Etotal為 K個簇所需能量之和:
即:
模擬區(qū)域面積為 A2,平均每個簇的面積為 A2/K。由于每個簇實際為心簇首節(jié)點為中心的無線通信覆蓋區(qū)域,所以易求出圓內(nèi)任一點到加以圓心的距離的期望,進(jìn)而求出 E[dtoCH2],或者由積分知識可知:E[d2]=F/2π,又 F=A2/K,可 得 E[dtoCH2]=A2/Kπ。 E[dtoBS4]與簇的個數(shù) K無關(guān),只與基站到模擬區(qū)域中心的距離有關(guān),用常量 LBS表示,代入公式(2)有:
對公式(3)中 Etotal求導(dǎo),當(dāng)導(dǎo)數(shù)為零時求得的 K值使 Etotal值最小,K的取值為:
由公式(4)可以看出,最優(yōu)簇首的個數(shù)只與網(wǎng)絡(luò)節(jié)點個數(shù) N,模擬區(qū)域邊長 A,以及基站到模擬區(qū)域中心的距離 LBS有關(guān)(εfs、εmp均為常量),可在網(wǎng)絡(luò)初始化時設(shè)置這幾個參數(shù)。
在現(xiàn)實應(yīng)用中有很多針對不同應(yīng)用的無線傳感器網(wǎng)絡(luò)類型,因此有必要對所研究的網(wǎng)絡(luò)模型做一個假設(shè):
(1)N個節(jié)點隨機(jī)散落在廣闊的區(qū)域可能是飛機(jī)撒播或者人工布置,加上一個 Sink節(jié)點構(gòu)成一個無線傳感器網(wǎng)絡(luò),該網(wǎng)絡(luò)用于采集數(shù)據(jù)并周期性的將數(shù)據(jù)發(fā)回給 Sink節(jié)點。
(2)Sink節(jié)點是固定的且可以進(jìn)行無限能量補(bǔ)充,所以適合進(jìn)行任何復(fù)雜的運算和處理各種復(fù)雜的邏輯事物,而不用考慮 Sink節(jié)點上的能量耗費問題,但是 Sink節(jié)點離整個無線傳感器網(wǎng)絡(luò)比較遠(yuǎn)。
(3)節(jié)點分布好后就不再變化位置,且每個隨機(jī)分布的節(jié)點具有相同的初始能量和相同的事物處理能力。每個節(jié)點的能量有限且不能補(bǔ)充。
(4)遠(yuǎn)距離發(fā)送數(shù)據(jù)采用多跳路由能節(jié)省能量,因此在本文中,簇內(nèi)的數(shù)據(jù)發(fā)送采用單跳路由,簇間采用多跳路由。
(1)協(xié)議充分考慮簇頭節(jié)點在空間上的分布,根據(jù)網(wǎng)絡(luò)的大小、節(jié)點傳輸?shù)姆秶凸?jié)點的分布情況將整個網(wǎng)絡(luò)劃分成若干個小的扇形區(qū)域 (如圖 2),之所以分成扇形區(qū)域,是考慮到讓所分的小區(qū)域結(jié)構(gòu)均衡一致,使得 Sink節(jié)點更高效控制傳感器網(wǎng)絡(luò)內(nèi)的各個區(qū)域(由于傳感器網(wǎng)絡(luò)的感知范圍是圓形的,Sink節(jié)點的指令能幾乎同時到達(dá)各個區(qū)域,從而使各個區(qū)域的變化更一致,達(dá)到整個網(wǎng)絡(luò)能量分布均勻的目的)。根據(jù)網(wǎng)絡(luò)的拓?fù)淝闆r,以Sink節(jié)點為圓心,R為半徑(R的值為從 Sink節(jié)點到無線傳感器網(wǎng)絡(luò)中最遠(yuǎn)的那個節(jié)點的距離),所掃過的區(qū)域為能包含所有傳感器節(jié)點的最小面積。
圖2 區(qū)域劃分圖
(2)由 Sink節(jié)點將整個大的扇形均等的分為 m份 ,即有 m個區(qū)域,分別標(biāo)志為 Z0、Z1、Z2、Z3、Z4…Zm、Zm-1,每份扇形獨立成為一個區(qū)域。區(qū)域劃分完后,Sink節(jié)點廣播區(qū)域信息給每一個傳感器節(jié)點,各節(jié)點記錄下自己的所屬區(qū)域。
(3)Sink節(jié)點根據(jù)最優(yōu)簇首數(shù)公式[7]計算出每個區(qū)域所需要分配的簇首數(shù)、各個域內(nèi)節(jié)點的平均距離和平均能量,并將計算所得廣播出去,同時在每個區(qū)域內(nèi)獨立的運行 LEACH協(xié)議。在具體運行LEACH協(xié)議時候,我們在原有的 LEACH協(xié)議的閾值 T(n)的基礎(chǔ)上,加入了能量和距離的限制因素,在考慮能量的基礎(chǔ)上,盡可能的選取距離 Sink近的節(jié)點作為簇首。同時參與簇首競爭的節(jié)點的能量必須大于區(qū)域簇節(jié)點的平均能量,否則認(rèn)定其不夠當(dāng)選簇首條件,以防止一些自身能量不足的節(jié)點當(dāng)選為簇首。修正后的 T′(n)[8]為:
其中 ,En_current表示節(jié) 點的當(dāng)前能量 ,En_start表示節(jié)點的初時能量,Dtobae為節(jié)點到基站的距離,Daverage為域內(nèi)節(jié)點的平均距離。G′為能量大于區(qū)域平均能量的節(jié)點集合,P′,r與上文公式(1)的含義相同。改進(jìn)后的閥值即考慮了能量和距離因素,又可以動態(tài)的調(diào)整閥值,使一個在連續(xù) 1/P輪中那些沒有當(dāng)選過簇首、距離 Sink節(jié)點比較近和剩余能量多的節(jié)點成為簇首的概率變大。
按照步驟(3)成功的為各個區(qū)域選出了簇首之后,各個簇首發(fā)出成簇的消息,簇成員在接受到邀請入簇的消息后,先判斷該消息是否是自己所在簇內(nèi)的簇首所發(fā)送,如果是,再根據(jù)信號強(qiáng)弱的情況再決定加入那個簇中。
(4)已經(jīng)成簇之后,各個節(jié)點開始與簇首進(jìn)行通信,將所采集到的數(shù)據(jù)周期性的發(fā)送給簇首節(jié)點,還沒輪到自己的時間片時,進(jìn)入休眠狀態(tài)以節(jié)省能量。簇頭將發(fā)來的數(shù)據(jù)進(jìn)行融合后轉(zhuǎn)發(fā)。
(5)考慮到距離 Sink較遠(yuǎn)的簇首直接將數(shù)據(jù)發(fā)送到基站消耗的能量較大,所以區(qū)域內(nèi)的簇首與基站的通信采用多跳的數(shù)據(jù)傳輸方式,這樣能有效的節(jié)省能量。簇首與基站采用單跳通信,則能量損耗將采用多徑衰落模型[9-10]。
(6)建立多跳路徑[11-12]的過程如下:簇建立后,簇頭節(jié)點計算自己的權(quán)值cost。并向它的鄰居簇頭節(jié)點廣播消息,消息包含其節(jié)點ID與權(quán)值。各簇頭節(jié)點將自身的權(quán)值和收到的其他簇頭發(fā)送的權(quán)值進(jìn)行比較。選擇權(quán)值大的簇頭作為父節(jié)點。權(quán)值最大的節(jié)點將成為多跳路徑的根節(jié)點。這樣,距離基站較近且能量足夠的簇頭節(jié)點將優(yōu)先成為根節(jié)點。簇頭節(jié)點沿著這條路徑將收集到的數(shù)據(jù)進(jìn)行融合并一級一級傳送到根節(jié)點,根節(jié)點將數(shù)據(jù)直接發(fā)送給基站。穩(wěn)定的數(shù)據(jù)傳輸階段持續(xù)一段時間后,網(wǎng)絡(luò)重新進(jìn)入簇的建立階段,進(jìn)行下一個循環(huán)的簇重構(gòu)。cost的表達(dá)式為:
Ea和 Eb分別為簇頭 CHi的剩余能量和起始能量,d(CHi,BS)為簇頭 CHi到基站的距離,Dmax為網(wǎng)絡(luò)中距離基站最遠(yuǎn)的距離,c為常數(shù),0<c<1,用于平衡能量參數(shù)和距離參數(shù)。顯然,剩余能量越多且距離基站近的簇頭節(jié)點的權(quán)值大。
扇形的分區(qū)由 Sink節(jié)點進(jìn)行總體規(guī)劃,Sink節(jié)點內(nèi)存儲著整個無線傳感網(wǎng)絡(luò)內(nèi)的所有節(jié)點位置信息,以圖 2的區(qū)域劃分圖為例,以 Sink節(jié)點為中心的射線掃過整個區(qū)域,由扇形邊緣節(jié)點坐標(biāo)和原點之間的位置關(guān)系可得邊緣兩條邊緣射線所在的直線的坐標(biāo)方程,假設(shè)分別為 Y0=K0X和 Ym=KmX(m為劃分的區(qū)域個數(shù)),根據(jù)兩條邊的所在直線的公式可得出其余 m-1條邊所在直線的公式,由 m+1條直線所圍成的 m個區(qū)域劃分出來后,接下來的工作是節(jié)點確認(rèn)自己在第幾個區(qū)域。
傳感器網(wǎng)絡(luò)上的節(jié)點分為兩類,一類為區(qū)域內(nèi)的節(jié)點,另一類為在直線上的邊緣節(jié)點:
(1)區(qū)域內(nèi)節(jié)點(Xi,Yi):由 Sink節(jié)點進(jìn)行測試,當(dāng) Kr?Xi<Yi<Kr+1?x,即可確定該節(jié)點在第 r+1區(qū)域,由 Sink節(jié)點通知(Xi,Yi)節(jié)點的位置所在。
(2)直線上的邊緣節(jié)點(Xi,Yi):Sink節(jié)點計算出 Kr?Xi=Yi,即可得出該節(jié)點為邊緣節(jié)點的結(jié)論,并且知道該邊緣節(jié)點位于第 r區(qū)域和第 r+1區(qū)域之間。這個時候,Sink節(jié)點并不急于劃歸邊緣節(jié)點的歸屬區(qū)域,在各個區(qū)域進(jìn)行簇首選舉完成后,Sink節(jié)點判斷比較邊緣幾點與鄰近兩個區(qū)域的簇首距離,將邊緣節(jié)點歸結(jié)為距離比較近的簇首節(jié)點所在的簇。Sink節(jié)點將歸屬區(qū)域告知邊緣節(jié)點。
將所有的幾點歸屬區(qū)域區(qū)分完成后,算法的分區(qū)域工作結(jié)束。
扇形區(qū)域可以使得所分的小區(qū)域結(jié)構(gòu)均衡一致,使 Sink節(jié)點更高效控制傳感器網(wǎng)絡(luò)內(nèi)的各個區(qū)域(由于傳感器網(wǎng)絡(luò)的感知范圍是圓形的,Sink節(jié)點的指令能幾乎同時到達(dá)各個區(qū)域,從而使各個區(qū)域的變化更一致,達(dá)到整個網(wǎng)絡(luò)能量分布均勻的目的),而傳統(tǒng)的矩形分區(qū)在能量均衡分布上不具有這樣的優(yōu)勢。
本文利用 NS2仿真平臺[13],采用仿真分析的方法對 LEACH和 LEACH-SERP進(jìn)行了仿真對比。主要分析了網(wǎng)絡(luò)中第一個節(jié)點的死亡時間和最后一個節(jié)點的死亡的時間以及消耗的能量均值。
仿真場景設(shè)置如下:一個 Sink節(jié)點和一百個隨機(jī)分布的傳感器節(jié)點分布在 100 m×100 m的區(qū)域內(nèi),Sink節(jié)點的坐標(biāo)為(0,0),在以 Sink節(jié)點為圓心,100 m為半徑區(qū)域上進(jìn)行仿真測試。為了簡化模型,將區(qū)域分為五個,即 m=5。
圖為網(wǎng)絡(luò)仿真參數(shù)的設(shè)置:
表1 仿真參數(shù)值
從圖 3可以看出,LEACH的第一個節(jié)點死亡是在 390 s左右,最后一個節(jié)點死亡在 650 s左右,而LEACH-SERP的第一個節(jié)點在 660 s左右死亡,最后一個節(jié)點在 800 s左右死亡。可見 LEACH-SERP協(xié)議有效優(yōu)化了簇首的選擇,延長了網(wǎng)絡(luò)的生存時間。主要是由于進(jìn)行了扇形分區(qū),分區(qū)所耗的能量大部分由可以補(bǔ)充能量的 Sink節(jié)點開銷,無形中使得簇頭節(jié)點的負(fù)擔(dān)減輕了,而且對原來的 LEACH協(xié)議的簇首選擇閾值公式加入了能量和距離限定因素,使得能量消耗更加均勻。同時對簇首選擇集合做了調(diào)整,把那些能量已經(jīng)小于網(wǎng)絡(luò)節(jié)點平均能量的節(jié)點不列入簇首選擇范圍,從而有效的延長了節(jié)點的生存時間。
圖3 第一個節(jié)點和最后一個節(jié)點死亡的時間
圖4給出了全網(wǎng)的能量消耗的比較,在仿真的開始,LEACH-SERP的節(jié)點能量消耗略高于LEACH,這主要是因為LEACH-SERP在初始化階段要完成區(qū)域的劃分,雖然大部分能量由 Sink節(jié)點開銷,但是比起LEACH協(xié)議,LEACH-SERP的節(jié)點在區(qū)域劃分的初始階段或多或少還是消耗一些能量,此外,最優(yōu)簇首數(shù)的確定和區(qū)域簇首之間鏈路的建立產(chǎn)生了一些開銷,也消耗了一定的能量。但是隨著運行時間的延長,在 25輪后,LEACH-SERP的優(yōu)勢就越來越明顯,這主要是因為改進(jìn)的協(xié)議采用了最優(yōu)簇首數(shù)計算公式的同時,利用分區(qū)域的獨立運行 LEACH協(xié)議和簇間多跳從整體上節(jié)省了全網(wǎng)的能量消耗,而且隨著時間的推移,優(yōu)勢越來越明顯。權(quán)衡利弊,LEACHSERP協(xié)議初始階段所多消耗的能量還是值得的。
圖4 網(wǎng)絡(luò)節(jié)點能量均值
本文通過對分簇路由協(xié)議的研究,在 LEACH協(xié)議基礎(chǔ)上進(jìn)行改進(jìn):
(1)將整個無線傳感器網(wǎng)絡(luò)分成扇形區(qū)域,在促進(jìn)網(wǎng)絡(luò)能量均衡分布的同時,進(jìn)一步節(jié)省能量,延長節(jié)點生存時間。
(2)簇首的選擇上結(jié)合能量和距離參數(shù),區(qū)域簇頭節(jié)點通過多跳基站通信。通過對仿真結(jié)果分析,說明 LEACH-SERP
協(xié)議在節(jié)點存活個數(shù)和全網(wǎng)的能量消耗上都明顯優(yōu)于LEACH協(xié)議,延長了網(wǎng)絡(luò)的生存周期。所以改進(jìn)后的效果基本符合預(yù)期設(shè)想,同時,由于LEACH-SERP協(xié)議將區(qū)域劃分為扇形,使得整個網(wǎng)絡(luò)能量變化相對均勻,算法也比較簡單,有更好的擴(kuò)展性和魯棒性,因此該協(xié)議特別適合那些需要后續(xù)擴(kuò)展和需要長期有效工作的無線傳感器網(wǎng)絡(luò)。但改進(jìn)后的協(xié)議沒有考慮安全因素,因此如何設(shè)計具有安全性的能量高效的路由協(xié)議是一個有待解決的問題。
[1]孫利民,李建中,陳渝,等.無線傳感器網(wǎng)絡(luò)[M].清華大學(xué)出版社,2005,5.
[2]Akyildjz IF,Su W,Sankarasubramaniam Y,et al.A Survey on Sensor Networks.IEEE Communications Magazine,2002,40(8):102-114.
[3]Akyildiz IF,Su W,Sanharasubramaniam Y,et al.Wireless Sensor Networks:A Survey Computer Networks,2002,38(4):393-422.
[4]孫雨耕,周寅,邊桂年,等.無線傳感器網(wǎng)絡(luò)中一種能量有效的分簇組網(wǎng)算法[J].傳感技術(shù)學(xué)報,2007,20(2):377-381.
[5]M Ye,C ELi,G H Chert,et al.EECS:An Energy Efficient Clustering Scheme in Wireless Sensor Networks,in Proceedings of IEEE Int'l Performance Computing and Communicatings Conference(IPCCC),2005:535-540.
[6]Heinzelman W,Chandrakasan A,Balakrishnan H.Energy-Efficient Communication Protocol for Wireless Microsensor Networks[C]//Proc.of the 33rd Annual Hawaii Int'l Conf.on System Sciences.Maui:IEEE Computer Society,2000:3005-3014.
[7]何延杰,李臘元,刑明彥.WSN中一種能量均衡的分簇路由協(xié)議的設(shè)計[J].傳感技術(shù)學(xué)報,2009,22(20):1510-1514.
[8]紀(jì)超,徐家品.WSN中 LEACH協(xié)議簇頭生成算法的改進(jìn)[J].微計算機(jī)信息:測控自動化版,2008,24(7-1):253-254.
[9]Heinzelman W,Chandrakasan A,Balakrishnan H.An Application-Specific Protocol Architecture for Wireless Microsensor Networks[J].IEEE Transactions on Wireless Communications,2002,(14):660-670.
[10]Muruganathan SD,Ma D CF,Bhasin R I,et al.A Centralized Energy-Efficient Routing Protocol for Wireless Sensor Net-works[J].IEEE Communications Magazine,2005,43(3):8213.
[11]周賢偉.無線傳感器網(wǎng)絡(luò)的路由算法研究[J].傳感技術(shù)學(xué)報,2006,19(2):463-467.
[12]孫雨耕,張靜,孫永進(jìn),等.無線自組傳感器網(wǎng)絡(luò).傳感技術(shù)學(xué)報,2004,6(1)102-110.
[13]NS2.http://www.isi.edu/nsnam/ns/[EB/OL].