郭戈
摘 要:基于6LoWPAN標(biāo)準(zhǔn)的RPL協(xié)議實(shí)現(xiàn)了低功耗有損網(wǎng)絡(luò)上運(yùn)行IPv6協(xié)議的節(jié)點(diǎn)間路由功能,但是現(xiàn)有的RPL協(xié)議并未包含擁塞避免機(jī)制。文中提出一種擁塞感知負(fù)載均衡多徑RPL協(xié)議,將緩沖區(qū)占用率引入RPL協(xié)議,實(shí)現(xiàn)擁塞感知,并采用多徑傳輸?shù)姆绞竭M(jìn)行負(fù)載均衡。仿真結(jié)果表明,協(xié)議達(dá)到了提高數(shù)據(jù)傳輸成功率、平衡節(jié)點(diǎn)能量消耗的目的。
關(guān)鍵詞:低功耗有損網(wǎng)絡(luò);RPL路由協(xié)議;負(fù)載均衡;擁塞避免
中圖分類(lèi)號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2018)09-00-04
0 引 言
物聯(lián)網(wǎng)技術(shù)是新一代信息革命的核心技術(shù)之一,它基于低功耗有損網(wǎng)絡(luò)(Low Power and Lossy Networks,LLNs)實(shí)現(xiàn)物與物的通信,能夠極大地拓展人類(lèi)感知與控制的范圍。低功耗有損網(wǎng)絡(luò)由許多能量與計(jì)算能力有限的節(jié)點(diǎn)組成,節(jié)點(diǎn)間通過(guò)低速、不穩(wěn)定的無(wú)線(xiàn)或有線(xiàn)網(wǎng)絡(luò)進(jìn)行連接。由于IP協(xié)議對(duì)內(nèi)存與帶寬的需求較高,以往被認(rèn)為不適合直接在低功耗有損網(wǎng)絡(luò)上使用,需要ZigBee等專(zhuān)有協(xié)議通過(guò)復(fù)雜的應(yīng)用網(wǎng)關(guān)轉(zhuǎn)換,才能實(shí)現(xiàn)低功耗有損網(wǎng)絡(luò)節(jié)點(diǎn)接入互聯(lián)網(wǎng)的功能。但6LoWPAN[1]標(biāo)準(zhǔn)的制定改變了這種狀況,它基于IEEE 802.15.4[2]運(yùn)行輕量級(jí)IPv6協(xié)議棧,實(shí)現(xiàn)了低功耗有損網(wǎng)絡(luò)節(jié)點(diǎn)無(wú)縫接入下一代互聯(lián)網(wǎng)的目標(biāo),為物聯(lián)網(wǎng)的大規(guī)模應(yīng)用奠定了堅(jiān)實(shí)的基礎(chǔ)。
由于傳統(tǒng)的路由協(xié)議都不適合低功耗有損網(wǎng)絡(luò),IETF的ROLL工作組制定了RPL[3]協(xié)議,以滿(mǎn)足低功耗、低速率、鏈路動(dòng)態(tài)變化等低功耗有損網(wǎng)絡(luò)的路由需求。RPL是一種距離向量協(xié)議,以一個(gè)Sink節(jié)點(diǎn)為根,通過(guò)某種目標(biāo)函數(shù)(Object Function,OF)把網(wǎng)絡(luò)中的節(jié)點(diǎn)組織到一個(gè)或多個(gè)有向無(wú)環(huán)圖(Destination Oriented Directed Acyclic Graph,DODAG)中,從而實(shí)現(xiàn)節(jié)點(diǎn)間數(shù)據(jù)的傳輸。DODAG以類(lèi)似樹(shù)結(jié)構(gòu)的形式進(jìn)行構(gòu)造,在一組鄰居節(jié)點(diǎn)中選擇一個(gè)作為其最優(yōu)父節(jié)點(diǎn)(preferred parent),并將其設(shè)為默認(rèn)路由,把數(shù)據(jù)傳給根Sink或者其他節(jié)點(diǎn)。
但是RPL協(xié)議標(biāo)準(zhǔn)并未包含擁塞避免機(jī)制。當(dāng)某個(gè)節(jié)點(diǎn)數(shù)據(jù)包到達(dá)的速度超過(guò)其轉(zhuǎn)發(fā)出去的速度時(shí),便會(huì)產(chǎn)生擁塞。在使用RPL協(xié)議構(gòu)建的網(wǎng)絡(luò)中,擁塞多發(fā)生于兩處節(jié)點(diǎn)。一處是距離Sink節(jié)點(diǎn)較近的節(jié)點(diǎn),這是由于RPL協(xié)議采用類(lèi)似樹(shù)形的結(jié)構(gòu)構(gòu)建DODAG,因此靠近根的節(jié)點(diǎn)有最多的數(shù)據(jù)轉(zhuǎn)發(fā)量;另一處是臨近事件突發(fā)處的節(jié)點(diǎn),由于需要轉(zhuǎn)發(fā)大量檢測(cè)到的突發(fā)事件信息而產(chǎn)生擁塞。嚴(yán)重的擁塞會(huì)導(dǎo)致大量數(shù)據(jù)包的丟失與重傳,節(jié)點(diǎn)的能量被浪費(fèi),網(wǎng)絡(luò)的生存時(shí)間會(huì)因此而縮短。
此外,由于DODAG中每個(gè)非根節(jié)點(diǎn)只選擇一個(gè)最優(yōu)父節(jié)點(diǎn)將其作為發(fā)往Sink節(jié)點(diǎn)數(shù)據(jù)的唯一途徑,因此會(huì)導(dǎo)致子節(jié)點(diǎn)較多的節(jié)點(diǎn)承擔(dān)更大的數(shù)據(jù)轉(zhuǎn)發(fā)壓力。這種負(fù)載不均衡的狀況使得某些節(jié)點(diǎn)因?yàn)槟芰肯倪^(guò)大而過(guò)早死亡,可能造成網(wǎng)絡(luò)空洞甚至網(wǎng)絡(luò)分區(qū)。
為此,本文提出一種RPL改進(jìn)算法,即擁塞感知負(fù)載均衡多徑RPL(Congestion Awareness Load Balanced Multipath RPL,CALBM-RPL)協(xié)議。該算法將緩沖區(qū)占用率引入RPL協(xié)議,實(shí)現(xiàn)擁塞感知,并采用多徑傳輸?shù)姆绞竭M(jìn)行負(fù)載均衡,從而達(dá)到提高數(shù)據(jù)傳輸成功率(Packet Delivery Ratio,PDR)、平衡節(jié)點(diǎn)能量消耗的目的。
1 RPL概述
RPL協(xié)議包含用來(lái)與其他網(wǎng)絡(luò)相連接的根節(jié)點(diǎn)(Sink節(jié)點(diǎn))、用以將數(shù)據(jù)轉(zhuǎn)發(fā)給根節(jié)點(diǎn)的中間節(jié)點(diǎn)以及葉子節(jié)點(diǎn)。RPL可對(duì)網(wǎng)絡(luò)變化做出快速反應(yīng),能在通往根節(jié)點(diǎn)的缺省路徑無(wú)法連通時(shí)選取一條替代路徑。
RPL使用基于ICMPv6的DIO(DODAG Information Object,DIO),DIS(DODAG Information Solicitation,DIS)及DAO(Destination Advertisement Object,DAO)三種控制消息實(shí)現(xiàn)DODAG的構(gòu)建。DODAG根節(jié)點(diǎn)首先使用DIO控制消息向周?chē)従舆M(jìn)行廣播,宣布自己作為父節(jié)點(diǎn)。其他節(jié)點(diǎn)收到廣播后,會(huì)根據(jù)其中包含的信息計(jì)算自身的rank值,產(chǎn)生新的DIO消息繼續(xù)向外廣播。節(jié)點(diǎn)在收到多個(gè)DIO消息時(shí),會(huì)使用相應(yīng)的OF進(jìn)行計(jì)算比較,選擇結(jié)果值最小的節(jié)點(diǎn)作為自己的最優(yōu)父節(jié)點(diǎn),并根據(jù)該節(jié)點(diǎn)的rank和到達(dá)的路徑開(kāi)銷(xiāo)得到自身的rank值。這一過(guò)程持續(xù)進(jìn)行,最終將網(wǎng)絡(luò)中所有可達(dá)節(jié)點(diǎn)包含進(jìn)DODAG中,每個(gè)加入的節(jié)點(diǎn)便擁有了送往Sink的上行路徑。
為了獲得自Sink節(jié)點(diǎn)至其他節(jié)點(diǎn)的下行路徑,每個(gè)節(jié)點(diǎn)在選擇出最優(yōu)父節(jié)點(diǎn)后,向最優(yōu)父節(jié)點(diǎn)發(fā)送DAO控制消息。收到DAO控制消息后,父節(jié)點(diǎn)將該子節(jié)點(diǎn)加入到路由表(存儲(chǔ)模式)或包含在下一個(gè)DAO消息中(非存儲(chǔ)模式),并把新生成的DAO消息繼續(xù)向上傳遞,直至Sink節(jié)點(diǎn)。
如果某個(gè)節(jié)點(diǎn)在一段時(shí)間內(nèi)未收到DIO消息,那么廣播一個(gè)DIS消息以請(qǐng)求加入DODAG。收到該消息的鄰居節(jié)點(diǎn)會(huì)重置DIO時(shí)鐘以加快DIO消息的發(fā)送頻率。為了節(jié)省重復(fù)發(fā)送DIO消息的能量消耗,RPL使用涓流時(shí)鐘(Trickle Timer)控制DIO的發(fā)送頻率。每收到一個(gè)顯示網(wǎng)絡(luò)狀態(tài)穩(wěn)定的DIO,該時(shí)鐘就以幾乎加倍的數(shù)量延長(zhǎng)定時(shí)時(shí)長(zhǎng),以降低發(fā)送頻率,減少發(fā)送DIO包數(shù)量。而一旦發(fā)現(xiàn)網(wǎng)絡(luò)狀態(tài)發(fā)生改變,如最優(yōu)父節(jié)點(diǎn)的rank值改變或與其失聯(lián),則該時(shí)鐘會(huì)重置為最小值,提高DIO的發(fā)送頻率,使網(wǎng)絡(luò)盡快收斂。
2 相關(guān)工作
文獻(xiàn)[4]提出一種通過(guò)均衡負(fù)載延長(zhǎng)網(wǎng)絡(luò)生命周期的多徑路由機(jī)制。在該機(jī)制中,網(wǎng)絡(luò)被劃分成多個(gè)區(qū)域。Sink節(jié)點(diǎn)向所有其他節(jié)點(diǎn)發(fā)送區(qū)域的信息,每個(gè)節(jié)點(diǎn)收到后都會(huì)根據(jù)自己的位置加入一個(gè)區(qū)域,并把自己的剩余能量和流量情況發(fā)送給Sink節(jié)點(diǎn)。Sink節(jié)點(diǎn)計(jì)算每個(gè)區(qū)域的剩余能量后,通知信息源節(jié)點(diǎn)沿著最少被使用(即剩余能量最多)的多個(gè)區(qū)域發(fā)送數(shù)據(jù)。這種多徑傳輸?shù)臋C(jī)制實(shí)現(xiàn)了流量和能量的均衡。
文獻(xiàn)[5]提出一種負(fù)載均衡RPL(LB-RPL)協(xié)議,用以解決RPL中由于緩沖區(qū)有限導(dǎo)致的丟包問(wèn)題。當(dāng)一個(gè)節(jié)點(diǎn)檢測(cè)到網(wǎng)絡(luò)負(fù)載增大,緩沖區(qū)占有率超過(guò)門(mén)限值后,便暫緩DIO消息的發(fā)送。擁塞的程度越高,暫緩的時(shí)間越長(zhǎng)。這就使得該節(jié)點(diǎn)的子節(jié)點(diǎn)因?yàn)殚L(zhǎng)時(shí)間收不到DIO消息而切換其最優(yōu)父節(jié)點(diǎn),從而將流量均衡分配。但是該機(jī)制一方面可能會(huì)導(dǎo)致“羊群效應(yīng)”(Herding Effect),即多個(gè)子節(jié)點(diǎn)同時(shí)切換到另一個(gè)父節(jié)點(diǎn)而將新的父節(jié)點(diǎn)擁塞;另一方面,因?yàn)椴捎娩噶魉惴òl(fā)送的DIO消息間隔周期可能會(huì)長(zhǎng)至數(shù)分鐘之久,所以不能及時(shí)傳遞擁塞情況。
文獻(xiàn)[6]提出一種針對(duì)移動(dòng)Sink的基于DAG的多徑路由協(xié)議,該協(xié)議使得節(jié)點(diǎn)在與主Sink節(jié)點(diǎn)的連接丟失時(shí),可通過(guò)替代路徑連接到其他Sink節(jié)點(diǎn)。替代路徑的尋找采用被動(dòng)按需的方式,當(dāng)一個(gè)節(jié)點(diǎn)檢測(cè)到與主Sink節(jié)點(diǎn)連接失效時(shí),會(huì)向其他Sink節(jié)點(diǎn)發(fā)起連接請(qǐng)求,一個(gè)新的DODAG會(huì)隨之建立,進(jìn)而實(shí)現(xiàn)向Sink數(shù)據(jù)傳輸?shù)幕謴?fù)。
文獻(xiàn)[7]提出的多徑RPL協(xié)議工作于IEEE 802.15.4之上。該協(xié)議的目標(biāo)是為數(shù)據(jù)傳輸提供QoS服務(wù)。它采用跨層設(shè)計(jì)的方式實(shí)現(xiàn),構(gòu)造DAG的過(guò)程使用由IEEE 802.15.4層提供的鏈路質(zhì)量信息。普通數(shù)據(jù)仍然使用單徑轉(zhuǎn)發(fā),只有對(duì)延遲敏感的高優(yōu)先級(jí)數(shù)據(jù)才會(huì)以多徑的方式進(jìn)行轉(zhuǎn)發(fā),以保證傳輸質(zhì)量。
文獻(xiàn)[8]提出一種帶時(shí)間因子的擁塞避免多徑路由協(xié)議。由于針對(duì)危險(xiǎn)氣體檢測(cè)的應(yīng)用場(chǎng)景對(duì)數(shù)據(jù)傳輸?shù)臅r(shí)延要求非常嚴(yán)格,因此該協(xié)議設(shè)計(jì)了一種新的路由度量,使發(fā)送至Sink節(jié)點(diǎn)的時(shí)延減到最小。綜合考慮該度量與ETX,rank值及接收數(shù)據(jù)包的個(gè)數(shù),計(jì)算路徑的權(quán)重大小,將其作為多徑路由時(shí)的選擇依據(jù)。
3 CALBM-RPL協(xié)議
如前所述,當(dāng)數(shù)據(jù)包到達(dá)的數(shù)量超過(guò)節(jié)點(diǎn)發(fā)送能力時(shí),便會(huì)產(chǎn)生擁塞。距離Sink節(jié)點(diǎn)較近的節(jié)點(diǎn)、子節(jié)點(diǎn)數(shù)目較多的節(jié)點(diǎn)以及突發(fā)事件發(fā)生處周邊的節(jié)點(diǎn),都會(huì)因?yàn)檗D(zhuǎn)發(fā)的數(shù)據(jù)包較多而發(fā)生擁塞。為了降低擁塞對(duì)網(wǎng)絡(luò)性能帶來(lái)的影響,需要將節(jié)點(diǎn)的擁塞狀況通知其周邊的節(jié)點(diǎn),從而能讓一個(gè)子節(jié)點(diǎn)在其最優(yōu)父節(jié)點(diǎn)發(fā)生擁塞時(shí)選擇其他路徑轉(zhuǎn)發(fā)數(shù)據(jù)包。
本文CALBM-RPL協(xié)議分成擁塞檢測(cè)和擁塞避免兩個(gè)部分。
3.1 擁塞檢測(cè)
CALBM-RPL協(xié)議將緩沖區(qū)的占用率作為擁塞狀況的指標(biāo)。每個(gè)節(jié)點(diǎn)設(shè)定一個(gè)用以計(jì)算緩沖區(qū)占用率的定時(shí)器,定時(shí)器的時(shí)長(zhǎng)設(shè)為發(fā)送DIO消息的最小間隔值Imin(4 s)。每當(dāng)一個(gè)數(shù)據(jù)包到達(dá)時(shí),節(jié)點(diǎn)發(fā)送緩沖區(qū)的大小就會(huì)被累加。定時(shí)器到期時(shí),這段時(shí)間內(nèi)的緩沖區(qū)平均占用率便會(huì)計(jì)算出來(lái)。正常情況下,該指標(biāo)數(shù)值會(huì)在發(fā)送DIO消息時(shí)一并捎帶給周邊的鄰居節(jié)點(diǎn),以避免產(chǎn)生額外的通信負(fù)擔(dān)。然而,如果緩沖區(qū)占用率超過(guò)了設(shè)定的擁塞門(mén)限值,那么一個(gè)用于緊急通知擁塞發(fā)生的DIO消息會(huì)被馬上發(fā)出,以使其子節(jié)點(diǎn)能夠盡快調(diào)整轉(zhuǎn)發(fā)路徑。之所以使用平均占用率而非即時(shí)占用率,是為了避免出現(xiàn)持續(xù)時(shí)間較短的通信量陡變的情形導(dǎo)致網(wǎng)絡(luò)震蕩。
當(dāng)擁塞發(fā)生時(shí),發(fā)送緩沖區(qū)被占滿(mǎn),隨后待發(fā)的數(shù)據(jù)都會(huì)被丟棄。由于節(jié)點(diǎn)發(fā)送的所有數(shù)據(jù)包共用同一塊緩沖區(qū),因此用來(lái)通知周邊節(jié)點(diǎn)已經(jīng)發(fā)生擁塞的DIO消息也會(huì)被丟棄。這種不分優(yōu)先級(jí)的丟棄策略會(huì)導(dǎo)致子節(jié)點(diǎn)繼續(xù)向擁塞的父節(jié)點(diǎn)發(fā)送數(shù)據(jù),繼而導(dǎo)致?lián)砣倪M(jìn)一步惡化,更多的數(shù)據(jù)被丟棄。為了避免這一問(wèn)題,CALBM-RPL協(xié)議中將DIO消息設(shè)置為高優(yōu)先級(jí)。因?yàn)榍罢甙俗钚碌木彌_區(qū)占用率,所以一旦有DIO消息發(fā)送,若緩沖區(qū)已被占滿(mǎn),且已經(jīng)有一個(gè)待發(fā)送的DIO消息,則將用新的DIO消息替換掉舊的;若緩沖區(qū)中無(wú)目的地址為廣播地址的DIO消息,則刪除最后一個(gè)進(jìn)入隊(duì)列的數(shù)據(jù)包,并將其空間分給DIO消息,保證DIO通知消息不會(huì)因?yàn)閾砣粊G棄。
3.2 擁塞避免
每個(gè)節(jié)點(diǎn)在收到鄰居節(jié)點(diǎn)發(fā)來(lái)的DIO消息時(shí),將其中的緩沖區(qū)占用率記錄在該鄰居節(jié)點(diǎn)的屬性中。
每個(gè)節(jié)點(diǎn)在發(fā)送數(shù)據(jù)包時(shí),首先判斷該數(shù)據(jù)包的下一跳節(jié)點(diǎn)是否為自己的最優(yōu)父節(jié)點(diǎn),若是,則檢查最優(yōu)父節(jié)點(diǎn)的緩沖區(qū)占用率是否超過(guò)擁塞門(mén)限。如果超過(guò),則尋找緩沖區(qū)占用率小于擁塞門(mén)限的次優(yōu)父節(jié)點(diǎn)。找到后,子節(jié)點(diǎn)會(huì)將該節(jié)點(diǎn)設(shè)為數(shù)據(jù)包的下一跳并進(jìn)行發(fā)送。如此,協(xié)議便增加了發(fā)送路徑,實(shí)現(xiàn)多徑傳輸與負(fù)載均衡,從而達(dá)到提高吞吐量與數(shù)據(jù)傳輸成功率的目的。
4 性能評(píng)估
4.1 仿真模型及參數(shù)
為了測(cè)試CALBM-RPL協(xié)議的性能,在Cooja[9]模擬器上進(jìn)行仿真與評(píng)估。Cooja是運(yùn)行于Contiki[10]之上基于Java編寫(xiě)的無(wú)線(xiàn)傳感網(wǎng)絡(luò)模擬器,是一個(gè)能在真實(shí)硬件設(shè)備上運(yùn)行的物聯(lián)網(wǎng)微操作系統(tǒng),具有開(kāi)源、可移植、多任務(wù)、支持6LoWPAN等特性,在科研和商用領(lǐng)域都有著廣泛應(yīng)用。本文采用Cooja模擬環(huán)境的相關(guān)參數(shù)見(jiàn)表1所列。
考慮到真實(shí)應(yīng)用中的不同場(chǎng)景,分別在格狀排列和隨機(jī)排列兩種場(chǎng)景中進(jìn)行協(xié)議測(cè)試。兩個(gè)場(chǎng)景的拓?fù)浣Y(jié)構(gòu)分別如圖1、圖2所示。兩種場(chǎng)景中都有三種類(lèi)型的節(jié)點(diǎn):1個(gè)Sink節(jié)點(diǎn),位于網(wǎng)絡(luò)一角;25個(gè)低頻率發(fā)送數(shù)據(jù)節(jié)點(diǎn),每分鐘分別向Sink節(jié)點(diǎn)發(fā)送1個(gè)數(shù)據(jù)包;5個(gè)高頻率發(fā)送數(shù)據(jù)節(jié)點(diǎn),用以模擬由于檢測(cè)到某種事件的發(fā)生而向Sink節(jié)點(diǎn)密集發(fā)送通知信息,位于網(wǎng)絡(luò)中Sink節(jié)點(diǎn)的對(duì)角處,分別在0.5個(gè)/s,
1個(gè)/s,2個(gè)/s,4個(gè)/s的發(fā)送頻率下進(jìn)行測(cè)試。為了保證結(jié)果的準(zhǔn)確性,每種測(cè)試都以隨機(jī)的初始種子值運(yùn)行10次然后取平均值作為實(shí)驗(yàn)結(jié)果。
為了全面評(píng)估CALBM-RPL協(xié)議,分別從傳輸成功率、端到端時(shí)延和能量消耗等三個(gè)方面進(jìn)行分析,并與標(biāo)準(zhǔn)RPL進(jìn)行性能比較。為了簡(jiǎn)化描述,格狀拓?fù)湓谛阅軐?duì)比圖中以“G-”標(biāo)注表示,隨機(jī)拓?fù)涞臉?biāo)注則以“R-” 標(biāo)注表示。
4.2 仿真結(jié)果分析
4.2.1 數(shù)據(jù)傳輸成功率
Sink節(jié)點(diǎn)在兩種場(chǎng)景不同發(fā)送頻率下接收數(shù)據(jù)包的傳輸成功率如圖3所示。從圖3的數(shù)據(jù)可以看出,CALBM-RPL協(xié)議在兩種場(chǎng)景中傳輸成功率都優(yōu)于標(biāo)準(zhǔn)RPL協(xié)議。其中,在格狀拓?fù)湎聰?shù)據(jù)包以2個(gè)/s的頻率發(fā)送時(shí),CALBM-RPL較標(biāo)準(zhǔn)RPL高出54%。同時(shí),格狀拓?fù)渲杏捎谔娲穆窂礁喽入S機(jī)拓?fù)鋼碛懈玫膫鬏敵晒β?,并且伴隨事件檢測(cè)節(jié)點(diǎn)發(fā)送頻率的升高,傳輸成功率會(huì)由于擁塞逐漸嚴(yán)重而相應(yīng)降低。
4.2.2 端到端時(shí)延
在事件監(jiān)測(cè)節(jié)點(diǎn)數(shù)據(jù)包以4個(gè)/s的頻率發(fā)送時(shí),數(shù)據(jù)到達(dá)Sink節(jié)點(diǎn)的端到端時(shí)延情況如圖4所示。由圖4可知,兩種場(chǎng)景下CALBM-RPL協(xié)議較標(biāo)準(zhǔn)RPL的傳輸時(shí)延更大,因?yàn)樽顑?yōu)父節(jié)點(diǎn)發(fā)生擁塞后,數(shù)據(jù)要選擇次優(yōu)父節(jié)點(diǎn)進(jìn)行轉(zhuǎn)發(fā),導(dǎo)致這些數(shù)據(jù)需要經(jīng)過(guò)ETX較差的鏈路或者更多的跳數(shù)才能到達(dá)Sink,從而增加了時(shí)延。這是提高數(shù)據(jù)傳輸率所付出的代價(jià)。
此外,格狀拓?fù)鋱?chǎng)景下平均端到端時(shí)延明顯少于隨機(jī)拓?fù)鋱?chǎng)景,這是由于隨機(jī)場(chǎng)景下傳感節(jié)點(diǎn)距Sink節(jié)點(diǎn)的跳數(shù)更多所致。
4.2.3 能量消耗
在不同發(fā)送頻率下兩種協(xié)議每比特平均傳輸能耗如圖5所示,該指標(biāo)通過(guò)在模擬時(shí)間內(nèi)總的能耗除以總發(fā)送及接收比特?cái)?shù)計(jì)算而得。由圖5可知,雖然CALBM-RPL協(xié)議會(huì)在擁塞發(fā)生時(shí)以多路徑的方式進(jìn)行傳輸,但是并未帶來(lái)能量消耗的大幅提高,反而比標(biāo)準(zhǔn)RPL還要略低一點(diǎn)。這是由于CALBM-RPL較高的傳輸成功率使其丟失的數(shù)據(jù)包相對(duì)較少,從而減少了中間節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù)時(shí)由于丟失導(dǎo)致的能量浪費(fèi)。
5 結(jié) 語(yǔ)
本文提出擁塞感知負(fù)載均衡多徑RPL,該算法將緩沖區(qū)占用率引入數(shù)據(jù)轉(zhuǎn)發(fā)過(guò)程,在最優(yōu)父節(jié)點(diǎn)的緩沖區(qū)占用率超過(guò)設(shè)定門(mén)限值后觸發(fā)負(fù)載均衡機(jī)制,將一定的流量分發(fā)給次優(yōu)父節(jié)點(diǎn),通過(guò)增加路徑減輕最優(yōu)父節(jié)點(diǎn)的轉(zhuǎn)發(fā)壓力,從而達(dá)到提高PDR和網(wǎng)絡(luò)性能的目的。仿真結(jié)果表明,該協(xié)議的數(shù)據(jù)傳輸率明顯提升,并且保持能量消耗基本不變,但同時(shí)也付出了端到端時(shí)延增加的代價(jià)。因此,該協(xié)議適用于需要高傳輸率而對(duì)時(shí)延性能要求不嚴(yán)的場(chǎng)景。未來(lái)計(jì)劃進(jìn)一步擴(kuò)展該協(xié)議功能,使其支持移動(dòng)節(jié)點(diǎn)和多Sink場(chǎng)景。
參考文獻(xiàn)
[1] KUSHALNAGAR N,MONTENEGRO G,SCHUMACHER C.IPv6 over Low-Power Wireless Personal Area Networks(6LoWPANs):overview,assumptions,problem statement,and goals [J].Heise Zeitschriften Verlag ,2007.
[2] IEEE 802.15.4-2011:IEEE standard for local and metropolitan area networks – Part.15.4:Wireless Medium Access Control(MAC)and Physical Layer(PHY)Specifications for Low-Rate Wireless Personal Area Networks(LR-WPANs)[S].Standard for Information Technology,2011.
[3] WINTER T,THUBERT P,BRANDT A,et al.RPL:IPv6 routing protocol for low power and lossy networks,RFC 6550[S].IETF,2012.
[4] LI B,CHUANG P.Efficient multimedia transmission in wireless sensor networks[C]// Intelligent Signal Processing and Communications Systems(ISPACS),Taiwan,2012.
[5] LIU X,GUO J,BHATTI G,et al.Load balanced routing for low power and lossy networks[C]// Proceedings of Wireless Communications and Networking Conference(WCNC),China,2013.
[6] XU G,LU G.Multipath routing protocol for DAG-based WSNs with mobile sinks[C]// Proceedings of the 2nd International Conference on Computer Science and Electronics Engineering(ICCSEE),China,2013.
[7] PAVKOVI B,THEOLEYRE F,DUDA A.Multipath opportunistic RPL routing over IEEE 802.15.4[C]// Proceedings of the 14th ACM International Conference on Modeling,Analysis and Simulation,USA,2011.
[8] TANG W,MA X,HUANG J,et al.Toward improved RPL:a congestion avoidance multipath routing protocol with time factor for wireless sensor networks[J].Journal of sensors,2016(7):1-7.
[9] OSTERLIND F,DUNKELS A,ERIKSSON J,et al.Cross-Level sensor network simulation with COOJA[C]// Local computer networks,proceedings 2006 31st IEEE conference,2006.
[10] DUNKELS A,GRONVALL B,VOIGT T.Contiki - a lightweight and flexible operating system for tiny networked sensors[C]// Proceedings of the IEEE workshop on embedded networked sensors,USA,2004.