戴國勇,呂何新,丁健龍,趙 方,毛科技,彭 豐
(1.浙江樹人大學(xué)信息科技學(xué)院,浙江 杭州 310015;2.浙江工業(yè)大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院,浙江 杭州 310023;3.衢州華數(shù)廣電網(wǎng)絡(luò)有限公司,浙江 衢州 324000)
無線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks,WSNs)是物聯(lián)網(wǎng)的一項重要技術(shù),由大量具有計算能力、通信能力和數(shù)據(jù)處理能力的傳感器節(jié)點(diǎn),通過無線自組織的形式構(gòu)成的網(wǎng)絡(luò)[1-2]。路由技術(shù)是無線傳感器網(wǎng)絡(luò)除節(jié)點(diǎn)定位、網(wǎng)絡(luò)覆蓋、能量管理和隱私保護(hù)等問題外的一個重要研究方向[3]。一種良好的路由技術(shù)能夠提供可靠的數(shù)據(jù)轉(zhuǎn)發(fā)、較好的能耗均衡以及安全的數(shù)據(jù)路由[4]。由于傳感器網(wǎng)絡(luò)部署的環(huán)境復(fù)雜,傳感器節(jié)點(diǎn)更換電池困難,當(dāng)節(jié)點(diǎn)負(fù)載不均衡時,負(fù)載大的節(jié)點(diǎn)消耗的能量多,死亡較快,從而導(dǎo)致網(wǎng)絡(luò)過早失效。在無線傳感器網(wǎng)絡(luò)中,惡意節(jié)點(diǎn)可偽裝成網(wǎng)絡(luò)內(nèi)的成員節(jié)點(diǎn)破壞網(wǎng)絡(luò)或者竊取網(wǎng)絡(luò)數(shù)據(jù),給WSN帶來安全威脅,因此路由協(xié)議設(shè)計時需考慮數(shù)據(jù)安全性。
無線傳感器網(wǎng)絡(luò)路由協(xié)議主要分為兩種,一種是鏈?zhǔn)铰酚蓞f(xié)議,另一種是層次路由協(xié)議[5]。其中鏈?zhǔn)铰酚蓞f(xié)議在數(shù)據(jù)流量較大時容易導(dǎo)致鏈路擁塞,因此適合應(yīng)用于小規(guī)模的網(wǎng)絡(luò)中。而層次路由協(xié)議是一種劃分區(qū)域的路由協(xié)議,適用于大規(guī)模的網(wǎng)絡(luò)。分簇路由協(xié)議作為層次路由協(xié)議的一種,具有較好的能耗均衡性,被廣泛地應(yīng)用于無線傳感器網(wǎng)絡(luò)路由中。LEACH(low energy adaptive clustering hierarchy,LEACH)路由協(xié)議[6]首次提出了分簇思想,該協(xié)議分為簇建立階段和穩(wěn)定階段,在簇建立階段通過循環(huán)方式隨機(jī)選擇簇頭節(jié)點(diǎn),將網(wǎng)絡(luò)能耗平均分配至每個節(jié)點(diǎn),從而在一定程度上提高網(wǎng)絡(luò)能耗均衡性,延長網(wǎng)絡(luò)整體生存時間。通過隨機(jī)方式選擇簇頭可能導(dǎo)致能量較低的節(jié)點(diǎn)作為簇頭,造成能耗不均勻。文獻(xiàn)[7]將LEACH改進(jìn)為一種節(jié)能多跳路由協(xié)議,對LEACH簇的創(chuàng)建、數(shù)據(jù)傳輸以及簇的更新等階段進(jìn)行了修改,然而該方法構(gòu)造的多跳路徑是未優(yōu)化的,從而容易導(dǎo)致路由中斷。
在網(wǎng)絡(luò)可靠性方面,文獻(xiàn)[8]提出了一種負(fù)載均衡和數(shù)據(jù)收集算法,該算法節(jié)約了能耗,提高了數(shù)據(jù)聚合和轉(zhuǎn)發(fā)方面的性能。然而通過多跳的方式進(jìn)行數(shù)據(jù)傳輸,提高了通信成本。文獻(xiàn)[9]提出了基于鏈的路由協(xié)議(Chain-chain based routing protocol,CCBRP),CCBRP集成了傳感器信息系統(tǒng)(PEGASIS)的過濾和能量高效收集功能,將整個節(jié)點(diǎn)安排到不同的鏈中。CCBRP提供了一個混合方案,并在兩個不同的階段執(zhí)行所構(gòu)建的鏈。該協(xié)議的主要問題是隨著網(wǎng)絡(luò)規(guī)模的增大而帶來的高能耗和高延遲。因此,由于可擴(kuò)展性的限制,CCBRP不適合于大規(guī)模網(wǎng)絡(luò)。文獻(xiàn)[10]提出了LEACH-MAC協(xié)議,改進(jìn)了LEACH協(xié)議隨機(jī)產(chǎn)生簇頭節(jié)點(diǎn)導(dǎo)致能耗不均的問題,該方法通過控制簇頭數(shù)量為一定數(shù)值,提高網(wǎng)絡(luò)生存時間。文獻(xiàn)[11]提出了LEACH-ER協(xié)議,通過能量和數(shù)據(jù)可靠性因子選擇簇頭,該協(xié)議通過降低簇頭和成員節(jié)點(diǎn)之間的簇內(nèi)部數(shù)據(jù)包的接收速率,從而提高網(wǎng)絡(luò)壽命和能源效率。然而該協(xié)議并未對路由進(jìn)行優(yōu)化,容易導(dǎo)致數(shù)據(jù)重傳和路由中斷,可靠性有所欠缺。
在路由數(shù)據(jù)安全性方面,文獻(xiàn)[12]提出的大規(guī)模無線傳感器網(wǎng)絡(luò)的可靠且節(jié)能的數(shù)據(jù)收集方法,在熱點(diǎn)區(qū)域,選擇較少的節(jié)點(diǎn)來捕獲信息,而在非熱點(diǎn)區(qū)域則選擇較多的監(jiān)控節(jié)點(diǎn)。然而,所提出的解決方案忽視了數(shù)據(jù)安全,在惡劣復(fù)雜的環(huán)境中,將會給網(wǎng)絡(luò)帶來安全性問題。文獻(xiàn)[13]提出了三因素認(rèn)證方法,為無線傳感器網(wǎng)絡(luò)提供了數(shù)據(jù)安全保障,提出的方法在節(jié)點(diǎn)之間提供了適當(dāng)?shù)南嗷フJ(rèn)證,但是在認(rèn)證過程中消耗了不必要的能量,降低了網(wǎng)絡(luò)的生存期。文獻(xiàn)[14-15]使用Shamir加密共享方案設(shè)計無線傳感器網(wǎng)絡(luò)數(shù)據(jù)加密方法,為網(wǎng)絡(luò)數(shù)據(jù)提供了安全的傳輸環(huán)境,具有一定的代表性。
針對目前無線傳感器網(wǎng)絡(luò)路由協(xié)議存在安全性不高、網(wǎng)絡(luò)可靠性差等問題,提出了一種安全可靠的WSN路由協(xié)議(Shamir-based Secure Reliable Routing,SSCRP),在簇頭的選舉中對節(jié)點(diǎn)剩余能量、信號強(qiáng)度以及節(jié)點(diǎn)到基站的最短路徑長度等進(jìn)行綜合考慮,考慮到惡意節(jié)點(diǎn)的加入,網(wǎng)絡(luò)使用Shamir密鑰共享算法對數(shù)據(jù)進(jìn)行加密,當(dāng)網(wǎng)絡(luò)工作一段時間后進(jìn)行簇首的輪換。該協(xié)議能夠在保證數(shù)據(jù)安全性的情況下,提高網(wǎng)絡(luò)能耗的均衡性以及網(wǎng)絡(luò)的可靠性。
假設(shè)1 網(wǎng)絡(luò)采用星型網(wǎng)絡(luò)架構(gòu),即網(wǎng)絡(luò)內(nèi)所有節(jié)點(diǎn)可以直接與基站通信。
假設(shè)2 基站由服務(wù)器供電,能量充足有足夠處理能力。
假設(shè)3 無線傳感器網(wǎng)絡(luò)內(nèi)節(jié)點(diǎn)同構(gòu),初始能量相同都為E0。
假設(shè)4 網(wǎng)絡(luò)內(nèi)節(jié)點(diǎn)的通信半徑為r,在通信半徑內(nèi)節(jié)點(diǎn)通信穩(wěn)定。
節(jié)點(diǎn)通信時,節(jié)點(diǎn)發(fā)送數(shù)據(jù)和接收收據(jù)時都需要消耗能量,其中節(jié)點(diǎn)通信能耗模型如圖1所示。發(fā)送數(shù)據(jù)能耗和接收數(shù)據(jù)能耗如式(1)和式(2)所示。
圖1 節(jié)點(diǎn)通信能耗模型
式(1)、式(2)中:Ee表示數(shù)據(jù)在發(fā)送和接收時每處理1 bit數(shù)據(jù)時消耗到的能量;Eamp表示功率放大電路的系統(tǒng);k表示數(shù)據(jù)包的位數(shù);d表示數(shù)據(jù)傳輸距離;dt是距離閾值。
SSCRP協(xié)議的主要步驟為:①簇頭選擇與成簇:根據(jù)節(jié)點(diǎn)剩余能量、接收信號強(qiáng)度、節(jié)點(diǎn)與基站的最短路徑長度以及節(jié)點(diǎn)的負(fù)載率等因素,進(jìn)行簇頭節(jié)點(diǎn)的選擇,網(wǎng)絡(luò)內(nèi)節(jié)點(diǎn)全部加入相鄰簇頭形成簇。②數(shù)據(jù)加密傳輸:基站使用Shamir密鑰共享算法給網(wǎng)絡(luò)內(nèi)所有節(jié)點(diǎn)發(fā)送密鑰,驗(yàn)證節(jié)點(diǎn)是否為非法節(jié)點(diǎn)。③簇頭輪換:利用簇頭輪換方法更新簇頭,實(shí)現(xiàn)網(wǎng)絡(luò)能耗的均衡性,提高網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)目煽啃浴?/p>
在初始階段,節(jié)點(diǎn)被隨機(jī)部署于正方形的網(wǎng)絡(luò)區(qū)域內(nèi),每個節(jié)點(diǎn)都保持靜態(tài),且具有唯一的ID?;鞠蚓W(wǎng)絡(luò)區(qū)域內(nèi)的所有節(jié)點(diǎn)通過多跳的方式廣播其位置,節(jié)點(diǎn)接收到數(shù)據(jù)后通過合并鄰居節(jié)點(diǎn)的信息更新自身的路由表。接著在網(wǎng)絡(luò)區(qū)域內(nèi)以分散的方式發(fā)布簇頭選擇機(jī)制。由于簇頭節(jié)點(diǎn)不僅需要處理簇內(nèi)成員節(jié)點(diǎn)的數(shù)據(jù),還需要轉(zhuǎn)發(fā)其他簇頭的數(shù)據(jù)至下一跳簇頭節(jié)點(diǎn),所以與簇內(nèi)成員節(jié)點(diǎn)相比需要更多的剩余能量、更強(qiáng)的接收信號強(qiáng)度等。
因此本文提出的簇頭選擇機(jī)制,通過節(jié)點(diǎn)剩余能量(Eres)、接收信號強(qiáng)度指示(Received Signal Strength Indicator,RSSI)、節(jié)點(diǎn)到基站的最短路徑長度(Dsp)以及節(jié)點(diǎn)的負(fù)載率(LF)等因子,計算所有節(jié)點(diǎn)的競爭值CV,競爭值CV越大表示節(jié)點(diǎn)出任簇頭的機(jī)會越大,就越容易成為簇頭。每個節(jié)點(diǎn)通過交換控制消息來接收鄰居節(jié)點(diǎn)信息。節(jié)點(diǎn)剩余能量(Eres)是影響網(wǎng)絡(luò)生存時間最重要的因素,節(jié)點(diǎn)的剩余能量越多,表示節(jié)點(diǎn)的競爭能量越強(qiáng),就越容易成為簇頭。接收信號強(qiáng)度指示(RSSI)是衡量無線鏈路質(zhì)量的一個重要標(biāo)準(zhǔn),假設(shè)節(jié)點(diǎn)信標(biāo)包的接收速率為X,某段時間內(nèi),有N個鄰居節(jié)點(diǎn)向該節(jié)點(diǎn)發(fā)送信標(biāo)數(shù)據(jù)包,節(jié)點(diǎn)能夠順利接收數(shù)據(jù)包且沒有發(fā)生丟失和重傳,則該節(jié)點(diǎn)信標(biāo)數(shù)據(jù)包的平均接收速率為RSSIth,如式(3)所示,則可將RSSIth作為RSSI的閾值。
當(dāng)節(jié)點(diǎn)的RSSI值小于閾值時,表明鏈路質(zhì)量低,丟包率上升。當(dāng)RSSI值大于RSSIth時,能夠提供良好的包接收速率,數(shù)據(jù)傳輸就越穩(wěn)定,此時該節(jié)點(diǎn)就越容易出任簇頭。當(dāng)節(jié)點(diǎn)至基站的最短路徑長度(Dsp)越小時,數(shù)據(jù)轉(zhuǎn)發(fā)的次數(shù)就越少,能耗就越低,因此盡量選擇最短路徑長度短的節(jié)點(diǎn)作為簇頭。節(jié)點(diǎn)的負(fù)載率(LF)也是影響數(shù)據(jù)傳遞性能的一個重要標(biāo)準(zhǔn),節(jié)點(diǎn)負(fù)載率通過節(jié)點(diǎn)此時接收的包的字節(jié)數(shù)(RP),以及節(jié)點(diǎn)的總緩沖大小(TB,以字節(jié)為單位)進(jìn)行衡量,如式(4)所示。
節(jié)點(diǎn)的負(fù)載率越小表示該節(jié)點(diǎn)此時的處理能力就越強(qiáng),網(wǎng)絡(luò)越不容易擁塞,該節(jié)點(diǎn)出任簇頭的概率就越大。
最后,對所有影響因子進(jìn)行加權(quán),計算出節(jié)點(diǎn)的競爭值CV,如式(5)所示。對網(wǎng)絡(luò)內(nèi)所有節(jié)點(diǎn)的競爭值進(jìn)行排序,選舉出前K個CV值最大的節(jié)點(diǎn)作為簇頭節(jié)點(diǎn),其中K為網(wǎng)絡(luò)內(nèi)的簇頭節(jié)點(diǎn)數(shù)量。
式中:w1、w2、w3、w4分別表示影響因子對應(yīng)的加權(quán)值,且權(quán)值滿足w1+w2+w3+w4=1。
當(dāng)選舉出K個簇首節(jié)點(diǎn)時,簇首節(jié)點(diǎn)向周圍鄰居節(jié)點(diǎn)廣播信號幀,當(dāng)鄰居節(jié)點(diǎn)接收到狀態(tài)信息后,都加入至相鄰簇頭以形成簇,由于鄰居節(jié)點(diǎn)可能接收到多個簇頭發(fā)送的狀態(tài)信息,此時鄰居節(jié)點(diǎn)將與RSSI值最大的簇頭關(guān)聯(lián)形成簇。當(dāng)完成簇的建立之后,為所有的簇分配一個唯一的簇ID,形成簇集合(Scluster={c1,c2,…,ck}),以指定簇邊界,所有簇頭節(jié)點(diǎn)根據(jù)時分多址(Time Division Multiple Access,TDMA)發(fā)布信道訪問方案時間表。從而完成整個網(wǎng)絡(luò)路由建立。其中具體的路由建立過程如表1所示。
表1 路由建立過程
為防止惡意節(jié)點(diǎn)入侵網(wǎng)絡(luò)從而破壞或者竊取網(wǎng)絡(luò)數(shù)據(jù),提出了基于Shamir密鑰共享算法的數(shù)據(jù)加密方法?;旧擅荑€S,該密鑰使用Shamir的(t,n)密鑰共享算法將其傳遞給n個簇頭節(jié)點(diǎn),其中簇頭的任意t個子集都能夠重建密鑰S。Shamir密鑰共享算法需要滿足下面兩個條件:
條件1:任意t個或者大于t個子鍵的組合(S0,S1,…,St-1)都能夠重構(gòu)密鑰S。
條件2:小于t個子集的組合不能重構(gòu)密鑰S。
在Shamir密鑰共享算法中,利用t-1次多項式對數(shù)據(jù)進(jìn)行加密,其中構(gòu)造的多項式如式(6)所示,假設(shè)將S的值賦值給a0,當(dāng)通過t個子集求解出多項式的系數(shù)集合(a0,a1,…,at-1)時即可實(shí)現(xiàn)密鑰的重構(gòu)。
為了實(shí)現(xiàn)加密密鑰的重構(gòu),需要通過拉格朗日插值公式進(jìn)行計算,如式(7)所示。
基站將密鑰Si的每個子鍵分配給K個簇頭,簇頭將密鑰發(fā)送給簇中的成員節(jié)點(diǎn)。當(dāng)成員節(jié)點(diǎn)向簇頭節(jié)點(diǎn)轉(zhuǎn)發(fā)網(wǎng)絡(luò)數(shù)據(jù)Di時,將密鑰Si和數(shù)據(jù)網(wǎng)絡(luò)數(shù)據(jù)Di進(jìn)行異或操作進(jìn)行加密,如式(8)所示。
簇頭從成員節(jié)點(diǎn)接收到加密數(shù)據(jù)EDi后,將其傳輸至基站,基站使用解密密鑰S對數(shù)據(jù)進(jìn)行解密,最終實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)的安全傳輸,從而防止惡意節(jié)點(diǎn)的侵入給網(wǎng)絡(luò)帶來安全性問題。具體的安全數(shù)據(jù)路由實(shí)現(xiàn)步驟如表2所示。
表2 安全數(shù)據(jù)路由實(shí)現(xiàn)過程
由于無線傳感器網(wǎng)絡(luò)內(nèi),不同區(qū)域的簇負(fù)載程度不同,負(fù)載大的簇頭消耗的資源多,容易因能量耗盡而死亡。為了實(shí)現(xiàn)能耗的負(fù)載均衡提高網(wǎng)絡(luò)整體的生存期,需要動態(tài)地輪換簇內(nèi)的簇頭。當(dāng)出現(xiàn)以下情況時需要進(jìn)行簇頭輪換:
情況1當(dāng)簇頭接收到網(wǎng)絡(luò)數(shù)據(jù)包時,首先判斷是否已經(jīng)接收到相同的數(shù)據(jù)包,如果是,則丟棄該數(shù)據(jù)包,以減少網(wǎng)絡(luò)擁塞和能耗。如果接收到的是一個新的數(shù)據(jù)包,簇頭將會判斷自身的剩余能量是否充足,即是否滿足Eresi≥Ethreshold(其中Ethreshold是簇頭所在的簇的所有節(jié)點(diǎn)的平均能耗),如果不滿足則不進(jìn)行數(shù)據(jù)包轉(zhuǎn)發(fā),此時在簇內(nèi)計算所有成員節(jié)點(diǎn)的競爭值CV,并將CV值最大的節(jié)點(diǎn)作為該簇新的簇頭節(jié)點(diǎn)。
情況2計算每個簇的擁塞率Cr,如式(9)所示。不斷地檢查擁塞率Cr的值,當(dāng)檢查到Cr的值不在[0,1]范圍內(nèi)時,表明該簇的簇頭已經(jīng)出現(xiàn)了網(wǎng)絡(luò)擁塞,此時需要利用2.1中的方法重新進(jìn)行網(wǎng)絡(luò)內(nèi)簇頭的選擇,實(shí)現(xiàn)新一輪簇頭的輪換。其中簇頭輪換的具體實(shí)現(xiàn)如表3所示。
表3 簇頭輪換過程
式中:ADR表示數(shù)據(jù)包之間到的平均延遲率;ARR表示數(shù)據(jù)包的平均接收效率。
在i7處理器、8 G內(nèi)存的PC機(jī)中利用NS2仿真平臺對本文提出的WSN路由協(xié)議進(jìn)行性能分析。將不同數(shù)量的節(jié)點(diǎn)隨機(jī)部署于正方形區(qū)域內(nèi),其中包含了10個惡意節(jié)點(diǎn),惡意節(jié)點(diǎn)通過廣播錯誤的路由數(shù)據(jù)包,以便被選作數(shù)據(jù)轉(zhuǎn)發(fā)的下一跳。其中仿真參數(shù)如表4所示。
表4 仿真參數(shù)表
為了衡量本文提出的SSCRP協(xié)議在不同加權(quán)值情況下對網(wǎng)絡(luò)性能的影響,將100個傳感器節(jié)點(diǎn)隨機(jī)部署于100 m×100 m的區(qū)域內(nèi),網(wǎng)絡(luò)參數(shù)按照表4設(shè)置,將不同加權(quán)值參數(shù)分為三組:組1權(quán)值配置為w1=0.1、w2=0.5、w3=0.3、w4=0.1;組2配置為w1=0.2、w2=0.1、w3=0.1、w4=0.6;組3配置為w1=0.5、w2=0.3、w3=0.1、w4=0.1;對這三組配置進(jìn)行能耗、路由中斷次數(shù)和數(shù)據(jù)包傳遞率分析。結(jié)果如圖2~圖4所示。
圖2 簇頭節(jié)點(diǎn)個數(shù)與網(wǎng)絡(luò)能耗關(guān)系
圖4 簇頭節(jié)點(diǎn)個數(shù)與數(shù)據(jù)包投遞率關(guān)系
從圖2~圖4可以看出,不同權(quán)值情況下,選舉的不同簇頭對網(wǎng)絡(luò)的能耗、網(wǎng)絡(luò)中斷次數(shù)以及數(shù)據(jù)包投遞率都有相應(yīng)影響。從圖2中可以看出分配給剩余能量(Eres)權(quán)重值最大的組3,網(wǎng)絡(luò)能耗最低。因?yàn)樵诖仡^的選舉時,能耗所占權(quán)值大,因此對能耗考慮的越充分。從圖3可以看出組1分配給信號強(qiáng)度(RSSI)的權(quán)值最大,路由中斷次數(shù)最少。因?yàn)楫?dāng)節(jié)點(diǎn)信號強(qiáng)度較大時,表明此時節(jié)點(diǎn)的通信質(zhì)量高,則此時網(wǎng)絡(luò)中斷次數(shù)少。從圖4可以看出組2的節(jié)點(diǎn)的負(fù)載率(LF)占比最大,此時數(shù)據(jù)包的投遞率最高。原因是當(dāng)對節(jié)點(diǎn)的負(fù)載率考慮越充分時,此時節(jié)點(diǎn)能夠轉(zhuǎn)發(fā)的數(shù)據(jù)包能力就越強(qiáng),則數(shù)據(jù)包投遞率就越高。
圖3 簇頭節(jié)點(diǎn)個數(shù)與路由中斷次數(shù)關(guān)系
為了評估本文提出的WSN路由協(xié)議性能,本文以下的實(shí)驗(yàn)部分將其與CCBRP[9]、LEACH-MAC[10]和LEACH-ER協(xié)議[11]進(jìn)行對比。并將簇頭選舉時的權(quán)值參數(shù)設(shè)置為相同,即w1=w2=w3=w4=0.25。
理論上隨著節(jié)點(diǎn)數(shù)量的增多,網(wǎng)絡(luò)內(nèi)的流量增大,擁塞情況嚴(yán)重,此時端到端的時延就會增大。實(shí)驗(yàn)結(jié)果如圖5所示。
圖5 端到端平均延時
從圖5可以看出,隨著節(jié)點(diǎn)數(shù)量的增多,端到端的延時都在不斷增大,其中本文提出的SSCRP方法平均延時最低,且隨著節(jié)點(diǎn)數(shù)量的增多網(wǎng)絡(luò)流量和網(wǎng)絡(luò)負(fù)載迅速上升,SSCRP協(xié)議具有更低的端到端延遲。原因是SSCRP協(xié)議通過自適應(yīng)的方式形成簇,并根據(jù)簇頭的當(dāng)前性能進(jìn)行及時輪換,從而減少了路由空洞的出現(xiàn),降低了數(shù)據(jù)延遲。
數(shù)據(jù)包交付率是評價路由協(xié)議性能的重要指標(biāo)之一,理論上網(wǎng)絡(luò)處理能力越強(qiáng),網(wǎng)絡(luò)數(shù)據(jù)安全性越高,數(shù)據(jù)包交付率就越高。其中數(shù)據(jù)包交付率實(shí)驗(yàn)結(jié)果如圖6所示。
圖6 數(shù)據(jù)包交付率
從圖6可以看出隨著節(jié)點(diǎn)數(shù)量的增多,數(shù)據(jù)包交付率都在降低,原因是隨著節(jié)點(diǎn)數(shù)量的增多,網(wǎng)絡(luò)流量和網(wǎng)絡(luò)負(fù)載都在急劇上升,因此導(dǎo)致有些數(shù)據(jù)包出現(xiàn)擁塞,導(dǎo)致數(shù)據(jù)包丟失,交付率降低。可以看出本文提出的SSCRP交付率最高,且隨著節(jié)點(diǎn)增多,交付率仍維持在較高水平。原因是SSCRP在簇頭選擇時充分考慮了多個因素,優(yōu)先考慮性能較優(yōu)的節(jié)點(diǎn)出任簇頭,從而生成更加穩(wěn)定高效的簇。并且SSCRP采用基于Shamir密鑰共享算法的數(shù)據(jù)加密方法實(shí)現(xiàn)了基站和簇頭之間通信時數(shù)據(jù)包的可靠性,減少了路由的中斷,最終提高數(shù)據(jù)交付性能。
節(jié)點(diǎn)平均通信成本是衡量WSN路由協(xié)議性能的一個標(biāo)準(zhǔn),節(jié)點(diǎn)的平均通信成本越低,則該路由協(xié)議性能就越優(yōu)越。其中節(jié)點(diǎn)平均通信成本的實(shí)驗(yàn)結(jié)果如圖7所示。
圖7 節(jié)點(diǎn)平均通信成本
從圖7可以看出隨著網(wǎng)絡(luò)節(jié)點(diǎn)密度的增大,四種協(xié)議的平均通信能耗都在不斷上升,其中本文提出的SSCRP協(xié)議的平均通信成本最低,特別在網(wǎng)絡(luò)負(fù)載增大時,節(jié)點(diǎn)的平均通信成本仍維持了較低的水平。是因?yàn)镾SCRP在簇頭選舉時,對節(jié)點(diǎn)的剩余能耗進(jìn)行充分考慮,當(dāng)簇的剩余能量不足或者簇的擁塞率大于一定閾值時,進(jìn)行簇頭輪換。SSCRP采用基于Shamir密鑰共享算法的數(shù)據(jù)加密方法保證了數(shù)據(jù)的安全性和可靠性,從而降低了數(shù)據(jù)包重發(fā)次數(shù),降低通信成本。
網(wǎng)絡(luò)生存時間是衡量路由協(xié)議優(yōu)劣的一個重要標(biāo)準(zhǔn)。在同等條件下,網(wǎng)絡(luò)生存時間越長的網(wǎng)絡(luò),表示網(wǎng)絡(luò)的能耗均衡性就越好,路由協(xié)議就越優(yōu)秀。其中網(wǎng)絡(luò)生存時間實(shí)驗(yàn)結(jié)果如圖8所示。
從圖8可以看出,在相同節(jié)點(diǎn)密度下SSCRP路由協(xié)議的網(wǎng)絡(luò)生存時間明顯高于CCBRP、LEACHMAC和LEACH-ER協(xié)議。因?yàn)楫?dāng)簇頭節(jié)點(diǎn)的剩余能量低于簇內(nèi)成員節(jié)點(diǎn)的平均剩余能量時,SSCRP在該簇內(nèi)重新計算節(jié)點(diǎn)競爭值CV,并指定競爭值最大的節(jié)點(diǎn)出任簇頭,而不是重新計算整個網(wǎng)絡(luò)中節(jié)點(diǎn)的競爭值,重新輪換所有簇頭,因此在一定程度上降低了計算時的能耗,提高了整個網(wǎng)絡(luò)的生命周期??梢钥闯鯨EACH-ER的生命周期最短,雖然LEACH-ER在簇頭選舉時考慮了節(jié)點(diǎn)的剩余能耗和RSSI值,但是并沒有考慮到節(jié)點(diǎn)與基站的最短路徑長度以及網(wǎng)絡(luò)負(fù)載率等因素,因此容易導(dǎo)致數(shù)據(jù)重傳和路由中斷,能耗上升,生命周期縮短。
圖8 網(wǎng)絡(luò)生存時間
本文基于Shamir密鑰共享算法提出了一種安全可靠的WSN路由協(xié)議(SSCRP),與現(xiàn)有的路由協(xié)議相比,在端到端時延、數(shù)據(jù)包交付率以及網(wǎng)絡(luò)生存時間方面都表現(xiàn)出較好的性能。提出了一種優(yōu)化簇頭的選擇過程,采用分布式策略生成簇,并根據(jù)簇頭剩余能耗和簇的擁塞率及時輪換簇頭,使能耗更加均衡。為了防止惡意節(jié)點(diǎn)侵入網(wǎng)絡(luò),使用基于Shamir密鑰共享算法的數(shù)據(jù)加密方法,保護(hù)數(shù)據(jù)從節(jié)點(diǎn)到簇頭再到基站這條鏈路的數(shù)據(jù)安全。下一步的工作,將SSCRP協(xié)議應(yīng)用到實(shí)際場景之中,進(jìn)行性能驗(yàn)證。