弓之箭,苗 笛,李 揚,段效賢
(1.天津職業技術師范大學 電子工程學院,天津 300350;2.天津中德應用技術大學 軟件與通信學院,天津 300350;3.天津工業大學 電子與信息工程學院,天津 300387)
車載自組織網絡(Vehicle Ad-Hoc Networks,VANET)[1-2]是一種特殊的移動自組織網絡,其網絡規模大,車輛節點運動軌跡被嚴格限制在道路中,網絡密度不均勻,節點的快速移動將導致網絡拓撲結構變化更為頻繁。因此,對于這種動態的、高速移動的網絡環境,相較于TCP/IP的段和段的管道式連接,作為以數據為中心的多源未來網絡架構NDN[3-4]更適用于互聯網、救援等高速移動場景。車載Ad-Hoc網絡(VANET)是一種移動Ad-Hoc網絡(MANET)。在VANET中,有三種常見的通信模式:車對車(V2V)、車對基礎設施(V2I)和車對路邊(V2R)單元。在這個網絡的100~300 m的拓撲范圍內,各個車輛節點可以互相路由鏈接,形成自己的轉發網絡,VANET支持簡單的一跳信息傳播,在高速移動的車輛中,在這個拓撲范圍內交替。無線車載網絡在通信方面的技術挑戰是路由轉發,路由是到達目標的最優路徑,而轉發路由被選定后如何將包從某個節點傳輸到另一個節點則面臨著很多挑戰[5]。由于VANET擁有高速動態的拓撲結構,可能存在節點的高速移動產生的軌跡是否可以預測、定位是否準確、時延是否符合用戶要求等一系列節點轉發的問題,這也使得VANET的研究引起了學術和工業領域許多專家的注意。
目前針對節點通信轉發的問題,專家們已經做出了很多努力,發表了很多篇文獻來介紹NDN興趣包的轉發策略[6-11]。Wang等人[12]設計了一種將興趣包轉發限制在一跳范圍的策略,一跳范圍外的車輛獲取信息依靠NDN的網內緩存實現。Chair-Bi等人[13]設計了一種基于計時器的貪婪轉發策略,擴展NDN興趣包格式,在其中添加了附加字段用于攜帶興趣包發送者的位置信息,距離發送車輛最遠的車輛節點優先轉發興趣包。Yu等人[14]設計了一種基于地理位置的轉發方案。對于一個給定的目標位置,轉發節點在興趣包中加入其自身的位置和目的位置信息,然后廣播興趣包,根據節點位置信息計算最短路徑,形成了基于最短路徑的轉發方案(NDN-G)。Guo等人[15]設計的BRFD轉發策略是一種基于貝葉斯的接收機轉發策略方案。
本文提出了一種面向VANET的NDN實時車輛節點軌跡路徑選擇方案,該方案是一種基于機器學習的概率轉發策略方案—DT-NB。首先用SUMO仿真聯合ndnSIM平臺模擬上海市某高架的實時車輛運行狀態信息,如車輛坐標x和y、車輛類型Type、車輛速度Speed、車輛所在的車道Lane及位置Pos等信息。然后利用DT-NB算法預測車輛的轉發行動,進而選擇合適的信息傳輸路徑轉發數據包。當前運動著的車輛節點會實時周期性地交換運行狀態信息,并根據轉發概率判斷是否轉發,以此改善上面提出的洪泛問題。在V-NDN數據傳播的基礎上具體展示了SUMO仿真及轉發決策的構建過程,并且對比了BSRF、Multicast、NDN-G三種轉發策略下滿足的興趣包數、興趣包轉發數和時延的性能等,證明了本文方案在優化廣播風暴和解決網絡擁塞方面的優勢。
V-NDN將地理位置信息編碼進數據名字,所有興趣包可以向提出請求期望數據的地理位置進行轉發。在有線環境下,僅當PIT表中有對應的請求該數據的條目,NDN節點才接收數據包;如果沒有對應條目,看數據的策略是什么,如果策略是緩存,嘗試插入CS,否則什么也不做。然而,在高度動態的移動場景中,假定最初的消費者到擁有數據的節點的一條穩定的鏈路不可行,將會與有線NDN有一個基本的不同。因此,除了在可能的時候使用PIT進行數據轉發,V-NDN還會利用無線廣播特性,讓廣播范圍內的每個節點緩存接收到的數據,而不管是否存在匹配的PIT條目或者是否需要數據本身。在圖1中,Data-A傳播到鄰居車輛,并被所有接收者緩存。由于這些車輛的移動,它們將作為數據騾角色,攜帶Data-A到一個更廣闊的區域。大量的數據騾擴大了數據傳播區域,增加了與Data-A的消費者會合的機會,數據騾攜帶Data-A。
設計V-NDN時,假設每一個節點有準確的地理位置,所有的數據名字鏈接到相應的地理位置。與固定環境相反,因為發布者是移動的,所以很難為每個數據保存FIB。因此,地理位置用于在V-NDN中獲取數據。許多車輛應用程序適合該模型,地理位置可以被用來標識數據對象,可以嵌入到名字中。例如,在復雜道路狀況中,尤其是在高速公路、高架橋這種高速度移動的場景或者盤山公路等路況,實時移動的車輛間的交互就顯得尤為重要。因此本文模擬了地圖路況比較好處理的上海某高架橋上的實時車輛數據交互。
使用ndnSIM仿真平臺聯合SUMO[16-18]車輛交通仿真平臺來獲取上海某高架地圖信息,并轉化成net.xml文件,隨后生成rou文件與poly文件。最后創建一個配置trace文件.sumocfg。為了讓高架公路充滿車輛,添加不同的車輛類型:普通乘用車、運動型客車、卡車等,設置更高的期望行駛速度。其中將步長延遲設置為200 ms,節點數為74,邊為80,總邊長為23.47 km,出現的總車輛數為195個,車輛的行駛速度在0~27.77 m/s范圍內,在VANET中車輛通信范圍為100~300 m,本文中通信范圍是以車輛節點為圓心的圓形區域,設置其半徑為300 m并運行仿真。仿真結果中車輛屬性包括:車輛坐標x和y(單位為m)、車輛類型Type、車輛速度Speed、車輛所在的車道Lane和位置Pos。得出圖2所示的局部車輛路網和表1所列的仿真參數設置。

圖2 局部車輛路網
整車數字化時代,每輛車的所有車況信息都可以在云端對應一個ID。在所有收到興趣包的車輛中,根據概率決策理論判斷,只有一些合適的車輛將興趣包轉發,所收到的請求包會根據自身的概率轉發決策,使車輛節點選擇最合適的路徑轉發。車輛節點狀態信息見表2所列。

表2 車輛節點狀態信息
2.3.1 先決判斷條件
通過車輛狀態信息進行機器學習的驗證。在此方案中的拓撲通信范圍內,按概率選擇轉發興趣包,使興趣包能夠在網內快速轉發。車輛狀態信息包括車輛的位置、速度、車道。假設車輛a接收到請求包數據,拓撲通信范圍是以車輛節點為圓心的圓形區域,其半徑為300 m。在讀取到當前車輛的坐標位置后,先通過Lane車道判斷其他車輛車道是否與車輛a統一,可以直接查看位置Pos是否在拓撲范圍內,若不是就根據其他車輛位置信息計算和車輛a之間的距離Dis,再進一步計算概率決定是否轉發。
獲取了節點信息之后,就進入到了轉發決策階段。首先要進行車輛標識,可以將標識定位為車牌前綴,進入興趣包轉發機制;然后就是登記節點信息,進行Hello交互。在興趣包中添加自定義域,通過興趣包攜帶節點相關位置、速度、Hello標識等信息,如圖3所示。在ndnSIM中,第一步是在tlv.hpp文件中添加自己所需的參數,第二步在interest.hpp文件中設置數據和相關的GET、SET函數。在通過SUMO模擬的上海高架軌跡圖中選出仿真步長為97 s時出現的17個車輛節點的輸出信息,進行交互和概率轉換實驗。

圖3 在興趣包中添加自定義域
2.3.2 單跳DT-NB轉發決策理論
實現過程如下:
(1)因為SUMO仿真的車輛信息中有Lane和Pos的信息,所以可以先判斷是否在同一Lane,如果為True就用Pos,否則繼續計算Dis,然后判斷是否可以省去計算Dis,減少計算強度,所以可以把Pos和Dis統一定為一個變量DOP。因此此情況下將由6個元素組成的集合C作為車輛a的特征值決策條件。集合C如式(1)所示:
(2)已知車輛a的Lane和Pos是Lanea、Posa,要接收的車輛節點i的Lane和Pos是Lanei、Posi,如果Lanea==Lanei為True,則進入比較Posa和Posi的輪次,計算Pos(i,a)的值,記為Pos,如式(2)所示:
如果Lanea==Lanei為False,則進入判斷位置距離公式,已知車輛a的位置坐標(xa,ya),其中一輛在拓撲范圍內的車輛i的坐標為(xi,yi)。距離計算公式如下:
將式(3)和式(4)統一代入DOP進行接下來的計算。
(3)獲取車輛a節點自身通信范圍內車輛節點的數量Ntopoa,如式(4)所示:
現在已知C就可以根據貝葉斯公式計算出在決策條件C的情況下轉發或不轉發的條件概率,如式(5)和式(6)所示:
在式(4)~(6)中P(C)對于所有特征都是常數。因此,我們假設特征的條件是獨立的,每個類的概率是相等的,最后只須計算和P(C|F)P(F),如式(7)所示:
由于Speeda、Ntopoa、DOP(i,a)為連續值,可以去估計似然度P(C|F)和假設在F和的條件下,C服從高斯分布(正態分布)。根據正態分布的概率密度函數即可計算出P(C|F)和平均值為μ,標準差為σ。高斯分布的概率密度計算如式(8)所示:
由此可以得到P(DOP(i,a)|F)、P(Speeda|F)、P(Ntopoa|F),如式(9)~(11)所示:
P(F)和的公式如下:
要計算車輛a是否會轉發收到的請求包,就要分別計算P(C|F)P(F)和如果為True時,車輛a決定轉發收到的請求報文;否則,車輛將丟棄接收到的報文。
DT-NB轉發判斷過程如圖4所示。

圖4 DT-NB轉發判斷過程
假設車輛25收到了來自車輛17的請求包,此時車輛25的拓撲范圍及在其拓撲范圍內其他車輛的自身拓撲范圍,以及此時車輛25拓撲范圍內的NDN連接情況,如圖5所示。

圖5 拓撲信息及車輛25的轉發結果
假設車輛25收到了來自車輛17的請求包,用本文的DT-NB算法計算FW為1或0。此時在車輛25及其余車輛上生成的決策信息見表3所列,可以通過表3的信息判斷此時通信范圍內其余車輛收到車輛25的信息是否會轉發。

表3 決策信息
由表3能直觀地看出,本文的轉發策略遠勝于Multicast多播轉發、單一根據節點距離計算的NDN-G轉發和BSRF轉發,即便是在通信拓撲范圍內DT-NB也會根據Speed、Ntopo、Lane、DOP等條件來判斷是否轉發。本方案綜合考慮決策條件的復雜度和算法的精確度,大大降低了廣播風暴,避免了網絡擁塞。下面取更多組數據進行圖表可視化來直觀顯示DT-NB的優勝性。
本章將評估比較DT-NB方案與其他兩種方案(Multicast、NDN-G)的性能。在仿真環境中進行模擬測試,將SUMO仿真出的實時節點位置信息(x,y)作為拓撲結構的節點位置,針對模擬出的節點軌跡數據分析其FullDelay、OutSatisfiedInterests、OutInterests。本文仿真是在Ubuntu操作系統環境中進行的,基于NS-3的仿真模擬器ndnSIM對DT-NB方案和Multicast、NDN-G三種轉發策略方案進行了評價和分析。
FullDelay表示獲取最后一次有關發出興趣和接收相應數據包之間的延遲,核心代碼為:ndn::AppDelayTracer::InstallAll.FullDelay。
滿足興趣包轉發個數(OutSatisfiedInterests)是指滿足興趣包從內容請求者到內容提供者所經歷的轉發數,核心代碼為:ndn::L3RateTracer::InstallAll.OutSatisfiedInterests。
興趣包轉發個數(OutInterests)是指興趣包從內容請求者到內容提供者所經歷的轉發數,核心代碼為:ndn::L3RateTracer::InstallAll.OutInterests。
由圖6可以清晰地看出,隨著車輛節點的增多,3種方案的興趣包轉發數都逐漸上升。因為在ndnSIM文件中設定的網絡數據傳輸速率、隊列最大容量和每秒發送興趣包的數量都會隨拓撲結構的變化而變化。Multicast轉發策略興趣包轉發數最高,因為多播轉發策略是將興趣包轉發給所有上游的節點,導致在相同數量興趣包與數據包的條件下,所經過的跳數最多,可能會導致網絡擁塞。NDN-G的興趣包轉發數相比Multicast較好一點,是因為NDN-G是相較于Multicast的單純洪泛廣播,轉發節點會根據其位置(x,y)信息,先廣播興趣包而后根據由位置信息計算到的最短路徑而減少跳數,會相應地減少網絡擁塞。而DT-NB轉發策略在這一方面優勢明顯,所以對于Multicast、NDN-G而言,DT-NB的興趣包轉發跳數分別降低了63%、49%。使用本方案在避免網絡擁塞的同時還能減少帶寬占用率。

圖6 興趣包轉發數
由圖7可知,如同上述描述,3種轉發策略的滿足興趣包轉發數都隨著節點數的增多而增多。主要關注的是在該節點與其他路由節點相連的端口netDeviceFace的PacketRaw指標數,因為在復雜的拓撲軌跡中,興趣包如何轉發要根據轉發決策判斷,所以興趣包會存在轉發超時的問題,滿足興趣包轉發數也會隨著節點數的增多以及時延的增加而遞減。3種轉發策略在最后平均周期內的絕對滿足興趣包轉發數差距都不是很大,可以達到本文要改善洪泛問題的預期,DT-NB的滿足轉發數相較于Multicast降低了34%,相較于NDN-G降低了30%。
由圖8可知,3種轉發策略的時延均隨仿真時間增加而增加,但由于在同樣通信范圍內隨著節點數和興趣包數的增加,節點之間相距更近。因此可以看到圖8中隨著節點的逐漸增多,時延的增長斜率變小。Multicast策略由于在每次轉發前都需要進行洪泛多播路由消耗最長的路徑,因而平均時延最高,在用戶體驗上表現不佳。由于NDN-G在拓撲路徑選擇上會依據最短原則,優先從地圖中心預先給定的位置獲取內容數據包,進行NDN-G的策略決斷后,拓撲變得比多播簡單很多,因而在平均時延方面優勢比多播轉發明顯。DT-NB對比以上兩種策略平均時延有明顯的提升,且在同樣是概率算法的BSRF中,表現也更為接近用戶需求,平均時延最低且對比Multicast減少了68%的延遲,對比NDN-G減少了54%。

圖8 發送和接收之間的延遲
本文提出的DT-NB概率轉發策略對于優化廣播風暴和網絡擁塞具有優勝性,有效地抑制了網絡洪泛問題,避免了網絡擁塞的同時還減少了帶寬占用率。該方案通過將車輛的各種狀態信息錄入決策表的概率算法大大降低了興趣包的冗余度。雖然優化了興趣包的路由轉發,但信息的安全性、內容存儲效率等問題仍是需要進一步考慮的。本文采用SUMO模擬實時車輛數據,且經過轉發判斷后能夠確定是否轉發,該方案可以用于后續的機器學習中,便于通過邏輯回歸、貝葉斯決策等判斷出新的數據的轉發概率,為后續的轉發提供了簡易的數據庫。