王禮霞,邰清清
(合肥經(jīng)濟學院,安徽 合肥 230036)
現(xiàn)今社會電子信息不斷發(fā)展,多種技術興起。隨著無線電技術、集成電路技術的飛速發(fā)展,無線傳感器應運而生,該設備具有能量消耗低、體積小、價格低等優(yōu)勢,受到多個行業(yè)的關注[1]。隨著微傳感無線傳感器的應用與發(fā)展,該設備結合處理器、通訊設備等共同構成了無線傳感器網(wǎng)絡。無線傳感器網(wǎng)絡中節(jié)點是其運行中的重要支撐。以節(jié)點合作方式獲取相應數(shù)據(jù)信息,并將其傳輸至基站,為傳感器網(wǎng)絡發(fā)展開創(chuàng)新篇章[2]。
與發(fā)達國家相比較,國內對無線傳感器網(wǎng)絡的研究起步較晚,但發(fā)展速度較快。無線傳感器網(wǎng)絡在運行過程中節(jié)點易受到復雜網(wǎng)絡環(huán)境的影響,導致其運行不暢。傳感器網(wǎng)絡節(jié)點比較容易受到攻擊、威脅與侵害,導致節(jié)點異?,F(xiàn)象頻繁發(fā)生[3]。若異常節(jié)點沒有被發(fā)現(xiàn)或者剔除,會直接影響網(wǎng)絡決策的安全性,為網(wǎng)絡用戶帶來不利影響?,F(xiàn)有無線傳感器網(wǎng)絡異常節(jié)點檢測方法中由于其應用技術的自身的局限性,存在誤檢率較高的問題,無法滿足網(wǎng)絡用戶的需求。因此,本文提出基于高階馬爾可夫鏈的無線傳感器網(wǎng)絡異常節(jié)點檢測方法,提升無線傳感器網(wǎng)絡運行質量。
常規(guī)情況下,無線傳感器網(wǎng)絡規(guī)模較大,其中包含的傳感器節(jié)點數(shù)量較多。為了精確地檢測出無線傳感器網(wǎng)絡中異常節(jié)點,本文分析了節(jié)點的屬性,將其進行量化[4]處理。該網(wǎng)絡局部拓撲結構如圖1所示。
圖1 無線傳感器網(wǎng)絡局部拓撲結構示意圖
如圖1所示,三角形標志指網(wǎng)絡環(huán)境物理量,包括溫度、濕度數(shù)據(jù)等,由節(jié)點C與節(jié)點D進行測量。A,B,C,D,E,F,G是無線傳感器網(wǎng)絡中的部分節(jié)點。其中,節(jié)點G為匯聚節(jié)點,承擔數(shù)據(jù)包采集與融合的任務。該網(wǎng)絡的局部拓撲結構中路由為:D→C→E→F→G或者C→E→F→G構成,最終由節(jié)點G將獲取的數(shù)據(jù)包傳輸?shù)胶笈_服務器[5]。
根據(jù)研究需求,對無線傳感器網(wǎng)絡節(jié)點的丟包率、轉發(fā)率、節(jié)點參與度、節(jié)點位置匹配與數(shù)據(jù)包轉發(fā)延時屬性進行抽象量化,并對其進行建模。其中,丟包率計算公式如式(1)所示。
(1)
式(1)中,Rs表示傳感器節(jié)點的丟包率;Ps表示傳感器節(jié)點成功接收的數(shù)據(jù)包總和;Pa表示相鄰傳感器節(jié)點的數(shù)據(jù)包總和。
轉發(fā)率計算公式如式(2)所示。
(2)
式(2)中,Rf表示傳感器節(jié)點的轉發(fā)率;Pf表示傳感器節(jié)點成功轉發(fā)的數(shù)據(jù)包數(shù)量;Pt表示傳感器節(jié)點接收的數(shù)據(jù)包總和[6]。
節(jié)點參與度計算公式如式(3)所示。
(3)
式(3)中,Cn表示傳感器節(jié)點的節(jié)點參與度;n表示相鄰傳感器節(jié)點數(shù)量;nmax表示無線傳感器網(wǎng)絡中相鄰節(jié)點數(shù)量最大的節(jié)點。
節(jié)點位置匹配屬性較為復雜,需要獲取傳感器節(jié)點的鄰居節(jié)點表示為數(shù)組Pn,維數(shù)為n×n,數(shù)組中元素Pn(i,j)滿足式(4)。
(4)
依據(jù)網(wǎng)絡節(jié)點報告位置,計算節(jié)點距離與通信距離,并將兩者進行比較,獲得另一個數(shù)組Pd,數(shù)組中元素Pd(i,j)滿足式(5)。
(5)
式(5)中,dist(i,j)表示以傳感器節(jié)點坐標位置信息為基礎,計算得到的相鄰節(jié)點之間距離;R表示網(wǎng)絡節(jié)點的通信距離。
以上述構建的兩個數(shù)組為依據(jù),利用異或邏輯運算方式來構建位置匹配數(shù)組,表達式如式(6)所示。
Pc=Pn⊕Pd
(6)
式(6)中,⊕表示異或邏輯運算符號。
數(shù)據(jù)包轉發(fā)延時比值計算公式如式(7)所示。
(7)
式(7)中,Tr表示傳感器節(jié)點的數(shù)據(jù)包轉發(fā)延時比值;Tave表示節(jié)點數(shù)據(jù)包傳輸時延;表示簇內數(shù)據(jù)包平均時延。
依據(jù)上述構建的無線傳感器網(wǎng)絡節(jié)點屬性模型,結合高階馬爾可夫鏈理論,構造傳感器節(jié)點高階馬爾可夫鏈,定義網(wǎng)絡正常節(jié)點模型,為后續(xù)異常節(jié)點檢測奠定基礎[7]。
高階馬爾可夫鏈是一個隨機過程,具備無后效性,在已知時刻t狀態(tài)前提下,時刻t+1狀態(tài)只與時刻t相關,與其他狀態(tài)均無關[8]。
基于馬爾可夫鏈理論,結合傳感器節(jié)點屬性模型,構建傳感器節(jié)點高階馬爾可夫鏈[9]。假設傳感器節(jié)點狀態(tài)集合為Θ={S1,S2,…,Sn},則時刻t的傳感器節(jié)點狀態(tài)表達式如式(8)所示。
(8)
式(8)中,qt與qt+1分別表示時刻t與t+1的傳感器節(jié)點狀態(tài);aij表示傳感器節(jié)點狀態(tài)從t→t+1的轉換矩陣元素。
將傳感器節(jié)點狀態(tài)轉換矩陣記為[aij],其需要滿足公式(9)。
(9)
傳感器節(jié)點狀態(tài)實時變化,經(jīng)過多次轉換后,節(jié)點狀態(tài)概率計算公式如式(10)所示。
(10)
如公式(10)所示,多次轉移概率矩陣需要經(jīng)過多次迭代計算,導致無線傳感器網(wǎng)絡消耗能量較多,故采用一步轉移法對其進行改進[10]。
通過上述過程完成傳感器節(jié)點高階馬爾可夫鏈的構建,為后續(xù)異常節(jié)點檢測提供標準與依據(jù)[11]。
在異常節(jié)點檢測過程中,簇頭占據(jù)主要位置,故需要制定科學、合理節(jié)點分簇協(xié)議,確定簇頭節(jié)點并利用其獲取傳感器節(jié)點信息。
無線傳感器網(wǎng)絡中,所有節(jié)點需要遵循公平性準則與隨機性準則。而決定節(jié)點是否能夠在當前選為簇頭節(jié)點,主要由節(jié)點信任度、剩余能量以及當選簇頭次數(shù)等決定。在選取簇頭后,將剩余節(jié)點按照RSSI與距離進行劃分,直到所有傳感器節(jié)點分簇結束為止。另外,簇頭節(jié)點需要給自身成員分配時間間隙。
簇頭節(jié)點選取表達式如式(11)所示。
(11)
式(11)中,I(n)表示簇頭節(jié)點選取閾值;p表示無線傳感器網(wǎng)絡中簇頭概率;r表示當前輪數(shù);Ei表示簇頭節(jié)點傳輸能量;Er表示選取簇頭節(jié)點消耗能量;rep(n)表示傳感器節(jié)點n的信任度;G表示r輪中非簇頭節(jié)點集合。
傳感器節(jié)點信任度計算公式如式(12)所示。
(12)
式(12)中,netihbor(n)表示每輪中參加簇頭選取的節(jié)點總數(shù);Dpt(i)表示節(jié)點n轉發(fā)給節(jié)點i的數(shù)據(jù)包數(shù)量;DPr(i)表示每輪中節(jié)點n在節(jié)點i處接收的數(shù)據(jù)包數(shù)量;k表示計算參數(shù);|Zn-Zk|表示節(jié)點數(shù)據(jù)包差值;dnormal表示設置的正常節(jié)點閾值。
為了防止節(jié)點被選為簇頭節(jié)點,需要實時對傳感器節(jié)點信任度進行更新,其更新表達式如式(13)所示。
repnew(n)=ωrepold(n)+(1-ω)rep(n)
(13)
式(13)中,ω表示時間衰減因子。
另外,在節(jié)點分簇完成后,簇內節(jié)點之間的數(shù)據(jù)傳輸需要消耗一定的能量,其能量計算公式如式(14)所示。
(14)
式(14)中,CH-counts表示簇頭節(jié)點的總數(shù)量;Eelect表示傳輸或者接收一個字節(jié)的能量消耗量;εf表示自由空間能量;dist(xi-qij)表示簇內成員節(jié)點到達簇頭節(jié)點的路徑平方和。
為了降低無線傳感器網(wǎng)絡的整體消耗,盡可能降低簇內節(jié)點之間的傳輸耗能,即選取節(jié)點之間最小的傳輸路徑[12-13]。
根據(jù)得到的簇頭獲取傳感器節(jié)點信息,根據(jù)高階馬爾可夫鏈構建無線傳感器節(jié)點,判定待檢測節(jié)點的類別(正常節(jié)點或異常節(jié)點),實現(xiàn)無線傳感器網(wǎng)絡異常節(jié)點的檢測。
網(wǎng)絡異常節(jié)點檢測具體步驟如下所示。
步驟一:依據(jù)節(jié)點屬性模型,確定節(jié)點高階馬爾可夫鏈的狀態(tài)空間,即建立傳感器節(jié)點分類標準,本文將傳感器節(jié)點狀態(tài)劃分為兩種,分別為正常節(jié)點與異常節(jié)點,狀態(tài)空間記為E={1,2},其中1指正常節(jié)點,2指異常節(jié)點。
步驟二:依據(jù)步驟一確定狀態(tài)空間,確定已知傳感器節(jié)點相對應的狀態(tài)。
步驟三:對步驟二獲得結果進行統(tǒng)計整理,獲取步長為1的馬氏鏈轉移概率矩陣,體現(xiàn)傳感器節(jié)點轉移過程中狀態(tài)變化概率。
步驟四:采用“ADMCP法”進行“馬氏性”檢驗,若通過檢驗,輸出結果即為無線傳感器網(wǎng)絡節(jié)點判定結果;若未通過檢驗,表明上述步驟出現(xiàn)偏差或錯誤,需要對上述步驟進行檢查與修正,即返回步驟一。
步驟五:對傳感器節(jié)點高階馬爾可夫鏈進行分析,并輸出網(wǎng)絡節(jié)點判定結果(正常節(jié)點或異常節(jié)點)。
通過上述步驟,實現(xiàn)無線傳感器網(wǎng)絡異常節(jié)點的檢測,為無線傳感器網(wǎng)絡的應用與發(fā)展提供更好地支撐與幫助。
為驗證提出方法與現(xiàn)有方法之間的應用性能差異,采用MATLAB軟件設計實驗。實驗中采用的操作系統(tǒng)為Windows 10,系統(tǒng)運行內存約為8GB。
實驗中無線網(wǎng)絡節(jié)點仿真區(qū)域為100×100。實驗參數(shù)是保障實驗順利進行的關鍵,因此需要對其進行科學、合理地設置,具體如表1所示。
表1 實驗參數(shù)表
為了保障實驗的順利進行,對無線傳感器網(wǎng)絡協(xié)議棧進行設計,具體如圖2所示。
圖2 無線傳感器網(wǎng)絡協(xié)議棧示意圖
在實驗仿真過程中,若出現(xiàn)異常節(jié)點,其會向周圍改變自身到簇頭節(jié)點最小的路徑,以此為基礎,吸收相鄰節(jié)點的流量。設置傳感器節(jié)點總數(shù)量為100,實驗采用隨機方式來生成無線傳感器節(jié)點分布圖。
依據(jù)上述確定的實驗參數(shù),配置的實驗數(shù)據(jù),進行無線傳感器網(wǎng)絡異常節(jié)點檢測實驗,分別在時間與節(jié)點密集度自變量背景下,計算異常節(jié)點的誤檢率,以此來顯示方法的應用性能,具體實驗結果如表2 所示。
表2 誤檢率數(shù)據(jù)表
(2)自變量為節(jié)點密集度 %
如表2數(shù)據(jù)顯示,隨著時間的增加,誤檢率呈現(xiàn)為上升趨勢;隨著節(jié)點密集度的增加,誤檢率呈現(xiàn)為下降趨勢。其中,在時間自變量下,現(xiàn)有方法誤檢率范圍為0.99%~3.01%,提出方法誤檢率范圍為0.59%~1.19%;在節(jié)點密集度自變量下,現(xiàn)有方法誤檢率范圍為1.17%~3.59%,提出方法誤檢率范圍為0.31%~2.56%。與現(xiàn)有方法相比較,提出方法異常節(jié)點誤檢率較低,充分證實提出方法具備更好的應用性能。
為提升無線傳感器網(wǎng)絡運行質量,針對其中存在的異常節(jié)點,本文應用高階馬爾可夫鏈設計了全新的無線傳感器網(wǎng)絡異常節(jié)點檢測方法。通過實驗證明了本文方法極大地降低了異常節(jié)點誤檢率,為網(wǎng)絡安全提供更加有效的支撐,也為異常節(jié)點檢測研究提供一定的參考。