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