谷志茹,李敏,龍永紅,舒小華,榮青
(湖南工業大學交通工程學院,湖南 株洲 412008)
行車安全問題一直是交通領域最受關注的問題。降低交通事故傷亡率通常從2 個方面入手,一方面,通過在車輛上安裝制動輔助系統和電子穩定控制系統;另一方面,通過在車輛上安裝安全帶和安全氣囊等保護設施。隨著車載傳感器技術的快速發展,諸如盲區檢測技術、車道偏離檢測技術、前向碰撞預警技術等投入使用,在一定程度上能夠降低交通事故的發生率,但傳感器的測量精度和可靠性存在一定的局限性,在惡劣的天氣條件及其他不可抗因素的影響下,性能會顯著下降。為了解決傳感器性能的不足,許多科研人員利用車車(V2V,vehicle to vehicle)之間、車路(V2R,vehicle to road)之間交互信息,來提升車輛對周圍環境和突發事故的感知能力,降低事故發生率。近年來,V2X 技術已成為國內外的研究熱點,該技術是一種預防式的安全技術,除了解決行車安全問題外,還將在提升交通通行效率、緩解擁堵、減輕環境污染等方面發揮顯著作用。
VANET(vehicle Ad Hoc network)屬于無線通信網絡領域,它是MANET(mobile Ad Hoc network)的新興領域,其目的是提高駕駛員的安全性和乘客的舒適性。VANET 是一種無線網絡,通過安裝在每個節點(車輛)上的無線通信設備[1],使節點同時成為網絡的參與者和協作者。節點通過與其傳輸范圍內的中間節點進行通信,形成網絡。VANET是自組織網絡,不依賴任何固定的網絡基礎設施,但是有一些固定節點充當路邊單元,以便為車輛網絡提供地理位置數據或進入互聯網的入口[2]。節點的高速動態性是VANET 的主要特點,這導致了網絡拓撲結構的快速變化[3]。為了提供可靠的服務,VANET 面臨許多挑戰。建立穩定可靠的路由是其主要挑戰之一,因此需要進行更多的研究,來推動VANET 的發展。
傳統的車聯網絡由協議主要分為2 種:一種是基于拓撲的路由協議,另一種是基于位置的路由協議。
基于拓撲的路由協議通過利用網絡中的鏈路信息將數據分組從源節點發送到目標節點,這種方式并不適于高速移動的車輛節點網絡。節點的高速移動性導致網絡的拓撲結構快速變化,依賴網絡中的鏈路信息可能無法成功將數據分組發送到目標節點,并且節點移動導致實時更新的網絡中的路由表信息量非常大,同時網絡開銷也很大,所以這種方式并不適于車聯網[4]。
基于位置的路由協議利用節點的地理位置信息建立從源節點到目標節點的數據鏈路,這種方式充分適應車輛節點高速動態的特點。與基于拓撲的路由協議不同,基于位置的路由協議不需要任何路由維護,只有在需要轉發數據分組時才確定數據鏈路,因此網絡的開銷小。上述特點使基于位置的路由協議更適于車聯網。基于位置的路由協議主要分為以下5 種。
1) 基于貪婪算法的路由協議,例如 GPSR(geographic perimeter stateless routing)[5]和GPCR(greedy perimeter coordinator routing)[6]。在源節點知道其目標節點的位置情況下,這種路由協議貪婪選擇將數據分組轉發到離目標節點更近的鄰居節點,直到數據分組成功地發送到目標節點。節點在轉發數據時,不需要知道除目標節點和鄰居節點以外的節點的狀態信息,減少了路由維護的開銷。轉發數據時,選擇的下一跳節點只有一個,不用洪泛轉發數據。
GpsrJ+[7]路由協議是對GPCR 的改進,通過預測其相鄰的連接節點將數據分組轉發到對應路段,來提高GPCR 的分組投遞率,減少了修復策略下使用的路由跳數,能夠使路由方案更快地恢復到貪婪轉發策略。GPSR-L(greedy perimeter stateless routing with lifetime)[8]和P-GPSR(probabilisticgeographic perimeter stateless routing)[9]在GPSR 的基礎上提出具有生存周期的節點概念。根據車輛節點是否具有良好的鏈接質量和生存周期,選擇最合適的中繼節點,以便在車輛節點之間順利地傳播消息。GCRP(greedy curvemetric based routing protocol)[10]為了解決因城市環境下建筑物、樹木等障礙物降低信號質量和分組成功接收的概率等問題,提出了利用曲率距離代替歐氏距離來選擇下一跳中繼節點。AGPSR(adaptive greedy perimeter stateless routing)[11]在GPSR 的基礎上,通過在鄰居表中添加信息,以選擇最佳的鏈路路徑。針對交通事故、道路死角等問題造成的鏈路斷裂,通過繞過在修復策略下交付前一個分組的節點,從而避免鏈路斷裂再次發生。
2) 基于移動預測的路由協議,例如DGRP(directional greedy routing protocol)[12]、PDGR(predictive directional greedy routing)[13]、PGRP(predictive geographic routing protocol)[14]和MPBRP(mobility prediction based routing protocol)[15]等。在這種路由協議中,對節點的位置進行預測,在節點的選取中對節點的運動方向和位置的參考指標進行權衡,一定程度上減少了路由跳數和端到端時延。但這種路由需對當前節點及其所有鄰居節點的位置進行預測,增加了系統的計算任務,增大了網絡開銷。
3) 基于容忍延遲的路由協議,例如GeoDTN+Nav(geographic DTN routing with navigator)[16]。這種路由協議通過延遲容忍的存儲轉發方案來減輕網絡分區和間歇性連接的影響,從而提高了路由的可達性。但是這種路由協議實時性較差,當數據分組緩存至某一節點,且該節點始終找不到合適的機會轉發時,會因為數據分組堆積過多導致信息丟失。
4) 基于拓撲和位置相結合的路由協議,例如GPCR-D(greedy perimeter coordinator routing with dijkstra)[17]和HybTGR(hybrid routing protocol based on topological and geographical)[18]。在這種路由協議中,根據節點的移動速度、路由鏈路壽命、節點附近車輛數量和到目標節點的距離等參數,為每個網絡節點分配一個權值,根據權值來判斷采用基于拓撲或者位置的路由協議。其實施較復雜,并存在頻繁切換路由協議的問題,而且會增大系統網絡的開銷,降低實時性。
5) 基于仿生算法的路由協議,例如 EGSR(enhanced geographical source routing)[19]、GSO(glowworm swarm optimization)[20]和 ASGR(artificial spider-web-based geographic routing)[21]。在這種路由協議中,采用仿生算法選取最優路徑投遞數據分組,能夠減少網絡開銷,降低端到端時延,但是這種路由協議不適于高速動態的場景。
由上述可知,后4 種路由協議存在算法實現較復雜、不適應高速移動的車聯網等缺陷,本文主要研究基于貪婪算法的路由協議。
現有基于貪婪算法的路由協議不夠完善,在實施中存在以下不足。
1) 貪婪轉發策略在選擇節點時存在局部最優,單純地依靠判斷與目標節點的距離來選擇下一跳節點缺乏全局性考慮。
2) 在貪婪轉發策略失效時使用的右手定則[22]存在弊端。
3) 在稀疏網絡中效果不佳,容易陷入路由空洞,導致路由“死亡”。
為了解決這些不足,本文從以下幾個方面對GPCR 進行改進,形成新的W-GPCR 協議。
1) 將節點的運動方向和密度納入考慮范圍內,通過權重計算,選擇最優的下一跳節點。
2) 通過權重計算,使數據分組投遞的方向永遠是朝著目標節點的方向收斂,解決了右手定則的弊端。
3) 設計受限轉發策略,通過權重選擇能夠避免數據分組再次往路由空洞的方向投遞,尋找其他隱藏路徑向目標節點投遞數據分組。
傳統的貪婪轉發策略在選取下一跳節點時,只考慮下一跳節點與目標節點的距離遠近,這樣選取節點容易陷入局部最優,而在全局路徑上未必最優。除了節點之間的距離會影響路由性能外,其他因素(如節點運動方向和節點密度等)也會對路由性能起著舉足輕重的影響。
1) 節點運動方向對路由性能的影響
如圖1(a)所示,節點A 向目標節點D 發送數據分組,節點B、C 都比節點A 更靠近目標節點D。其中節點C 與節點A 的運動方向相反,但比節點B 更靠近目標節點D,節點B 與節點A 的運動方向相同,按照傳統的貪婪轉發策略,將選擇節點C 作為下一跳節點,但是可能會出現這樣的情況:當投遞完數據分組后,節點的位置發生了變化,如圖1(b)所示。當數據分組投遞至節點C 時,節點C 選擇的下一跳節點將會是節點B,這樣就造成了多余的路由跳數,倘若在選擇下一跳節點時,引入節點運動方向作為參考量,而不是單純只靠節點之間距離作為選擇的依據。在節點A選擇下一跳節點時,能夠對節點B、C 的運動方向及與目標節點D 的距離進行綜合考慮來選擇節點B 作為下一跳節點,這將大大減少路由跳數,縮短端到端時延。
圖1 節點運動方向對路由性能的影響
2) 節點密度對路由性能的影響
如圖2 所示,節點A 向目標節點D 發送數據分組,其鄰居節點B、C 到目標節點的距離一樣,但是節點B 信號覆蓋范圍內的節點密度要比節點C的大。由圖2 可知,如果節點A 將數據分組轉發至節點B 時,其后續建立路由路徑的可行性要比節點C 的更大,因此節點密度也是影響路由性能的重要指標之一。節點密度越大,說明其路由可能性越大,越有可能建立可靠的路由鏈路,提高數據分組的投遞率。
圖2 節點密度對路由性能的影響
本文在現有貪婪轉發策略的基礎上進行優化,在判斷下一跳節點與目標節點的距離的前提下,引入下一跳節點的運動方向和節點密度等參考因素,而不是單純判斷下一跳節點與目標節點的距離,這樣能夠減少局限性,提供最優解。
如果當前節點到目標節點的距離小于其鄰居節點到目標節點的距離,貪婪轉發策略將會失效,從而執行修復策略。傳統的修復策略采用右手定則投遞數據分組,如圖3 所示。節點A 向節點F 發送數據分組,按照右手定則,沿逆時針方向遍歷其鄰居節點,重復進行,直到數據分組抵達目標節點或者滿足貪婪轉發的條件脫離修復策略。圖3 中按照右手定則投遞數據分組得到的鏈路路徑為A—B—C—D—F。
圖3 按右手定則投遞數據分組
如圖4 所示,節點A 向目標節點I 發送數據分組,按照右手定則選取的下一跳節點為節點C,重復進行,數據分組將會朝著遠離目標節點的方向投遞,這將使數據分組無法成功投遞到目標節點,導致通信失敗。
圖4 數據分組投遞遠離目標節點
在修復策略下,節點之間距離、節點的運動方向和節點密度都不能作為主要的參考量,但是可以通過衡量數據分組的投遞方向與節點指向目標節點的方向所成夾角的余弦值大小來判斷數據分組是朝著目標節點方向投遞,還是遠離目標節點方向投遞。如圖4 所示,AB 和AC 為數據分組投遞的方向,cos(AB,AI) 和cos(AC, AI) 分別為其夾角的余弦值,余弦值越大,說明數據分組投遞的方向是朝著目標節點方向投遞的。
本文在現有修復策略的基礎上進行優化,將數據分組的投遞方向作為主要參考量,使數據分組投遞的方向永遠朝著目標節點的方向收斂,從而避免了右手定則導致的數據分組投遞遠離目標節點和路由環路等問題。
當節點在轉發數據分組時,發現在其信號覆蓋范圍內找不到下一跳節點進行數據分組投遞,稱這種情況為路由空洞現象。如圖5 所示,節點A 向節點D發送數據分組,當數據分組投遞至節點C 時,在其信號范圍內找不到下一跳節點轉發數據分組,陷入路由空洞。AC 為數據分組投遞陷入路由空洞的方向。重新路由的數據分組投遞方向與路由空洞方向所成夾角的正弦值越大,說明數據分組不是朝著路由空洞的方向投遞的,重新路由陷入路由空洞的概率越小。
圖5 路由空洞現象示意
本文提出了一種受限轉發策略,在重新選擇路由時,避免節點再次向路由空洞的方向投遞數據分組,減少不必要的路由開銷。
圖6 W-GPCR 協議架構
W-GPCR 協議是一種基于權重選擇的地理位置路由協議,針對不同的場景采用自適應權重參數比,從而選取最優的下一跳中繼節點。圖6 為W-GPCR協議架構。源節點應用層啟動發送數據分組,執行路由發現的數據鏈路層采集數據獲取傳感器數據,并基于圖7 所示的路由發現流程發現下一跳最優節點,并發送RREQ 給下一跳節點,下一跳節點成為當前節點,執行源節點。基于相同的路由發現策略,將RREQ 最終送達目標節點。目標節點收到源節點發送的RREQ 后,按路由發現過程確定的最優路徑發送RREP。
圖7 路由發現流程
由圖7可知,當節點收到發送數據分組的請求時,獲取自身及其鄰居節點和目標節點的地理位置信息。如果遇路由空洞,則按照受限轉發策略計算權值選取下一跳節點;否則,則判斷節點到目標節點的距離是否大于其鄰居節點到目標節點的距離。如果大于,則按照權重選擇的貪婪轉發策略,通過計算節點之間的距離、節點的運動方向和密度的綜合權值,選擇權值最大的鄰居節點作為下一跳節點;否則,則按照權重選擇的修復策略,通過計算節點的綜合權值來判斷數據分組投遞的方向是否朝著目標節點的方向收斂,選擇權值最大的鄰居節點作為下一跳節點。判斷下一跳節點是否是目標節點,如果是,則進程結束;否則,則重復進行上述步驟,直至找到目標節點。
本文針對節點之間的距離、節點運動方向、節點密度等參考因素,提出了一個計算綜合權重的方式,如式(1)所示。
其中,Dnd為下一跳節點與目標節點在二維平面上的歐氏距離,Dpd為當前節點與目標節點的歐氏距離,vn為下一跳節點速度的向量,lnd為由下一跳節點指向目標節點的向量,neign為下一跳節點信號覆蓋內鄰居節點的數量,S為下一跳節點信號覆蓋內的二維平面面積。判斷下一跳節點與目標節點之間的距離遠近,其值越大,說明下一跳節點越靠近目標節點。cos(vn,lnd)判斷下一跳節點的運動方向是否趨向于目標節點的方向,其值越大,說明下一跳節點的運動方向越是朝著目標節點的方向收斂。判斷下一跳節點信號覆蓋范圍內的節點密度的大小,其值越大,說明路由的可能性越大。g1、g2、g3為3 個參考量的權重占比,g1為節點之間距離的權重占比,g2為節點運動方向的權重占比,g3為節點密度的權重占比,g1,g2,g3∈[0,1]且g1+g2+g3=1。當節點與目標節點距離較遠的情況下,的值將會很小,而的值不會受很大影響。為了權衡各個參數的影響,設g1>g2且g1>g3,因為在貪婪轉發的策略下,節點之間距離是主要參考量,節點的運動方向和密度是輔助參考量。Gn為權重選擇的貪婪轉發策略選取的下一跳節點的權重值,通過計算每個鄰居節點的權重值,權重值最大的鄰居節點將被選為下一跳節點。
基于權重選擇的貪婪轉發策略如算法1 所示。算法1 中的符號如表1 所示。
算法1基于權重選擇的貪婪轉發策略的偽代碼
表1 符號含義
步驟1)~步驟3)獲取當前節點的位置坐標locp、速度向量vp和鄰居節點數量neigp,步驟4)獲取目標節點的位置坐標locd,步驟5)計算當前節點與目標節點在二維平面上的歐氏距離Dpd,步驟6)計算當前節點指向目標節點的向量lpd,步驟7)計算當前節點在二維平面上信號覆蓋的面積S,步驟8)計算當前節點的權值G。步驟10)~步驟21)遍歷當前節點信號覆蓋內的所有鄰居節點,計算比較得出權值最大的節點。其中,步驟11)~步驟13)獲取每個鄰居節點的位置坐標loci、速度向量vi和其鄰居節點數量neigi,步驟14)計算每個鄰居節點與目標節點的歐氏距離Did,步驟15)計算每個鄰居節點指向目標節點的向量lid,步驟16)計算每個鄰居節點的權值Gi,步驟17)~步驟20)判斷是否有鄰居節點的權值大于當前節點的權值,如果有,則將該鄰居節點的權值Gi賦值給G,該鄰居節點ni被選定為下一跳節點noden。步驟22)~步驟25)判斷最優的下一跳節點是否為當前節點,如果是,則由當前節點攜帶數據分組;否則,則將數據分組發送至該節點。
當受限制的貪婪轉發策略失效時,數據分組沿著街道方向投遞至路口節點,路口節點將會對其信號覆蓋范圍內的所有鄰居節點進行權值計算,計算所得權值最大的鄰居節點將被選為下一跳節點。權重選擇的修復策略下的權重計算方式為
其中,lpn為當前節點指向下一跳節點的向量表示,lpd為當前節點指向目標節點的向量表示。cos(lpn,lpd)的值用來判斷選擇的下一跳節點的方向(此方向不是節點的運動方向,而是數據分組的投遞方向)是否趨向于目標節點的方向,其值越大,說明數據分組的投遞方向趨向于目標節點的方向。r1、r2、r3為3 個參考量的權重占比,r1為節點之間距離的權重占比,r2為數據分組投遞方向與目標節點方向所成夾角的余弦值的權重占比,r3為節點密度的權重占比,r1,r2,r3∈[0,1]且r1+r2+r3=1。因為在修復策略下,節點之間的距離不再作為主要參考量,而是取決于數據分組的投遞方向是否朝著目標節點的方向收斂,從而將節點之間的距離和節點密度作為輔助參考量,因此設定r1<r2且r2>r3。Rn為權重選擇的修復策略選取的下一跳節點的權重值,通過計算每個鄰居節點的權重值,權重值最大的鄰居節點將被選為下一跳節點。權重值的計算和下一跳節點的選取同樣采用算法1。
如圖8 所示,源節點A 向目標節點H 發送數據分組,當數據分組投遞至路口節點C 時,按照右手定則來選擇下一跳節點的話,節點D 將被選為下一跳節點,右手定則規劃出的路由路徑為A—B—C—D—E,這將導致數據分組朝著遠離目標節點的方向投遞。根據式(2)所示的權重計算式,通過計算得出RK>RD。由此可知,節點K 將被選為下一跳節點,通過權重選擇的修復策略能夠規劃出路由路徑A—B—C—K—J—I—H,成功地將數據分組發送至目標節點。
圖8 權重選擇的修復策略示意
當陷入路由空洞時,節點將數據分組回退至所在街道的路口節點,由該路口節點重新路由,尋找其他路徑將數據分組投遞至目標節點。為了避免重新路由時數據分組被再次投遞至陷入路由空洞的街道,提出受限轉發策略下的權重計算式為
其中,lin為路口節點指向下一跳節點的向量表示;liv為路口節點指向陷入路由空洞的節點的向量表示;sin(lin,liv)的值用來判斷重新路由時數據分組的投遞方向是否趨向于陷入路由空洞的街道的方向,其值越大,說明重新路由所選取的下一跳節點再次陷入路由空洞的可能性越小。Nn為受限轉發策略選取的下一跳節點的權重值,通過計算路口節點信號覆蓋范圍內的所有鄰居節點的權重值,選擇權重值最大的鄰居節點作為下一跳節點進行數據分組投遞。
如圖9 所示,源節點O 向目標節點L 發送數據分組,按照貪婪轉發策略,當數據分組投遞至節點D 時陷入路由空洞,在其信號覆蓋范圍內找不到下一跳節點轉發數據分組,此時按照本文提出的解決方案,數據分組將會回退至路口節點C,由節點C 重新路由尋找其他路徑去投遞數據分組。根據式(3)所示的權重計算式得出,NE=sin(lCE,lCD)<NF=sin(lCF,lCD),節點F 將被選為下一跳節點,節點E 不會被選為下一跳節點,避免了再次陷入路口空洞的困境,而數據分組投遞至節點 F 之后,一條潛在的路由路徑(O—C—F—G—H—I—J—K—L)也將被建立,這在很大程度上保證了節點之間正常通信的可靠性。
圖9 受限轉發策略示意
在路由算法中,信息的傳輸協議是IEEE 802.11p專用短距離通信協議。W-GPCR 協議的數據交互如圖10 所示,主要由以下4 個階段組成:交換“hello”消息,創建鄰居表;計算鄰居節點的權值;發送RREQ分組和路由發現;發送RREP 分組和數據傳輸。
圖10 數據交互的主要階段
首先單跳鄰居節點之間交換“hello”消息,利用從“hello”消息中獲得的信息,在每個節點上創建鄰居表;然后計算每個鄰居節點的權值,向鄰居節點廣播RREQ 數據分組或單播RREQ 數據分組,重復進行下去,直到RREQ 分組到達目標節點;最后通過RREP 分組將路由信息帶回源節點,開始傳輸數據。
W-GPCR 協議的數據交互流程如圖11 所示。首先通過向鄰居節點廣播“hello”消息來識別鄰居節點并創建鄰居表,計算每個鄰居節點的權值,選擇權值最大的鄰居節點作為下一跳節點,如果下一跳節點的權值大于當前節點,則將它的權值插入RREQ 分組中,并且將RREQ 分組單播到該鄰居節點,否則將當前節點的權值插入RREQ 分組中,并將其廣播給所有鄰居節點。在每個中繼節點轉發RREQ 分組的過程中,檢查中繼節點ID 是否與目標節點相同,如果ID 一致,則生成一個RREP 分組,并將其發送回源節點,否則重新計算鄰居節點的權值,直到找到ID 一致的目標節點。
圖11 數據交互流程
“hello”消息用于在鄰居節點之間交換所需的信息。“hello”消息通過單跳通信在相鄰節點之間廣播,接收到來自鄰居節點的“hello”消息后,節點在其鄰居表中為該鄰居節點創建一個信息表,如表2 所示。
表2 信息表
在W-GPCR 協議中,節點首先通過GPS 獲得自己的位置坐標,通過安裝的慣性測量單元(IMU,inertial measurement unit)獲得節點的移動方向等信息;然后將這些所獲得的信息插入一個“hello”消息中,并將其廣播給它的單跳鄰居節點;最后通過使用從“hello”消息中獲得的信息,在每個節點上更新鄰居表。W-GPCR 中“hello”消息的數據幀如圖12 所示。
圖12 “hello”消息的數據幀
使用交通仿真軟件 SUMO(simulation of urban mobility)[23]和離散網絡仿真軟件(NS3)對GPSR、GPCR、GpsrJ+、GCRP、W-GPCR 等路由協議在不同場景下進行仿真,各個場景設定有不同的節點數和源節點-目的節點對數,能夠比較真實地評估各個路由協議的性能。
如圖13 所示,使用SUMO 建立了1 000 m×1 000 m 的仿真區域、9 個路口和12 條雙向車道的道路交通模型。車輛的初始位置是隨機分布的,車輛在街道上的運動受限于沿著街道運動的車輛跟隨模型(Krauss 模型)。
圖13 道路交通模型
通過設定20、40、60、80、100 個節點共計5 種不同的網絡節點數來模擬不同的網絡條件。每個車輛都配備有全向天線、傳感器和精確的定位服務,能夠獲取其自身的位置坐標和行駛方向。將每個節點對(源節點-目的節點)的數據流量視為恒定比特率(CBR,constant bit rate),通過設定CBR 來生成固定512 B的數據分組[24-26]。模型的仿真參數如表3 所示。
表3 仿真參數
為了評估網絡中不同數據流量對路由性能的影響,將不同場景的CBR 按5 bit/s、10 bit/s、15 bit/s、20 bit/s 進行更改。通過30 次模擬運行,將所有仿真所得數據取其平均值,并設定95%的置信區間,最后以誤差棒圖的形式呈現。仿真中使用的性能指標定義如下。
1) 分組投遞率
分組投遞率是目標節點接收的分組總數Nreceice與源節點發送的分組總數Nsend之比,如式(4)所示。
分組投遞率是節點之間投遞數據分組成功的概率。分組投遞率越大,說明路由協議交互數據分組的成功率越大、丟失數據分組的可能性越小,用來衡量路由協議的可靠性,能夠保證節點之間的正常通信;反之,節點之間通信容易出現通信中斷或數據丟失的現象。
2) 平均端到端時延
平均端到端時延是所有成功接收的數據分組時延的平均值,如式(5)所示。
端到端時延是節點之間投遞數據分組所耗費的時間。端到端時延越小,說明路由協議投遞數據分組所耗費的時間越少。網絡中所有節點的端到端時延的平均值稱為平均端到端時延,用來衡量路由協議的實時性。平均端到端時延越低,路由協議的實時性越強,相應的其處理速度也更快;反之,路由協議的實時性較差,路由協議的性能也較差。
3) 平均跳數
平均跳數是網絡中所有節點跳數的平均值,如式(6)所示。
路由跳數是源節點發送數據分組到目標節點所經歷的投遞次數。路由跳數越少,說明路由協議投遞數據分組所消耗的網絡帶寬和時間越少。網絡中所有節點投遞數據分組的路由跳數的平均值稱為平均跳數。平均跳數越少,說明路由協議所消耗的網絡帶寬和時間越少;反之,所消耗的網絡帶寬和時間更多,路由性能也更差。
4.2.1 分組投遞率
圖14 顯示了不同節點數和CBR 的分組投遞率。隨著網絡中節點數的增加,網絡的連通性提高了,遇到路由空洞的概率降低了,因此這5 種路由協議隨著網絡中節點數的增加,其分組投遞率都在增大。在不同節點數和不同CBR 的網絡中,W-GPCR 協議的分組投遞率都要比GPCR、GPSR、GpsrJ+和GCRP 高。在CBR 分別為10 bit/s、15 bit/s、20 bit/s,節點數分別為20、40、60 的稀疏網絡中,W-GPCR 協議的分組投遞率更是比GPCR 和GPSR 高得多,這是因為W-GPCR 協議權重選擇的修復策略通過權重選擇下一跳節點,而不是單純依靠右手定則去遍歷節點,減少了路由冗余,避免了數據分組朝著遠離目標節點的方向投遞,提高了系統的穩定性。
4.2.2 平均端到端時延
圖15 顯示了不同節點數和CBR 的平均端到端時延。在不同節點數和不同 CBR 的網絡中,W-GPCR 協議的平均端到端時延都要比GPCR、GPSR、GpsrJ+和GCRP 低,并且在相同CBR 的情況下,W-GPCR 協議在不同網絡場景下的平均端到端時延都相差不大,相反,GPCR、GPSR、GpsrJ+和GCRP 的抖動很大,隨著節點數增加,平均端到端時延逐漸降低。W-GPCR 協議的穩定性要比GPCR、GPSR、GpsrJ+和GCRP 更強,這是因為W-GPCR 協議權重選擇貪婪轉發策略,比起GPCR、GPSR、GpsrJ+和GCRP 單純考量與目標節點的距離遠近的貪婪轉發策略更具備全局性,通過考量節點的運動方向和節點密度,選擇鄰居節點中權值最大的節點作為下一跳節點,避免數據分組投遞陷入局部最優,極大地提高了W-GPCR 協議的性能。
圖14 改變節點數和CBR 的分組投遞率
圖15 改變節點數和CBR 的平均端到端時延
4.2.3 平均跳數
圖16 顯示了不同節點數和CBR 的平均跳數。在不同節點數和不同CBR 的網絡中,W-GPCR 協議的平均跳數都要比GPCR、GPSR、GpsrJ+和GCRP少,這是因為W-GPCR 協議在稀疏網絡中針對路由空洞的受限轉發策略,提供了更多的路由可能,所以數據分組成功投遞至目標節點的概率更大。W-GPCR 協議能夠減少數據分組投遞的全局路徑中多余的路由跳數,從而減少了系統網絡開銷。
圖16 改變節點數和CBR 的平均跳數
車聯網中高速移動的節點和拓撲結構的快速變化,使設計適合VANET 的路由協議面臨很大的挑戰。本文所提出的W-GPCR 協議在考慮與目標節點距離的前提下,結合節點的運動方向和密度設計權重計算算法。在車聯網不同場景下,自適應選擇權重參數比,從而得到最優的下一跳節點,極大地避免了陷入局部最優,克服了右手定則所帶來的路由環路和遠離目標節點的弊端,并且對陷入路由空洞的節點提出了解決方案。通過仿真結果表明,W-GPCR 協議在分組投遞率、平均端到端時延和平均跳數上都要比GPCR、GPSR、GpsrJ+和GCRP更優。