劉長征, 張榮華
(新疆石河子大學(xué) 信息科學(xué)與技術(shù)學(xué)院,新疆 石河子 832003)
無線傳感器網(wǎng)絡(luò)(wireless sensor networks,WSNs)是通過在監(jiān)測區(qū)域內(nèi)隨機(jī)部署大量微型傳感器節(jié)點,然后利用傳感器節(jié)點協(xié)作感知、收集和處理網(wǎng)絡(luò)覆蓋范圍內(nèi)所監(jiān)測的對象信息,被廣泛應(yīng)用在戰(zhàn)場監(jiān)視、目標(biāo)跟蹤、醫(yī)療護(hù)理、農(nóng)業(yè)和環(huán)境監(jiān)測等領(lǐng)域,其基本操作是信息數(shù)據(jù)收集[1]。然而,無線傳感器網(wǎng)絡(luò)中的傳感器節(jié)點一般分布在危險或者環(huán)境惡劣等無人值守的區(qū)域,易被物理捕獲而遭受惡意攻擊,成為網(wǎng)絡(luò)數(shù)據(jù)收集的“黑洞”[2]。因而,靈活、安全、高效的數(shù)據(jù)收集機(jī)制成為無線傳感器網(wǎng)絡(luò)一個必須解決的關(guān)鍵問題。無線傳感器網(wǎng)絡(luò)數(shù)據(jù)收集是指從多個傳感器節(jié)點系統(tǒng)地收集環(huán)境參數(shù)的感知數(shù)據(jù),最終傳輸?shù)交具M(jìn)行處理的過程[3]。目前,無線傳感器網(wǎng)絡(luò)數(shù)據(jù)收集技術(shù)主要有三類:
1)基于網(wǎng)絡(luò)結(jié)構(gòu)的數(shù)據(jù)收集方案:根據(jù)網(wǎng)絡(luò)結(jié)構(gòu)不同,分為平坦型網(wǎng)絡(luò)數(shù)據(jù)收集[4]、層次型網(wǎng)絡(luò)數(shù)據(jù)收集[5]和無結(jié)構(gòu)型網(wǎng)絡(luò)數(shù)據(jù)收集[6]。平坦型網(wǎng)絡(luò)數(shù)據(jù)收集方式是所有數(shù)據(jù)流量都流向基站,使得接近基站的節(jié)點消耗能量更快,適用于小規(guī)模網(wǎng)絡(luò);層次型網(wǎng)絡(luò)數(shù)據(jù)收集方式是增加少數(shù)高能量節(jié)點或者選舉簇頭,把網(wǎng)絡(luò)自組織成不同層次,可增強擴(kuò)展性;無結(jié)構(gòu)型網(wǎng)絡(luò)數(shù)據(jù)收集方式是在傳輸過程中自動建立源節(jié)點之間的獨立集,由獨立集中的節(jié)點擔(dān)任聚合節(jié)點,可獲得高效的數(shù)據(jù)聚合,且不需顯式維護(hù)傳輸結(jié)構(gòu)。
2)基于流量優(yōu)化的數(shù)據(jù)收集方案:根據(jù)采用技術(shù)不同,分為最大生命期數(shù)據(jù)收集[7]、網(wǎng)絡(luò)相關(guān)數(shù)據(jù)收集[8]和QoS感知數(shù)據(jù)收集[9]。最大生命期數(shù)據(jù)收集方式是通過找到一個最大生命期數(shù)據(jù)收集調(diào)度方法,獲取數(shù)據(jù)聚合路徑最優(yōu)解;網(wǎng)絡(luò)相關(guān)數(shù)據(jù)收集方式是根據(jù)空間鄰近和時間鄰近節(jié)點收集數(shù)據(jù)的相關(guān)性,獲得高度約簡的收集數(shù)據(jù);QoS感知數(shù)據(jù)收集方式是針對某些特殊服務(wù)質(zhì)量要求,側(cè)重獲取某些最優(yōu)信息。
3)基于移動性的數(shù)據(jù)收集方案:根據(jù)移動對象不同,分為基于移動觀測者的數(shù)據(jù)收集[10]和基于移動代理的數(shù)據(jù)收集[11]?;谝苿佑^測者的數(shù)據(jù)收集方式是利用移動觀測者(如斑馬或者鯨)從基站開始穿越網(wǎng)絡(luò),從附近節(jié)點收集感知數(shù)據(jù),從而大大減少節(jié)點能耗;基于移動代理的數(shù)據(jù)收集方式是利用能耗低、可靠性高的移動代理程序,以減少卷入數(shù)據(jù)傳輸?shù)墓?jié)點和數(shù)據(jù)包。
無線傳感器網(wǎng)絡(luò)中較為典型簡單的網(wǎng)絡(luò)模型是由包括傳感器節(jié)點和匯聚節(jié)點兩類節(jié)點組成的網(wǎng)絡(luò),每個傳感器節(jié)點由獨立電池供電,具有有限的感知、計算和無線通信能力;匯聚節(jié)點則具有高資源的數(shù)據(jù)收集中心,定期從各傳感器節(jié)點收集感知數(shù)據(jù)。
首先,根據(jù)該網(wǎng)絡(luò)模型給出3個假設(shè)前提:
1)網(wǎng)絡(luò)模型中存在的惡意攻擊僅指數(shù)據(jù)包丟棄行為的攻擊;
2)網(wǎng)絡(luò)中惡意節(jié)點為達(dá)到隱蔽偽裝的目的,每次只是選擇性丟棄一小部分?jǐn)?shù)據(jù)包;
3)一個數(shù)據(jù)包通過一條路由路徑能最終到達(dá)匯聚節(jié)點,說明該路徑相對安全。
下面根據(jù)假設(shè)前提給出了基于跟蹤反饋機(jī)制的安全路徑構(gòu)造算法描述,如算法1所示。圖1給出了安全路徑構(gòu)造過程模型(圖中粗黑色虛線即為安全路徑)。
圖1 安全路徑構(gòu)造過程模型
算法1:基于跟蹤反饋機(jī)制的安全路徑構(gòu)造算法
1)源節(jié)點Ns采用t(n)門限算法將要傳輸?shù)臄?shù)據(jù)包P進(jìn)行拆分,并為每一個拆分后的數(shù)據(jù)項添pm加一個標(biāo)識符表H,令初始值為空;
2)當(dāng)中間節(jié)點Nk接收到一個數(shù)據(jù)項,如果該節(jié)點是正常節(jié)點,則將自身標(biāo)識lk添加到H中;
3)當(dāng)一個數(shù)據(jù)項pn到達(dá)匯聚節(jié)點,則匯聚節(jié)點從數(shù)據(jù)項中抽取H={l1,l2,…,ln},并將二元組(Ns,H)存儲到本地數(shù)據(jù)庫;
4)匯聚節(jié)點將標(biāo)識符項H添加到一個廣播消息中,利用路徑H反方向發(fā)送給源節(jié)點Ns;
5)當(dāng)中間節(jié)點Nk接收到廣播消息,如果其自身標(biāo)識lk包含在H中,則該節(jié)點從H中抽取出子路徑Hk={lk+1,lk+2,…,ln}存儲到本地緩存,并根據(jù)H中下一跳節(jié)點Nk+1和標(biāo)識lk+1轉(zhuǎn)發(fā)消息;
6)當(dāng)廣播消息到達(dá)源節(jié)點Ns,則源節(jié)點抽取出標(biāo)識符項H,并存儲到本地緩存。
算法1中,數(shù)據(jù)包從源節(jié)點到匯聚節(jié)點的過程中都加上了自身的標(biāo)識符,以跟蹤數(shù)據(jù)包的流向。然后,匯聚節(jié)點將標(biāo)識符表廣播,采用反饋機(jī)制反向轉(zhuǎn)發(fā)給源節(jié)點,從而獲得安全路徑且可以被后續(xù)數(shù)據(jù)收集重用。然而,安全路徑本身也可能包含惡意節(jié)點,這是因為惡意節(jié)點是以一定概率丟棄攔截的數(shù)據(jù)包,就有可能使惡意節(jié)點因沒有丟棄數(shù)據(jù)包而加入安全路徑。所以,構(gòu)造的安全路徑是“相對”安全而不是“絕對”安全的。
源節(jié)點從匯聚節(jié)點接收多條安全路徑,然后根據(jù)多路徑路由算法[12,13]用構(gòu)造的安全路徑來進(jìn)行安全的數(shù)據(jù)收集。下面給出基于安全多路徑路由的數(shù)據(jù)收集(data ga-thering based on secure multi-path routing,DGSMP)算法具體描述,如算法2所示。
算法2:DGSMP算法
1)當(dāng)源節(jié)點Ns需要發(fā)送數(shù)據(jù)時,首先查找本地緩存
a.如果緩存中存在安全路徑,則隨機(jī)選擇一條安全路徑H={l1,l2,…,ln),將數(shù)據(jù)包發(fā)送給下一跳標(biāo)識為l1的節(jié)點N1;
b.如果緩存中不存在安全路徑,則隨機(jī)選擇下一跳節(jié)點,按算法1構(gòu)造安全路徑。
2)當(dāng)中間節(jié)點Nk接收到一個數(shù)據(jù)選項,首先查找本地緩存
a.如果緩存中存在安全路徑,則隨機(jī)選擇一條安全路徑Hk={lk+1,lk+2,…,ln},將數(shù)據(jù)包發(fā)送給下一跳標(biāo)識為lk+1的節(jié)點Nk+1;
b.如果緩存中不存在安全路徑,則隨機(jī)選擇下一跳節(jié)點,按算法1構(gòu)造安全路徑。
3)當(dāng)匯聚節(jié)點成功接收到數(shù)據(jù)包,首先查看標(biāo)識符表H是否為空
a.如果數(shù)據(jù)包標(biāo)識符表項為空,則說明所有中間節(jié)點的本地緩存中都包含安全路徑,匯聚節(jié)點直接返回空消息;
b.如果數(shù)據(jù)包標(biāo)識符表項不為空,則匯聚節(jié)點抽取安全路徑,同時更新本地數(shù)據(jù)庫,并返回包含安全路徑的消息,所有收到消息的中間節(jié)點和源節(jié)點,抽取自身安全路徑子集,更新本地緩存。
4)當(dāng)匯聚節(jié)點沒有成功接收到數(shù)據(jù)包,則源節(jié)點無法在一個定周期內(nèi)接收到匯聚節(jié)點的反饋信息,說明已有安全路徑上出現(xiàn)惡意節(jié)點,刪除當(dāng)前安全路徑,重發(fā)數(shù)據(jù)并構(gòu)造新的安全路徑。
算法2描述的DGSMP算法通過構(gòu)造相對安全的安全路徑實現(xiàn)了無線傳感器網(wǎng)絡(luò)中較為安全的數(shù)據(jù)收集方案,是“盡最大努力”將惡意節(jié)點排除在傳輸路由之外,以此提高數(shù)據(jù)收集可靠性的方式,保證了數(shù)據(jù)收集的相對安全。
本文通過采用OPNET10.0系統(tǒng)進(jìn)行仿真,比較在惡意節(jié)點不同數(shù)據(jù)包丟棄率下,DGSMP算法與定向隨機(jī)傳播(directed random propagation,DRP)算法[14]的數(shù)據(jù)包被攔截率。仿真參數(shù)設(shè)置為:網(wǎng)絡(luò)覆蓋區(qū)域為5 km×5 km,節(jié)點數(shù)目為50,源節(jié)點集合基數(shù)為10。圖2給出了在惡意節(jié)點丟棄率分別為0.2和0.5的情況下,DGSMP算法與DRP算法數(shù)據(jù)包被攔截率比較。
圖2 不同丟棄率下DGSMP與DRP數(shù)據(jù)包被攔截率比較
從圖2可以看出:隨惡意節(jié)點數(shù)目增加,二種算法數(shù)據(jù)包被攔截率都在上升,這是顯然符合現(xiàn)實情況的。然而在相同的丟包率的情況下,隨著惡意節(jié)點數(shù)目的增加,DGSMP算法優(yōu)勢較為明顯。數(shù)據(jù)包被攔截率是隨著惡意節(jié)點丟棄率的增大而增大的。當(dāng)惡意節(jié)點丟棄率從0.2上升到0.5時,DRP算法性能下降較為嚴(yán)重,DGSMP算法性能下降則不明顯。而且隨著丟棄率增大,DRP算法與DGSMP算法的性能差異將會更大。這是由于DGSMP算法是根據(jù)安全路徑進(jìn)行數(shù)據(jù)收集,從而將大部分惡意節(jié)點排除在路由之外,使得惡意節(jié)點的高丟棄率對所給算法影響不大。
無線傳感器網(wǎng)絡(luò)本身很容易遭受到惡意攻擊,面臨著較大的安全威脅,目前已有的數(shù)據(jù)收集方案沒有很好地考慮安全問題。本文給出的一種安全有效的數(shù)據(jù)收集方案,結(jié)合多路徑路由機(jī)制和跟蹤反饋機(jī)制,通過構(gòu)造安全路徑來實現(xiàn)數(shù)據(jù)收集。在存在惡意節(jié)點的情況下,有更小的數(shù)據(jù)被攔截率,提高了數(shù)據(jù)收集可靠性。構(gòu)造安全路徑的算法復(fù)雜性較低,且對整體網(wǎng)絡(luò)的性能影響較小,可以為后續(xù)的數(shù)據(jù)收集傳輸提供安全的路由傳輸路徑。性能分析表明:該方案能夠很好地適應(yīng)于無線傳感器網(wǎng)絡(luò)的資源受限環(huán)境,具有較好的理論研究價值和推廣應(yīng)用價值。
參考文獻(xiàn):
[1] 孫利民,李建中,陳 渝.無線傳感器網(wǎng)絡(luò)[M].北京:清華大學(xué)出版社,2005:4-20.
[2] Akyildiz F,Su W,Sankarasubramaniam Y,et al.A survey on sensor networks[J].IEEE Communications Magazine,2002,40(8):102-114.
[3] 解文斌,鮮 明,包衛(wèi)東,等.無線傳感器網(wǎng)絡(luò)數(shù)據(jù)收集研究進(jìn)展[J].計算機(jī)科學(xué),2008,35(8):35-41.
[4] Krishnamachari B,Heidemann J.Application specific modeling of information routing in wireless sensor networks[C]∥Proc IEEE International Performance, Computing and Communications Conference,2004:717-722.
[5] Younis O,F(xiàn)ahmy S.HEED:A hybrid,energy-efficient,distributed clustering approach for Ad Hoc sensor networks[J].IEEE Transactions on Mobile Computing,2004,3(4):366-379.
[6] Fan K W,Liu S,Sinha P.Structrue-free data aggregation in sensor networks[J].IEEE Transactions on Mobile Computing,2007,2(4):349-365.
[7] Hong B,Prasanna V K.Maximum lifetime data sensing and extraction in energy constrained networked sensor systems[J].Journal of Parallel and Distributed Computing,2006,66(4):556-577.
[8] Cristescu R,Beferull-Lozano B,Vetterli M,et al.Network correleated data gathering with explicit communication:NP-completeness and algorithms[J].IEEE/ACM Transactions on Networking,2006,14(1):41-54.
[9] Upadhyula S,Gupta S K.Spanning tree-based algorithms for low latency and energy efficient data aggregation enhanced converge cast (DAC) in wireless sensor networks[J].Ad Hoc Networks,2007,2(5):626-648.
[10] Ma M,Yang Y.SenCar: An energy efficient data gathering mechanism for large scale multi hop sensor networks[C]∥2006 International Conference on Distributed Computing in Sensor Systems(DCOSS’06),2006:2056-2062.
[11] Xu Y Y,Qi H R.Distributed computing paradigms for collaborative signal and information processing in sensor networks[J].Pa-rallel Distrib Computer,2004,64:945-959.
[12] Lou W,Kwon Y.H-spread:A hybrid multipath scheme for secure and reliable data collection in wireless sensor networks[J].IEEE Transactions on Vehicular Technology,2006,55(4):1056-1065.
[13] Lee P C,MIisra V,Rubenstein D.Distributed algorithms for secure multipath routing in attack-resistant networks[J].IEEE/ ACM Transaction on Networking,2007,15(6):1490-1501.
[14] Shu T,Liu S,Krunzsecure M.Secure data collection in wiress sensor networks using randomized dispersive routes[C]∥Proc IEEE INFORM Conference,Brazil,2009:2846-2850.