王禮霞,邰清清
(合肥經濟學院,安徽 合肥 230036)
現今社會電子信息不斷發展,多種技術興起。隨著無線電技術、集成電路技術的飛速發展,無線傳感器應運而生,該設備具有能量消耗低、體積小、價格低等優勢,受到多個行業的關注[1]。隨著微傳感無線傳感器的應用與發展,該設備結合處理器、通訊設備等共同構成了無線傳感器網絡。無線傳感器網絡中節點是其運行中的重要支撐。以節點合作方式獲取相應數據信息,并將其傳輸至基站,為傳感器網絡發展開創新篇章[2]。
與發達國家相比較,國內對無線傳感器網絡的研究起步較晚,但發展速度較快。無線傳感器網絡在運行過程中節點易受到復雜網絡環境的影響,導致其運行不暢。傳感器網絡節點比較容易受到攻擊、威脅與侵害,導致節點異常現象頻繁發生[3]。若異常節點沒有被發現或者剔除,會直接影響網絡決策的安全性,為網絡用戶帶來不利影響。現有無線傳感器網絡異常節點檢測方法中由于其應用技術的自身的局限性,存在誤檢率較高的問題,無法滿足網絡用戶的需求。因此,本文提出基于高階馬爾可夫鏈的無線傳感器網絡異常節點檢測方法,提升無線傳感器網絡運行質量。
常規情況下,無線傳感器網絡規模較大,其中包含的傳感器節點數量較多。為了精確地檢測出無線傳感器網絡中異常節點,本文分析了節點的屬性,將其進行量化[4]處理。該網絡局部拓撲結構如圖1所示。

圖1 無線傳感器網絡局部拓撲結構示意圖
如圖1所示,三角形標志指網絡環境物理量,包括溫度、濕度數據等,由節點C與節點D進行測量。A,B,C,D,E,F,G是無線傳感器網絡中的部分節點。其中,節點G為匯聚節點,承擔數據包采集與融合的任務。該網絡的局部拓撲結構中路由為:D→C→E→F→G或者C→E→F→G構成,最終由節點G將獲取的數據包傳輸到后臺服務器[5]。
根據研究需求,對無線傳感器網絡節點的丟包率、轉發率、節點參與度、節點位置匹配與數據包轉發延時屬性進行抽象量化,并對其進行建模。其中,丟包率計算公式如式(1)所示。
(1)
式(1)中,Rs表示傳感器節點的丟包率;Ps表示傳感器節點成功接收的數據包總和;Pa表示相鄰傳感器節點的數據包總和。
轉發率計算公式如式(2)所示。
(2)
式(2)中,Rf表示傳感器節點的轉發率;Pf表示傳感器節點成功轉發的數據包數量;Pt表示傳感器節點接收的數據包總和[6]。
節點參與度計算公式如式(3)所示。
(3)
式(3)中,Cn表示傳感器節點的節點參與度;n表示相鄰傳感器節點數量;nmax表示無線傳感器網絡中相鄰節點數量最大的節點。
節點位置匹配屬性較為復雜,需要獲取傳感器節點的鄰居節點表示為數組Pn,維數為n×n,數組中元素Pn(i,j)滿足式(4)。
(4)
依據網絡節點報告位置,計算節點距離與通信距離,并將兩者進行比較,獲得另一個數組Pd,數組中元素Pd(i,j)滿足式(5)。
(5)
式(5)中,dist(i,j)表示以傳感器節點坐標位置信息為基礎,計算得到的相鄰節點之間距離;R表示網絡節點的通信距離。
以上述構建的兩個數組為依據,利用異或邏輯運算方式來構建位置匹配數組,表達式如式(6)所示。
Pc=Pn⊕Pd
(6)
式(6)中,⊕表示異或邏輯運算符號。
數據包轉發延時比值計算公式如式(7)所示。
(7)
式(7)中,Tr表示傳感器節點的數據包轉發延時比值;Tave表示節點數據包傳輸時延;表示簇內數據包平均時延。
依據上述構建的無線傳感器網絡節點屬性模型,結合高階馬爾可夫鏈理論,構造傳感器節點高階馬爾可夫鏈,定義網絡正常節點模型,為后續異常節點檢測奠定基礎[7]。
高階馬爾可夫鏈是一個隨機過程,具備無后效性,在已知時刻t狀態前提下,時刻t+1狀態只與時刻t相關,與其他狀態均無關[8]。
基于馬爾可夫鏈理論,結合傳感器節點屬性模型,構建傳感器節點高階馬爾可夫鏈[9]。假設傳感器節點狀態集合為Θ={S1,S2,…,Sn},則時刻t的傳感器節點狀態表達式如式(8)所示。
(8)
式(8)中,qt與qt+1分別表示時刻t與t+1的傳感器節點狀態;aij表示傳感器節點狀態從t→t+1的轉換矩陣元素。
將傳感器節點狀態轉換矩陣記為[aij],其需要滿足公式(9)。
(9)
傳感器節點狀態實時變化,經過多次轉換后,節點狀態概率計算公式如式(10)所示。

(10)
如公式(10)所示,多次轉移概率矩陣需要經過多次迭代計算,導致無線傳感器網絡消耗能量較多,故采用一步轉移法對其進行改進[10]。
通過上述過程完成傳感器節點高階馬爾可夫鏈的構建,為后續異常節點檢測提供標準與依據[11]。
在異常節點檢測過程中,簇頭占據主要位置,故需要制定科學、合理節點分簇協議,確定簇頭節點并利用其獲取傳感器節點信息。
無線傳感器網絡中,所有節點需要遵循公平性準則與隨機性準則。而決定節點是否能夠在當前選為簇頭節點,主要由節點信任度、剩余能量以及當選簇頭次數等決定。在選取簇頭后,將剩余節點按照RSSI與距離進行劃分,直到所有傳感器節點分簇結束為止。另外,簇頭節點需要給自身成員分配時間間隙。
簇頭節點選取表達式如式(11)所示。
(11)
式(11)中,I(n)表示簇頭節點選取閾值;p表示無線傳感器網絡中簇頭概率;r表示當前輪數;Ei表示簇頭節點傳輸能量;Er表示選取簇頭節點消耗能量;rep(n)表示傳感器節點n的信任度;G表示r輪中非簇頭節點集合。
傳感器節點信任度計算公式如式(12)所示。
(12)
式(12)中,netihbor(n)表示每輪中參加簇頭選取的節點總數;Dpt(i)表示節點n轉發給節點i的數據包數量;DPr(i)表示每輪中節點n在節點i處接收的數據包數量;k表示計算參數;|Zn-Zk|表示節點數據包差值;dnormal表示設置的正常節點閾值。
為了防止節點被選為簇頭節點,需要實時對傳感器節點信任度進行更新,其更新表達式如式(13)所示。
repnew(n)=ωrepold(n)+(1-ω)rep(n)
(13)
式(13)中,ω表示時間衰減因子。
另外,在節點分簇完成后,簇內節點之間的數據傳輸需要消耗一定的能量,其能量計算公式如式(14)所示。
(14)
式(14)中,CH-counts表示簇頭節點的總數量;Eelect表示傳輸或者接收一個字節的能量消耗量;εf表示自由空間能量;dist(xi-qij)表示簇內成員節點到達簇頭節點的路徑平方和。
為了降低無線傳感器網絡的整體消耗,盡可能降低簇內節點之間的傳輸耗能,即選取節點之間最小的傳輸路徑[12-13]。
根據得到的簇頭獲取傳感器節點信息,根據高階馬爾可夫鏈構建無線傳感器節點,判定待檢測節點的類別(正常節點或異常節點),實現無線傳感器網絡異常節點的檢測。
網絡異常節點檢測具體步驟如下所示。
步驟一:依據節點屬性模型,確定節點高階馬爾可夫鏈的狀態空間,即建立傳感器節點分類標準,本文將傳感器節點狀態劃分為兩種,分別為正常節點與異常節點,狀態空間記為E={1,2},其中1指正常節點,2指異常節點。
步驟二:依據步驟一確定狀態空間,確定已知傳感器節點相對應的狀態。
步驟三:對步驟二獲得結果進行統計整理,獲取步長為1的馬氏鏈轉移概率矩陣,體現傳感器節點轉移過程中狀態變化概率。
步驟四:采用“ADMCP法”進行“馬氏性”檢驗,若通過檢驗,輸出結果即為無線傳感器網絡節點判定結果;若未通過檢驗,表明上述步驟出現偏差或錯誤,需要對上述步驟進行檢查與修正,即返回步驟一。
步驟五:對傳感器節點高階馬爾可夫鏈進行分析,并輸出網絡節點判定結果(正常節點或異常節點)。
通過上述步驟,實現無線傳感器網絡異常節點的檢測,為無線傳感器網絡的應用與發展提供更好地支撐與幫助。
為驗證提出方法與現有方法之間的應用性能差異,采用MATLAB軟件設計實驗。實驗中采用的操作系統為Windows 10,系統運行內存約為8GB。
實驗中無線網絡節點仿真區域為100×100。實驗參數是保障實驗順利進行的關鍵,因此需要對其進行科學、合理地設置,具體如表1所示。

表1 實驗參數表
為了保障實驗的順利進行,對無線傳感器網絡協議棧進行設計,具體如圖2所示。

圖2 無線傳感器網絡協議棧示意圖
在實驗仿真過程中,若出現異常節點,其會向周圍改變自身到簇頭節點最小的路徑,以此為基礎,吸收相鄰節點的流量。設置傳感器節點總數量為100,實驗采用隨機方式來生成無線傳感器節點分布圖。
依據上述確定的實驗參數,配置的實驗數據,進行無線傳感器網絡異常節點檢測實驗,分別在時間與節點密集度自變量背景下,計算異常節點的誤檢率,以此來顯示方法的應用性能,具體實驗結果如表2 所示。

表2 誤檢率數據表

(2)自變量為節點密集度 %
如表2數據顯示,隨著時間的增加,誤檢率呈現為上升趨勢;隨著節點密集度的增加,誤檢率呈現為下降趨勢。其中,在時間自變量下,現有方法誤檢率范圍為0.99%~3.01%,提出方法誤檢率范圍為0.59%~1.19%;在節點密集度自變量下,現有方法誤檢率范圍為1.17%~3.59%,提出方法誤檢率范圍為0.31%~2.56%。與現有方法相比較,提出方法異常節點誤檢率較低,充分證實提出方法具備更好的應用性能。
為提升無線傳感器網絡運行質量,針對其中存在的異常節點,本文應用高階馬爾可夫鏈設計了全新的無線傳感器網絡異常節點檢測方法。通過實驗證明了本文方法極大地降低了異常節點誤檢率,為網絡安全提供更加有效的支撐,也為異常節點檢測研究提供一定的參考。