程 凱,張信明
(中國科學(xué)技術(shù)大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,安徽 合肥230026)
車載自組織網(wǎng)絡(luò) (Vehicular Ad Hoc Networks,VANETs) 作為智能交通系統(tǒng)不可或缺的組成部分,自被提出以來就因其在車聯(lián)網(wǎng)領(lǐng)域的廣闊應(yīng)用前景而受到學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注[1]。它是一種在移動車輛之間或車輛與路邊基礎(chǔ)設(shè)施之間通過短距離通信技術(shù)實現(xiàn)互連的專用網(wǎng)絡(luò),能夠為交通參與者所需要的安全類、服務(wù)類、管理類等豐富的上層應(yīng)用提供網(wǎng)絡(luò)支持[2]。
在分布式VANETs 中,車輛節(jié)點在控制信道上周期性廣播的基礎(chǔ)安全消息 (Basic Safety Message,BSM)是整體網(wǎng)絡(luò)高效、可靠運行的重要一環(huán)[3]。一方面安全類應(yīng)用可以據(jù)此進行事故規(guī)避、風(fēng)險評估以及駕駛輔助等諸多決策,另一方面依據(jù)該消息中車輛信息進行上層協(xié)議的優(yōu)化也能提高非安全類應(yīng)用的各項性能指標(biāo)[4]。因此如何在多節(jié)點之間合理、高效、低沖突地分配控制信道資源,實現(xiàn)BSM的可靠傳輸是分布式場景中媒體訪問控制層(Medium Access Control,MAC)協(xié)議設(shè)計至關(guān)重要的問題[5]。時 分多 址 (Time Division Multiple Access,TDMA)機制被認為是一種能確保節(jié)點及時、可靠傳輸各類消息的高效方案,尤其是在中高節(jié)點密度場景中表現(xiàn)突出,然而在VANETs 中,由于節(jié)點高速移動、網(wǎng)絡(luò)拓撲動態(tài)變化等特性所導(dǎo)致的接入沖突與融入沖突,將影響沖突節(jié)點傳輸BSM 的時效性,進而降低整體網(wǎng)絡(luò)的安全性與穩(wěn)定性[6]。
接入沖突是指一跳或兩跳鄰居節(jié)點之間由于彼此沒有優(yōu)先級區(qū)分,在同時預(yù)約相同時隙(slot)時產(chǎn)生碰撞[7]。融入沖突是指原本能夠復(fù)用slot 的節(jié)點由于網(wǎng)絡(luò)拓撲變化成為兩跳鄰居后產(chǎn)生的沖突[8]。發(fā)生融入沖突的節(jié)點需要重新預(yù)約slot,進而增加接入沖突發(fā)生次數(shù)。為了降低由復(fù)用slot 的節(jié)點之間速度差異導(dǎo)致的融入沖突與后續(xù)接入沖突,學(xué)術(shù)界已經(jīng)提出了較多協(xié)議,主流方案是依據(jù)運動屬性對節(jié)點與幀內(nèi)slot 進行分組。其中文獻[9]提出的VeMAC 協(xié)議依據(jù)運動方向劃分幀內(nèi)slot,節(jié)點按照行駛方向預(yù)約對應(yīng)分組內(nèi)slot,有效降低了不同方向節(jié)點隨機預(yù)約slot 導(dǎo)致的沖突。為了進一步降低由同向節(jié)點速度差異導(dǎo)致的沖突,部分工作在VeMAC 的基礎(chǔ)上繼續(xù)細化節(jié)點運動屬性從而進一步劃分slot 分組,例如文獻[10]提出的CFR-MAC協(xié)議將同向節(jié)點分為高、中、低速三類。
但在實際應(yīng)用中,道路上的雙向車流往往是動態(tài)變化的,兩個方向上的節(jié)點數(shù)目并不平衡。這在實際生活中也較為常見,例如早晚高峰路段,同時不同區(qū)域內(nèi)的車流分布也不完全相同。在分組長度固定的方案中,當(dāng)一側(cè)方向上節(jié)點數(shù)目超出對應(yīng)分組的slot 負載時,節(jié)點只得借用其他分組內(nèi)slot,此時分組方案的優(yōu)勢被大大削弱,沖突發(fā)生的概率隨之增加[11]。為了緩解動態(tài)車流對協(xié)議降低沖突效果的影響,文獻[12]提出依據(jù)節(jié)點視角內(nèi)兩側(cè)方向上鄰居節(jié)點數(shù)目與對應(yīng)分組內(nèi)slot 數(shù)目的關(guān)系進行分組調(diào)整的A-VeMAC 協(xié)議,然而節(jié)點的左右兩跳鄰居之間由于超出沖突范圍被允許復(fù)用slot,使之存在過早調(diào)整與超出需求等局限性,反而會降低協(xié)議性能。
針對上述動態(tài)變化的雙向車流帶來的挑戰(zhàn)以及現(xiàn)有工作的不足,本文提出一種車流自適應(yīng)、低沖 突 的TALC-MAC 協(xié) 議 (Traffic Adaptive and Low Collision MAC),主要貢獻在于:
(1)針對現(xiàn)有分組調(diào)整方案的局限性,T ALC-MAC使用slot 占用率作為分組調(diào)整的判斷依據(jù),在滿足特定條件時對slot 占用率較高方向的分組長度進行逐幀擴展或收縮,以適應(yīng)車流實際分布,減緩動態(tài)變化的雙向車流對協(xié)議性能的影響。
(2)考慮到分組長度調(diào)整方案中在雙向分組相交處發(fā)生沖突概率大的問題,TALC-MAC 依據(jù)分組間相對速度關(guān)系設(shè)計幀內(nèi)slot 分組方案,安排具體分組位置,有效降低相對速度差異較大的節(jié)點復(fù)用slot 在分組長度調(diào)整過程中發(fā)生沖突的概率。
(3)對于網(wǎng)絡(luò)中不可避免出現(xiàn)節(jié)點預(yù)約slot 時與其運動屬性對應(yīng)的分組中已無空閑slot 的情況,TALC-MAC 提供一種低沖突的slot 預(yù)約策略,節(jié)點綜合考慮自身運動屬性、速度劃分因子、各分組內(nèi)slot 占用情況以及分組調(diào)整條件,決定其預(yù)約slot的最終選擇。
如圖1 所示,網(wǎng)絡(luò)場景由一段雙向道路構(gòu)成,節(jié)點是以分布式形式組織的車輛,從道路的某個入口駛?cè)朐摱蔚缆凡⒔尤刖W(wǎng)絡(luò),行駛一段時間后從某個出口駛離該段道路并離開網(wǎng)絡(luò),若其實際行駛方向有西向分量則定義為左向,否則為右向[9]。節(jié)點搭載半雙工收發(fā)器異步接收和發(fā)送各類消息,同時搭載全球定位系統(tǒng) (Global Position System,GPS)信號接收設(shè)備同步全局時間與獲取車輛信息,包括自身位置、速度與方向等。
圖1 分布式VANETs 系統(tǒng)模型及兩類沖突示意圖
節(jié)點在獲取到的slot 到達時廣播通告包,其中包含BSM,同時攜帶所有一跳鄰居(通信半徑為R)的slot 使用情況。在駛?cè)氲缆坊蛘叱霈F(xiàn)沖突需要接入網(wǎng)絡(luò)時,首先監(jiān)聽一幀時長的信道時間來收集并解析兩跳鄰居的slot 使用情況,按照協(xié)議選擇一個與兩跳范圍內(nèi)所有鄰居均不沖突的空閑slot 進行預(yù)約,避免出現(xiàn)直接沖突,最后通過下一幀中所有鄰居的通告包確認預(yù)約是否成功[13]。成功占用slot的節(jié)點僅在駛離道路或者出現(xiàn)沖突后才會釋放當(dāng)前占用的slot 資源。
圖1 中展示了兩類沖突發(fā)生的情況,節(jié)點X 與節(jié)點Y 同時預(yù)約相同slot,在兩者的共同一跳鄰居A 處發(fā)生接入沖突。節(jié)點X 與節(jié)點Z 原本由于沒有公共鄰居而復(fù)用slot,當(dāng)相對位置發(fā)生變化后在公共鄰居B 處發(fā)生融入沖突。如圖2 所示,網(wǎng)絡(luò)中的時間被劃分為固定長度為TF的時間幀,每個時間幀進一步被劃分為S 個slot,分為左向SL與右向SR兩個分組。
圖2 網(wǎng)絡(luò)時間劃分示意圖
本小節(jié)描述兩節(jié)點發(fā)生融入沖突的概率與其相對速度的關(guān)系。規(guī)定速度、位置右向為正,假設(shè)節(jié)點A 與節(jié)點B 占用了相同slot,速度分別為VA與VB。當(dāng)前為0 時刻,B 在A 右側(cè),即兩者位置滿足PA<PB。兩節(jié)點保持速度使位置越來越近,且發(fā)生融入沖突時兩者距離為DM,時刻為TM,易知在不考慮節(jié)點離開網(wǎng)絡(luò)的前提下不論方向如何均有:
考慮節(jié)點會從某個路口離開網(wǎng)絡(luò),假設(shè)離開網(wǎng)絡(luò)時刻分別為TA與TB,網(wǎng)絡(luò)最大持續(xù)時間為Tmax,定義事件F 為A 與B 發(fā)生融入沖突,顯然需要滿足TM<TA且TM<TB。固定TM,在 時間軸上隨機選擇TA與TB的位置,易知F 發(fā)生的概率為:
顯然兩節(jié)點速度差異越大,發(fā)生融入沖突的概率也就越大。該結(jié)果驗證了分組長度固定的方案在面對動態(tài)變化的雙向車流時存在的問題,即節(jié)點借用對向分組內(nèi)slot,使相對速度差異較大的節(jié)點之間復(fù)用slot,進而增大P(F)。此外發(fā)生融入沖突的節(jié)點需要重新預(yù)約slot,進而增大接入沖突發(fā)生概率,也即動態(tài)變化的雙向車流影響了分組方案降低沖突的效果。
本小節(jié)描述節(jié)點X 視角內(nèi)兩跳鄰居數(shù)目與所占用slot 數(shù)目之間的關(guān)系。如圖3 所示,僅考慮單個方向(右向)與固定的進入網(wǎng)絡(luò)順序,節(jié)點僅依據(jù)方向選擇對應(yīng)分組內(nèi)的空閑slot,不考慮沖突以及節(jié)點超出分組內(nèi)slot 閾值的情況。假設(shè)X 左右兩跳范圍內(nèi)均勻分布著4N 個與之同向的鄰居節(jié)點。節(jié)點依次進入網(wǎng)絡(luò),對于X 及其右側(cè)的2N+1 個節(jié)點,由于彼此位于兩跳范圍內(nèi),必須預(yù)約互不相同的slot,因此X 接入網(wǎng)絡(luò)后SR(X)中被占用的slot 數(shù)目|SOR(X)|為2N+1。
圖3 節(jié)點X 兩跳鄰居與占用slot 分析示意圖
當(dāng)X 左側(cè)節(jié)點L1接入網(wǎng)絡(luò)時,由于R1超出兩跳范圍,因此在L1視角內(nèi)SR被占用了2N 個slot。定義事件F10與F11分別為L1選擇了與R1相同和不同的slot,從而使得|SOR(X)|增加0 或1,易知兩者概率分別為:
易得由于L1加入網(wǎng)絡(luò)|SOR(X)|的期望變?yōu)椋?/p>
X 左側(cè)節(jié)點繼續(xù)加入網(wǎng)絡(luò),不難發(fā)現(xiàn)當(dāng)編號為LK的節(jié)點進入網(wǎng)絡(luò)時,其預(yù)約完slot 使X 視角內(nèi)SR(X)被占用slot 數(shù)目增加了Q 個的事件FKQ概率為:
此時|SOR(X)|的期望變?yōu)椋?/p>
當(dāng)X 左側(cè)2N 個節(jié)點全部加入網(wǎng)絡(luò)后,期望變?yōu)椋?/p>
X 加上自身兩跳范圍內(nèi)共4N+1 個節(jié)點,因此兩跳鄰居數(shù)目與所占用的slot 數(shù)目之間存在差距,且節(jié)點密度越高時差距越大。這主要源于X 的左側(cè)和右側(cè)兩跳鄰居之間已經(jīng)超出沖突域范圍(2R),無法從自身一跳鄰居的通告包中感知到對方占用slot 的情況,因此被允許復(fù)用slot。若考慮出現(xiàn)沖突需要重新預(yù)約slot,顯然節(jié)點有更大概率與自身兩跳范圍外的節(jié)點復(fù)用slot。X 視角內(nèi)兩跳鄰居中左向與右向節(jié)點集合分別為NTL(X)與NTR(X),車流平衡度定義由式(9)給出,顯然越不平衡的場景中上述差距越明顯。
A-VeMAC 依據(jù)TBRX與分組內(nèi)slot 數(shù)目的關(guān)系進行分組調(diào)整[12],會出現(xiàn)兩個問題:(1)過早調(diào)整,達到閾值條件時單向分組內(nèi)仍有足量空閑slot;(2)超出需求,調(diào)整后節(jié)點密度較高方向的slot 數(shù)目超出實際需求。兩個問題使得調(diào)整部分長度無法控制,并不能適應(yīng)車流實際分布,重新預(yù)約該部分slot 的節(jié)點發(fā)生沖突概率大幅增加,反而會降低協(xié)議性能。
基于上述系統(tǒng)模型與問題描述,本節(jié)將詳細闡述TALC-MAC 的設(shè)計。首先提出一種基于slot 占用率的分組長度自適應(yīng)調(diào)整方案;其次依據(jù)相對速度關(guān)系設(shè)計幀內(nèi)slot 分組方案,安排具體分組的位置;最后提供一種低沖突的slot 預(yù)約策略。
節(jié)點X 進入網(wǎng)絡(luò)時|SL(X)|與|SR(X)|相等,在每一幀結(jié)束時更新得到左右兩個分組內(nèi)slot 占用率分別為:
slot 占用率與分組內(nèi)被占用slot 數(shù)目有關(guān),占用率越高則剩余的空閑slot 數(shù)目越少,若該方向上節(jié)點繼續(xù)增加,X 預(yù)約slot 時將借用對向分組,此時需要進行分組擴展以適應(yīng)車流分布。給出如下參數(shù)定義:
(1)Hmax:分組擴展時節(jié)點密度較高方向?qū)?yīng)分組中slot 占用率上限閾值。
(2)Lmax:分組擴展時節(jié)點密度較低方向?qū)?yīng)分組中slot 占用率上限閾值。
(3)Umin:分組擴展時節(jié)點密度較低方向?qū)?yīng)分組預(yù)留的slot 數(shù)目占整個幀長的最小比值。
(4)RE:節(jié)點密度較高方向?qū)?yīng)分組擴展的單位slot 數(shù)目占整個幀長的比值。
假設(shè)當(dāng)前節(jié)點X 視角內(nèi)左側(cè)方向上節(jié)點密度較高,如圖4 所示在滿足式(12)條件時X 時間幀內(nèi)SL(X)將從兩分組相交處向SR(X)一側(cè)擴展EX個slot。
圖4 分組長度擴展示意圖
條件1 規(guī)定所有節(jié)點僅能對節(jié)點密度較高方向分組進行擴展。條件2 規(guī)定節(jié)點提前進行調(diào)整,防止多節(jié)點擴展分組后同時預(yù)約slot 導(dǎo)致接入沖突。條件3 保護SR(X)在其slot 占用率較高時不接受來自對向的分組擴展。遞增EX直至不滿足下式:
同樣為保護SR(X),需要使其在被收縮之后slot占用率仍不超過Lmax。其次為防止車流極度不平衡時SL(X)的擴展一直持續(xù)至超出閾值,需要為右向節(jié)點預(yù)留定量slot。最后為避免1.3 節(jié)所述超出需求的問題,協(xié)議限制了單個時間幀內(nèi)分組擴展的最大長度為:
式中依據(jù)兩分組slot 占用率比值進行調(diào)整以適應(yīng) 雙 向 車 流 平 衡 度 的 動 態(tài) 性。SL(X)相 比SR(X)而 言slot 占用率差距越明顯,則允許擴展的長度越大,否則越小。
綜上,在面對動態(tài)的非平衡車流時,位于相近區(qū)域內(nèi)擁有相似視角的節(jié)點將依據(jù)上述方案同步進行雙向分組長度的調(diào)整,使SL(X)與SR(X)的長度盡量滿足對應(yīng)方向上節(jié)點數(shù)目的實際需求。在后續(xù)重新預(yù)約slot 時依據(jù)新的分組調(diào)整預(yù)約策略,逐步使此區(qū)域內(nèi)節(jié)點占用slot 的情況與車流實際分布相適應(yīng)。
考慮到真實場景中雙向車流平衡度往往是動態(tài)變化的,節(jié)點可能從左側(cè)方向上節(jié)點密度較高的區(qū)域行駛到右側(cè)節(jié)點密度較高的區(qū)域。也即在X的視角內(nèi)隨著網(wǎng)絡(luò)拓撲變化,左側(cè)方向上節(jié)點數(shù)目不斷降低,導(dǎo)致SL(X)內(nèi)slot 占用率也隨之降低,當(dāng)達到某一閾值后即可對SL(X)進行收縮。給出如下參數(shù)補充:
(1)Dmax:分組收縮時節(jié)點密度較高方向?qū)?yīng)分組中slot 占用率上限閾值。
(2)RC:節(jié)點密度較高方向?qū)?yīng)分組收縮的單位slot 數(shù)目占整個幀長的比值。
如圖5 所示在滿足式(15)條件時X 時間幀內(nèi)SL(X)將 從 兩 分 組 相 交 處 向SL(X)一 側(cè) 收 縮CX個slot。
圖5 分組長度收縮示意圖
首先分組收縮的前提是SL(X)在之前的時間幀內(nèi)被擴展,也即前文所述的分組擴展僅從節(jié)點密度較高方向進行。其次要求經(jīng)過網(wǎng)絡(luò)拓撲變化后SL(X)的slot 占用率降低到閾值Dmax。遞增CX直至不滿足下式:
SL(X)在收縮之后需要確保slot 占用率不超過Hmax,以避免數(shù)個時間幀內(nèi)該分組需要再進行擴展的情況發(fā)生。其次分組擴展與收縮都是以節(jié)點密度較高方向為主,起始和終止條件均為雙向分組長度相等。CX的最大長度由下式給出:
此時依據(jù)雙向分組長度的比值來調(diào)整,當(dāng)分組SL(X)需要收縮時其長度相比SR(X)越長則允許收縮的長度也越大,反之越小。上述分組長度自適應(yīng)調(diào)整過程在右側(cè)方向上節(jié)點密度較高時也可以進行類似操作。整體策略可以形式化為GLA (Group Length Adjustment)算法,偽代碼如下:
算法1:GLA
輸 入:SL(X),SR(X),Hmax等參數(shù);
(1)if |SL(X)|≥|SR(X)|,執(zhí)行步驟(2)~(5)。
(2)if 式(12)成立,執(zhí)行步驟(3)。
(3)for i∈[1,max(EX)],重復(fù)步驟(3.a)~(3.c):
(3.c)if 式(13)不成立,break。
(4)if 式(15)成立,執(zhí)行步驟(5)。
(5)for i∈[1,max(CX)],重復(fù)步驟(5.a)~(5.c):
(5.c)if 式(16)不成立,break。
(6)if |SL(X)|≤|SR(X)|,重復(fù)步驟(2)~(5),修改對應(yīng)公式中的L與R。
細致的幀內(nèi)slot 分組方案在面對動態(tài)變化的雙向車流時,將更容易出現(xiàn)分組內(nèi)slot 占用率超出閾值的情況,使得不同運動屬性的節(jié)點預(yù)約相同分組內(nèi)slot,反而會降低分組優(yōu)勢,此外在真實車流場景中往往無法確定合適的運動屬性劃分標(biāo)準(zhǔn)。因此如圖6 所示,TALC-MAC 僅考慮將單向分組進一步劃分為等長的兩個較小分組,分別表示相對高速與相對低速,四個較小分組分別命名為LH、LL、RH 與RL。
圖6 幀內(nèi)分組方案示意圖
依據(jù)1.2 節(jié)分析,復(fù)用slot 的兩節(jié)點相對速度差異越大,發(fā)生融入沖突的概率越高。2.1 節(jié)中基于slot 占用率的分組調(diào)整方案在一定程度上緩解了動態(tài)變化的雙向車流對協(xié)議性能的影響,但是在調(diào)整部分(EX與CX段)發(fā)生融入沖突的概率依舊較大,這是由節(jié)點使用slot 的行為特性決定的。
已有工作中幀內(nèi)較小分組位置安排完全相同[10],而分組調(diào)整一般在雙向分組相交處開展。若沿用此方案,則預(yù)約了相交處的兩個較小分組內(nèi)slot 的節(jié)點之間速度差異較大 (如LH 與RL),致使在適應(yīng)車流分布的過程中節(jié)點密度較高方向上預(yù)約了調(diào)整部分slot 的節(jié)點,與對向上在調(diào)整前已經(jīng)占用了相同slot 的節(jié)點之間發(fā)生沖突概率較大。
假設(shè)節(jié)點均勻分布,高速與低速節(jié)點的速度分別符合正態(tài)分布N(μH,)與N(μL,),μH>μL。在不考慮分組內(nèi)無空閑slot 的情況下,預(yù)約了四個較小分組內(nèi)slot 的節(jié)點之間平均相對速度差異由大到小表示為:
(1)ΔV(LH,RH)=2μH;
(2)ΔV(LH,RL)=ΔV(LL,RH)=μH+μL;
(3)ΔV(LL,RL)=2μL;
(4)ΔV(LH,LL)=ΔV(RH,RL)=μH-μL。
TALC-MAC 依據(jù)上述相對速度關(guān)系安排幀內(nèi)具體分組的位置,使相對速度差異較大的分組之間盡量遠離,從而降低相對速度差異較大的節(jié)點復(fù)用slot 的概率。也即將LH 與RH 兩個相對速度差異最大的分組安排在時間幀兩端,LL 與RL 兩個較低速分組安排在雙向分組相交處,此時在分組調(diào)整前后預(yù)約了調(diào)整部分slot 的節(jié)點均相對低速,從而降低了由分組調(diào)整導(dǎo)致的在分組相交處發(fā)生沖突的概率。
由于節(jié)點占用slot 的規(guī)則以及分組長度自適應(yīng)調(diào)整方案的限制,在車流動態(tài)變化的場景中,不可避免會出現(xiàn)節(jié)點預(yù)約slot 時與其運動屬性對應(yīng)的分組中無空閑slot 的情況。已有工作允許此類節(jié)點隨機預(yù)約整個時間幀內(nèi)的空閑slot[10],此時這些節(jié)點與其他節(jié)點之間速度差異較大,發(fā)生沖突的概率也較大,對此TALC-MAC 提供一種低沖突的slot 預(yù)約策略。
當(dāng)節(jié)點X 新加入網(wǎng)絡(luò)或者由于出現(xiàn)沖突需要重新預(yù)約slot 時,首先依據(jù)從GPS 獲得的自身速度方向決定其運動方向,即決定DX的取值為L 或R。其次依據(jù)解析到的一跳鄰居通告包內(nèi)容,根據(jù)式(18)計算其與m 個同向節(jié)點之間的速度差異。
其中k 定義為速度劃分因子,其設(shè)置目標(biāo)是使節(jié)點有更大概率接入運動方向上的High 分組,從而使該方向Low 分組中盡可能預(yù)留出空閑slot,從而進一步降低在分組相交處發(fā)生沖突的概率。X 依據(jù)當(dāng)前所在區(qū)域內(nèi)鄰居節(jié)點的速度分布,決定其是較高速節(jié)點還是較低速節(jié)點,即確定SX,若ΔV≥0,則SX取值為H,否則為L。
定義E(DX,SX)為當(dāng)前時間幀內(nèi)方向為DX、相對速度為SX的較小分組中所有空閑slot 編號構(gòu)成的集合。當(dāng)X 需要預(yù)約slot 時,若E(DX,SX)=?,即首選分組內(nèi)無空閑slot,則更新SX為{H,L}中另一個元素,借用同向另一個分組內(nèi)slot。
若此時E(DX,SX)=? 仍成立,即同向大分組內(nèi)無空閑slot,先進行分組長度調(diào)整的判斷,若達到2.1 節(jié)所述條件則調(diào)整后重新進行預(yù)約。在不能進行分組調(diào)整時更新DX為{L,R}中另一個元素,且SX為L,即優(yōu)先借用對向低速分組內(nèi)slot。若仍無空閑slot 則更新SX為H,即最后才借用對向高速分組內(nèi)slot。當(dāng)上述過程中出現(xiàn)E(DX,SX)≠?,即可隨機選擇一個slot 預(yù)約,若最后仍無空閑slot 則本次預(yù)約失敗。
上述細化的slot 預(yù)約策略考慮了2.2 節(jié)所述分組的相對速度差異。在面對動態(tài)變化的雙向車流時,節(jié)點將綜合考慮自身運動屬性、 各分組內(nèi)slot占用情況以及分組調(diào)整條件,決定其預(yù)約slot 的最終選擇,從而有效降低節(jié)點隨機預(yù)約整個時間幀內(nèi)空閑slot 所導(dǎo)致的沖突。
本節(jié)在操作系統(tǒng)為Ubuntu18.04.5 的環(huán)境中進行仿真實驗,利用網(wǎng)絡(luò)仿真模擬器OMNeT++[14]與無線通信仿真框架Veins[15]搭建仿真環(huán)境,修改Veins 框架中的MAC 層代碼實現(xiàn)相關(guān)對比協(xié)議與所提TALC-MAC,同時使用城市移動仿真軟件SUMO[16]生成真實運動車輛與道路模型,設(shè)計不同場景驗證所提協(xié)議的性能表現(xiàn)。具體相關(guān)參數(shù)設(shè)置見表1。
表1 實驗參數(shù)設(shè)置
為模擬真實場景,除道路兩端出入口外還在兩方向中間各設(shè)置一個出入口。各節(jié)點依據(jù)正態(tài)分布選擇初始速度,依據(jù)3 s 原則確定車距后加入網(wǎng)絡(luò)。節(jié)點到達道路中間等概率選擇繼續(xù)行駛或者離開網(wǎng)絡(luò),離開節(jié)點將從中間位置入口再次加入網(wǎng)絡(luò)。到達終點的節(jié)點再返回出發(fā)點以維持節(jié)點總數(shù)不變。為模擬動態(tài)變化的雙向車流,僅限制節(jié)點最大行駛速度,不限制加速、減速、出入口排隊等行為。以兩個方向上的節(jié)點總數(shù)比值設(shè)置平均車流平衡度(TBR)(左向節(jié)點較多),而不限制單個節(jié)點視角內(nèi)TBR。確定單向節(jié)點總數(shù)后安排各車道節(jié)點數(shù)目,車速越快的車道節(jié)點數(shù)越少。部分參數(shù)取值經(jīng)調(diào)優(yōu)確定,所有節(jié)點加入網(wǎng)絡(luò)后統(tǒng)計仿真時長內(nèi)各項 指 標(biāo),對 比 協(xié) 議 為VeMAC[9]、A-VeMAC[10]與CFR-MAC[12]。
首先分析本文所提分組長度自適應(yīng)調(diào)整方案(TALC-GLA)的性能表現(xiàn),圖7 和圖8 分別展示了仿真時間內(nèi)不同協(xié)議在不同TBR 下兩種沖突率的對比,沖突率定義為平均單個時間幀內(nèi)沖突發(fā)生次數(shù)。TBR 為0.8,0.9 和1 時左向道路上并未出現(xiàn)明顯的節(jié)點數(shù)目超出閾值的情況,因此沖突率較為穩(wěn)定,將其平均值作為各協(xié)議基準(zhǔn)。當(dāng)TBR 繼續(xù)減小,左向節(jié)點數(shù)目不斷增加,VeMAC 中開始大量出現(xiàn)借用右向分組內(nèi)slot 的情況,致使兩種沖突率顯著增加。例如TBR 為0.7 時融入沖突率較穩(wěn)定狀態(tài)僅增加5.7% ,而TBR 為0.1 時該指標(biāo)激增到124%。接入沖突率一般較小因此影響更為明顯,TBR 為0.7 時較穩(wěn)定狀態(tài)增加34.8%,但TBR 為0.1 時激增到穩(wěn)定狀態(tài)的16.6 倍。由此可見動態(tài)變化的雙向車流對分組長度固定的協(xié)議性能的巨大影響。
圖7 不同車流平衡度下接入沖突率
圖8 不同車流平衡度下融入沖突率
相比之下A-VeMAC 較好地適應(yīng)了雙向車流,但正如1.3 節(jié)所分析,該方案存在一定局限性。考慮到右向節(jié)點的平均數(shù)目,在TBR 為0.4,0.5 與0.6 時過早調(diào)整與超出需求所帶來的影響最為明顯,接入沖突率較穩(wěn)定狀態(tài)分別增加了115%,82.8%與44.7%,而融入沖突率分別增加了36.1%,36.4%與24.9%,在TBR 為0.6 時融入沖突率甚至超過了VeMAC,由此可見A-VeMAC 存在的局限性影響了協(xié)議的性能。
TALC-GLA 中基于slot 占用率進行分組長度調(diào)整的方案很好地適應(yīng)了雙向車流的動態(tài)變化,接入沖突率較穩(wěn)定狀態(tài)的增加率始終保持在20.0%以內(nèi),最差情況在TBR 為0.4 時該指標(biāo)較A-VeMAC的115%而言降低了82.7%。在分組長度調(diào)整過程中融入沖突的增加雖然無法避免,但最差情況在TBR 為0.1 時融入沖突率較穩(wěn)定狀態(tài)也僅增加19.3%。在A-VeMAC 出現(xiàn)顯著局限性的TBR 為0.4,0.5 和0.6 時,融入沖突率較A-VeMAC 分別降低了0.062,0.074 與0.046,可見所提方案在適應(yīng)雙向車流分布上的優(yōu)勢。
圖9 展示了不同參數(shù)下各協(xié)議通告包投遞率的對比,該指標(biāo)反映節(jié)點在控制信道上周期性廣播的通告包被鄰居節(jié)點成功接收的數(shù)量。由于仿真場景相同,因此影響投遞率的主要因素即為網(wǎng)絡(luò)整體沖突率。隨著TBR 的降低,VeMAC 中投遞率也不斷降低,例如從TBR 為1.0 降到0.1 時,投遞率降低了0.1%,而A-VeMAC 和TALC-GLA 分別降低了0.04% 和 0.03% 。同 樣,TBR 為 0.4 和 0.5 時,TALC-GLA 的投遞率相比于A-VeMAC 分別提升0.02%和0.01%。盡管該數(shù)值較小,但考慮到所有節(jié)點廣播通告包的周期很短 (0.1 s),而被成功接收的通告包越多,BSM 中的信息越及時,因此所提分組調(diào)整方案有效提升了整體網(wǎng)絡(luò)的安全與可靠。
圖9 不同車流平衡度下通告包投遞率
圖10 展示了不同參數(shù)下各協(xié)議兩種沖突率的對比,將僅按照相對速度進行細化分組,但并未調(diào)整具體分組位置,也未優(yōu)化預(yù)約策略的對照協(xié)議稱為TALC-UNOP。CFR-MAC 與VeMAC 類 似,隨 著TBR 不斷降低兩種沖突率顯著上升。而對于TALCMAC,最差情況下TBR 為0.1 時融入沖突率較穩(wěn)定狀態(tài)也僅增加20.8%,接入沖突率較穩(wěn)定狀態(tài)的增加率也始終保持在54.5%以內(nèi)。對于TALC-UNOP,在不同TBR 下融入沖突率相較于TALC-MAC 均有不同程度的增加,例如TBR 為0.5 時增加了0.005,為0.3 時增加了0.029,而為0.1 時增加了0.032。接入沖突由于整體發(fā)生次數(shù)較少,增加并不明顯。由此可見所提幀內(nèi)slot 分組方案與slot 預(yù)約策略進一步降低了整體網(wǎng)絡(luò)的沖突率。
圖10 不同車流平衡度下沖突率
圖11 展示了不同參數(shù)下各協(xié)議接入時延的對比,由于未考慮數(shù)據(jù)包傳輸?shù)绕渌麜r延,因此僅考慮節(jié)點從預(yù)約slot 到成功占用slot 所經(jīng)歷的時延。隨著TBR 降低,VeMAC 與CFR-MAC 接入時延不斷提高,例 如VeMAC 在TBR 為0.1 時 相 比1.0 時增 加 了4.72 個slot,而CFR-MAC 增 加 了2.63個slot,可見分組固定方案的接入時延受到不平衡雙向車流的影響較大。而分組調(diào)整方案有效降低了接入時延,相比于A-VeMAC,在TBR為0.4 和0.5 時,TALC-MAC 接入時延分別降低了0.44 和0.55 個slot。由 此 可 見TALC-MAC在降低整體網(wǎng)絡(luò)接入時延,加快節(jié)點接入網(wǎng)絡(luò)的速度上仍然具有優(yōu)勢。
圖11 不同車流平衡度下接入時延
本文針對分布式車載自組織網(wǎng)絡(luò)設(shè)計了一種 車 流 自 適 應(yīng)、 低 沖 突 的TALC-MAC 協(xié) 議,通過將slot 占用率作為判斷依據(jù)設(shè)計分組調(diào)整方案,同時優(yōu)化slot 分組方案與預(yù)約策略,使協(xié)議能有效適應(yīng)雙向車流的動態(tài)變化,保持整體網(wǎng)絡(luò)低沖突的特性。仿真實驗結(jié)果從沖突率、通告包投遞率、 接入時延等方面驗證了TALC-MAC 協(xié)議具有較優(yōu)的性能表現(xiàn)。