姚玉坤, 何 亮, 任 智, 李維政, 周佳琦
(1.重慶郵電大學通信與信息工程學院, 重慶 400065;2.重慶郵電大學移動通信技術重慶市重點實驗室, 重慶 400065)
無線傳感器網絡(wireless sensor networks,WSNs)是由大量自身內存、處理能力、電池能量等資源受限的無線傳感器設備以自組織和多跳的方式構成的無線網絡,不僅能夠滿足特定情況下的網絡需求而且成本較低。其目的是協作地采集、感知和處理網絡覆蓋范圍內其他節點的信息。但傳統的無線自組織網絡路由協議如按需平面距離向量路由協議[1]和最優鏈路狀態路由協議[2]的能量消耗較大,均不能有效應用于低功耗有損網絡(low power lossy networks,LLN)。為了克服上述問題,國際互聯網工程任務組在2012年提出一種基于IPV6的LLN路由協議(routing protocol for LLN,RPL)[3-5]。
標準RPL是一種支持點到點、點到多點和多點到點的網絡拓撲為樹形的路由協議。其廣泛應用于醫療護理[6]、環境監測[7]和農業領域。然而標準RPL并不適用無線傳感器這種具有移動性的場景。
無線傳感器具有移動性場景,按不同移速分為3類:一般來說,移動速度處于正常人類行走速度即0.5~2 m/s屬于低速場景。移動速度處于2~10 m/s屬于中速場景。移動速度大于10 m/s屬于高速場景。例如,低速場景下的礦井工人的健康狀況監控[8]、中速場景下的無人機野外信息采集、高速場景下的移動車輛間信息交互[9]。在各種不同移速的場景下,移動傳感器與其他靜態傳感器之間的通信鏈路的切換次數增多,移動傳感器的能量消耗增大,丟包率增加。這些問題逐漸成為了近年來的研究熱點[10-12]。但現有國內外大多文獻均在低速場景下對RPL進行增強性研究。這些文獻提出的算法均不能很好的適用于中速或高速場景下。
文獻[13]提出一種支持RPL中節點隨機遷移的移動感知節能父節點選擇算法。該算法結合多種路由度量選擇下一個父節點(next parent node,NPN),但在選擇NPN時并未考慮到節點剩余能量。文獻[14]提出一種在LLN中靜態節點(static node,SN)和移動節點(mobile node,MN)使用多種路由度量來選擇NPN。但該算法端到端時延較大,影響了協議的性能。文獻[15]提出一種增強物聯網移動性(boosting mobility in the internet of things,MRPL)的協議。該協議通過MN周期性接收控制消息計算出接收信號強度指標(indicator of received signal strength,RSSI),依靠自身處理移動性帶來的問題。但會消耗大量MN的能量。文獻[16]提出依靠父節點為MN進行移動檢測。MN根據預期傳輸數、RSSI、剩余能量等指標選擇新的父節點,但在移動速度過快時仍需依靠MN主動廣播面向目的地有向無循環圖請求消息(destination oriented directed acyclic graph information solicitation,DIS)去尋找NPN。文獻[17]提出一種使用跳數度量來減少傳遞的控制消息的數量。MN在選擇父節點時,還使用跳數選擇一個可以與之保持較長時間連接的父節點,這將增加網絡的穩定性。但當有多個MN連接到同一父節點時,將加劇父節點的能量消耗。文獻[18]提出一種物聯網中的能量和移動性感知路由協議(energy and mobility aware routing for the internet of mobile things,EMA-RPL),其是一種將移動性處理過程委托給其父節點的協議。減少了MN的能源消耗,并提供了切換父節點時的無縫連接。但中速場景下存在尋路不及時和路由度量單一的問題。文獻[19]提出基于葉子節點計數和RSSI的父節點預測算法。該算法能夠有效均衡網絡負載和減少MN的能耗,但仍存在路由度量單一的問題。文獻[20]提出一種基于鄰居變異性的跨層移動性支持算法,該算法通過MN監聽鄰居節點的RSSI去測量節點的可變性鄰域,實現了MN切換父節點的無縫連接,但MN能耗較大,縮短了MN的網絡壽命。
通過對以上協議的研究與分析,現有文獻的仿真場景均未考慮到無線傳感器節點之間存在障礙物的情況,且在中速場景下均存在MN尋路不及時、能耗較大和路由度量單一等問題。由此,本文提出LLN中基于移動節點鄰居探測的高效路由尋路算法。該算法通過基于障礙物的信道傳輸模型計算出安全閾值(safe threshold,ST)和危險閾值(risk threshold,RT),使得MN可以提前尋路,有效提高了MN的數據傳輸成功率。同時提出基于變異系數的父本選擇目標函數和基于鄰居節點的監聽預選機制,減少了MN切換父節點的次數和能量消耗。
如圖1所示,所有無線傳感器節點部署在一個云形監測區域內。MN將采集的信息通過父節點向上傳輸,最終匯聚到根節點。在LLN網絡中,部署一個根節點,多個SN、MN隨機移動,但始終在部署的SN的附近。

圖1 網絡模型
(1)根節點:根節點可以被認為是中央處理器,處理從各個節點發送回來的數據。可以認為該節點的能量可以得到及時補充。而SN和MN的能量均不能補充,由電池提供能量。
(2)MN:由于MN的隨機移動性且該節點能量有限,必須在保證數據傳輸的同時,盡可能減少該節點的能量消耗。因此,在本文的算法中,MN只能是葉子節點。即不能作為任何類型節點的父節點來中繼數據,只能向上傳輸采集的數據。MN作為葉子節點的另一個好處是避免MN切換父節點導致的路由變化,確保路由穩定性。
(3)SN:SN的主要任務是采集和處理周圍可感知對象的信息,并中繼MN采集的數據,以上傳到根節點。因此,有些靜態節點SN可能會成為MN的當前父節點(current parent node,CPN)。
(4)每一個SN都有一個RSSI閾值。該閾值等于后文提到的RT。用于判斷MN是否還能正常傳輸數據。在網絡模型中,除根節點以外的所有無線傳感器節點具有相同的性能和參數配置。
在現有文獻對RPL移動性支持研究的基礎上,本文提出了NDM-RPL路由算法,該算法的創新點如下。
(1)提出基于障礙物的鏈路質量檢測機制。該機制通過基于障礙物的信道傳輸模型為靜態節點SN計算出安全閾值ST和危險閾值RT。當RSSI值小于ST時,MN便可以提前開始尋路;當RSSI小于RT時,MN會停止發送數據,降低了MN的丟包率。
(2)針對移動節點提出一種基于變異系數的父本選擇目標函數。NDM-RPL協議中MN選擇NPN綜合考慮了備選CPN的網絡深度、當前連接的子節點數、節點剩余能量和與移動性相關的變異系數,能夠有效均衡網絡負載和保證移動節點網絡連接穩定性。
(3)提出基于鄰居節點的監聽預選機制。MN的鄰居節點會監聽MN發向其CPN的數據包并測得RSSI。通過RSSI平均值大小判斷是否遠離MN。如果靠近,則會根據基于變異系數的父本選擇目標函數計算出綜合路由度量值(rank值)并向MN或其CPN回復一個帶有rank值的DIS消息。解決了備選CPN集冗余的問題,并減少了MN的控制開銷。
為了解決中速場景下MN移動速度過快導致切換CPN不及時和存在障礙物時信號衰減增大的問題,本文提出為無線傳感器節點預設兩個通信閾值,即ST和RT。為了得到合理的通信閾值,必須考慮包接收率與接收信號強度RSSI的關系。該算法使用基于障礙物的信道傳輸模型[21]如式(1)所示來計算得到合理的ST和RT。
(1)
式中:PR為接收信號強度,即RSSI值;PT為發射功率。A為1 m處接收信號強度;n為路徑損耗指數因子;dw為無障礙物時通信距離;dm為有障礙物通信距離;S為經驗指數;C為與頻率、通信距離相關的指數。
為了便于計算ST和RT,定義Dw表示無障礙物時無線傳感器節點的最大通信半徑,Dm表示有障礙物時無線傳感器節點的最大通信半徑。
假如無線傳感器有無障礙物的最大通信半徑是已知的。為了降低數據包丟失的概率,當信號發射端與信號接收端之間存在障礙物時,利用式(1)求出dm=Dm時的PR作為危險閾值。同時令dw=Dm代入式(1)求出PR作為安全閾值。
如圖2所示,假設lac屬于有障礙物的最大通信距離,lab屬于無障礙物通信距離,且lac=lab。c點處的RSSI即為危險閾值。b點處的RSSI即為安全閾值ST。b、c兩點處的RSSI值之差即為由障礙物導致的信號衰減值。有障礙物的信號衰減比無障礙物的信號衰減強。由障礙物導致的信號衰減越強,安全閾值越大,MN便能及時開始尋找NPN。

圖2 鏈路質量區分示意圖
以圖3為例,在T1時刻,MN在當前父節點CPN的安全閾值ST內,意味著MN與CPN之間有很好的鏈路質量,可以進行可靠通信。在T2時刻,當CPN檢測到MN處于安全閾值和危險閾值之間,兩者仍然可以進行較為可靠的通信。但MN的移動帶來了不確定性,MN可能快要移出CPN的可靠通信范圍。

圖3 MN的鏈路質量檢測
基于障礙物的鏈路質量檢測機制具體過程如下。
步驟 1CPN通過從MN接收數據包測得RSSI值,每測得一個RSSI值就和ST比較大小。若ST>RSSI,則進入步驟2。反之,繼續執行步驟1。
步驟 2CPN立即單播給MN一個Flag為4的DIS消息,讓MN提前開始尋找NPN,然后執行步驟3。
步驟 3CPN繼續從MN接收數據包測得RSSI值每測得一個RSSI值就和RT比較大小。若RT>RSSI,執行步驟4。若RT 步驟 4CPN立即廣播一次Flag字段為3的DIS控制消息告訴MN停止發送數據包,直到MN建立了與NPN的連接。由于MN已經處于危險閾值之外,為了保證MN能夠接收到該DIS消息,CPN的鄰居節點在接收到該消息后會檢查自己鄰居表內是否有MN的地址,如果有,則轉發該DIS消息。如果沒有,則丟棄該消息。 現有大多文獻對MN選擇NPN時僅依靠RSSI平均值或方差作為度量,并不能準確反映MN對于備選父節點的通信質量,且沒有考慮到SN因為連接過多子節點而出現網絡擁塞和能量急劇消耗的情況。NDM-RPL協議中MN選擇新的NPN綜合考慮了與移動性相關的變異系數Cv、節點剩余能量、備選父節點的網絡深度和當前連接的子節點數。基于變異系數的父本選擇目標函數如下所示: (2) 式中:rank為綜合路由度量值;α、β、γ為權重因子且0<α<β<γ<1;M為每個SN能夠連接的最大子節點數;H為當前節點傳輸數據到根節點所需的跳數,即網絡深度;CN為當前節點連接的子節點數。 (1)變異系數:變異系數Cv是一種結合了ΔRi的標準差和平均值的性能指標,反映了不同SN對MN的信號強度變化趨勢穩定性的關系。Cv越小,表明該SN對于MN表現出更好的穩定性,MN能與之保持更長時間的連接。一定程度上減少了由于移動帶來的頻繁切換父節點的次數,也減少了MN的能耗。Cv與ΔRi的計算由下式得出。 (3) ΔRi=|RSSIi,t-RSSIi+1,t+1|,i (4) 式中:ΔRi表示SN在監聽預選階段中連續時間[t,t+1]內的兩個RSSI值的差的絕對值;RSSIi表示第i次測得的RSSI值。n表示測得的RSSI總個數。 以圖4為例,假設MN的鄰居節點a、b、c連續監聽到的6次RSSI絕對值。節點a監聽的|RSSI|是91,95,92,95,91,94。節點b監聽到的|RSSI|是42,31,41,32,42,31。節點c監聽到的|RSSI|是4,10,18,22,28,37。若按RSSI平均值最大原則選擇NPN,易知節點c的RSSI平均值最大,但節點c的RSSI值變化趨勢很不穩定,不適合被預選為MN的NPN。若按RSSI方差最小原則選擇NPN,易知節點a的方差最小,但節點a的RSSI值太小,通信鏈路質量較差,也不適合被預選為MN的NPN。由式(3)和式(4)計算可得到節點a、b、c的變異系數分別為22.32、20.44、60.28。可知b的變異系數最小,所以節點b更適合作為MN的NPN。求ΔR的標準差而不是直接求RSSI值的標準差的原因是使用ΔR能得到比使用RSSI更小的標準差使其計算的rank值更小,同時能正確的反映RSSI值波動幅度大小的穩定性,在節點a、b、c的rank值比較中,b才易被選為NPN。 圖4 節點a、b、c連續監聽到的RSSI (2)節點剩余能量:在LLN中,如何均衡能量消耗一直是一個備受關注的問題。因為無線傳感器依靠電池運行,當電量耗盡,設備就會停止工作。如果不考慮剩余電量,很可能導致一個設備的電量被迅速耗盡。為了克服這個問題,在選擇父節點時,考慮節點的剩余能量是至關重要的。剩余能量按下式計算: Erest=Etotal-Econsume (5) 式中:Erest為剩余的能量;Etotal為節點總能量,其是消耗的總能量。這里的Econsume由下式計算得出[22]: (6) 式中:V為無線傳感器的供電電壓;Iap、Ilp、Itx、Irx和Ini分別為微控制器處于正常運行、低功耗、發送、接收狀態和傳感器處于工作狀態的電流;Tap、Tlp、Ttx、Trx和Tni分別為上述5種狀態下的運行時間。 (3)備選父節點的網絡深度H和當前已連接的子節點數(CN:MN)在選擇NPN的過程中考慮其備選父節點的子節點數目能夠有效避免連接子節點數過多的節點,一定程度上均衡網絡中SN的負載。避免SN因為連接過多子節點而出現網絡擁塞和能量急劇消耗的情況。 M減去CN表示當前可連接的子節點數,從式(2)可以看到當多個節點網絡深度H相等時,M-CN越大,rank值越小。而當多個節點的當前可連接的子節點數相等時,H越小,rank值越小。而rank值越小,越容易被預選為MN的NPN。 為了解決備選父節點集選取不合理和減少MN的能耗,提出一種基于鄰居節點的監聽預選機制。在MN處于CPN的ST和RT之間時,MN會廣播帶有MN_ID的DIS消息。MN_ID的作用是為了區分整個網絡中不同的MN。 由于MN的能量有限,如何合理節省其能耗是一個亟待解決的問題。為此,在根節點廣播DIO消息構建網絡拓撲時,每一個SN都會通過監聽的DIO消息和DIS消息維護一個鄰居表,該表存放了鄰居節點的地址信息。該設置的目的是當MN的周圍存在大量SN時,CPN能夠幫助MN處理一部分數據以此減少MN的能耗。 基于鄰居節點的監聽預選機制具體過程如下。 步驟 1當MN已經處于CPN的安全閾值ST和危險閾值RT之間時,MN會收到來自CPN的DIS控制消息。此時,MN會廣播DIS(MN_ID)控制消息,其鄰居節點收到該消息后分別設置一個包監聽定時器,開始監聽MN向CPN發送的數據包,測得并緩存RSSI值。執行步驟2。 步驟 3鄰居節點依據式(2)計算出rank值并查找鄰居表中是否存在該MN的CPN。如果存在,則單播給MN的CPN一個攜帶rank值的DIS消息。如果不存在,則直接單播給MN。CPN收到多個該消息后,比較得到最小rank值和該值發送者的地址,使用DIS控制消息單播給MN。執行步驟4。 步驟 4MN收到來自CPN和鄰居節點DIS控制消息后,比較得到最小rank值,選取rank值最小的節點作為NPN。MN向NPN單播一個普通的DIS控制消息申請入網。執行步驟5。 步驟 5預選的NPN收到來自MN的普通DIS控制消息,會單播一個普通DIO控制消息給MN,建立與MN的連接。如果此時的MN還在和CPN進行數據傳輸,則MN在建立與預選的NPN的連接之后,再斷開與CPN的連接。以減少數據包的丟失。 為了更好實現本文提出的協議并保持與RPL標準協議的兼容性,同時節省MN切換父節點帶來的控制開銷,在DIS控制消息中修改一些字段,Flag字段占3bit,MN_ID占12 bit,rank占8 bit,如圖5所示。 圖5 修改后的DIS幀格式 對于DIS消息來說,Flag=0代表它是一個簡單的請求入網消息。Flag=1代表SN單播帶有rank值的DIS消息給MN或MN的CPN。Flag=2時是MN廣播一個攜帶MN_ID值的DIS消息給它的鄰居節點。Flag=3時是CPN通知MN停止發送數據。Flag=4時是CPN發送給MN的DIS消息。 NDM-RPL算法流程圖如圖6所示。 圖6 NDM-RPL算法流程圖 假設網絡拓撲初始化后,網絡運行一段時間t后,此時存在P個MN需要切換父節點。對于第i個MN來說,t時刻其鄰居節點總數為Qi個且Qi≥1,平均RSSI大于ST的鄰居節點總數為Li個且Li≥1,其CPN的鄰居節點總數為Ki個。是MN而不是其CPN的鄰居節點且平均RSSI大于ST的鄰居節點總數為Hi,且0≤Hi≤Qi。 設CE、CM和CN分別是EMA-RPL、MRPL和NDM-RPL在t時刻需要切換CPN的所有移動節點完成切換過程的總控制開銷,DIS、DIO、DAO、DAO-ACK消息的大小分別為lS、lI、lA、lK。故有 (7) (8) 又有 (9) 因為lI比lS大8 byte,且Qi+1>Hi,故CM>CN。可知NDM-RPL算法移動節點尋路控制開銷明顯低于MRPL。 EMA-RPL算法中,MN的備選CPN集依據其CPN的鄰居節點構建,故總的計算次數等于所有MN備選CPN集大小之和,其計算次數表達式為 (10) MRPL算法中,每個MN依據自身的鄰居節點構建備選CPN集,故總的計算次數為 (11) 本文算法中,每個MN依據自己的鄰居節點構建備選CPN集,且平均RSSI大于ST的鄰居節點才會加入備選CPN集。故總的計算次數表達式為 (12) LLN網絡中,由于CPN為靜態節點,具有較好的網絡穩定性,其周圍存在的鄰居節點總數一般情況下大于等于MN的鄰居節點總數,故Qi≤Ki,而Li 本文使用Contiki的IPv6/6loWPAN平臺開源操作系統進行網絡模型的搭建和仿真。Contiki里有被廣泛使用的RPL開源實現[23-24]。對參與移動切換過程中的MN和SN的控制開銷、移動節點能耗、網絡生存時間、數據傳輸成功率4個方面與MRPL、EMA-RPL進行對比和分析。 在350 m×350 m的仿真場景中構建網絡規模大小為SN(24)和MN(6),移動節點MN隨機移動。為了得到穩定的仿真結果,每次仿真設置隨機種子值分別為128、256、528。對每個隨機種子值仿真重復10次,取平均值作為仿真結果。在多次仿真過程中,由于MRPL和EMA-RPL算法在節點移速超過4.5 m/s后,性能表現較差,其仿真結果參考性較低。為了更好地比較3種算法在不同速度下的性能,故仿真參數中節點移動速度設置在2~4.5 m/s。參數設置如表1所示。 表1 仿真參數設置 4.2.1 控制開銷 控制開銷是指MN為尋找NPN發送或接收的控制消息(DIS,DIO,DAO,DAO-ACK)總比特數。在圖7中,描繪了MN的移動速度變化對控制開銷的影響。 圖7 控制開銷對比 隨著MN移動速度的增加,MN需要多次使用控制消息切換當前連接的CPN。故3種協議的控制開銷均隨著移動速度的增加而上升,但NDM-RPL路由協議控制開銷明顯低于MRPL和EMA-RPL,而EMA-RPL路由協議的控制開銷又低于MRPL。NDM-RLP、EMA-RPL和MRPL的平均控制開銷分別為2.79×105bit、3.17×105bit和3.83×105bit。與EMA-RPL和MRPL兩種協議相比,NDM-RPL的控制開銷分別下降了11.99%和27.15%。這是由于MRPL是通過MN周期性的接收控制消息計算出RSSI值,同時負責檢測其移動性并尋找NPN,該過程使MN花費了較大的控制開銷。EMA-RPL雖然將移動性處理過程交付給了MN的CPN來處理,一定程度上降低了MN的控制開銷,但在計算RSSI值時仍需MN廣播3次DIS消息。而NDM-RPL在計算RSSI值時通過MN的鄰居節點監聽MN發向PN的數據包計算得到,避免通過發送控制消息來計算RSSI值,且修改了用于切換CPN的DIS控制消息幀格式,從而有效降低了MN為移動性處理而使用的控制開銷。 4.2.2 移動節點能耗 移動節點能耗是指移動節點MN在仿真時間內消耗的總能量。Pap、Plp、Ptx、Prx和Pni分別為微控制器處于正常運行、低功耗、發送、接收狀態和傳感器處于工作狀態的功率:Tap、Tlp、Ttx、Trx和Tni分別為上述5種狀態的運行時間。故MN總能耗EMN的計算公式為 (13) 圖8描繪了MN的移動速度變化對移動節點能耗的影響。從仿真結果可知,隨著MN移動速度的增加,3種協議下的MN均需要頻繁切換CPN,從而導致MN的能耗增加。但在不同移動速度下NDM-RPL路由協議能耗均低于EMA-RPL和MRPL。NDM-RLP、EMA-RPL和MRPL的平均能量消耗為分別為53.67 mJ、58 mJ、61.55 mJ。與EMA-RPL和MRPL兩種協議相比,NDM-RPL的能量消耗分別下降了7.45%和12.8%。這是由于MRPL將尋找NPN的任務交給MN自身處理,該過程會使用發送和接收大量控制消息。因此,隨著移動速度的增加,MN的能量將消耗非常快。在EMA-RPL中,MN雖然不直接參與移動性處理過程,但由于EMA-RPL開始尋找NPN的起始時間太晚,當移動速度處于2~4.5 m/s時容易導致MN不能在離開CPN通信范圍之前建立與NPN的連接,此時又需要MN主動尋找NPN,此過程也會大量消耗MN的能量。而NDM-RPL通過鏈路質量檢測機制和監聽預選機制,使得MN并不直接參與NPN的尋找且能夠及時預選出NPN,從而降低了MN的能量消耗。 圖8 移動節點能耗對比 4.2.3 網絡生存時間 網絡生存時間是指從仿真開始時間到出現第一個死亡節點(能量低于節點初始能量的1%)之間的時間差。圖9描繪了MN的移動速度對網絡生存時間的影響。 圖9 網絡生存時間對比 隨著MN移動速度的增加,3種協議下MN的網絡生存時間逐漸降低。但相同速度下NDM-RPL網絡生存時間明顯高于其他兩種協議。NDM-RLP、EMA-RPL和MRPL的平均網絡生存時間分別為823.31 s、743.67 s、683.33 s。與EMA-RPL和MRPL兩種協議相比,NDM-RPL的網絡生存時間分別延長了10.76%和20.49%。分析其主要原因,在于EMA-RPL和MRPL在MN尋找NPN時均未考慮節點剩余能量和沒有限制靜態節點SN的可連接子節點數。特別是在整個網絡拓撲中MN數量較多時,易造成剩余能量較少的靜態節點SN過早死亡。NDM-RPL在MN尋找NPN的過程中使用了基于變異系數的父本選擇目標函數,不僅考慮了節點剩余能量,還限制了每個SN可連接的最大子節點數,能夠最大化地均衡網絡負載,從而達到延長網絡生存時間的目的。 4.2.4 數據傳輸成功率 數據傳輸成功率P是指MN發送的數據包N和其CPN接收來自MN的數據包個數n之比,計算公式為 (14) 圖10描繪了MN的移動速度變化對數據傳輸成功率的影響。從仿真結果可知,隨著移動速度的增加,3種協議下的MN數據傳輸成功率均有所降低。但在移動速度為2~4.5 m/s時,NDM-RPL路由協議的MN數據傳輸成功率明顯高于MRPL。在移動速度為2.5~4.5 m/s時,NDM-RPL數據傳輸成功率明顯高于EMA-RPL。NDM-RLP、EMA-RPL和MRPL的平均數據傳輸成功率為分別為97.5%、92.01%、90.83%。與EMA-RPL和MRPL兩種協議相比,NDM-RPL的平均數據傳輸成功率分別提升了5.92%和7.34%。這是由于MRPL不能在切換CPN過程中保證自身與CPN的連接,從而導致了數據包丟失的可能。在EMA-RPL中,MN雖然能在切換CPN過程中保證自身與CPN的連接,但在移動速度處于2~4.5 m/s時,出現了未找到NPN就與CPN斷開連接的情況,這也會導致數據包的丟失。而NDM-RPL通過鏈路質量檢測機制能夠及時讓MN發起預選NPN的通知。監聽預選機制使得MN在移動速度較快時,也能尋找通信鏈路質量較好且連接穩定的靜態節點SN作為NPN并實現切換CPN的無縫連接,有效減少了丟包的數量。 圖10 數據傳輸成功率對比 本文針對當前LLN中對RPL路由協議在中速場景下的移動性研究存在移動節點的CPN切換不及時,備選CPN集冗余和路由度量單一的問題提出NDM-RPL路由協議。該協議通過為SN設置安全閾值ST和危險閾值RT,以便移動節點提前開始尋路。然后,提出一種監聽預選機制,通過MN的鄰居節點監聽該MN發送到CPN的數據包得到RSSI值,以此排除冗余的備選CPN,能夠有效降低節點能耗。最后結合變異系數、節點剩余能量、備選CPN的網絡深度和當前連接的子節點數選出NPN。結合仿真結果和理論分析可知,NDM-RPL路由協議性能比較于EMA-RPL和MRPL均有顯著提升。2.2 基于變異系數的父本選擇目標函數


2.3 基于鄰居節點的監聽預選機制

2.4 控制消息幀格式的修改


3 NDM-RPL算法性能分析
3.1 移動節點尋路控制開銷
3.2 計算復雜度分析
4 仿真驗證
4.1 仿真參數

4.2 仿真結果及性能分析




5 結束語