• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于節(jié)點分級的NNSs跨層MAC協(xié)議設計

      2022-06-25 13:04:26顧昊倫趙國榮姚金博
      關(guān)鍵詞:移動性路由信道

      顧昊倫, 趙國榮, 姚金博, 高 超

      (1. 海軍航空大學岸防兵學院, 山東 煙臺 264001; 2. 國電南瑞科技股份有限公司, 江蘇 南京 211106)

      0 引 言

      組網(wǎng)導航系統(tǒng)(networked navigation systems, NNSs)是一類以集群運動體為對象,以獲取目標運動體實時導航信息為核心任務并將現(xiàn)代導航技術(shù)與無線網(wǎng)絡技術(shù)相結(jié)合的導航技術(shù)的總和,用以解決諸如衛(wèi)星導航禁用、導航裝備參差不齊等場景下導航體編隊控制與數(shù)據(jù)共享等問題,最終實現(xiàn)網(wǎng)絡內(nèi)導航性能的整體提升[1]。

      實現(xiàn)組網(wǎng)導航的基礎是針對導航體傳感器網(wǎng)絡設計一套高效的組網(wǎng)通信協(xié)議。其中,媒介訪問控制(medium access control, MAC)協(xié)議位于數(shù)據(jù)鏈路層,是保證NNSs高效利用無線信道的關(guān)鍵機制。與傳統(tǒng)Ad-hoc網(wǎng)絡相比,NNSs MAC協(xié)議的設計難點[2]為:① 節(jié)點高機動性;② 低通信時滯與丟包率需求;③ 節(jié)點能量受限更為明顯;④ 接入需求復雜,服務類型多樣;⑤ 視距/超視距傳輸需求。

      針對問題④,文獻[3]和文獻[4]分別提出了區(qū)分服務的低時延MAC (diffserv-based low-delay MAC, DLD-MAC) 協(xié)議和分布式時/頻分多信道MAC(distributed time/frequency division multi-channel MAC, DTFMM) 協(xié)議,針對不同類型服務對時延敏感度和服務質(zhì)量(quality of service, QoS)的要求差異,設計對應的優(yōu)先級別和服務方式。針對問題⑤,文獻[5]利用Multi-hop中繼轉(zhuǎn)發(fā)思想設計了隨機協(xié)作MAC (random cooperative MAC, CoopMAC)協(xié)議,實現(xiàn)了信息的遠距傳輸。文獻[6]和文獻[7]則利用定向天線的高增益方向性波束設計了雙感知定向MAC(dual sensing directional MAC, DSDMAC)協(xié)議和具備遠距通信能力的定向MAC(directional MAC with long-range communication ability, DMAC) 協(xié)議,有效提高了空間復用率,擴大了傳輸范圍。但是,上述文獻均未考慮問題①~問題③對MAC協(xié)議設計帶來的影響,尤其是普遍存在于NNSs中的問題①。事實上,節(jié)點的高速移動往往會加劇問題②和問題③,這使得適用于NNSs的MAC協(xié)議更加復雜。

      針對問題①~問題③,目前的學者提出了兩類解決方案,一類是基于無競爭的具有移動性檢測的MAC協(xié)議,另一類是基于競爭的具有移動性檢測的MAC協(xié)議。無競爭的MAC協(xié)議并不適合NNSs這種大規(guī)模組網(wǎng)系統(tǒng)。因此,下文重點闡述基于競爭的MAC協(xié)議。

      基于競爭的具有移動性檢測的MAC協(xié)議通常具有兩種通信管理機制。第一種機制的基本思想是同步化某一領域中節(jié)點的活躍/睡眠周期,這種機制下網(wǎng)絡被整體分為多個虛擬簇群,每個簇群遵循相同的時間規(guī)劃表。文獻[8]基于此提出了支持移動節(jié)點的MAC (mobile-supporting MAC, MS-MAC)協(xié)議,該協(xié)議檢測移動節(jié)點及其鄰節(jié)點交互的同步包的信號接收強度指示器(received signal strength indicator, RSSI)變化并估計移動節(jié)點的速度。當移動節(jié)點到達虛擬簇群邊界時,MS-MAC加快了同步速率,使移動節(jié)點能夠迅速更新時間規(guī)劃表,避免了簇間切換階段長時間的斷連。但該協(xié)議會給移動節(jié)點及其鄰節(jié)點帶來巨大的開銷,且RSSI本身并不能提供足夠精準的移動性檢測。文獻[9]針對文獻[8]中的不足,設計了具備速度響應的移動性感知MAC(mobility-aware speed-respond MAC, MS-SMAC)協(xié)議,改進了移動性檢測算法,主動響應移動節(jié)點速度變化,但需要付出額外的開銷,尤其是當移動節(jié)點數(shù)目增加時,能量節(jié)省率大幅降低。文獻[10]則變換思路,利用簇群的邊界節(jié)點包含相鄰簇群時間規(guī)劃表這一特點,設計了支持移動節(jié)點的自適應MAC(adaptive mobility-supporting MAC, AM-MAC)協(xié)議,實現(xiàn)了平滑的簇間切換。但該協(xié)議需要移動節(jié)點在完成切換前始終保持在邊界節(jié)點區(qū)域,一旦移動節(jié)點速度過快,那么極有可能導致切換失敗,且該協(xié)議需要預定義移動節(jié)點,并不符合NNSs實際工作場景。

      第二種機制是具有前導采樣的異步MAC協(xié)議。這類協(xié)議允許節(jié)點單獨管理自身時間規(guī)劃表,每次數(shù)據(jù)傳輸前需要進行專門的同步過程。文獻[11]基于此思想設計了基于任播的支持移動節(jié)點的Contiki操作系統(tǒng)下的MAC(mobility-supporting anycast-based ContikiMAC, M-ContikiMAC)協(xié)議,該協(xié)議使用任播傳輸機制改善數(shù)據(jù)包的突發(fā)傳輸情況。但任播模式可能導致數(shù)據(jù)包重復以及確認包沖突。文獻[12]針對文獻[11]的缺點,提出了移動性增強的Contiki操作系統(tǒng)下的MAC(mobility-enhanced ContikiMAC, ME-ContikiMAC)協(xié)議,解決了數(shù)據(jù)包重復以及確認包沖突的問題。但如果移動節(jié)點速度過快,其將多次改變目標接收機,導致網(wǎng)絡內(nèi)大量節(jié)點重新連接,大大降低了能量節(jié)省率。文獻[13]則設計了一種新的鄰居發(fā)現(xiàn)機制,并以此提出了支持移動節(jié)點的適用于物聯(lián)網(wǎng)和無線傳感器網(wǎng)絡突發(fā)流量的MAC(mobility-supporting MAC sheme for bursty traffic in IoT and WSNs, MobIQ)協(xié)議,實現(xiàn)了數(shù)據(jù)包突發(fā)傳輸情況下目標節(jié)點的高效切換。但該協(xié)議仍未解決確認包沖突的問題,且上述文獻均明確指出移動節(jié)點不能參與路由過程,這與NNSs實際工作場景不符。事實上,具有前導采樣的異步MAC協(xié)議由于異步特性,導致其在NNSs這種高度動態(tài)的環(huán)境中復雜度增加,通信時滯更為明顯[14]。

      本文綜合考慮上述文獻中的優(yōu)缺點,力求在針對NNSs設計的CRTCC路由協(xié)議基礎上,設計一套適用于NNSs的GN-MAC協(xié)議,旨在解決以下5個問題:① 通過路由層構(gòu)建交叉路由樹的過程協(xié)作定義節(jié)點級別,完成MAC層自適應虛擬分簇,使移動節(jié)點實現(xiàn)平滑的簇間切換;② 通過定義GN-MAC包格式,引入路由層的路徑信息;③ 通過設計一種改進型移動性檢測算法,為移動節(jié)點提供自主且精確的移動性檢測;④ 通過設計基于優(yōu)先級的競爭機制區(qū)分各級別節(jié)點訪問媒介的優(yōu)先級,減小通信時滯并提高能量節(jié)省率;⑤ 通過設計多信道通信方案提高吞吐量,進一步減小通信時滯,解決數(shù)據(jù)包突發(fā)傳輸情況下的信道占用問題。

      1 問題描述

      1.1 網(wǎng)絡模型及CRTCC路由協(xié)議概述

      NNSs網(wǎng)絡模型基本設置參考CRTCC路由協(xié)議中的規(guī)定。設NNSs共有N個節(jié)點,1個匯聚節(jié)點,其中移動節(jié)點的個數(shù)為M(M≤N)。節(jié)點測距方式為基于信號到達時間法(time of arrival, TOA)的組網(wǎng)測距[15],解算導航信息采取三維球面定位算法[16]和四元數(shù)無跡卡爾曼濾波(unscented Kalman filter, UKF)姿態(tài)估計算法[17]。初始時刻前,網(wǎng)絡內(nèi)所有節(jié)點通過文獻[18]設計的NNSs通信協(xié)議獲取了初始導航信息并建立了網(wǎng)絡空間局部坐標系。設局部坐標系下x軸范圍[0,X],y軸范圍[0,Y],z軸范圍[0,Z]。

      CRTCC路由協(xié)議規(guī)劃了移動匯聚節(jié)點的路徑,創(chuàng)建了以移動匯聚節(jié)點為中心的交叉區(qū)域并構(gòu)建了交叉路由樹,而對于交叉區(qū)域外的節(jié)點制定了適用于NNSs的簇頭選取策略,構(gòu)建了鏈式簇群結(jié)構(gòu),完成了數(shù)據(jù)傳遞路徑的規(guī)劃。GN-MAC與CRTCC的融合主要體現(xiàn)在:① GN-MAC包中加入CRTCC的路由信息,包括CRTCC所決定的下一跳節(jié)點ID號以及TOA測距所需時間戳(time stamp, TS);② GN-MAC進行節(jié)點分級時考慮了CRTCC中交叉路由樹的特殊地位;③ GN-MAC規(guī)定了路由上的節(jié)點享有更高優(yōu)先級去訪問媒介;④ GN-MAC針對路由樹上的節(jié)點采取了不同的簇間切換策略。

      1.2 GN-MAC包格式

      GN-MAC包格式以采取超時策略的MAC協(xié)議(timeout MCA, T-MAC)包格式[19]為基礎進行修改,具體定義如圖1所示。其中,GN-MAC包相對于T-MAC:① 報頭均新添一個4位的Node_LV字段,用于標識每個節(jié)點的級別,從而確定哪些節(jié)點能夠優(yōu)先訪問媒介并允許與移動節(jié)點協(xié)作實現(xiàn)高效的通信管理和平滑的簇間切換;② 增加了切換請求(handover request, HReq)和切換同步(handover synchronization, HSyn)兩種控制包,用于實現(xiàn)移動節(jié)點平滑的簇間切換;③ Syn、HReq和HSyn中新添了一個16位的TS字段,使得同步化階段能夠完成TOA測距,從而確保CRTCC路由協(xié)議正常運作;④ Syn和HSyn中的Schedules字段是動態(tài)擴展的,一個節(jié)點允許包含最多4種不同的時間規(guī)劃表,每種以20位進行編碼;④ RTS中加入一個16位正交信道可用狀態(tài)(statuses of orthogonal channels available, SOCA)字段,CTS中加入一個4位的數(shù)據(jù)信道(data channel, DC)字段,發(fā)送節(jié)點和接收節(jié)點通過這兩個字段協(xié)商決定用于發(fā)送數(shù)據(jù)包的信道;⑥ RTS和CTS中均增加一個16位的NT_hop字段,用于標識CRTCC路由協(xié)議所規(guī)劃的路徑中下一跳節(jié)點的ID號,該節(jié)點一旦接收/偵聽到RTS/CTS包,將以最高優(yōu)先級主動競爭發(fā)送FRTS(future-RTS)包;⑦ FRTS中新添一個16位的未來數(shù)據(jù)傳輸時間(time of future data transmission, TxTime_F)字段,發(fā)送節(jié)點使用該字段告知預期的接收節(jié)點計劃的未來數(shù)據(jù)傳輸時間,從而保證接收節(jié)點能夠在特定的時間保持活躍,以接收發(fā)送節(jié)點傳輸?shù)目刂瓢蛿?shù)據(jù)包。

      2 GN-MAC協(xié)議算法

      GN-MAC協(xié)議算法主要由5部分組成,分別為同步化及節(jié)點分級算法、移動性檢測算法、簇間切換算法、基于優(yōu)先級的競爭算法、多信道算法。

      2.1 同步化及節(jié)點分級算法

      GN-MAC采取節(jié)點周期性睡眠機制節(jié)省能量,若要保證節(jié)點之間能夠完成通信,必須使發(fā)送節(jié)點和接收節(jié)點遵循相同的睡眠/活躍時間規(guī)劃表。下文將首先完成同步化及節(jié)點分級。

      算法 1同步化及節(jié)點分級

      步驟 1匯聚節(jié)點立刻創(chuàng)建自身時間規(guī)劃表,初始化Syn包中TS,將Syn包中的Node_LV置為Sink,隨后廣播Syn包,與此同時,網(wǎng)絡內(nèi)其余節(jié)點中有一部分被隨機指定為簇首(cluster head, CH),同樣立刻創(chuàng)建自身時間規(guī)劃表,并將Syn包中的Node_LV置為CH,初始化TS,隨后廣播Syn包;

      步驟 2剩余節(jié)點偵聽Syn包,一旦接收到來自Sink或CH的Syn包,該節(jié)點采取其時間規(guī)劃表,更新TS,完成TOA測距,將自身定義為普通節(jié)點(normal node, NN),隨后將其Syn包繼續(xù)轉(zhuǎn)播;

      步驟 3不斷重復步驟2的過程,如果某一個節(jié)點在一定的偵聽期間內(nèi)沒有接收到任何Syn包,則將其認為是CH,初始化TS及Node_LV,隨后立刻廣播其Syn包;

      步驟 4第一輪同步過程中,路由層同步進行交叉區(qū)域構(gòu)建與路由樹生成,GN-MAC將重新定義路由樹上節(jié)點的Syn包,將其Node_LV定義為路由樹節(jié)點(node in routing tree, RT);

      步驟 5所有節(jié)點全部更新完時間規(guī)劃表后,遵循相同時間規(guī)劃表的節(jié)點形成一個虛擬簇群,對于具有多個不同時間規(guī)劃表的節(jié)點,首先確認其Node_LV是否為RT,若不是,則將其定義為一級邊界節(jié)點(LV1 boarder node, BN1),該節(jié)點的第一個時間規(guī)劃表定義為主時間規(guī)劃表,其余時間規(guī)劃表按照對應接收的Syn包的RSSI值降序排列,隨后廣播Syn包;

      步驟 6接收到BN1廣播的Syn包的節(jié)點,同樣確認其Node_LV是否為RT,若不是,則將其定義為二級邊界節(jié)點(BN2),其主時間規(guī)劃表保持原先的不變,次時間規(guī)劃表采取距離其最近的BN1的第一個次時間規(guī)劃表,隨后廣播Syn包;

      步驟 7接收到BN2廣播的Syn包的節(jié)點,同樣確認其Node_LV是否為RT,若不是,則將其定義為三級邊界節(jié)點(BN3),其主時間規(guī)劃表保持原先的不變,次時間規(guī)劃表采取距離其最近的BN2的次時間規(guī)劃表;

      步驟 8Sink再次廣播其Syn包,其余節(jié)點一旦接受/偵聽到來自Sink或RT節(jié)點的Syn包,確認其Node_LV是否為RT,如果是,則重新采取Sink的主時間規(guī)劃表作為自身的主時間規(guī)劃表,隨后廣播Syn包,直到所有RT節(jié)點完成主時間規(guī)劃表的更新。

      至此,算法1完成了同步化并定義了7種節(jié)點級別(Sink、RT、BN1、BN2、BN3、CH、NN),對于Sink和RT節(jié)點,無論是快速還是慢速移動節(jié)點都將迅速切換其時間規(guī)劃表,以實現(xiàn)數(shù)據(jù)包迅速傳遞至Sink,對于BN1、BN2和BN3,移動節(jié)點也將采取不同的切換策略。此外,Sink和RT節(jié)點相對于其他級別的節(jié)點也將享有更高的優(yōu)先級去訪問媒介,上述內(nèi)容均在下文設計的算法中得以體現(xiàn)。

      2.2 移動性檢測算法

      網(wǎng)絡進入移動性檢測階段后需要GN-MAC提供一個足夠精準且不需要額外硬件、能量或帶寬資源的移動性檢測算法。由于TOA測距需要承擔NNSs導航信息解算的任務,且TOA測距為追求精度常在硬件或軟件上增加濾波器,因此TOA測距不適合額外承擔移動性檢測的任務。下文將利用RSSI和鏈路質(zhì)量指示(link quality indicator, LQI)[20]設計一種精準高效的移動性檢測算法。

      算法 2移動性檢測

      步驟 1節(jié)點偵聽媒介,同時轉(zhuǎn)步驟10,若一段時間內(nèi)接收/偵聽到一個GN-MAC包,則轉(zhuǎn)步驟2,否則繼續(xù)偵聽媒介;

      步驟 2判斷該GN-MAC包的發(fā)送者是否已經(jīng)存在于鄰居列表中,若已經(jīng)存在,則轉(zhuǎn)步驟3,否則將該鄰居節(jié)點信息加入鄰居列表,并轉(zhuǎn)步驟12,這里鄰居列表是所有節(jié)點均會維護的,其中記錄了發(fā)送者的ID號以及接收的最新GN-MAC包的RSSI、LQI和TS;

      步驟 3判斷最新接收的GN-MAC包RSSI與LQI是否分別大于閾值thr1與thr2,若大于,則轉(zhuǎn)步驟四,否則返回步驟1。thr1與thr2分別代表RSSI和LQI的最大容許變化值,需要根據(jù)目標環(huán)境中的經(jīng)驗測量值來預定義;

      步驟 4利用文獻[21]所提對數(shù)正態(tài)陰影模型估計節(jié)點距離變化Δd并根據(jù)TS計算移動速度v,Δd表達式如下:

      Δd=ω1ΔdRSSI+ω2ΔdLQI

      (1)

      其中,ω1和ω2分別為基于RSSI的距離估計ΔdRSSI和基于LQI的距離估計ΔdLQI的權(quán)重,且滿足ω1+ω2=1;

      步驟 5更新鄰居列表中對應ID號的信息,判斷計時器T1是否已經(jīng)觸發(fā),若已經(jīng)觸發(fā),則直接進入步驟6,否則觸發(fā)T1,令計數(shù)器C1=0,再進入步驟6;

      步驟 6C1=C1+1,判斷C1是否大于閾值thrC1,若是,則轉(zhuǎn)步驟7,否則返回步驟1,thrC1代表了判斷節(jié)點移動性的嚴格程度,為了防止移動節(jié)點周圍的靜止鄰居節(jié)點被誤認為是移動的,thrC1必須大于等于2;

      步驟 7判斷計時器T3是否被觸發(fā),若已經(jīng)觸發(fā),則取消T3并重新觸發(fā)T3,否則觸發(fā)T3;

      步驟 8根據(jù)v的大小改變該節(jié)點的Node_LV,標識該節(jié)點的移動性,移動性級別共3種,分別為一級移動節(jié)點(level 1 move node, MN1)、MN2、MN3,代表低速移動、中速移動、高速移動;

      步驟 9C1=0,C2=0,取消T1、T2,返回步驟1;

      步驟 10遍歷該節(jié)點鄰居列表,將一段時間內(nèi)沒有更新的鄰居節(jié)點從鄰居列表中刪除,轉(zhuǎn)步驟12;

      步驟 11判斷計時器T3是否超時,若超時,則令v=0,返回步驟9;

      步驟 12判斷計時器T2是否已經(jīng)觸發(fā),若已經(jīng)觸發(fā),則直接進入步驟13,否則先觸發(fā)T2,令計數(shù)器C2=0,再進入步驟13;

      步驟 13C2=C2+1,判斷C2是否大于閾值thrC2,若是,則轉(zhuǎn)步驟7,否則返回步驟1, thrC2代表了判斷節(jié)點移動性的嚴格程度,為了防止移動節(jié)點周圍的靜止鄰居節(jié)點被誤認為是移動的,thrC2必須大于等于2。

      至此,算法2完成了任意一個節(jié)點的實時自主移動性檢測,其中涉及了兩個計數(shù)器C1、C2,3個計時器T1、T2、T3。C1與T1協(xié)作完成了基于RSSI和LQI的移動性檢測過程,C2和T2是考慮了網(wǎng)絡中長時間缺乏數(shù)據(jù)流量的情況下,協(xié)作完成了基于分析鄰居節(jié)點變化的移動性檢測過程。C1實際上計的是動態(tài)鏈路的個數(shù),C2實際上計的是鄰居節(jié)點變化的次數(shù)。T3則是實現(xiàn)實時檢測節(jié)點移動性的計時器,T3超時意味著該移動節(jié)點一段時間內(nèi)沒有再次被認定為移動節(jié)點,實際就是該節(jié)點從移動狀態(tài)變?yōu)殪o止狀態(tài)。需要特別說明的是,T1或T2一旦超時,將會自動重置C1=0或者C2=0并取消自身,然后重新偵聽媒介。算法2流程圖如圖2所示。

      2.3 簇間切換算法

      算法1和算法2一共確立了10種節(jié)點級別(MN3、MN2、MN1、Sink、RT、BN1、BN2、BN3、CH、NN),前3種是移動節(jié)點。當移動節(jié)點從一個虛擬簇群移動到另一個虛擬簇群時,將依靠BN同時遵循這兩個虛擬簇群時間規(guī)劃表的特性完成平滑的簇間切換。需要特別說明的是,移動節(jié)點一旦移動到Sink與RT節(jié)點附近,那么無論其速度快慢,將直接采取Sink和RT的主時間規(guī)劃表,從而完成數(shù)據(jù)向匯聚節(jié)點的快速傳輸。

      算法 3簇間切換

      步驟 1節(jié)點偵聽媒介,若MN接收到來自Sink、RT、BN的Syn包,則轉(zhuǎn)步驟2,若MN接收/偵聽到Sink、RT、BN除Syn包的任意一種GN-MAC包,則轉(zhuǎn)步驟3,若Sink、RT、BN接收/偵聽到來自MN的任意一種GN-MAC包,則轉(zhuǎn)步驟4;

      步驟 2若Syn包(或HSyn包)中Node_LV為Sink或RT,則無論自身處于何種MN級別,直接轉(zhuǎn)步驟8,若Node_LV為BN1,則轉(zhuǎn)步驟7,若Node_LV為BN2,則轉(zhuǎn)步驟6,若Node_LV為BN3,則轉(zhuǎn)步驟5;

      步驟 3MN向Sink、RT、BN發(fā)送HReq包, Sink、RT、BN接收到HReq包后將會立刻響應HSyn包,其中包含簇間切換所需時間規(guī)劃表,MN一旦接收到HSyn包,轉(zhuǎn)步驟2;

      步驟 4Sink、RT、BN立刻向MN發(fā)送HSyn包,MN一旦接收到HSyn包,轉(zhuǎn)步驟2;

      步驟 5判斷自身Node_LV是否為MN3,若是,則轉(zhuǎn)步驟8,否則返回步驟1;

      步驟 6判斷自身Node_LV是否為MN3或MN2,若是,則轉(zhuǎn)步驟8,否則返回步驟1;

      步驟 7判斷自身Node_LV是否為MN3或MN2或MN1,若是,則轉(zhuǎn)步驟8,否則返回步驟1;

      步驟 8MN遵循Syn包(或HSyn包)中第一個次級時間規(guī)劃表及其原主時間規(guī)劃表,同時觸發(fā)計時器T4,轉(zhuǎn)步驟9;

      步驟 9判斷T4是否超時,若超時,則刪除自身所有時間規(guī)劃表,返回步驟1,否則轉(zhuǎn)步驟10;

      步驟 10持續(xù)偵聽媒介,若在一定時間間隔內(nèi),MN先后接收到來自Sink或RT的Syn包和BN的Syn包,說明MN正在遠離交叉區(qū)域,轉(zhuǎn)步驟11,若MN先后受到來自不同等級BN的Syn包,且BN等級由小到大,說明MN正在向新簇群內(nèi)部移動,轉(zhuǎn)步驟12,若接收到來自CH或NN的Syn包,則轉(zhuǎn)步驟13;

      步驟 11將BN的時間規(guī)劃表加入自身時間規(guī)劃表,刪除原主時間規(guī)劃表,取消T4,返回步驟1;

      步驟 12刪除未使用的時間規(guī)劃表,取消T4,返回步驟1;

      步驟 13清除所有時間規(guī)劃表,采取CH或NN的時間規(guī)劃表,取消T4,返回步驟1。

      至此,算法3完成了基于節(jié)點級別的最優(yōu)簇間切換決策過程。其中,步驟1、步驟3、步驟4規(guī)定了MN開始進行簇間切換的3種情況;步驟2、步驟5、步驟6、步驟7為基于節(jié)點級別的簇間切換機制;步驟8~步驟13實際上考慮了MN完成簇間切換后,長時間遵循兩種以上時間規(guī)劃表將導致能量浪費的情況,制定了移除舊時間規(guī)劃表的機制。需要特別說明的是,在移除舊時間規(guī)劃表機制中,一旦MN判斷出自身正在遠離交叉區(qū)域,那么將直接刪除原先采用的Sink和RT的主時間規(guī)劃表,轉(zhuǎn)而采用來自BN的Syn包中的時間規(guī)劃表。這樣做是為了防止MN下一個偵聽周期內(nèi)又接收/偵聽到來自Sink或RT的GN-MAC包,導致MN誤認為自身正在進入交叉區(qū)域,從而使得MN在下次簇間切換前一直保持Sink與RT的主時間規(guī)劃表,造成能量浪費。算法3流程圖如圖3所示。

      2.4 兩種通信管理算法

      GN-MAC幀結(jié)構(gòu)由活躍周期與睡眠周期組成。活躍周期包括同步周期PSyn、RTS/CTS周期PRTS/CTS、FRTS周期PFRTS以及可能存在的數(shù)據(jù)傳輸和確認(DATA/ACK)周期PDATA/ACK。活躍周期表達式為

      Pawake=f(t)PSyn+n1(PRTS/CTS+PFRTS)+n2(PDATA/ACK)

      (2)

      式中:f(t)為周期性脈沖函數(shù);n1≥1,n2≥0,n1、n2均為整數(shù)。

      PSyn、PRTS/CTS、PFRTS和PDATA/ACK除了傳輸各自周期對應的數(shù)據(jù)包以外,還涉及到競爭時間CT以及短幀間隔時間TSIFS。這些周期與CT、TSIFS以及傳輸各類GN-MAC包的時間TX之間的關(guān)系如下所示:

      PSyn?max CTSyn+TXSyn

      (3)

      PRTS/CTS=CTRTS+TXRTS+TSIFS+TXCTS

      (4)

      PFRTS≥max CTFRTS+TXFRTS

      (5)

      PDATA/ACK=TSIFS+TXDATA+TSIFS+TACK

      (6)

      式中:CTSyn和CTFRTS均是由空閑信道評估(clear channel assessment, CCA)時間TCCA以及隨機退避時間Tr組成,且兩者表達式如下所示:

      max CTSyn=max CTFRTS=TCCA+maxTr

      (7)

      需要特別說明的是,為了提高能量節(jié)省率,避免與任何潛在的鄰居節(jié)點發(fā)生誤通信,節(jié)點進入PRTS/CTS后,若沒有再次收到任何GN-MAC包,將自動進入睡眠狀態(tài)。這一段時間定義為超時時間To。To必須至少能夠包含PFRTS,這樣才能使節(jié)點確認在該幀內(nèi)沒有需要傳輸給自己的GN-MAC包,GN-MAC幀結(jié)構(gòu)示意圖如圖4所示。因此,To表達式如下所示:

      To=maxPRTS/CTS+PFRTS

      (8)

      下文將分別在PRTS/CTS和PDATA/ACK內(nèi)設計基于優(yōu)先級的競爭算法以及多信道算法。

      算法 4基于優(yōu)先級的競爭

      定義5個優(yōu)先級別,由低到高依次為r1、r2、r3、r4、r5。r1對應BN、CH和NN,r2對應Sink和RT,r3對應MN1,r4對應MN2,r5對應MN3?;趦?yōu)先級的競爭算法重新設計PRTS/CTS,引入5段slot,按時間先后順序?qū)煌膬?yōu)先級別,分別記為s5、s4、s3、s2、s1。低等級的節(jié)點需要等待直到屬于自己的slot才能夠準備發(fā)送RTS/CTS包,定義這段等待時間為Tw。

      s1~s5的時間間隔并不相同,其中,s5、s4、s3時間間隔相同,其表達式如下所示:

      (9)

      s2表達式如下所示:

      (10)

      s1表達式如下所示:

      s1=TCCA+3maxTr

      (11)

      式(9)與式(10)中,TXRTS/2的含義是:在下一段slot之前,低優(yōu)先級的節(jié)點需要偵聽一個最小位以檢測媒介是否繁忙,并相應地放棄預留媒介,因此高優(yōu)先級的slot至少得包含TXRTS/2時間段,而s1由于是最低級別的slot,不需要包含TXRTS/2時間段。需要特別說明的是,由于引入了TXRTS/2時間段,高優(yōu)先級節(jié)點若在PRTS/CTS內(nèi)未能成功發(fā)送RTS包,則其可以重新占用低優(yōu)先級節(jié)點預留的媒介,只需等待偵聽到低優(yōu)先級節(jié)點發(fā)送RTS包后立刻發(fā)送自身RTS包即可。式(10)與式(11)中多倍的maxTr項含義是:NNSs中非MN節(jié)點的個數(shù)可能遠遠大于MN節(jié)點的個數(shù),因此需要更長的maxTr,由此也可得r3、r4、r5優(yōu)先級別的節(jié)點CTRTS表達式如下所示:

      CTRTS=Pw+TCCA+Tr,Tr∈[0,maxTr]

      (12)

      r2優(yōu)先級別的節(jié)點CTRTS表達式如下所示:

      CTRTS=Pw+TCCA+Tr,Tr∈[0,2maxTr]

      (13)

      r1優(yōu)先級別節(jié)點的CTRTS表達式如下所示:

      CTRTS=Pw+TCCA+Tr,Tr∈[0,3maxTr]

      (14)

      綜合上述內(nèi)容,可得max CTRTS實際就是r1級別節(jié)點發(fā)送RTS/CTS包的情況,其表達式如下所示:

      max CTRTS=s1+s2+s3+s4+s5

      (15)

      重新設計的PRTS/CTS如圖5所示,其中圖5(a)為r3、r4、r5優(yōu)先級別節(jié)點的PRTS/CTS(以r4級別為例),圖5(b)為r2優(yōu)先級別節(jié)點的PRTS/CTS,圖5(c)為r1優(yōu)先級別節(jié)點的PRTS/CTS。

      算法 5多信道數(shù)據(jù)傳輸

      GN-MAC利用IEEE802.15.4規(guī)定的2.4 GHz頻帶內(nèi)的16個正交信道[22],將第一個信道定義為控制信道(control channel, CC),在其上交換所有的GN-MAC控制包,其余15個信道全部定義為數(shù)據(jù)信道(data channel, DC)。每個節(jié)點維護一個SOCA,主要包括信道定義、編號及狀態(tài),如圖6所示。當一個新的幀開始時,節(jié)點將初始化所有信狀態(tài)為0,代表所有信道空閑可用。若一個節(jié)點所有數(shù)據(jù)信道狀態(tài)都被標記為1,則代表當前所有信道都處于忙碌預留狀態(tài),該節(jié)點自動將其DATA/ACK推遲至下一幀。每一幀內(nèi),發(fā)送節(jié)點和接收節(jié)點都將協(xié)商決定一個空閑可用的信道完成DATA/ACK,協(xié)商決定結(jié)果將由接收節(jié)點通過CTS包告知發(fā)送節(jié)點,其余鄰節(jié)點通過偵聽CTS包得到選用的DC并將該DC狀態(tài)置為1。單播DATA包具體過程將在第2.5節(jié)詳細闡述。

      有兩種特殊情況需要說明,一是從節(jié)能和降低時滯的角度出發(fā),若需要傳輸?shù)腄ATA包的大小非常小,那么可以跳過RTS/CTS直接在CC上傳輸該DATA包,一旦傳輸完成,鄰節(jié)點將繼續(xù)正常偵聽媒介,等待是否有發(fā)送節(jié)點競爭發(fā)送RTS包。二是從避免沖突的角度出發(fā),GN-MAC處理廣播DATA包時,同樣不采用RTS/CTS而直接在CC上廣播DATA包,一旦廣播完成,鄰節(jié)點繼續(xù)正常偵聽媒介,等待是否仍有需要發(fā)送的RTS包。

      2.5 單播DATA包完整過程

      考慮在同一單跳鄰域中多個發(fā)送節(jié)點競爭發(fā)送RTS包的情形。節(jié)點在PSyn內(nèi)完成同步,隨后,所有想發(fā)送DATA包的節(jié)點都將在PRTS/CTS內(nèi)基于算法4完成競爭,競爭成功的節(jié)點將向預期接收節(jié)點發(fā)送包含其SOCA的RTS包,接收節(jié)點將自身的SOCA與RTS包中的SOCA進行比較,從狀態(tài)為0的DC中隨機挑選出一個,并加入CTS包中的DC字段,反饋給發(fā)送節(jié)點。與此同時,其余鄰節(jié)點偵聽RTS/CTS包,從中確定將要進行的DATA/ACK所選擇的DC,改變各自SOCA中對應DC的狀態(tài)。

      接下來,所有節(jié)點進入PFRTS,同時在各自的CC上偵聽潛在的FRTS包。若節(jié)點想要發(fā)送DATA包,則將在該PFRTS內(nèi)發(fā)送FRTS包,其中包含了TxTime_F,預期的接收節(jié)點將通過TxTime_F字段在未來某一時刻與發(fā)送節(jié)點同時活躍以接收發(fā)送節(jié)點的RTS包。

      在一幀間隔內(nèi),需特別說明以下幾點原則。

      原則 1決定FRTS包中的TxTime_F字段時有兩種情況,一是FRTS包的發(fā)送節(jié)點和接收節(jié)點均不是當前將要進行DATA/ACK的節(jié)點,那么這兩個節(jié)點將在PFRTS后立刻競爭發(fā)送RTS包并在完成競爭后再次經(jīng)歷一個PFRTS,偵聽是否有需要發(fā)送數(shù)據(jù)的節(jié)點,隨后完成DATA/ACK;二是FRTS包的發(fā)送節(jié)點或接收節(jié)點是當前將要進行DATA/ACK的節(jié)點,那么這兩個節(jié)點將基于接收/偵聽到的RTS/CTS包中的網(wǎng)絡分配矢量(network allocation vector, NAV)字段,規(guī)劃當前幀的未來某一時刻使兩個節(jié)點同時活躍完成RTS/CTS過程。

      原則 2其余鄰節(jié)點在偵聽RTS/CTS的過程中,將自身ID與其中的NT_hop字段進行比較,如果自身是路由層所決定的下一跳節(jié)點,那么其將在PFRTS內(nèi)以最高優(yōu)先級主動競爭發(fā)送FRTS包。

      原則 3節(jié)點在一幀內(nèi)既可以發(fā)送FRTS包,也可以接收另一個FRTS包,甚至可以接收多個FRTS包,其余所有處于活躍狀態(tài)的鄰節(jié)點都將偵聽到這些FRTS包。當一個節(jié)點需要接收多個FRTS包時,發(fā)送節(jié)點將在PFRTS內(nèi)按照節(jié)點優(yōu)先級以及原則2進行競爭,然后再根據(jù)原則1中所述原則規(guī)劃TxTime_F。其余需要發(fā)送的FRTS包將在該幀內(nèi)的下一次活躍期間繼續(xù)競爭。這里的競爭需要將節(jié)點分為兩類,一類是發(fā)送/接收節(jié)點均不是當前將要進行DATA/ACK的節(jié)點,另一類是接收節(jié)點是當前將要進行DATA/ACK的節(jié)點。如果存在多組第一類情況的節(jié)點競爭發(fā)送FRTS包,則按照發(fā)送節(jié)點優(yōu)先級順序在PFRTS后依次完成各自的數(shù)據(jù)傳輸過程。

      原則 4按照原則3最后所述原則,每一幀開始時刻有可能出現(xiàn)多組節(jié)點進行DATA/ACK,因此規(guī)劃節(jié)點下一次活躍時必須遵循在此之前所有DATA/ACK完成這一原則。此外,節(jié)點每次成功競爭到發(fā)送FRTS包時,都將檢查該幀剩余時間能否足夠包含未來數(shù)據(jù)傳輸?shù)恼麄€活躍周期,若不能,則節(jié)點主動放棄發(fā)送FRTS包并進入睡眠狀態(tài),等待下一幀開始重新競爭發(fā)送FRTS包。

      GN-MAC在多節(jié)點競爭情形下單播DATA包完整過程示例如圖7所示。

      3 算例仿真

      本文將利用Matlab進行仿真,記網(wǎng)絡區(qū)域大小為200 m×200 m×200 m,N=100,有效數(shù)據(jù)傳輸速率為300 kbps,發(fā)送/接收模式功耗為50 mW,偵聽模式功耗為1 mW,睡眠模式功耗為0.01 mW。每次仿真持續(xù)時間為600 s,一幀間隔為600 ms。

      為確定最優(yōu)PFRTS大小,在上述網(wǎng)絡區(qū)域中,選取10 m×10 m×10 m范圍內(nèi)6個節(jié)點,該6個節(jié)點屬于同一單跳鄰域,且Node_LV均為NN。考慮3種情景,分別假設發(fā)送節(jié)點個數(shù)為1、2和4個,每個發(fā)送節(jié)點周期性地挑選一個隨機鄰節(jié)點作為其預期的接收節(jié)點,數(shù)據(jù)包生成速率為 1 Pkt/s。

      對于每種情景,均令PFRTS分別等于0 ms,1 ms,…,10 ms,每個PFRTS值都進行10次仿真,研究每次數(shù)據(jù)包成功被接受時的平均數(shù)據(jù)包投遞率(packet delivery ratio, PDR)和平均能耗(10次仿真結(jié)果的平均值)。仿真結(jié)果如圖8所示。

      由圖8可知:① 對于只有1個發(fā)送節(jié)點的情況,PDR隨PFRTS增大幾乎不變,這是因為沒有其他節(jié)點與其進行競爭,與此同時平均能耗逐漸增大,這是因為節(jié)點在PFRTS內(nèi)需花費額外的能量完成偵聽;② 對于多發(fā)送節(jié)點的情況,若PFRTS比較小,則PDR損失很大,這是因為多節(jié)點競爭使得在短PFRTS內(nèi),節(jié)點很難完成未來數(shù)據(jù)傳輸?shù)囊?guī)劃,然而隨著PFRTS增大,PDR并不是無限增大,而是增大到接近只有1個發(fā)送節(jié)點的情況就穩(wěn)定下來,此時多節(jié)點在PFRTS內(nèi)均能完成未來數(shù)據(jù)的規(guī)劃;③ 對于多發(fā)送節(jié)點的情況,若PFRTS=0,則能耗將非常大,這是因為沒有規(guī)劃的競爭將會導致多節(jié)點長期處于活躍狀態(tài),然而隨著PFRTS增大,能耗將迅速減小,直到到達一個最小值后再緩慢增大,這是因為此時PDR已經(jīng)趨于穩(wěn)定,PFRTS的進一步增大將會導致節(jié)點花費更多的能量完成偵聽。

      綜上所述,盡管多發(fā)送節(jié)點時能耗會隨著PFRTS增大而緩慢增大,但因增大速度緩慢,主要考慮PDR大小的影響,因此令PFRTS=7 ms。

      下面將選取節(jié)能異步QoS MAC(energy-efficient asynchronous QoS MAC, AQSen-MAC)協(xié)議[23]、具有快速移動性自適應能力的MAC(fast-mobility adaptive MAC, FM-MAC)協(xié)議[24]與GN-MAC進行比較,原因是兩者均考慮了能量與通信時滯的問題,且均考慮了節(jié)點移動的影響。假設數(shù)據(jù)包生成率仍為1 Pkt/s,DATA包大小為100 bytes,同一條件的仿真仍然反復進行10次以求得所需評價指標的平均值。

      網(wǎng)絡內(nèi)隨機指定任意節(jié)點為MN,被選中成為MN的節(jié)點在網(wǎng)絡范圍內(nèi)沿隨機方向作往復直線運動。設MN個數(shù)為5個,分別令移動速度取5 m/s、10 m/s、15 m/s、…、50 m/s,其中,5~10 m/s對應低速移動場景,15~40 m/s對應中速移動場景,45~50 m/s對應高速移動場景。則4種MAC協(xié)議下MN的平均PDR、平均時滯以及平均能耗隨移動速度的變化趨勢如圖9所示。設MN移動速度恒為5 m/s,分別令MN個數(shù)取5、10、15、…、50,則4種MAC協(xié)議下MN的平均PDR、平均時滯以及平均能耗隨MN個數(shù)的變化趨勢如圖10所示。

      由圖9和圖10可知:① AQSen-MAC協(xié)議中MN在低移動速度以及MN數(shù)目較小的情況下,相較于其他兩種協(xié)議能夠獲得較高的PDR和較低的能耗。但由于其異步特性,隨著移動速度的增加或者MN個數(shù)的增加,數(shù)據(jù)包沖突越來越顯著,PDR將會逐漸降低,能耗也會逐漸增高,并且幅度越來越大,最終性能將不如其他兩種協(xié)議。② AQSen-MAC協(xié)議中MN的通信時滯較大,尤其是高速移動的情景下,MN反復改變其接收節(jié)點,造成大量時延現(xiàn)象,甚至導致丟包率急劇增大。③ FM-MAC由于采取了快速移動自適應的算法,MN在高速移動或MN數(shù)目較大的情況下,性能優(yōu)于AQSen-MAC,且由于其不需要與路由協(xié)議進行交聯(lián),FM-MAC包相對于GN-MAC包設計簡單,協(xié)議相較于GN-MAC也省去了交聯(lián)部分,因此FM-MAC在低移動速度和MN數(shù)目較小的情況下,性能與GN-MAC幾乎一致,甚至在通信時滯這一方面要優(yōu)于GN-MAC。但隨著MN移動速度增加或者MN數(shù)目的增加,FM-MAC性能逐漸降低,最終性能將不如GN-MAC。④ GN-MAC盡管在低移動速度和MN數(shù)目較小的情況下,性能不一定優(yōu)于其他兩種協(xié)議,但在高速移動或MN數(shù)目較多的情況下,性能將優(yōu)于其余兩種協(xié)議,這符合NNSs節(jié)點高速移動及多節(jié)點機動的應用情景。

      4 結(jié) 論

      本文重點設計了5個算法來構(gòu)成GN-MAC協(xié)議。同步化及節(jié)點分級首先奠定了其余算法的基礎;移動性檢測完成了高效且精準的節(jié)點移動性確認和分級,減小了節(jié)點移動性檢測時的能耗及時滯;簇間切換完成了MN時間規(guī)劃表的平滑切換,避免了節(jié)點簇間移動導致的長時間斷連和偵聽現(xiàn)象,進一步減小能耗與時滯;基于優(yōu)先級的競爭以及多信道通信使得GN-MAC性能更為優(yōu)異;最后通過與AQSen-MAC協(xié)議和FM-MAC協(xié)議仿真比較,驗證了算法的有效性。

      猜你喜歡
      移動性路由信道
      與5G融合的衛(wèi)星通信移動性管理技術(shù)研究
      國際太空(2021年11期)2022-01-19 03:27:06
      探究路由與環(huán)路的問題
      基于導頻的OFDM信道估計技術(shù)
      一種改進的基于DFT-MMSE的信道估計方法
      基于安全灰箱演算的物聯(lián)網(wǎng)移動性建模驗證
      基于MED信道選擇和虛擬嵌入塊的YASS改進算法
      PRIME和G3-PLC路由機制對比
      一種基于GPU的數(shù)字信道化處理方法
      WSN中基于等高度路由的源位置隱私保護
      計算機工程(2014年6期)2014-02-28 01:25:54
      FMC移動性管理程序
      河南科技(2014年24期)2014-02-27 14:19:26
      灵丘县| 阳高县| 会东县| 巴马| 北安市| 邵阳市| 肥城市| 民勤县| 苍山县| 唐山市| 花垣县| 措勤县| 峨边| 韶山市| 阿克陶县| 巩留县| 清徐县| 临漳县| 顺昌县| 秀山| 墨竹工卡县| 南皮县| 娱乐| 阜平县| 子洲县| 潢川县| 河北省| 前郭尔| 化州市| 淄博市| 汾西县| 淮滨县| 右玉县| 温泉县| 江口县| 旬阳县| 香河县| 荥阳市| 股票| 芦溪县| 河曲县|