馮 濤,崔炳德,辛 晨,張煥生
(河北水利電力學(xué)院計(jì)算機(jī)科學(xué)與信息工程學(xué)院,河北 滄州 061001)
隨著物聯(lián)網(wǎng)(Internet of Things,IoT)[1]的快速發(fā)展,無(wú)線傳感網(wǎng)絡(luò)(Wireless Sensor Networks,WSNs)的作用日益突出。WSNs 是由低功耗、具有感知能力的微型節(jié)點(diǎn)組成,已在康復(fù)醫(yī)療、戰(zhàn)場(chǎng)感知和軍事管理等領(lǐng)域內(nèi)廣泛使用。
因特網(wǎng)工程任務(wù)組(Internet Engineering Task Force,IETF)為WSNs 的連接Internet 制定了標(biāo)準(zhǔn):低功率低損耗網(wǎng)絡(luò)路由協(xié)議(Routing Protocol for Low Power and Lossy Network,RPL)[2]。作為6LoWPAN 默認(rèn)的路由協(xié)議,RPL 使WSNs 通過(guò)RPL 邊界網(wǎng)關(guān)獲取Internet 服務(wù),進(jìn)而使WSNs 與Internet 間呈現(xiàn)雙向通信。
WSNs 中的傳感節(jié)點(diǎn)需不斷地向Internet 傳輸數(shù)據(jù),進(jìn)而滿足用戶的需求,如智慧農(nóng)業(yè)、智能交通、智能家居等[3-4]。海量的數(shù)據(jù)傳輸增加了承擔(dān)轉(zhuǎn)發(fā)數(shù)據(jù)任務(wù)中間節(jié)點(diǎn)的擁塞。擁塞使數(shù)據(jù)包傳輸率下降,最終降低系統(tǒng)吞吐量[5-6]。此外,由于擁塞、數(shù)據(jù)包的重傳,增加了節(jié)點(diǎn)的能量消耗,延長(zhǎng)了數(shù)據(jù)包傳輸?shù)臅r(shí)延,因此,需有效地控制擁塞。
信道占用和緩存區(qū)的使用是造成網(wǎng)絡(luò)擁塞的兩個(gè)主要因素。并且信道和緩存區(qū)的擁塞導(dǎo)致網(wǎng)絡(luò)內(nèi)大量數(shù)據(jù)包的丟失,因此,擁塞控制機(jī)制需關(guān)注緩存區(qū)的使用情況和信道的占用問(wèn)題。
現(xiàn)存的擁塞控制策略可分為兩類:流量控制[5-6]和資源控制[7-8]。文獻(xiàn)[7-8]為成功傳輸一個(gè)數(shù)據(jù)包,在源節(jié)點(diǎn)與目的節(jié)點(diǎn)間建立非擁塞路徑,該策略屬資源控制。相反,文獻(xiàn)[9]采用了流量控制,其通過(guò)源節(jié)點(diǎn)自適應(yīng)地調(diào)整數(shù)據(jù)發(fā)送率,進(jìn)而緩解擁塞。
為此,針對(duì)6LoWPAN 提出基于非協(xié)作博弈論的能效擁塞控制(Non-cooperative Gaming for Energy-efficient Congestion Control,NGECC) 策略。NGECC 策略利用緩存區(qū)信息和信道占用情況優(yōu)化葉節(jié)點(diǎn)的數(shù)據(jù)發(fā)送率,同時(shí),將能耗參數(shù)納入葉節(jié)點(diǎn)的收益函數(shù),優(yōu)化節(jié)點(diǎn)的傳輸速率,進(jìn)而控制擁塞,最終提高數(shù)據(jù)包傳遞率,降低能耗。
考慮基于6LoWPAN 通信系統(tǒng),采用IEEE 802.15.4 媒介接入控制(Medium Access Control,MAC)協(xié)議。系統(tǒng)內(nèi)的節(jié)點(diǎn)分為3 類:信宿、中間節(jié)點(diǎn)或父節(jié)點(diǎn)以及葉節(jié)點(diǎn)。葉節(jié)點(diǎn)以其盡可能大的數(shù)據(jù)率,通過(guò)父節(jié)點(diǎn)向信宿傳輸數(shù)據(jù)包。
圖1 網(wǎng)絡(luò)拓?fù)?/p>
圖2 緩存區(qū)
圖3 狀態(tài)轉(zhuǎn)換示意圖
最終,可依式(7)計(jì)算緩存區(qū)-損失率:
依據(jù)文獻(xiàn)[10],信道接入失敗和重傳受限使數(shù)據(jù)包傳輸失敗。首先,依據(jù)式(8)計(jì)算信道接入失敗的概率Pch-failure:
式中,Pch-busy表示信道處于忙碌狀態(tài)的概率,Pcollision表示數(shù)據(jù)包遭遇傳輸碰撞的概率,x 表示允許的最大退避的次數(shù)[10],y 表示允許最大重傳的次數(shù)[10]。式(9)給出了傳輸數(shù)據(jù)包遭遇重傳受限而丟失的概率Pretl:
最后,信道-損失率等于Pch-failure與Pcollision的相加,如式(10)所示:
圖4 NGECC 策略的框架
圖5 博弈論的3 個(gè)元素
對(duì)于博弈論G 中的Nash 等式平衡點(diǎn)[11],保持Ui的凹性是十分必要的。
考慮3 個(gè)成本函數(shù):擁塞函數(shù)Ci、能量函數(shù)Ei和節(jié)點(diǎn)優(yōu)先級(jí)函數(shù)Qi。擁塞函數(shù)Ci反映了葉節(jié)點(diǎn)(玩家)所采取的策略對(duì)其父節(jié)點(diǎn)ρk的擁塞情況,其定義如式(12)所示:
而能量函數(shù)Ei反映了葉節(jié)點(diǎn)所選用的數(shù)據(jù)發(fā)送率對(duì)父節(jié)點(diǎn)能耗的影響,其定義如式(13)所示:
每個(gè)玩家均試圖最大化自己的收益函數(shù),因此,可建立約束的非線性優(yōu)化問(wèn)題表達(dá)式:
引用ContikiOS 3.0[12]操作系統(tǒng)和Cooja[13]仿真器建立仿真平臺(tái)。具體的仿真參數(shù)如表1 所示。此外,4 個(gè)權(quán)重系數(shù)的值設(shè)置為:w1=15、w2=7、w3=0.5、w4=0.9,,Pch-busy=0.05、Pcollision=0.05、Cp=250 kb/s。
表1 仿真參數(shù)
此外,選擇同類的算法GTCCF[14]、OHCA[15]和默認(rèn)策略的RPL 作為參照,并分析它們的吞吐量、數(shù)據(jù)包傳輸率、能耗以及傳輸時(shí)延。
首先分析父節(jié)點(diǎn)和信宿端的吞吐量,如圖6 所示。圖6(a)顯示了4 個(gè)父節(jié)點(diǎn)的吞吐量。從圖6(a)可知,相比于GTCCF、OHCA 和RPL-default,NGECC算法獲取高的吞吐量。
圖6(b)給出了NGECC、GTCCF、OHCA 和RPLdefault 4 個(gè)路由的信宿的吞吐量。從圖6(b)可知,NGECC 路由獲取的吞吐量最大,相比GTCCF、OHCA 和RPL-default,NGECC 路由吞吐量的平均值分別提高了近69.7%、22.2%和159.5%。
圖6 吞吐量
數(shù)據(jù)包傳遞率是衡量路由傳輸數(shù)據(jù)包成功的重要指標(biāo),其等于成功傳輸?shù)臄?shù)據(jù)包數(shù)與總的傳輸數(shù)據(jù)包數(shù)之比。圖7 顯示了NGECC、GTCCF、OHCA和RPL-default 4 個(gè)路由的平均數(shù)據(jù)包傳遞率。
從圖7 可知,相比于GTCCF、OHCA 和RPLdefault,NGECC 路由獲取最高的數(shù)據(jù)包傳遞率,其平均數(shù)據(jù)包傳遞率接近于0.89。而GTCCF、OHCA和RPL-default 路由的平均數(shù)據(jù)包傳遞率分別約0.64、0.82、0.42。
圖7 數(shù)據(jù)包傳遞率
本次實(shí)驗(yàn)分析傳輸單個(gè)數(shù)據(jù)包所消耗的能量,其定義如式(20)所示:
圖8 傳輸單個(gè)數(shù)據(jù)包所消耗的平均能量
圖8 顯示了NGECC、GTCCF、OHCA 和RPLdefault 4 個(gè)路由的傳輸單個(gè)數(shù)據(jù)包所消耗的能量(簡(jiǎn)稱單數(shù)據(jù)包能耗)。從圖8 可知,NGECC 路由傳輸單個(gè)數(shù)據(jù)包所消耗的能量最小,約8.6 m J/packet。而GTCCF、OHCA 和RPL-default 路由傳輸單個(gè)數(shù)據(jù)包所消耗的能量分別為19.1 m J/packet、11.6 m J/packet 和29.1 mJ/packet。
最后,分析NGECC 路由的數(shù)據(jù)包傳輸時(shí)延,其等于60 s 時(shí)間間隔與向信宿成功傳輸?shù)臄?shù)據(jù)包數(shù)之比,如圖9 所示。
圖9 傳輸時(shí)延
從圖9 可知,NGECC 路由的傳輸時(shí)延最低,約14.6 ms,分別比GTCCF、OHCA、RPL-default 路由的傳輸時(shí)延下降約42.4%和20.6%、61.5%。GTCCF、OHCA、RPL-default 路由平均傳輸時(shí)延分別約25.3 ms、18.4 ms、37.9 ms。
本文提出NGECC 策略控制6LoWPAN 的流量控制,進(jìn)而最大化傳感節(jié)點(diǎn)的發(fā)送速率。NGECC 策略利用博弈論優(yōu)化葉節(jié)點(diǎn)的發(fā)送速率,進(jìn)而降低父節(jié)點(diǎn)端發(fā)生擁塞的概率。通過(guò)信道占用和緩存區(qū)的使用狀況信息構(gòu)建博弈論目標(biāo)函數(shù),進(jìn)而建立每個(gè)葉節(jié)點(diǎn)的收益函數(shù)。仿真結(jié)果表明,提出的NGECC 策略提高了數(shù)據(jù)包傳遞率和吞吐量,并減少了能耗。