馮 濤,崔炳德,辛 晨,張煥生
(河北水利電力學院計算機科學與信息工程學院,河北 滄州 061001)
隨著物聯網(Internet of Things,IoT)[1]的快速發展,無線傳感網絡(Wireless Sensor Networks,WSNs)的作用日益突出。WSNs 是由低功耗、具有感知能力的微型節點組成,已在康復醫療、戰場感知和軍事管理等領域內廣泛使用。
因特網工程任務組(Internet Engineering Task Force,IETF)為WSNs 的連接Internet 制定了標準:低功率低損耗網絡路由協議(Routing Protocol for Low Power and Lossy Network,RPL)[2]。作為6LoWPAN 默認的路由協議,RPL 使WSNs 通過RPL 邊界網關獲取Internet 服務,進而使WSNs 與Internet 間呈現雙向通信。
WSNs 中的傳感節點需不斷地向Internet 傳輸數據,進而滿足用戶的需求,如智慧農業、智能交通、智能家居等[3-4]。海量的數據傳輸增加了承擔轉發數據任務中間節點的擁塞。擁塞使數據包傳輸率下降,最終降低系統吞吐量[5-6]。此外,由于擁塞、數據包的重傳,增加了節點的能量消耗,延長了數據包傳輸的時延,因此,需有效地控制擁塞。
信道占用和緩存區的使用是造成網絡擁塞的兩個主要因素。并且信道和緩存區的擁塞導致網絡內大量數據包的丟失,因此,擁塞控制機制需關注緩存區的使用情況和信道的占用問題。
現存的擁塞控制策略可分為兩類:流量控制[5-6]和資源控制[7-8]。文獻[7-8]為成功傳輸一個數據包,在源節點與目的節點間建立非擁塞路徑,該策略屬資源控制。相反,文獻[9]采用了流量控制,其通過源節點自適應地調整數據發送率,進而緩解擁塞。
為此,針對6LoWPAN 提出基于非協作博弈論的能效擁塞控制(Non-cooperative Gaming for Energy-efficient Congestion Control,NGECC) 策略。NGECC 策略利用緩存區信息和信道占用情況優化葉節點的數據發送率,同時,將能耗參數納入葉節點的收益函數,優化節點的傳輸速率,進而控制擁塞,最終提高數據包傳遞率,降低能耗。
考慮基于6LoWPAN 通信系統,采用IEEE 802.15.4 媒介接入控制(Medium Access Control,MAC)協議。系統內的節點分為3 類:信宿、中間節點或父節點以及葉節點。葉節點以其盡可能大的數據率,通過父節點向信宿傳輸數據包。

圖1 網絡拓撲




圖2 緩存區


圖3 狀態轉換示意圖

最終,可依式(7)計算緩存區-損失率:

依據文獻[10],信道接入失敗和重傳受限使數據包傳輸失敗。首先,依據式(8)計算信道接入失敗的概率Pch-failure:

式中,Pch-busy表示信道處于忙碌狀態的概率,Pcollision表示數據包遭遇傳輸碰撞的概率,x 表示允許的最大退避的次數[10],y 表示允許最大重傳的次數[10]。式(9)給出了傳輸數據包遭遇重傳受限而丟失的概率Pretl:

最后,信道-損失率等于Pch-failure與Pcollision的相加,如式(10)所示:


圖4 NGECC 策略的框架




圖5 博弈論的3 個元素

對于博弈論G 中的Nash 等式平衡點[11],保持Ui的凹性是十分必要的。
考慮3 個成本函數:擁塞函數Ci、能量函數Ei和節點優先級函數Qi。擁塞函數Ci反映了葉節點(玩家)所采取的策略對其父節點ρk的擁塞情況,其定義如式(12)所示:

而能量函數Ei反映了葉節點所選用的數據發送率對父節點能耗的影響,其定義如式(13)所示:

每個玩家均試圖最大化自己的收益函數,因此,可建立約束的非線性優化問題表達式:


引用ContikiOS 3.0[12]操作系統和Cooja[13]仿真器建立仿真平臺。具體的仿真參數如表1 所示。此外,4 個權重系數的值設置為:w1=15、w2=7、w3=0.5、w4=0.9,,Pch-busy=0.05、Pcollision=0.05、Cp=250 kb/s。

表1 仿真參數
此外,選擇同類的算法GTCCF[14]、OHCA[15]和默認策略的RPL 作為參照,并分析它們的吞吐量、數據包傳輸率、能耗以及傳輸時延。
首先分析父節點和信宿端的吞吐量,如圖6 所示。圖6(a)顯示了4 個父節點的吞吐量。從圖6(a)可知,相比于GTCCF、OHCA 和RPL-default,NGECC算法獲取高的吞吐量。
圖6(b)給出了NGECC、GTCCF、OHCA 和RPLdefault 4 個路由的信宿的吞吐量。從圖6(b)可知,NGECC 路由獲取的吞吐量最大,相比GTCCF、OHCA 和RPL-default,NGECC 路由吞吐量的平均值分別提高了近69.7%、22.2%和159.5%。

圖6 吞吐量
數據包傳遞率是衡量路由傳輸數據包成功的重要指標,其等于成功傳輸的數據包數與總的傳輸數據包數之比。圖7 顯示了NGECC、GTCCF、OHCA和RPL-default 4 個路由的平均數據包傳遞率。
從圖7 可知,相比于GTCCF、OHCA 和RPLdefault,NGECC 路由獲取最高的數據包傳遞率,其平均數據包傳遞率接近于0.89。而GTCCF、OHCA和RPL-default 路由的平均數據包傳遞率分別約0.64、0.82、0.42。

圖7 數據包傳遞率
本次實驗分析傳輸單個數據包所消耗的能量,其定義如式(20)所示:


圖8 傳輸單個數據包所消耗的平均能量
圖8 顯示了NGECC、GTCCF、OHCA 和RPLdefault 4 個路由的傳輸單個數據包所消耗的能量(簡稱單數據包能耗)。從圖8 可知,NGECC 路由傳輸單個數據包所消耗的能量最小,約8.6 m J/packet。而GTCCF、OHCA 和RPL-default 路由傳輸單個數據包所消耗的能量分別為19.1 m J/packet、11.6 m J/packet 和29.1 mJ/packet。
最后,分析NGECC 路由的數據包傳輸時延,其等于60 s 時間間隔與向信宿成功傳輸的數據包數之比,如圖9 所示。

圖9 傳輸時延
從圖9 可知,NGECC 路由的傳輸時延最低,約14.6 ms,分別比GTCCF、OHCA、RPL-default 路由的傳輸時延下降約42.4%和20.6%、61.5%。GTCCF、OHCA、RPL-default 路由平均傳輸時延分別約25.3 ms、18.4 ms、37.9 ms。
本文提出NGECC 策略控制6LoWPAN 的流量控制,進而最大化傳感節點的發送速率。NGECC 策略利用博弈論優化葉節點的發送速率,進而降低父節點端發生擁塞的概率。通過信道占用和緩存區的使用狀況信息構建博弈論目標函數,進而建立每個葉節點的收益函數。仿真結果表明,提出的NGECC 策略提高了數據包傳遞率和吞吐量,并減少了能耗。