999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于節點分級的NNSs跨層MAC協議設計

2022-06-25 13:04:26顧昊倫趙國榮姚金博
系統工程與電子技術 2022年7期

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

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

0 引 言

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

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

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

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

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

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

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

1 問題描述

1.1 網絡模型及CRTCC路由協議概述

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

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

1.2 GN-MAC包格式

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

2 GN-MAC協議算法

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

2.1 同步化及節點分級算法

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

算法 1同步化及節點分級

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

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

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

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

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

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

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

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

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

2.2 移動性檢測算法

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

算法 2移動性檢測

步驟 1節點偵聽媒介,同時轉步驟10,若一段時間內接收/偵聽到一個GN-MAC包,則轉步驟2,否則繼續偵聽媒介;

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

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

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

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

(1)

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

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

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

步驟 7判斷計時器T3是否被觸發,若已經觸發,則取消T3并重新觸發T3,否則觸發T3;

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

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

步驟 10遍歷該節點鄰居列表,將一段時間內沒有更新的鄰居節點從鄰居列表中刪除,轉步驟12;

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

步驟 12判斷計時器T2是否已經觸發,若已經觸發,則直接進入步驟13,否則先觸發T2,令計數器C2=0,再進入步驟13;

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

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

2.3 簇間切換算法

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

算法 3簇間切換

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

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

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

步驟 4Sink、RT、BN立刻向MN發送HSyn包,MN一旦接收到HSyn包,轉步驟2;

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

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

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

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

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

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

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

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

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

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

2.4 兩種通信管理算法

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

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

(2)

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

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

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)

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

To=maxPRTS/CTS+PFRTS

(8)

下文將分別在PRTS/CTS和PDATA/ACK內設計基于優先級的競爭算法以及多信道算法。

算法 4基于優先級的競爭

定義5個優先級別,由低到高依次為r1、r2、r3、r4、r5。r1對應BN、CH和NN,r2對應Sink和RT,r3對應MN1,r4對應MN2,r5對應MN3。基于優先級的競爭算法重新設計PRTS/CTS,引入5段slot,按時間先后順序對應不同的優先級別,分別記為s5、s4、s3、s2、s1。低等級的節點需要等待直到屬于自己的slot才能夠準備發送RTS/CTS包,定義這段等待時間為Tw。

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

(9)

s2表達式如下所示:

(10)

s1表達式如下所示:

s1=TCCA+3maxTr

(11)

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

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

(12)

r2優先級別的節點CTRTS表達式如下所示:

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

(13)

r1優先級別節點的CTRTS表達式如下所示:

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

(14)

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

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

(15)

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

算法 5多信道數據傳輸

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

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

2.5 單播DATA包完整過程

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

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

在一幀間隔內,需特別說明以下幾點原則。

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

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

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

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

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

3 算例仿真

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

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

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

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

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

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

網絡內隨機指定任意節點為MN,被選中成為MN的節點在網絡范圍內沿隨機方向作往復直線運動。設MN個數為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協議下MN的平均PDR、平均時滯以及平均能耗隨移動速度的變化趨勢如圖9所示。設MN移動速度恒為5 m/s,分別令MN個數取5、10、15、…、50,則4種MAC協議下MN的平均PDR、平均時滯以及平均能耗隨MN個數的變化趨勢如圖10所示。

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

4 結 論

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

主站蜘蛛池模板: 视频二区国产精品职场同事| 欧美综合在线观看| 国产成人乱无码视频| 久久中文无码精品| 欧美成人亚洲综合精品欧美激情 | 日韩成人在线网站| 视频一区亚洲| 狼友视频国产精品首页| 亚洲成人精品在线| 中文字幕在线观| 婷婷午夜影院| 国产精品一区不卡| 欧美精品一区在线看| 国产手机在线观看| 亚洲成人免费看| 日本成人一区| 久久综合激情网| 亚洲欧洲一区二区三区| 88国产经典欧美一区二区三区| 日本成人一区| 久久国产拍爱| 亚洲人成成无码网WWW| 特级做a爰片毛片免费69| 国产新AV天堂| 无码一区二区波多野结衣播放搜索| 国产亚洲精品自在久久不卡| 国产欧美在线| 九九香蕉视频| 91在线播放国产| 91小视频版在线观看www| 国产性爱网站| 久久久久国色AV免费观看性色| 波多野结衣视频一区二区| 日韩av电影一区二区三区四区| 亚洲天堂福利视频| 青青青国产在线播放| 国产在线观看一区精品| 色婷婷亚洲综合五月| 国产激情第一页| 亚洲欧美日韩成人在线| 在线a视频免费观看| 福利小视频在线播放| 婷婷六月激情综合一区| 日韩在线欧美在线| a级毛片免费播放| 国产成人精品一区二区三区| 精久久久久无码区中文字幕| 国产你懂得| 久久人人爽人人爽人人片aV东京热| 制服丝袜无码每日更新| 中文天堂在线视频| 午夜视频www| 日韩高清在线观看不卡一区二区| 亚洲天堂免费| 9啪在线视频| 97国产在线播放| 原味小视频在线www国产| 国产男人天堂| 色吊丝av中文字幕| 亚洲黄色视频在线观看一区| 制服丝袜国产精品| 欧美特黄一免在线观看| 亚洲精品波多野结衣| 国产福利在线免费| 日韩成人高清无码| 中文成人无码国产亚洲| 国产一二三区视频| 美女无遮挡拍拍拍免费视频| 日韩不卡免费视频| 亚洲成人在线免费观看| 美女无遮挡拍拍拍免费视频| 依依成人精品无v国产| 欧美在线中文字幕| 女人18毛片水真多国产| 亚洲国产成人久久77| 欧美在线中文字幕| 成人国产精品网站在线看| 色婷婷狠狠干| 女人一级毛片| 亚洲欧美一区二区三区蜜芽| 亚洲福利视频一区二区| 欧美成人免费一区在线播放|