屈文斌
(陜西工業職業技術學院 科研處, 陜西 咸陽 712000)
無線傳感器網絡WSN的不同節點間可以通過自組織無線通信方法構建信息傳輸通道,相互協同實現所需的功能[1-5]。這些節點只消耗有限的能量,并且計算性能、數據存儲規模與通信帶寬都存在一定的上限,因此設計網絡路由協議時需充分考慮達到能量均衡性要求,確保節點能量獲得有效控制,充分降低無線網絡運行功耗[6-8]。不過選擇跳數構建路由度量時,將導致跟節點距離產生偏差的問題。為了優化RPL路由協議運行方式,有學者[9]設計了期望壽命路由度量方法,可以快速估算得到網絡內各瓶頸節點所能達到的生存時間,從而建立相應的網絡拓撲;同時按照大小原則確定父節點,使網絡獲得了更長的生命周期。不過也需注意,上述協議需要占據更多控制包,從而提高了包碰撞概率,使收包率發生減小的現象[10-12]。
本文根據上述協議要求,構建得到了一種通過均方差賦權實現的無線傳感網路由協議MSDRP。同時設計了新節點距離路由度量與鄰域空間分類模型,為各節點鄰域設置了相應的參考點。
RSSI距離測試方法中每個節點都存在一個獨立的ID編號,并且都具有相等的通信半徑。Sink節點保持恒定的位置,擁有足夠的能量[13]。各節點都能夠接收到由Sink節點廣播發送的數據包。能耗模型節點進行數據傳輸時所需的能量消耗作為計算參數。
按照節點Nx鄰域分類模型來設置節點Nx鄰域包含的各參考點[14-15],如圖1所示。

圖1 節點鄰域內的參考點
在A(Sink節點)與Nx之間連接直線Lx。該直線和圓Nx在圓A中的點Ox處發生相交,選擇點Ox組成節點Nx鄰域參考點。與圓相交的B與C依次對應節點Nx鄰域中的二個臨界點。
對于節點能量消耗具有顯著影響的一個因素是節點傳輸距離。有學者[11-13]對比了以不同方法處理節點所需的距離代價。圖1給出了本文設置的距離度量。以節點Nk與參考點Ox之間的距離d(Nk,Ox)來構建節點Nx鄰域。根據式(3)可知,對于已經構建參考點的鄰域劃分模型,在設置節點距離路由度量參數時,除了需要分析節點、鄰節點以及Sink節點相互之間的三角關系之外,還應分析如何實現下一跳節點和鄰域位置發生的距離改變情況。為防止進行路由選擇時出現路由環路的問題,要求節點從鄰域模型內包含的前向鄰域來設置后一跳節點。為確保對傳輸跳數進行有效控制,要求節點從鄰域中選出和Sink節點保持最小距離的鄰節點組成下一跳??梢悦黠@發現,處于節點前向鄰域中的參考點部位與Sink節點保持最短距離,這使得參考點所在部位成為了后一跳節點最優的數據傳輸部位。從節點前向鄰域中選出下一跳節點,根據這一要求,圖1各點距離需符合以下不等式關系,如式(1)。

(1)
式中,R0代表節點最初通信半徑長度;d(Nk,Nx)代表鄰節點Nk和節點Nx之間的距離。因為鄰節點處于節點一跳鄰域范圍中,因此該節點與鄰節點之間的距離d(Nk,Nx)介于0-R0之間。
max Distx的計算為式(2)。
(2)
本文設計的MSDRP路由協議運行流程,如圖2所示。

圖2 路由協議流程圖
流程包含了以下幾個步驟。
第1步:網絡初始化。初始化各傳感器節點。節點利用鄰居發現協議完成鄰節點的測試,在此基礎上建立鄰居節點信息表。
第2步:更新數據。此時節點以無線通信模式和鄰節點進行通信,收集鄰節點所含有的剩余能量參數、鏈路質量以及負載信息,同時對鄰居表數據實施更新。
第3步:指標權值。通過均方差賦權的方式計算得到各數據標準差,獲得指標權重。
第4步:目標函數處理。利用目標函數表達式計算得到鄰節點對應的目標函數,從中選擇最大值作為下一跳。
第5步 傳輸數據。當下一跳被確定之后,節點與其構建通信聯系。繼續實施新一輪數據傳輸。每傳輸一輪數據就對自身的剩余能量進行測試。
第6步:從網絡系統中退出。對缺少足夠剩余能量的節點做失效處理,不對數據進行采集與轉發。
通過OMNet++方法來仿真測試網絡協議。以隨機方式把100個節點分布在100 m×100 m區域中,并使Sink節點位于監測中心。在最初時刻節點擁有0.8 J的能量,總共包含600 byte的數據包,控制包數據量是100 byte。初期節點的通信半徑為25 m。
2.2.1 網絡能效性
當網絡進行運行狀態后,節點能量逐漸被消耗,此時網絡內將出現能量被全部消耗的節點發生失效的情況??梢愿鶕W絡內剩余節點數量來體現網絡節點能量消耗程度,這已經成為評價網絡能效的一個標準化方法。以網絡內第一個節點發生失效的時間設置為網絡生命周期,如圖3所示。從圖3中可以看到,在不同仿真時間下得到的剩余節點。結果顯示隨著仿真時間不斷增加,網絡內產生了更多的失效節點,同時可用節點數量發生了降低。MSDRP協議相對于RPL、EB-RPL達到了更長的網絡生命周期。MSDRP協議選擇的權值計算方法可以實現節點能耗的良好均衡性,顯著增加網絡生命周期。

圖3 網絡生命周期結果
2.2.2 網絡可靠性
在傳輸數據包的過程中將會由于發生碰撞或造成擁塞的情況而引起數據包的丟失,同時當無線鏈路出現波動時也會引起數據包丟失的問題。可以根據節點丟包率來評價網絡的運行穩定性。當節點達到更大的發包速率時,將會引起丟包率的明顯提高,如圖4所示。

圖4 節點丟包率結果
相對于RPL以及EB-RPL協議可以發現,MSDRP協議依次減小了74.1%與52.4%的丟包率。同時還可以發現當增大發包速率后,MSDRP協議包含的各節點發生了丟包率逐漸升高的現象。該結果表明MSDRP協議可以對節點負載保持良好的均衡性,有效降低數據包之間發生的碰撞,使網絡達到更可靠的運行狀態。
2.2.3 網絡時效性
考慮到傳輸數據包的過程中會造成一定的滯后現象,這使得源節點數據跟目的節點數據之間發生了時間的延遲。可以根據數據包傳輸延遲來評價網絡時效性。在各節點發包速率下對應的數據包傳輸延遲如圖5所示。

圖5 節點數據包傳輸延遲結果
根據圖5結果可知,處于更大的節點發包速率下,RPL以及EB-RPL協議都產生了更大的數據包傳輸延遲,MSDRP協議則表現為傳輸延遲的逐漸升高現象。相對于RPL與EB-RPL,MSDRP可以使數據包傳輸延遲減小62.1%與40.3%。以上測試結果顯示,采用MSDRP協議與節點鏈路質量來設置指標權值時,可以使網絡達到更高的時效性。
(1) 隨著仿真時間不斷增加,網絡內產生了更多的失效節點,同時可用節點數量發生了降低,MSDRP協議選擇的權值計算方法可以實現節點能耗的良好均衡性,顯著增加網絡生命周期。
(2) 當節點達到更大的發包速率時,將會引起丟包率的明顯提高,MSDRP協議可以對節點負載保持良好的均衡性,有效降低數據包之間發生的碰撞,使網絡達到更可靠的運行狀態。
(3) 相對于RPL與EB-RPL,MSDRP可以使數據包傳輸延遲減小62.1%與40.3%,采用MSDRP協議與節點鏈路質量來設置指標權值時,可以使網絡達到更高的時效性。