王喜軍,高士娟
(鄭州工業(yè)應(yīng)用技術(shù)學(xué)院 信息工程學(xué)院,河南 鄭州 451150)
在物聯(lián)網(wǎng)(Internet of things,IoT)中,各物體相互通信或它們各自接入網(wǎng)絡(luò)。其中,嵌入式終端可穿戴傳感節(jié)點是典型的移動設(shè)備。這些節(jié)點已廣泛應(yīng)用于健康醫(yī)療,實現(xiàn)對病人身體信息的跟蹤。這些應(yīng)用必須支持物體移動以及突發(fā)業(yè)務(wù)[1]。
在移動感知環(huán)境,傳感節(jié)點常附屬于人體、動物或其它物體上,再感測數(shù)據(jù)。一旦接入到無線媒介[2],傳感節(jié)點就以突發(fā)方式傳輸數(shù)據(jù)。媒體接入控制(medium access control,MAC)層負責節(jié)點間通信以及記錄能量消耗。在IoT和無線傳感網(wǎng)絡(luò)(wireless sensor networks,WSNs)中,MAC層也負責對無線電設(shè)備的開、關(guān)切換。這些工作調(diào)休制度有利于能量消耗與網(wǎng)絡(luò)性能間的平衡。
盡管基于移動設(shè)備應(yīng)用迅速增長,但是近期的IETF 6TiSCH工作委員會仍只關(guān)注靜態(tài)網(wǎng)絡(luò)[3]。在這些網(wǎng)絡(luò)中,拓撲是固定的。此外,盡管現(xiàn)存大量的MAC協(xié)議[4,5],但它們并沒有關(guān)注移動節(jié)點的問題以及突發(fā)業(yè)務(wù)流量。
為此,本文提出面向物聯(lián)網(wǎng)中的支持節(jié)點移動的MAC(mobility-supporting MAC,MS-MAC)協(xié)議。MS-MAC協(xié)議充分考慮了節(jié)點的移動性,并利用節(jié)點密度和距離信息選擇下一跳轉(zhuǎn)發(fā)節(jié)點。同時,利用競爭避免算法解決隱藏終端問題。實驗結(jié)果表明,提出的MS-MAC能夠有效地建立通信連接,降低了路由跳數(shù)和傳輸時延。
MS-MAC考慮混合網(wǎng)絡(luò)結(jié)構(gòu):移動節(jié)點和靜態(tài)節(jié)點組成。同時假定移動節(jié)點不參與路由,即不參與路由中的數(shù)據(jù)包轉(zhuǎn)發(fā)。移動節(jié)點通過發(fā)送控制包,發(fā)現(xiàn)鄰居節(jié)點,然后再建立點到點的通信鏈路。
現(xiàn)在的多數(shù)MAC協(xié)議常采用隨機方式選擇靜態(tài)節(jié)點作為移動節(jié)點轉(zhuǎn)發(fā)數(shù)據(jù)包的下一跳節(jié)點,如ME-ContikiMAC。這種策略可能會增加端到端的傳輸時延,也提高了能耗[6]。
如圖1所示,假定移動節(jié)點有n個數(shù)據(jù)包需要向信宿傳輸。移動節(jié)點的傳輸范圍內(nèi)有4個靜態(tài)節(jié)點,分別為RX1、RX2、RX3和RX4,它們離信宿由1、2、3和2跳。若采用隨機方式選擇下一跳節(jié)點,若移動節(jié)點選擇了RX3,它離信宿有3跳。顯然,移動節(jié)點選擇了一條最長的距離傳輸數(shù)據(jù)包,這增加了傳輸時延。
圖1 隨機選擇下一跳
為此,MS-MAC引用節(jié)點權(quán)值選擇下一跳轉(zhuǎn)發(fā)節(jié)點,同時引用競爭避免算法,解決信道競爭問題。
MS-MAC算法提供有選擇性和有效性鄰居發(fā)現(xiàn)機制,同時,也支持動態(tài)和突發(fā)數(shù)據(jù)流。由于移動節(jié)點的固定特性,MS-MAC算法假定移動節(jié)點無法感知周圍的靜態(tài)節(jié)點和這些靜態(tài)節(jié)點離信宿的距離。同時,移動節(jié)點與靜態(tài)節(jié)點交互信息,進而獲取低時延。MS-MAC算法主要由鄰居發(fā)現(xiàn)和在突發(fā)時隙傳輸數(shù)據(jù)數(shù)據(jù)包。
MS-MAC的鄰居發(fā)現(xiàn)過程如圖2所示。首先,移動節(jié)點(傳輸節(jié)點TX)在預(yù)定時期(preamble period),以組播傳輸方式重復(fù)傳輸控制包,進而確保在移動節(jié)點傳輸范圍內(nèi)的節(jié)點均能成功接收控制包。注意,這些控制包無需轉(zhuǎn)發(fā)。此外,每個控制包內(nèi)攜入當前preamble period的剩余時間TXremaining。
圖2 MS-MAC算法模型
一旦接收了控制包,節(jié)點就回復(fù)確認包ACK,其包含了自己ID號和相關(guān)的度量(鏈路質(zhì)量指標、到基站的最少跳數(shù)和剩余能量)。一旦回復(fù)了ACK包,節(jié)點就關(guān)閉無線電進入休眠階段,且休眠時間為TXremaining。一旦TXremaining到達了,就喚醒,并準備接收數(shù)據(jù)包,如圖3所示。
圖3 控制包的交互過程
當移動節(jié)點接收鄰居節(jié)點回復(fù)的ACKs包后,就從這些包中提取信息。這些節(jié)點就是移動節(jié)點的鄰居節(jié)點,移動節(jié)點再依據(jù)這些信息決策下一跳轉(zhuǎn)發(fā)節(jié)點。MS-MAC算法是基于低時延指標選擇靜態(tài)節(jié)點,并由此靜態(tài)節(jié)點轉(zhuǎn)發(fā)數(shù)據(jù)包。
針對轉(zhuǎn)發(fā)策略均采用隨機方式選擇轉(zhuǎn)發(fā)節(jié)點,如圖1所示。顯然這種方式可能造成大的傳輸時延。為此,MS-MAC算法先收集節(jié)點局部密度和距離信息,再計算節(jié)點轉(zhuǎn)發(fā)權(quán)值,然后擇優(yōu)選擇轉(zhuǎn)發(fā)節(jié)點。
節(jié)點i的轉(zhuǎn)發(fā)權(quán)值Pi,定義如式(1)所示
(1)
其中,ρi表示節(jié)點i的局部密度,而ρaverage表示網(wǎng)絡(luò)平均密度。D(TX,sink)、D(i,sink)表示發(fā)送節(jié)點離信宿距離、節(jié)點i離信宿節(jié)點距離。
式(1)引用權(quán)重參數(shù)ω。式(1)的右邊第一項反映節(jié)點密度,而第二項反映了距離。權(quán)重參數(shù)ω控制了節(jié)點密度和距離對權(quán)值的比重。MS-MAC協(xié)議假定節(jié)點密度和距離對權(quán)值具有相同的比重,即ω=0.5。
如圖4所示,TX作為發(fā)送節(jié)點,而RX1、RX2和RX3為接收節(jié)點。當RX1、RX2和RX3一旦接收到TX的控制包,就計算自己權(quán)值,并把權(quán)值載入ACK包,傳輸至TX。
圖4 數(shù)據(jù)包傳輸
TX接收了鄰居節(jié)點回復(fù)的ACK包后,就向這些節(jié)點傳輸數(shù)據(jù)包。一旦接收了數(shù)據(jù)包,節(jié)點就依據(jù)權(quán)值設(shè)置定時器。權(quán)值越大,定時時間越短。一旦定時時間完畢,節(jié)點就轉(zhuǎn)發(fā)數(shù)據(jù)包,并向TX回復(fù)ACK包。而其它節(jié)點一旦監(jiān)聽到已有轉(zhuǎn)發(fā)了數(shù)據(jù)包,節(jié)點就丟失數(shù)據(jù),并且關(guān)閉無線射頻單元,進而保存能量。
節(jié)點i的定時時間Timeri定義如式(2)所示
(2)
如圖4所示,節(jié)點RX1、RX2和RX3均接收到來自TX的控制包,假定RX2的權(quán)值最大,則其定時時間最短,因此,RX2轉(zhuǎn)發(fā)數(shù)據(jù)包,并向TX回復(fù)ACK。
當網(wǎng)絡(luò)內(nèi)有兩個或以上的節(jié)點同時發(fā)送數(shù)據(jù)時,它們就競爭接入媒介,可能出現(xiàn)碰撞。受T-AAD[7]啟發(fā),MS-MAC算法引用競爭避免算法(contention avoidance algorithm,CAA)消除信道競爭和終端隱蔽問題。
為此,在每個數(shù)據(jù)包Data內(nèi)嵌入隊列長度信息。周圍媒體接入競爭者通過監(jiān)聽這些信息,可以估計突發(fā)傳輸?shù)目傮w時間,最后,就可估計自己的休眠時間
Twait=Qlen(TXtime+ACKtime)(1+Merr)+Tack
(3)
其中,Qlen表示移動節(jié)點希望傳輸?shù)臄?shù)據(jù)包數(shù)。而TXtime、ACKtime分別表示成功交互數(shù)據(jù)包Data和ACK包的時間間隔。
為了確保Ttime時間至少大于MAC重傳時間,在式(1)中添加了一項Merr。由于外界干擾,引用Merr處理潛在數(shù)據(jù)包重傳。參數(shù)Merr的值取決于當前網(wǎng)絡(luò)條件[7]。
如圖5所示,TX1和TX2同時向RX發(fā)送數(shù)據(jù)。假定TX1、TX2分別有5、n個數(shù)據(jù)包傳輸。若它們同時傳輸數(shù)據(jù),必然會產(chǎn)生相互干擾,甚至數(shù)據(jù)碰撞。為了克服這個問題,TX1發(fā)送的Data包中攜入該發(fā)送節(jié)點需要傳輸?shù)臄?shù)據(jù)包。而隱藏終端節(jié)點TX2通過監(jiān)聽Data包,就能計算它需要等待的時間,并且在這段時間內(nèi)關(guān)閉無線射頻信號。
圖5 競爭避免算法
引用NS3[8]網(wǎng)絡(luò)仿真器建立仿真平臺??紤]40個固定節(jié)點均勻地分布于50m×40m區(qū)域,且8個移動節(jié)點隨機分布于此區(qū)域。同時,引用隨機移動模型。仿真過程中引用3類移動速度。低速:從0.5 m/s至2 m/s,這代表步行速度;中速:從2 m/s至8 m/s,這代表典型的慢跑速度;高速:從8 m/s至12 m/s,這代表騎車速度。
此外,數(shù)據(jù)包大小為32 bytes,數(shù)據(jù)包傳輸率為每120 s 32個數(shù)據(jù)包。為上更好地分析MS-MAC協(xié)議,引用MOBINET[9]、MoX-MAC[10]和ME-ContikiMAC[2]作為參照,與MS-MAC進行同步仿真,并進行性能比較,性能包括流量、時延、能量消耗以及數(shù)據(jù)包傳遞可靠性。
首先分析流量業(yè)務(wù)隨節(jié)點移動速度變化情況,實驗數(shù)據(jù)如圖6所示。
圖6 業(yè)務(wù)流量
從圖6可知,MS-MAC的業(yè)務(wù)流量優(yōu)于同類的其它協(xié)議。圖6(a)數(shù)據(jù)表明,MS-MAC協(xié)議的平均跳數(shù)最少,原因在于MS-MAC協(xié)議利用將節(jié)點距離融入節(jié)點權(quán)值,擇優(yōu)選擇離信宿距離近的節(jié)點作為數(shù)據(jù)包的下一跳轉(zhuǎn)發(fā)節(jié)點,這有利于減少傳輸跳數(shù)。
圖6(b)顯示了數(shù)據(jù)包傳輸次數(shù),從圖可知,MS-MAC協(xié)議的傳輸次數(shù)最小。這也充分說明MS-MAC控制了開鎖,縮短了數(shù)據(jù)包傳輸路徑。
圖7顯示了4個協(xié)議的端到端傳輸時延。此傳輸時延包括信道接入時延、信道退避時間。從圖7可知,MS-MAC的傳輸時延最低,這與圖6的數(shù)據(jù)相同。由于MS-MAC協(xié)議降低了傳輸跳數(shù),進而縮短了傳輸時延。此外,MS-MAC協(xié)議引用競爭避免算法,提高了數(shù)據(jù)包傳輸流暢性。
圖7 端到端傳輸時延
最后,分析每傳輸一個數(shù)據(jù)包所消耗的能量,如圖8所示。從圖8可知,MS-MAC協(xié)議消耗能量最低。與MOBINET、MoX-MAC、ME-ContikiMAC相比,MS-MAC算法的能耗分別下降了51%、45%、6%。這要歸功于MS-MAC算法減少了傳輸跳數(shù)(圖7)。而MoX-MAC和MOBINET協(xié)議沒有引用競爭避免算法,提高了競爭率,這必然增加數(shù)據(jù)包重傳次數(shù),最終提高了節(jié)點能耗。
圖8 能量消耗
針對移動物聯(lián)網(wǎng)的日益發(fā)展,提出基于面向物聯(lián)網(wǎng)中的支持節(jié)點移動的MAC協(xié)議MS-MAC。MS-MAC協(xié)議充分考慮到節(jié)點移動性。MS-MAC首先通過控制包的交互發(fā)現(xiàn)鄰居,然后再依據(jù)節(jié)點密度和距離信息,選擇下一跳轉(zhuǎn)發(fā)節(jié)點。同時,引用競爭避免算法,解決終端隱藏問題。實驗數(shù)據(jù)表明,提出的MS-MAC協(xié)議縮短了傳輸跳數(shù),降低了端到端傳輸時延,也減少了節(jié)點能耗。
參考文獻:
[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.