王喜軍,高士娟
(鄭州工業應用技術學院 信息工程學院,河南 鄭州 451150)
在物聯網(Internet of things,IoT)中,各物體相互通信或它們各自接入網絡。其中,嵌入式終端可穿戴傳感節點是典型的移動設備。這些節點已廣泛應用于健康醫療,實現對病人身體信息的跟蹤。這些應用必須支持物體移動以及突發業務[1]。
在移動感知環境,傳感節點常附屬于人體、動物或其它物體上,再感測數據。一旦接入到無線媒介[2],傳感節點就以突發方式傳輸數據。媒體接入控制(medium access control,MAC)層負責節點間通信以及記錄能量消耗。在IoT和無線傳感網絡(wireless sensor networks,WSNs)中,MAC層也負責對無線電設備的開、關切換。這些工作調休制度有利于能量消耗與網絡性能間的平衡。
盡管基于移動設備應用迅速增長,但是近期的IETF 6TiSCH工作委員會仍只關注靜態網絡[3]。在這些網絡中,拓撲是固定的。此外,盡管現存大量的MAC協議[4,5],但它們并沒有關注移動節點的問題以及突發業務流量。
為此,本文提出面向物聯網中的支持節點移動的MAC(mobility-supporting MAC,MS-MAC)協議。MS-MAC協議充分考慮了節點的移動性,并利用節點密度和距離信息選擇下一跳轉發節點。同時,利用競爭避免算法解決隱藏終端問題。實驗結果表明,提出的MS-MAC能夠有效地建立通信連接,降低了路由跳數和傳輸時延。
MS-MAC考慮混合網絡結構:移動節點和靜態節點組成。同時假定移動節點不參與路由,即不參與路由中的數據包轉發。移動節點通過發送控制包,發現鄰居節點,然后再建立點到點的通信鏈路。
現在的多數MAC協議常采用隨機方式選擇靜態節點作為移動節點轉發數據包的下一跳節點,如ME-ContikiMAC。這種策略可能會增加端到端的傳輸時延,也提高了能耗[6]。
如圖1所示,假定移動節點有n個數據包需要向信宿傳輸。移動節點的傳輸范圍內有4個靜態節點,分別為RX1、RX2、RX3和RX4,它們離信宿由1、2、3和2跳。若采用隨機方式選擇下一跳節點,若移動節點選擇了RX3,它離信宿有3跳。顯然,移動節點選擇了一條最長的距離傳輸數據包,這增加了傳輸時延。

圖1 隨機選擇下一跳
為此,MS-MAC引用節點權值選擇下一跳轉發節點,同時引用競爭避免算法,解決信道競爭問題。
MS-MAC算法提供有選擇性和有效性鄰居發現機制,同時,也支持動態和突發數據流。由于移動節點的固定特性,MS-MAC算法假定移動節點無法感知周圍的靜態節點和這些靜態節點離信宿的距離。同時,移動節點與靜態節點交互信息,進而獲取低時延。MS-MAC算法主要由鄰居發現和在突發時隙傳輸數據數據包。
MS-MAC的鄰居發現過程如圖2所示。首先,移動節點(傳輸節點TX)在預定時期(preamble period),以組播傳輸方式重復傳輸控制包,進而確保在移動節點傳輸范圍內的節點均能成功接收控制包。注意,這些控制包無需轉發。此外,每個控制包內攜入當前preamble period的剩余時間TXremaining。

圖2 MS-MAC算法模型
一旦接收了控制包,節點就回復確認包ACK,其包含了自己ID號和相關的度量(鏈路質量指標、到基站的最少跳數和剩余能量)。一旦回復了ACK包,節點就關閉無線電進入休眠階段,且休眠時間為TXremaining。一旦TXremaining到達了,就喚醒,并準備接收數據包,如圖3所示。

圖3 控制包的交互過程
當移動節點接收鄰居節點回復的ACKs包后,就從這些包中提取信息。這些節點就是移動節點的鄰居節點,移動節點再依據這些信息決策下一跳轉發節點。MS-MAC算法是基于低時延指標選擇靜態節點,并由此靜態節點轉發數據包。
針對轉發策略均采用隨機方式選擇轉發節點,如圖1所示。顯然這種方式可能造成大的傳輸時延。為此,MS-MAC算法先收集節點局部密度和距離信息,再計算節點轉發權值,然后擇優選擇轉發節點。
節點i的轉發權值Pi,定義如式(1)所示
(1)
其中,ρi表示節點i的局部密度,而ρaverage表示網絡平均密度。D(TX,sink)、D(i,sink)表示發送節點離信宿距離、節點i離信宿節點距離。
式(1)引用權重參數ω。式(1)的右邊第一項反映節點密度,而第二項反映了距離。權重參數ω控制了節點密度和距離對權值的比重。MS-MAC協議假定節點密度和距離對權值具有相同的比重,即ω=0.5。
如圖4所示,TX作為發送節點,而RX1、RX2和RX3為接收節點。當RX1、RX2和RX3一旦接收到TX的控制包,就計算自己權值,并把權值載入ACK包,傳輸至TX。

圖4 數據包傳輸
TX接收了鄰居節點回復的ACK包后,就向這些節點傳輸數據包。一旦接收了數據包,節點就依據權值設置定時器。權值越大,定時時間越短。一旦定時時間完畢,節點就轉發數據包,并向TX回復ACK包。而其它節點一旦監聽到已有轉發了數據包,節點就丟失數據,并且關閉無線射頻單元,進而保存能量。
節點i的定時時間Timeri定義如式(2)所示

(2)

如圖4所示,節點RX1、RX2和RX3均接收到來自TX的控制包,假定RX2的權值最大,則其定時時間最短,因此,RX2轉發數據包,并向TX回復ACK。
當網絡內有兩個或以上的節點同時發送數據時,它們就競爭接入媒介,可能出現碰撞。受T-AAD[7]啟發,MS-MAC算法引用競爭避免算法(contention avoidance algorithm,CAA)消除信道競爭和終端隱蔽問題。
為此,在每個數據包Data內嵌入隊列長度信息。周圍媒體接入競爭者通過監聽這些信息,可以估計突發傳輸的總體時間,最后,就可估計自己的休眠時間
Twait=Qlen(TXtime+ACKtime)(1+Merr)+Tack
(3)
其中,Qlen表示移動節點希望傳輸的數據包數。而TXtime、ACKtime分別表示成功交互數據包Data和ACK包的時間間隔。
為了確保Ttime時間至少大于MAC重傳時間,在式(1)中添加了一項Merr。由于外界干擾,引用Merr處理潛在數據包重傳。參數Merr的值取決于當前網絡條件[7]。
如圖5所示,TX1和TX2同時向RX發送數據。假定TX1、TX2分別有5、n個數據包傳輸。若它們同時傳輸數據,必然會產生相互干擾,甚至數據碰撞。為了克服這個問題,TX1發送的Data包中攜入該發送節點需要傳輸的數據包。而隱藏終端節點TX2通過監聽Data包,就能計算它需要等待的時間,并且在這段時間內關閉無線射頻信號。

圖5 競爭避免算法
引用NS3[8]網絡仿真器建立仿真平臺。考慮40個固定節點均勻地分布于50m×40m區域,且8個移動節點隨機分布于此區域。同時,引用隨機移動模型。仿真過程中引用3類移動速度。低速:從0.5 m/s至2 m/s,這代表步行速度;中速:從2 m/s至8 m/s,這代表典型的慢跑速度;高速:從8 m/s至12 m/s,這代表騎車速度。
此外,數據包大小為32 bytes,數據包傳輸率為每120 s 32個數據包。為上更好地分析MS-MAC協議,引用MOBINET[9]、MoX-MAC[10]和ME-ContikiMAC[2]作為參照,與MS-MAC進行同步仿真,并進行性能比較,性能包括流量、時延、能量消耗以及數據包傳遞可靠性。
首先分析流量業務隨節點移動速度變化情況,實驗數據如圖6所示。

圖6 業務流量
從圖6可知,MS-MAC的業務流量優于同類的其它協議。圖6(a)數據表明,MS-MAC協議的平均跳數最少,原因在于MS-MAC協議利用將節點距離融入節點權值,擇優選擇離信宿距離近的節點作為數據包的下一跳轉發節點,這有利于減少傳輸跳數。
圖6(b)顯示了數據包傳輸次數,從圖可知,MS-MAC協議的傳輸次數最小。這也充分說明MS-MAC控制了開鎖,縮短了數據包傳輸路徑。
圖7顯示了4個協議的端到端傳輸時延。此傳輸時延包括信道接入時延、信道退避時間。從圖7可知,MS-MAC的傳輸時延最低,這與圖6的數據相同。由于MS-MAC協議降低了傳輸跳數,進而縮短了傳輸時延。此外,MS-MAC協議引用競爭避免算法,提高了數據包傳輸流暢性。

圖7 端到端傳輸時延
最后,分析每傳輸一個數據包所消耗的能量,如圖8所示。從圖8可知,MS-MAC協議消耗能量最低。與MOBINET、MoX-MAC、ME-ContikiMAC相比,MS-MAC算法的能耗分別下降了51%、45%、6%。這要歸功于MS-MAC算法減少了傳輸跳數(圖7)。而MoX-MAC和MOBINET協議沒有引用競爭避免算法,提高了競爭率,這必然增加數據包重傳次數,最終提高了節點能耗。

圖8 能量消耗
針對移動物聯網的日益發展,提出基于面向物聯網中的支持節點移動的MAC協議MS-MAC。MS-MAC協議充分考慮到節點移動性。MS-MAC首先通過控制包的交互發現鄰居,然后再依據節點密度和距離信息,選擇下一跳轉發節點。同時,引用競爭避免算法,解決終端隱藏問題。實驗數據表明,提出的MS-MAC協議縮短了傳輸跳數,降低了端到端傳輸時延,也減少了節點能耗。
參考文獻:
[1]Dargie W,Wen J.A seamless handover for WSN using LMS filter[C]//Proceedings of the 39th IEEE Conference on Local Computer Networks.Singapore,2014:287-288.
[2]Papadopoulos G Z,Kotsiou V,Gallais A,et al.Wireless medium access control under mobility and bursty traffic assumptions in WSNs[J].Springer Mobile Networks and Applications,2015,20(5):649-660.
[3]IEEE standard for low-rate wireless personal area networks (LR-WPANs)[S].IEEE Std 802.15.4-2015 (Revision of IEEE Std 802.15.4-2011),2016.
[4]Papadopoulos G Z.Improving medium access in dynamic wireless sensor networks[D].Strasbourg:University of Strasbourg,2015.
[5]Silva R,Silva J S,Boavida F.Mobility in wireless sensor networks-survey and proposal[J].Computer Communications,2014,52(5):1-20.
[6]Papadopoulos G Z,Kotsiou V,Gallais A,et al.Low-power neighbor discovery for mobility-aware wireless sensor networks[J].Elsevier Ad Hoc Networks,2016,48(6):66-79.
[7]Papadopoulos G Z,Beaudaux J,Gallais A,et al.T-AAD:Lightweight traffic autoadaptations for low-power MAC protocols[C]//Proceedings of the 13th IEEE IFIP Annual Mediterranean Ad Hoc Networking Workshop,2014:79-86.
[8]Kim B,Lee D,Choi T.Performance evaluation for Modbus/TCP using network simulator NS3[C]//IEEE Region 10 Conference, 2015:1-6.
[9]Cheng Long,Niu Jian,Mario Di Francesco.Seamless strea-ming data delivery in cluster-based wireless sensor networks with mobile elements[J].IEEE Systems Journal,2016,10(2):801-816.
[10]Ba P D,Niang I,Gueye B.An optimized and power savings protocol for mobility energy-aware in wireless sensor networks[J].Telecommunications Systems,2014,55(2):271-280.