王智群,周 鑫,張 波,朱明賀
(1.湖州師范學院信息工程學院,浙江 湖州 313000;2.湖州學院理工學院,浙江 湖州 313000)
hwzq@zjhu.edu.cn;zhouxin19970322@163.com;349794465@qq.com;635532370@qq.com
近年來,物聯網(Internet of Things,IoT)的快速發展使無線傳感器網絡(Wireless Sensor Network,WSN)覆蓋到醫療、軍事、工業、監控、構建智能家居等多個領域[1]。無線傳感器網絡屬于一種典型的低功耗有損網絡(Low-power and Lossy Network,LLN),網絡中部署的傳感器節點具有低功率、通信能力弱、能源受限等特點,一般由電池供電[2],這就產生了對LLN路由協議的實質性需求。因為傳統網絡的路由協議無法滿足LLN的要求,所以互聯網工程專責小組(Internet Engineering Task Force,IETF)中的RoLL(Routing over Low power and Lossy network)工作組提出了一種用于LLN的IPv6協議,稱為RPL(Routing Protocol for LLN))的低功耗和有損網絡的路由協議。RPL能夠滿足諸如低功耗、平衡負載等要求,并且便于管理和修改網絡拓撲結構[3]。如何選擇一條優質的路徑是目前RPL協議需解決的一個主要問題,設計目標函數的目的便是尋找到達目的地的最優路徑,對此科研人員做了大量的研究,提出了不同的改良方案,但改良方案可能會影響網絡的擴展性能、移動性能和安全性能等[4]。本文選擇目標函數作為重點研究對象進行探討,期望為相關研究人員提供路由優化設計的思路與參考。
目標函數的原理是通過Rank值選擇下一跳的目的地,節點的Rank值屬性可以理解為節點相對于根節點的距離或者位置,節點通過目標函數使用的路由度量(ETX、ENERGY等)計算其所在網絡中的Rank值[5]。在同一個RPL實例中,所有節點都被要求使用相同的目標函數,目前ROLL工作組在征求意見文件(Requests For Comment,RFC)中定義了兩種目標函數供使用者選擇,分別是目標函數零OF0(Object Function Zero)和帶有滯后功能的目標函數MRHOF(Minimum Rank with Hysteresis Objective Function)[6]。
默認情況下,OF0使用跳數作為路由度量,從候選節點中選擇最佳父級[7]。在DODAG(面向目的地的有向無環圖)構造過程中,傳感節點需要計算到達根節點的最小跳數,并選擇該條路徑作為最優路徑。為了避免環路,從節點到根節點的Rank值向下遞減[8]。OF0的設計適用于低功耗有損的網絡環境,但其僅使用跳數的路由度量有可能會提供較差的鏈路質量,這是因為節點會選擇具有最小跳數的路徑,該路徑的鏈路質量可能并不高,這不僅會導致節點更多次的數據重傳,數據包的丟失率也會隨之不斷攀升。此外,選擇最短跳數的路徑也會出現多個節點故障的情況,一旦節點發生這種情況,就會嚴重影響整個網絡的生命周期[9]。
MRHOF用于解決靜態度量問題,只有當鏈路發生變化,當前的節點才會選擇候選節點作為自己的最優父節點。MRHOF支持附加指標,在默認情況下,MRHOF使用預期傳輸計數(ETX)作為路由度量來選擇最佳路徑[10]。ETX表示成功接收數據包所需的最大重傳次數。ETX值越低,則意味著路徑質量越高。網絡中一條鏈路的ETX值即成功傳輸數據包的次數,整條路由的ETX值則是每一條鏈路ETX值的總和[11]。例如,一條傳輸成功率為50%的單跳路由,其ETX值為2,另一條傳輸成功率為100%的2跳路由,其ETX值為2。因此,ETX的路徑成本是單跳ETX和多跳ETX的總和,最佳路徑是提供了較低ETX值的路徑。MRHOF的另一個度量指標是利用能量作為選擇最佳路徑的標準。在網絡運行期間,節點會定期檢查根節點的鏈接可靠性,這會導致節點消耗更多的能量。為了克服這個問題,MRHOF會選擇剩余能量較高的父級節點。與帶ETX的MRHOF相比,帶能量的MRHOF可以提供更低的能量消耗和延遲[12]。OF0和MRHOF的特性總結如表1所示。
表1 OF0和MRHOF的特性總結Tab.1 Feature summary of OF0 and MRHOF
路由度量用于路徑成本的評估,選擇最優路徑[13]。目標函數的使用,使得路由度量的組合方式十分靈活。節點根據不同網絡的需求選擇不同的度量參數,例如ETX、節點能量、跳數等,這些參數信息在路由決策中起著重要的作用。目前,有許多研究人員為了克服使用單一度量的局限性,采用了多種路由度量的權重組合,這樣可以確保函數度量約束的準確性。一些簡單的目標函數實現只需要使用單個度量,而復雜的目標函數需要定義一組路由度量或約束。路由度量可以劃分為節點或鏈路度量,度量還可以根據數量和質量、動態和靜態進行進一步劃分,這些指標可以在定義的OF中用作單個或組合的指標。此外,優質的度量需考慮另一個特征動態性,LLN網絡中的鏈路或節點度量并不是穩定的,它們在網絡運作期間容易發生變化[14]。例如,考慮剩余能量作為選擇路徑的度量時,網絡中運行的節點會持續降低其剩余能量,它是一個動態的變化過程。以下是常見的度量組合方式。
(1)詞法度量組合:此組合包括兩個路由度量,根據路由的需求優先被選擇的度量將被視為目標函數使用的度量參數。倘若第一個度量的值相等,那么節點將選用第二個度量確定DODAG父級。例如,路由的需求是優先考慮跳數,則在該組合方式中只有跳數相同的前提下才會考慮其他路由度量。
(2)加法度量組合:此度量組合基于定義的OF,該OF結合了一組度量,在輸出中提供一個公共度量,然后使用RPL控制消息通告此生成的度量。路由度量在整個路徑中聚合,并包含在度量容器對象中,組合的方式可用下式舉例說明:
(3)模糊邏輯組合:模糊邏輯使用語言變量確定路由度量之間的適用程度,例如剩余能量可以用少、中等、多表示,這些值在一個公共輸出上被去模糊化和轉換,從而使其具有不同的度量特征。良好的路由度量應該具備定義明確、穩定性好及可以有效避免環路等特點[15]。
目標函數是RPL 的主要組成部分,用于快速構建DODAG,實現可靠的數據傳輸和節能通信,針對單一度量的性能優化,就有不少學者提出了方案。文獻[16]提出了一個基于節點剩余能量的新目標函數OF-ENERGY(Objective Function-Energy)。剩余能量被用作下一個躍點的選擇,節點實驗結果顯示與基于ETX的OF和基于跳數的OF相比,OFENERGY下節點運行時間更長,減少了能耗,延長了網絡壽命。但是,該目標函數沒有將鏈路質量考慮在內,不能突破單一指標帶來的局限性。文獻[17]提出了一種基于跳數的新目標函數選擇首選的父級,這種優化在端到端延遲和數據包傳遞率方面提供了更好的性能,但提出的方案僅在傳輸效率和延遲上進行了測試,忽視了其他重要指標,如網絡壽命、首選父級的數量等。從提升RPL提供的服務質量上考慮,文獻[18]提出了一種基于連接狀態ETX的新目標函數,稱之為Best Friend-ETX(BF-ETX)。BF-ETX在功耗和網絡延遲方面提高了網絡性能。但是,此方案忽略了一些重要參數,例如收斂時間和ETX更新可能導致的父節點更改問題。為了提高節點接收確認信息的效率,文獻[19]提出一種通過改變ContikiMAC(周期性休眠)無線占空比協議調節節點的喚醒和休眠時間的方法。與標準ETX相比,新的目標函數AVG_DEL(Average Delay)顯著降低了端到端延遲。表2總結了單一度量下目標函數的優點和缺點。
表2 基于單一度量目標函數的相關研究Tab.2 Relevant research on objective function based on a single metric
使用單一度量會導致一些限制。例如,需要良好可靠性的目標函數會選擇提供低ETX的父節點。相比之下,使用低ETX進行父節點選擇可能會促使節點消耗更多的能量,因而衍生出多種度量相結合的方案。文獻[20]提出了一個由ETX、能耗和隊列長度通過Add組合的目標函數EEQ(ETX,Energy consumption,Queue length),其能保護過度耗能的節點以便于將數據包發送至根節點。EEQ與標準的MRHOF和OF0相比,減少了控制消息的開銷。文獻[21]考慮了使用ETX度量及能耗的復合路由度量,稱之為L2AM(Lifetime and Latency Aggregateable Metric),該函數允許在DODAG構建期間平衡能量消耗,延長了網絡壽命。與標準ETX相比,節點耗能更平均,能夠提供更長的網絡壽命。同樣為了延長網絡整體壽命,文獻[22]設計了一種能量感知和負載平衡的目標函數EL-RPL(Energy and Load aware RPL),其由網絡負載、電池耗能指數(BDI)和ETX三個指標進行組合,數值更低的路線被視為到達目的地的最佳路徑。因為使用了模糊邏輯的組合方法,所以與Add方法相比需要更多的計算過程。從改善端到端延遲的角度,文獻[23]提出了一種增強端到端延遲估計的RPL自適應機制RA-EEDEM(RPL Adaptation of Endto-End Delay Estimation Mechanism),旨在提高端到端延遲(EED)估計的準確性。使用的OF基于兩個主要的路由度量相加組合,即處理延遲度量和路徑延遲度量。第一個度量表示到接收器的累積處理延遲,而第二個度量是到接收器的累積鏈路延遲。結果表明,使用的OF除降低平均EED和提高數據包接收率(PRR)之外,還提高了EED估計精度。但是,該方案沒有考慮收斂時間和能耗等指標。網絡擁塞是RPL的問題之一,為了克服這一問題,文獻[24]提出了一種新的擁塞感知路由CoAR(Congestion-Aware Routing)協議。為了檢測擁塞情況,CoAR采用了一種基于當前隊列占用率和負載變化的自適應機制,它使用一個新的擁塞感知目標函數CoA-OF選擇最佳的父級。這種新的CoA-OF采用多個準則決策技術,該函數考慮了三個主要指標,即CoA、隊列利用率和剩余能量。通過這種方式,節點可以選擇通往目的地的備選路徑,從而避免擁塞情況。此外,它改善了端到端延遲、吞吐量、PDR(數據包交付率)、數據包丟失和能耗。相比之下,CoAR只支持靜態網絡,這使得它不適合移動環境?;趶秃隙攘磕繕撕瘮档膬烖c和缺點總結如表3所示。
表3 基于復合度量目標函數的相關研究Tab.3 Relevant research on objective function based on composite metrics
通過分析表2和表3的實驗測試平臺不難發現,只有少數設計方案使用真實的節點實驗進行測試評估,基于仿真實驗的評估雖然有用,但是不能完全反映真實環境的各個方面。因此,為克服RPL的局限性,研究工作旨在使用真實的大規模測試平臺評估設計方案,反映現實生活中的應用場景。
以上的研究方案中,因為對RPL性能的提升程度沒有一個明確的標準,所以研究學者們只能采用幾種性能指標評估他們提出的方案,多數方案僅同標準的目標函數進行對比,所體現出的優勢有限,并且所提出的方案在某方面還存在不足之處,并且多數提議方案都使用PDR和節點能量進行評估,而更重要和準確的指標,如網絡負載分布和網絡負載平衡還未關注。因此,急需設計一套標準的評估指標,以便有效地評估和比較方案的設計優勢。
采用單個路由度量優化RPL性能,實際應用中會有很大的局限性,組合多個指標實現多個應用十分重要,但是在設計復合度量時需要考慮許多因素。首先,指標的數量應盡可能地少,因為指標越多,控制消息的信息內容就越大,容易增大路由出現錯誤的風險。其次,對于加法度量的組合,隨著指標數量的增加,分配權重的過程也會變得更復雜。所以,在復合度量的設計中更偏向于采用較為簡單的詞法度量的組合。最后,目前已有一些跨層次的度量設計,例如物理層與數據鏈路層度量相組合,這類設計可以為滿足LLN路由負載平衡、能量效率的需求提供優質的解決方案,或許能為未來解決負載均衡和能耗問題提供思路。
隨著互聯網的不斷發展,越來越多的傳感節點不斷接入網絡,路由的效率就顯得尤為重要,目前還沒有一種完美的適應不同環境,解決負載不均衡的路由決策方案。RPL路由指標和目標函數的優化可能帶來的收益很小,因此需要研究新技術進一步推動該領域的發展,諸如利用多個實例或使用基于AI的方法進行自動度量生成和閾值確定等,目前RPL仍是一個具有很大應用前景的物聯網路由協議。本文圍繞RPL目標函數的優化創新,梳理了相關領域的研究進展,期望能為RPL路由技術的發展提供有益借鑒。