秦 峰,曾 浩,2,林開東
1.重慶郵電大學(xué) 通信與信息工程學(xué)院,重慶400065
2.重慶郵電大學(xué) 電工理論與新技術(shù)實驗室,重慶400065
低功耗有損網(wǎng)絡(luò)(Low-power and Lossy Networks,LLN)[1-2]被認為是一種特殊的無線傳感器網(wǎng)絡(luò),在物聯(lián)網(wǎng)[3-4]等領(lǐng)域中具有廣泛的應(yīng)用前景。LLN 通常由大量的嵌入式設(shè)備組成,然而組成LLN 的這些嵌入式設(shè)備往往受到一定的限制,譬如能量供應(yīng)不足,存儲空間較小和處理能力較弱。因此,鑒于LLN 的廣泛應(yīng)用前景和其特有的性質(zhì),設(shè)計出一種適用于LLN 的路由協(xié)議顯得尤為重要。
2008 年,國際互聯(lián)網(wǎng)任務(wù)工程組制定了一種基于IPv6 的低功耗有損網(wǎng)絡(luò)路由協(xié)議(Routing Protocol for Low-power and Lossy network,RPL)[5]。RPL是一種基于距離矢量的先驗式路由協(xié)議,由根節(jié)點發(fā)起并逐級完成整個面向目的地的有向無環(huán)圖(Destination Oriented Directed Acyclic Graph,DODAG)的構(gòu)建。此外,DODAG中的每個嵌入式設(shè)備均需要定期廣播DODAG 信息對象消息(DODAG Information Object,DIO),該消息主要用于維護網(wǎng)絡(luò)拓撲結(jié)構(gòu)的穩(wěn)定性,且該消息的發(fā)送周期間隔由溪流計時器[6]控制。
目前,學(xué)術(shù)界對RPL 已展開了大量研究工作。文獻[7]在構(gòu)建DODAG時將傳輸跳數(shù)作為路由度量,能夠在一定程度上提高數(shù)據(jù)傳輸?shù)膶崟r性,但忽略了數(shù)據(jù)傳輸?shù)目煽啃?。文獻[8]在構(gòu)建DODAG 時將期望傳輸次數(shù)作為路由度量,能夠?qū)?shù)據(jù)傳輸?shù)目煽啃杂幸欢ㄌ嵘?,卻忽略了數(shù)據(jù)傳輸?shù)膶崟r性。尤其是在高負載場景下,依據(jù)文獻[7]和[8]中的路由度量所構(gòu)建的DODAG均無法較好地實現(xiàn)網(wǎng)絡(luò)負載均衡,將會對網(wǎng)絡(luò)各方面的性能造成嚴(yán)重的影響。
為了減少在構(gòu)建DODAG 時僅考慮節(jié)點一跳范圍內(nèi)的期望傳輸次數(shù)所產(chǎn)生的能量瓶頸節(jié)點的數(shù)量,文獻[9]在構(gòu)建DODAG 的過程中考慮了當(dāng)前節(jié)點至根節(jié)點整條傳輸路徑上的期望傳輸次數(shù),在一定程度上能夠減少能量瓶頸節(jié)點產(chǎn)生的數(shù)量,但效果不是很顯著。文獻[10]在構(gòu)建DODAG 的過程中,綜合考慮了當(dāng)前節(jié)點至根節(jié)點整條路徑上的期望傳輸次數(shù)和節(jié)點轉(zhuǎn)發(fā)數(shù)據(jù)包的概率,即根據(jù)當(dāng)前節(jié)點至根節(jié)點整條路徑的數(shù)據(jù)傳輸代價進行最優(yōu)父節(jié)點的選擇。此種方式雖然能夠在整體上降低數(shù)據(jù)的傳輸代價,卻未考慮負載不均衡對網(wǎng)絡(luò)性能所產(chǎn)生的負面影響。文獻[11]在單路徑RPL協(xié)議的基礎(chǔ)上,提出了一種多路徑RPL協(xié)議。該協(xié)議為了降低網(wǎng)絡(luò)中能量瓶頸節(jié)點的能耗速率,節(jié)點在傳輸數(shù)據(jù)時根據(jù)每條路徑中能量瓶頸節(jié)點的期望壽命進行數(shù)據(jù)流量的分配,并實現(xiàn)數(shù)據(jù)的分流傳輸。該協(xié)議能夠在一定程度對網(wǎng)絡(luò)整體壽命進行延長,但忽略了數(shù)據(jù)傳輸?shù)目煽啃?。文獻[12]在構(gòu)建DODAG的過程中綜合考慮了節(jié)點的期望傳輸次數(shù)和節(jié)點剩余能量,在保證數(shù)據(jù)傳輸可靠性的前提下,能夠避免剩余能量不足的節(jié)點被選作為最優(yōu)父節(jié)點。
當(dāng)檢測到節(jié)點發(fā)生網(wǎng)絡(luò)擁塞時,文獻[13-14]均通過周期性廣播的DIO 控制消息將網(wǎng)絡(luò)擁塞狀態(tài)通告給網(wǎng)絡(luò)中的其他節(jié)點,并進一步對當(dāng)前網(wǎng)絡(luò)擁塞進行處理。然而,當(dāng)網(wǎng)絡(luò)拓撲結(jié)構(gòu)相對穩(wěn)定時,DIO 控制消息的發(fā)送周期間隔相對較大,故通過周期性廣播的DIO控制消息無法快速地將節(jié)點的網(wǎng)絡(luò)擁塞狀態(tài)通告給網(wǎng)絡(luò)中的其他節(jié)點,從而影響當(dāng)前網(wǎng)絡(luò)擁塞的處理。文獻[15]針對文獻[13-14]中存在的問題,通過對溪流計時器的重置便可快速的將節(jié)點當(dāng)前的網(wǎng)絡(luò)擁塞狀態(tài)通告給網(wǎng)絡(luò)中的其他節(jié)點。然而,多次的將溪流計時器重置將會增加大量不必要的控制開銷,且對數(shù)據(jù)的傳輸也會產(chǎn)生一定的影響。
如圖1 所示為HSLB-RPL 協(xié)議的網(wǎng)絡(luò)拓撲模型圖。其中,sink 節(jié)點也被稱之為根節(jié)點,主要用于對下游節(jié)點向上游節(jié)點傳輸?shù)臄?shù)據(jù)流量進行匯聚;R1~R8為中繼節(jié)點,主要用于轉(zhuǎn)發(fā)所有葉子節(jié)點所產(chǎn)生的數(shù)據(jù)流量;S1~S7為葉子節(jié)點,主要用于產(chǎn)生數(shù)據(jù)流量,并向上游節(jié)點傳輸所產(chǎn)生的數(shù)據(jù)流量。
圖1 HSLB-RPL協(xié)議網(wǎng)絡(luò)模型
關(guān)于HSLB-RPL協(xié)議的網(wǎng)絡(luò)模型有如下假設(shè):
(1)網(wǎng)絡(luò)中所有節(jié)點的物理構(gòu)造、屬性和性質(zhì)均相同,其中根節(jié)點除外。
(2)為了盡可能保證網(wǎng)絡(luò)的穩(wěn)定性,網(wǎng)絡(luò)中所有節(jié)點均工作于靜態(tài)模式下。
(3)雖然節(jié)點的存儲空間受限,但網(wǎng)絡(luò)中每個節(jié)點均有足夠的隊列空間對路由表項進行緩存。
(4)網(wǎng)絡(luò)中每個節(jié)點既可作為消息的發(fā)布者,也可作為消息的接收者。
通過深入研究發(fā)現(xiàn),在高負載場景下已有RPL協(xié)議存在以下幾個問題:
(1)在DODAG 的構(gòu)建過程中,節(jié)點在選擇最優(yōu)父節(jié)點時通常僅考慮與其備選父節(jié)點之間的期望傳輸次數(shù),而未考慮其備選父節(jié)點與其備選父節(jié)點的上一跳節(jié)點之間的期望傳輸次數(shù),使得擁有期望傳輸次數(shù)較大的父節(jié)點的節(jié)點被其鄰居節(jié)點選作為最優(yōu)父節(jié)點的概率增大,從而導(dǎo)致節(jié)點所選擇的最優(yōu)父節(jié)點并非最優(yōu)。
(2)當(dāng)檢測到網(wǎng)絡(luò)中某些節(jié)點的負載較重時,并未對此類節(jié)點的DIO 控制消息的廣播周期間隔進行一定調(diào)整,從而導(dǎo)致此類節(jié)點的負載極有可能持續(xù)加重,且加快了此類節(jié)點的能耗速率,并對數(shù)據(jù)的傳輸造成了一定的影響。
(3)在數(shù)據(jù)傳輸過程中,當(dāng)檢測到網(wǎng)絡(luò)中節(jié)點出現(xiàn)網(wǎng)絡(luò)擁塞時,利用周期性廣播的DIO控制消息無法及時的將當(dāng)前網(wǎng)絡(luò)擁塞節(jié)點的網(wǎng)絡(luò)擁塞狀態(tài)通告給其鄰居節(jié)點。此外,重置溪流計時器雖然能夠盡快的將當(dāng)前網(wǎng)絡(luò)擁塞節(jié)點的網(wǎng)絡(luò)擁塞狀態(tài)通告給其鄰居節(jié)點,但會增加大量不必要的控制開銷,且對數(shù)據(jù)的傳輸也會造成一定的影響。
為了解決上述問題,本文提出了一種高負載場景下基于負載均衡的LLN 路由協(xié)議(HSLB-RPL)。該協(xié)議包含3 種改進策略:(1)最優(yōu)父節(jié)點選擇策略。為了避免擁有期望傳輸次數(shù)較大的父節(jié)點的備選父節(jié)點被其鄰居節(jié)點選作為最優(yōu)父節(jié)點,綜合考慮當(dāng)前備選節(jié)點和其父節(jié)點的期望傳輸次數(shù)。(2)溪流計時器調(diào)整策略。當(dāng)檢測到節(jié)點負載較重時,為了降低其被鄰居節(jié)點選作為最優(yōu)父節(jié)點的概率,對其DIO控制消息的發(fā)送時間間隔進行一定調(diào)整。(3)網(wǎng)絡(luò)擁塞狀態(tài)通告策略。當(dāng)檢測到節(jié)點發(fā)生網(wǎng)絡(luò)擁塞時,設(shè)計一種網(wǎng)絡(luò)擁塞通告消息(NCN),及時將當(dāng)前網(wǎng)絡(luò)擁塞狀態(tài)通告給其鄰居節(jié)點。
在DODAG 構(gòu)建過程中,節(jié)點在選擇最優(yōu)父節(jié)點時,通常會依據(jù)不同的路由度量對最優(yōu)父節(jié)點進行確定,譬如傳輸跳數(shù)、節(jié)點剩余能量、期望傳輸次數(shù)和節(jié)點緩存占用率等。其中,傳輸跳數(shù)能夠大致反映數(shù)據(jù)傳輸?shù)膶崟r性;期望傳輸次數(shù)能夠大致反映數(shù)據(jù)傳輸?shù)目煽啃?。為了兼顧?shù)據(jù)傳輸?shù)目煽啃院蛯崟r性,本文將結(jié)合傳輸跳數(shù)和期望傳輸次數(shù)兩種路由度量。
此外,最優(yōu)父節(jié)點選擇策略的核心之處在于,節(jié)點在選擇最優(yōu)父節(jié)點時,不僅需要考慮與當(dāng)前一跳范圍內(nèi)的備選父節(jié)點之間的期望傳輸次數(shù),而且還需要考慮其備選父節(jié)點與其備選父節(jié)點上一跳節(jié)點之間的期望傳輸次數(shù),降低期望傳輸次數(shù)較高的備選父節(jié)點被選作為最優(yōu)父節(jié)點的概率,從而達到均衡網(wǎng)絡(luò)負載的目的。以節(jié)點k 為例,其當(dāng)前擁有兩個備選父節(jié)點m 和n ,那么,節(jié)點k 在選擇最優(yōu)父節(jié)點時的具體實施步驟如下:
步驟1 節(jié)點k 的備選父節(jié)點m 和n 分別計算各自的期望傳輸次數(shù)。期望傳輸次數(shù)為節(jié)點間無線鏈路質(zhì)量的倒數(shù),表示節(jié)點成功傳輸一個數(shù)據(jù)包到達其父節(jié)點需要傳輸?shù)钠骄螖?shù),其計算如公式(1)所示:
步驟2 節(jié)點m 和n 分別將各自的期望傳輸次數(shù)與各自的傳輸跳數(shù)進行匯聚處理[15],并通過周期性廣播的DIO控制消息中的RANK字段攜帶匯聚處理后的結(jié)果,并將匯聚后的結(jié)果通告給節(jié)點k。期望傳輸次數(shù)與傳輸跳數(shù)匯聚處理如公式(3)所示:
步驟3 節(jié)點k 接收到節(jié)點m 和n 廣播的DIO控制消息后,分別解析出節(jié)點m 和n 的傳輸跳數(shù)和期望傳輸次數(shù)。期望傳輸次數(shù)與傳輸跳數(shù)解析處理如公式(3)和公式(4)所示:
步驟4 節(jié)點k 解析出節(jié)點m 和n 的期望傳輸次數(shù)后,判斷是否需要對與節(jié)點m 和n 之間的期望傳輸次數(shù)進行調(diào)整,其調(diào)整如公式(5)所示:
步驟5 節(jié)點k 分別計算與節(jié)點m 和n 之間的路由度量值,并選擇路由度量值較小的節(jié)點作為最優(yōu)父節(jié)點。路由度量值的計算如公式(6)所示:
在RPL協(xié)議中,DIO控制消息的發(fā)送間隔由溪流計時器控制,可通過調(diào)整溪流計時器實現(xiàn)對DIO控制消息進行周期性的發(fā)送。當(dāng)檢測到網(wǎng)絡(luò)出現(xiàn)不一致(網(wǎng)絡(luò)結(jié)構(gòu)發(fā)生較大變化)時,溪流計時器通常會被重置,從而使得節(jié)點更快的適應(yīng)網(wǎng)絡(luò)的變化;而當(dāng)網(wǎng)絡(luò)拓撲結(jié)構(gòu)較為穩(wěn)定時,DIO 控制消息的發(fā)送時間間隔將會逐漸增大,從而避免不必要的控制開銷。因此,為了降低負載較重節(jié)點被其鄰居節(jié)點選作為最優(yōu)父節(jié)點的概率,對溪流計時器發(fā)送DIO控制消息的策略進行一定改進,即根據(jù)節(jié)點的負載狀態(tài)適當(dāng)延長DIO 控制消息的發(fā)送間隔。溪流計時器調(diào)整策略實施具體流程,如圖2所示。
圖2 溪流計時器調(diào)整策略
溪流計時器中用到的主要參數(shù)如下:
(1)Imin:發(fā)送DIO控制消息的最小時間間隔長度。
(2)Imax:發(fā)送DIO控制消息的最大時間間隔長度。
(3)k:冗余常量。
(4)I :當(dāng)前DIO控制消息發(fā)送的時間間隔長度。
(5)t:時間值,介于[I/2,I]之間。
(6)c:冗余計數(shù)器。
那么,溪流計時器調(diào)整策略的具體實施步驟如下:
步驟1 網(wǎng)絡(luò)初始化時,將I 設(shè)置為介于[Imin,Imax]之間的任意一個值,并開始第一個時隙。
步驟2 將冗余計數(shù)器c 的值初始化為0,t 設(shè)置為介于[I/2,I]之間的任意一個值,該時隙終止于I 處。
步驟3 Trickle定時器每接收到一個“一致性”傳輸,則將冗余計數(shù)器c 的值自增1。
步驟4 在時刻t 時,Trickle定時器檢查冗余計數(shù)器c 的值是否小于冗余常量k。如果c <k,再判斷當(dāng)前節(jié)點的隊列利用率是否超過預(yù)設(shè)的閾值,所預(yù)設(shè)的閾值大小為0.6。如果當(dāng)前節(jié)點的隊列利用率超過預(yù)設(shè)的閾值,Trickle 定時器將會延長DIO 控制消息的發(fā)送間隔,則將其發(fā)送間隔增大1 倍;反之,則當(dāng)前節(jié)點可以向其鄰居節(jié)點廣播DIO 控制消息。如果c >k ,則當(dāng)前節(jié)點被禁止向其鄰居節(jié)點廣播DIO控制消息。
步驟5 當(dāng)時隙I 結(jié)束后,將I 的值增大到原來的兩倍,并重復(fù)步驟2。如果加倍后的I 大于Imax,則將I 的取值設(shè)置為Imax。
步驟6 一旦接收到“不一致”傳輸時,Trickle定時器立刻被重置,即將c 的值重新歸位于0,并將時間間隔I設(shè)置為Imin并重復(fù)步驟3,直至網(wǎng)絡(luò)運行時間結(jié)束。
通常,當(dāng)檢測到網(wǎng)絡(luò)中的節(jié)點處于網(wǎng)絡(luò)擁塞狀態(tài)時,需要網(wǎng)絡(luò)擁塞節(jié)點將當(dāng)前的網(wǎng)絡(luò)擁塞狀態(tài)通告給其子節(jié)點,以便其子節(jié)點對當(dāng)前的網(wǎng)絡(luò)擁塞進行一定處理,譬如對當(dāng)前數(shù)據(jù)的傳輸路徑進行更換或是調(diào)整當(dāng)前數(shù)據(jù)包的傳輸速率。在RPL協(xié)議中,通用方式是利用周期性廣播的DIO控制消息攜帶節(jié)點當(dāng)前網(wǎng)絡(luò)擁塞狀態(tài),并將節(jié)點當(dāng)前網(wǎng)絡(luò)擁塞狀態(tài)通告給其子節(jié)點。然而,此種方式并不能及時的將節(jié)點當(dāng)前網(wǎng)絡(luò)擁塞狀態(tài)通告給其子節(jié)點和鄰居節(jié)點;此外,通過重置溪流計時器雖然能夠快速地對節(jié)點當(dāng)前網(wǎng)絡(luò)擁塞狀態(tài)進行通告,但是,此操作會導(dǎo)致DIO控制消息的發(fā)送間隔變小,從而增加了大量不必要的控制開銷,且會對數(shù)據(jù)的傳輸造成一定的影響。
為了盡量減少不必要的控制開銷,并且能夠及時地將節(jié)點當(dāng)前網(wǎng)絡(luò)擁塞狀態(tài)通告給其子節(jié)點和鄰居節(jié)點,設(shè)計了一種新的網(wǎng)絡(luò)擁塞通告控制消息(NCN)。NCN控制消息的幀格式與DIO控制消息的幀格式區(qū)別不大,除了消息的類型不同之外,在NCN 控制消息中新增了網(wǎng)絡(luò)擁塞狀態(tài)(NC)字段。為了避免增加NCN 控制消息的大小,利用其保留字段中的1 bit 設(shè)置為NC 字段。當(dāng)該字段的值為1 時,表明當(dāng)前節(jié)點處于網(wǎng)絡(luò)擁塞狀態(tài);反之,當(dāng)前節(jié)點處于正常狀態(tài)。因此,當(dāng)節(jié)點檢測其當(dāng)前處于網(wǎng)絡(luò)擁塞狀態(tài)時,無需對溪流計時器進行重置,僅需向其子節(jié)點組播NCN 控制消息便可及時地實現(xiàn)網(wǎng)絡(luò)擁塞狀態(tài)通告的目的。
為了驗證HSLB-RPL協(xié)議的性能,本文采用Contiki 2.7操作系統(tǒng)中的Cooja 仿真器對文獻[8]、文獻[10]所提協(xié)議以及本文所提協(xié)議進行模擬仿真,并對它們以下三種性能指標(biāo)分別進行對比和分析。
(1)網(wǎng)絡(luò)平均壽命:以網(wǎng)絡(luò)中最先死亡的節(jié)點的生存時間作為網(wǎng)絡(luò)平均壽命,其中死亡節(jié)點是指當(dāng)前剩余能量僅為初始能量的1%的節(jié)點。
(2)根節(jié)點平均吞吐量:根節(jié)點平均吞吐量表示為在單位時間內(nèi)網(wǎng)絡(luò)中成功傳輸?shù)臄?shù)據(jù)包的數(shù)量,是衡量LLN網(wǎng)絡(luò)性能的一項重要指標(biāo)。
(3)歸一化控制開銷:歸一化控制開銷是指在網(wǎng)絡(luò)運行時間內(nèi),網(wǎng)絡(luò)中所有節(jié)點傳輸?shù)目刂葡⒈忍財?shù)與網(wǎng)絡(luò)中所有節(jié)點傳輸?shù)目刂葡⒈忍財?shù)和根節(jié)點接收的數(shù)據(jù)包比特數(shù)的比值。
在200 m×200 m 的仿真區(qū)域構(gòu)建節(jié)點數(shù)為21 且節(jié)點隨機分布的LLN 網(wǎng)絡(luò),其中根節(jié)點的數(shù)量為1,普通節(jié)點的數(shù)量為20。此外,根節(jié)點的初始能量不受限制,而普通節(jié)點的初始能量將會受到一定限制。本文所提協(xié)議與其他兩種對比協(xié)議采用相同的網(wǎng)絡(luò)模型,且為了網(wǎng)絡(luò)模型的穩(wěn)定性,其中所有節(jié)點均工作于靜態(tài)模式。模擬仿真過程中用到的主要仿真參數(shù)如表1所示。
表1 仿真參數(shù)設(shè)置
4.2.1 網(wǎng)絡(luò)平均壽命
如圖3表明,隨著節(jié)點數(shù)據(jù)包傳輸速率增加,HSLBRPL 協(xié)議的網(wǎng)絡(luò)平均壽命均比文獻[8]和文獻[10]協(xié)議高,且至少提升了23.57%。分析其原因主要體現(xiàn)在以下三點:(1)HSLB-RPL 協(xié)議中,在構(gòu)建DODAG 時,綜合考慮了當(dāng)前節(jié)點與其備選父節(jié)點之間的期望傳輸次數(shù)以及其備選父節(jié)點與其備選父節(jié)點上一跳節(jié)點之間的期望傳輸次數(shù),能夠避免期望傳輸次數(shù)較大的備選父節(jié)點被選作為最優(yōu)父節(jié)點,從而降低了節(jié)點因數(shù)據(jù)包重傳所耗費的能量。(2)在數(shù)據(jù)傳輸過程中,當(dāng)檢測到節(jié)點負載較重時,對其DIO控制消息的發(fā)送時間間隔進行調(diào)整,能夠降低此類重負載節(jié)點被其鄰居節(jié)點選作為最優(yōu)父節(jié)點的概率,從而避免了此類重負載節(jié)點的能耗速率持續(xù)增加。(3)當(dāng)節(jié)點發(fā)生網(wǎng)絡(luò)擁塞時,設(shè)計了一種網(wǎng)絡(luò)擁塞通告消息(NCN),能夠避免重置溪流計時器所產(chǎn)生大量不必要控制開銷,同時還能夠?qū)⒐?jié)點當(dāng)前網(wǎng)絡(luò)擁塞狀態(tài)及時地通告給其子節(jié)點和鄰居節(jié)點,從而加快了當(dāng)前網(wǎng)絡(luò)擁塞的緩解,降低了網(wǎng)絡(luò)擁塞節(jié)點的能耗。
圖3 網(wǎng)絡(luò)平均壽命比較
4.2.2 根節(jié)點平均吞吐量
從圖4 中發(fā)現(xiàn),隨著節(jié)點數(shù)據(jù)包傳輸速率的增加,HSLB-RPL 協(xié)議的根節(jié)點平均吞吐量均比文獻[8]和文獻[10]協(xié)議高,且至少提升了14.52%。通過分析發(fā)現(xiàn)其主要原因在于:HSLB-RPL 協(xié)議中,在構(gòu)建DODAG 時,綜合考慮了當(dāng)前節(jié)點與其備選父節(jié)點之間的期望傳輸次數(shù)以及其備選父節(jié)點與其備選父節(jié)點上一跳節(jié)點之間的期望傳輸次數(shù),能夠避免期望傳輸次數(shù)較大的備選父節(jié)點被選作為最優(yōu)父節(jié)點,從而有效地降低了數(shù)據(jù)包的重傳次數(shù);當(dāng)檢測到網(wǎng)絡(luò)中節(jié)點發(fā)生網(wǎng)絡(luò)擁塞時,設(shè)計了一種網(wǎng)絡(luò)擁塞通告消息(NCN),能夠避免重置溪流計時器產(chǎn)生大量不必要控制消息,同時能夠及時地將節(jié)點當(dāng)前網(wǎng)絡(luò)擁塞狀態(tài)通告給其子節(jié)點和鄰居節(jié)點,從而有效地避免了重置溪流計時器對數(shù)據(jù)傳輸?shù)挠绊憽?/p>
圖4 根節(jié)點平均吞吐量比較
4.2.3 歸一化控制開銷
如圖5顯示,隨著節(jié)點數(shù)據(jù)包傳輸速率的增加,HSLBRPL 協(xié)議的歸一化控制開銷均比文獻[8]和文獻[10]協(xié)議低,且至少降低了12.87%。分析其原因主要有以下兩點:(1)HSLB-RPL協(xié)議中,在構(gòu)建DODAG時,綜合考慮了當(dāng)前節(jié)點與其備選父節(jié)點之間的期望傳輸次數(shù)以及其備選父節(jié)點與其備選父節(jié)點上一跳節(jié)點之間的期望傳輸次數(shù),能夠避免期望傳輸次數(shù)較大的備選父節(jié)點被選作為最優(yōu)父節(jié)點,從而有效地降低了數(shù)據(jù)包的重傳次數(shù)。(2)HSLB-RPL協(xié)議中,當(dāng)檢測到網(wǎng)絡(luò)中節(jié)點發(fā)生網(wǎng)絡(luò)擁塞時,設(shè)計了一種網(wǎng)絡(luò)擁塞通告消息(NCN),能夠避免重置溪流計時器所產(chǎn)生大量不必要控制消息,同時還能夠及時地將當(dāng)前網(wǎng)絡(luò)擁塞狀態(tài)通告給其子節(jié)點和鄰居節(jié)點,從而有效地降低了當(dāng)前網(wǎng)絡(luò)擁塞狀態(tài)通告的控制開銷,并減少了數(shù)據(jù)傳輸帶寬的占用。
圖4 歸一化控制開銷比較
本文提出了一種高負載場景下基于負載均衡的LLN路由協(xié)議(HSLB-RPL)。HSLB-RPL協(xié)議包含三種策略:(1)最優(yōu)父節(jié)點選擇策略,在組網(wǎng)的過程中,聯(lián)合節(jié)點傳輸跳數(shù)和期望傳輸次數(shù)兩種路由度量;(2)溪流計時器調(diào)整策略,在數(shù)據(jù)傳輸過程中,對重負載節(jié)點的DIO 控制消息的發(fā)送周期進行一定調(diào)整;(3)網(wǎng)絡(luò)擁塞狀態(tài)通告策略,當(dāng)檢測到網(wǎng)絡(luò)發(fā)生擁塞時,通過NCN控制消息及時地將當(dāng)前網(wǎng)絡(luò)擁塞狀態(tài)進行通告。仿真結(jié)果表明,HSLB-RPL協(xié)議能夠有效地改善網(wǎng)絡(luò)各方面的性能。在今后的工作中,基于動態(tài)網(wǎng)絡(luò)場景下的負載均衡將是研究的重點。