余瑞,向鄭濤
(湖北汽車工業(yè)學院 電氣與信息工程學院,湖北 十堰442002)
車聯網技術成為城市建設的重點研究方向,車載自組織網絡(vehicular ad hoc network,VANET)實現了車與車(vehicle-to-vehicle,V2V)之間、車與基礎設施(vehicle-to-infrastructure,V2I)之間的通信,達到了數據快速傳輸與數據轉發(fā)的目的。與傳統(tǒng)通信網絡不同的是VANET 具有應用范圍廣、場景復雜多樣的特點,應用場景一般為城市道路、高速公路和鄉(xiāng)鎮(zhèn)街道。高速公路上每輛車相當于1個移動的節(jié)點,節(jié)點快速移動造成拓撲結構變化劇烈,并且節(jié)點具有道路屬性。VANET 技術為行駛車輛提供及時加速提醒、減速警告和公路不適宜性等信息,在智慧交通系統(tǒng)中應用越來越廣泛[1]。對安全數據預告與分析,有助于降低車輛交通事故發(fā)生概率,提高道路安全性和交通運輸水平。路由協議是VANET 中基本的組成部分,為了使車輛之間能夠準確交換數據,需要尋找路由性能較為優(yōu)良的路由協議。在VANET 路由協議中,基于拓撲的路由協議分為按需驅動路由協議和表驅動路由協議[2]。典型的按需路由協議是按需距離矢量路由協議(ad hoc on-demand distance vector,AODV)[3];表驅動路由協議的代表是目的序列距離矢量路由協議(destination-sequenced distance vector routing,DSDV)[4]。AODV和DSDV路由協議具有收斂速度快、路由回復時間短、可擴展性好等特點,在VANET路由協議中運用較為廣泛。大量研究人員根據不同實驗場景,對VANET 系統(tǒng)中不同的路由協議進行了仿真分析,為尋找合適VANET 的路由協議作了很多努力。Saed 等[5]給出了AODV、DS?DV、DSR 等路由協議在隨機路點模型和高速公路模型的仿真結果,即DSDV 吞吐量最低,時延也較低,AODV 在吞吐量和分組投遞率方面比DSDV 性能要好。Mayada等[6]選擇了3條網狀城市街道,比較AODV、DSDV、DSR 協議的不同性能。任春江等[7]在單向三車道高速公路場景下,對先應式和反應式路由進行對比仿真,得出AODV 的分組投遞率、吞吐量高于DSDV,DSDV平均端到端時延相比AODV低的結論。文中針對VANET特點并結合目前使用較多的高速公路場景,通過對比AODV 和DSDV路由協議在不同移動場景下的通信效果,從分組投遞率、平均端到端時延以及吞吐量對路由協議性能進行評估。
AODV 協議分為路由發(fā)現階段和路由維護階段。路由發(fā)現階段實現了路由尋路,源節(jié)點需要發(fā)送數據時,若路由表中沒有到達目的節(jié)點的有效路由,源節(jié)點通過廣播路由請求消息RREQ進行路由發(fā)現過程。當中間節(jié)點收到源節(jié)點發(fā)送的RREQ后,查詢路由表判斷自己是否為目的節(jié)點,如果是目的節(jié)點就更新路由表信息,向源節(jié)點回復RREP并建立路由連接;反之則通過檢查路由表信息,確認是否有到達目的節(jié)點的有效路徑。當存在有效路由時,中間節(jié)點沿反向路由向源節(jié)點傳輸RREP應答幀,然后將收到的RREQ報文傳輸給下一跳節(jié)點,直至找到目的節(jié)點,建立或更新正向和反向路徑;如果不存在有效路由,中間節(jié)點將更改收到的RREQ消息,將其目的節(jié)點序列號更新至當前最大值并將跳數加1,繼續(xù)向鄰居節(jié)點廣播修改后的RREQ 信息。其他節(jié)點同樣按照上述機制進行路由尋路過程,當源節(jié)點收到RREP 報文時,說明可以通過建立好的雙向路由進行數據傳輸。在進行路由發(fā)現過程中,目的節(jié)點的IP 地址是用于尋路的關鍵字段,為了避免路由環(huán)路問題,其目的節(jié)點的序列號也會根據路由協議進行更新。AODV 路由表主要字段如圖1所示。
圖1 AODV路由表主要字段
路由維護階段解決了鏈路中斷問題,前驅節(jié)點列表主要用于路由維護階段。若路由中斷,需通過路由維護階段重新建立有效路由,啟動本地修復機制是根據中斷節(jié)點位置來確定。如果進行本地修復且路由修復失敗,斷鏈的上一跳節(jié)點IP 地址可以在前驅列表中找到,上游節(jié)點就會沿反向路徑發(fā)送RERR消息,收到RERR消息的其他節(jié)點根據其內容刪除路由表中相應表項,將無關的路徑設置為無效路徑。如果仍需要與目的節(jié)點通信,則發(fā)出新的路由請求,進入路由發(fā)現過程。
DSDV 路由協議改進了Bellman-Ford 路由算法,解決了Bellman-Ford算法中存在的路由環(huán)路問題。在DSDV 協議中每個移動節(jié)點都維護1 個路由表,每個路由表包含目的節(jié)點、下一跳節(jié)點、到達每個目的節(jié)點的跳數和序列號等信息。DSDV 路由表主要字段圖2所示。DSDV路由更新需要節(jié)點周期進行廣播消息,在發(fā)送更新之前,節(jié)點進入等待狀態(tài),確保沒有從其鄰居節(jié)點收到更新消息,定期更新路由表有助于維護網絡的拓撲信息[8]。目的節(jié)點的序列號可以用來區(qū)分已過期的路由和當前使用的路由,避免因使用過期的路由信息產生無效的路徑。如果序列號與表中已有的序列號相同,則使用路徑長度更短的路由作為優(yōu)選路由;如果新記錄的序列號比表中已有的序列號大時,則使用新的序列號大的路由。DSDV 協議可以利用節(jié)點序列號消除路由環(huán)路,解決無窮計數問題。
圖2 DSDV路由表主要字段
不同應用環(huán)境下路由協議性能各不相同,網絡協議的驗證、測試以及設計需要先進高效的網絡仿真模擬工具。Thmos R.Henderson教授及其小組研發(fā)了新型網絡仿真模擬器——NS3[8],NS3 是免費的開源離散事件網絡模擬器,其網絡構架包括模擬器內核和網絡構件,支持很多開源軟件,NS3 可以提供高性能的、與真實網絡相近的網絡仿真,為研究提供了準確靈活的技術支撐。
為了在VANET網絡仿真中建立真實的車輛仿真模型,采用微觀道路交通模擬工具(simulation of urban mobility,SUMO)來構建車輛在VANET 中的運動模式[9]。該模型通過設置一段時間內不同車輛的運動、速度和加速度等基本參數,實現車道類型更改、車輛跟馳、換道模型設置,具有開放的圖形化界面,可觀察到具體的仿真過程。
圖3 SUMO和NS3仿真流程圖
SUMO 和NS3 仿真流程圖如圖3 所示。根據VANET 仿真場景,在SUMO中可以對道路拓撲、車輛分布以及車輛狀態(tài)進行配置。通過SUMO 仿真軟件生成相應的路網文件和路徑文件,并將最終的場景文件在交通控制接口的幫助下,實現NS3網絡仿真器與SUMO 的互聯。在NS3 中選擇相應的模塊,編寫仿真腳本,對仿真結果進行分析和圖像繪制。通過聯合仿真可以更加清楚了解網絡仿真對交通模式的影響,使仿真結果更加真實準確。
網絡性能指標用來衡量網絡性能的好壞。將AODV 和DSDV 路由協議在相同的模型和場景下進行比較,從以下路由協議性能指標進行分析:
1)分組投遞率 指目地接收到的數據包與源產生的數據包的比率,其計算公式為
式中:P 為分組投遞率;Nr為每個目的節(jié)點成功接收的數據包總數;Ns為所有節(jié)點發(fā)送的數據包總數。P描述網絡傳輸的可靠性,P越大,說明傳輸過程中數據包傳輸成功率越高,鏈路穩(wěn)定性較好。
2)平均端到端時延 指數據包在網絡上從源傳輸到目的地所花費的時間,其計算公式為
式中:A為平均端到端時延;Δti為第i個數據包的延遲時間;n 為接收數據包總數。A 反映了數據傳輸的實時性,A越小,說明網絡實時性越好。
3)吞吐量 指網絡中單位時間內正確收到數據包的數量,其公式為
式中:Th為吞吐量;Rb為接收字節(jié);T 為仿真時間。Th測量網絡持續(xù)向目的地提供數據的能力,Th越大,說明實際傳輸的數據量越大,傳輸有效數據的能力越高。
文中使用Linux 操作系統(tǒng),通過網絡仿真器NS3.26 對AODV、DSDV 路由協議進行仿真分析。針對高速公路車輛行駛特點,利用SUMO生成節(jié)點移動場景,對運動文件中的車輛數量、車速等相關參數進行設置。采用周期邊界環(huán)境,以保證仿真過程中道路上車輛密度不變,根據高速公路限速要求,設置SUMO仿真參數如表1所示。對于每種設置,仿真30 次并計算平均值,以減小隨機性的影響。編譯好場景文件后將其導入網絡仿真器NS3中。NS3中的基本仿真環(huán)境參數設置如表2所示。
表1 SUMO仿真參數設置
表2 NS3仿真參數設置
1)不同車輛數量下協議的性能 VANET 網絡中,車輛數量影響節(jié)點的密度以及節(jié)點分布情況,也影響車輛之間通信質量以及路由協議性能。設置車速為100 km·h?1,節(jié)點個數為40~120,其他參數參照表2 進行設置。不同車輛數量下,AODV和DSDV分組投遞率、平均端到端時延和吞吐量變化見表3。隨著車輛數量增加,AODV 和DSDV 路由協議分組投遞率呈緩慢上升然后下降趨勢。車輛數量小于100 輛時,AODV 的分組投遞率高于DSDV 路由協議。車輛數量大于100 輛時,AODV和DSDV 分組投遞率數值變化趨勢基本相近。車輛數量為40~80輛時,平均端到端時延數值較為穩(wěn)定;車輛數量在80 輛以上時,AODV 和DSDV 的平均端到端時延均呈現增加趨勢,AODV路由協議的平均端到端時延增長幅度略大于DSDV 協議。整體來看,DSDV 比AODV 路由協議平均端到端時延要低。車輛數量變化對AODV 和DSDV 路由協議的吞吐量影響較小,隨著車輛數量的增加,AODV和DSDV 路由協議整體的吞吐量變化趨勢不大。在車輛數量相同情況下,AODV路由協議的吞吐量較高,DSDV的吞吐量較低。
2)不同車速下協議的性能 車速的變化是影響VANET中節(jié)點拓撲結構的主要因素之一。在高速公路環(huán)境中,車速較快,拓撲結構變化較為劇烈,路由性能隨之改變。設置車輛數量為100輛,車速為60~120 km·h?1,其他參數參照表2進行設置,分析不同車速對路由協議性能的影響。不同車速下AODV 和DSDV 路由協議分組投遞率平均端到端時延和吞吐量變化如表4 所示。在高速公路環(huán)境中,隨著車速的增加,分組投遞率逐漸下降。車速一定時,AODV 路由協議的分組投遞率略高于DS?DV。隨著車速的增加,DSDV路由協議平均端到端時延較為穩(wěn)定。車速為60~100 km·h?1時,DSDV路由協議的平均端到端時延基本維持在10 ms以下,而AODV 路由協議的平均端到端時延先增大后減小;當車速超過100 km·h?1時,AODV 的平均端到端時延增長速度明顯大于DSDV 路由協議。車速小于100 km·h?1時AODV和DSDV路由協議吞吐量呈下降趨勢,車速為120 km·h?1時吞吐量有較小幅度上升,車速相同的情況下DSDV協議在吞吐量方面比AODV協議效果差。
表3 車輛數量與分組投遞率、平均端到端時延及吞吐量的關系
表4 車速與分組投遞率、平均端到端時延及吞吐量的關系
3)仿真結果分析 根據表3 可以看出,當車輛數量增加時,雙向車道上的車輛密度變大,在與對向車輛進行信息傳輸時,信息鏈路增加,數據在傳輸過程中發(fā)生擁塞和碰撞幾率隨之增大。在車輛數量一定的條件下,隨著車速增大,雙向車道中車輛位置變化較為劇烈(表4),導致了車輛拓撲結構不穩(wěn)定。AODV是按需路由協議,當有信息需要進行傳輸時才啟用路由發(fā)現過程,導致了較大的時延,但降低了路由開銷,提高了路由利用率。車輛數量的增加使得車輛之間傳輸的數據包數量增多,在信息量增加的情況下,AODV路由協議能夠較好地控制路由的開銷,帶寬的利用率較高,因此AODV路由協議分組投遞率和吞吐量均高于DSDV路由協議。DSDV 路由協議中的節(jié)點無論是否需要進行通信,都要建立和維護路由表,該路由表包含到達網絡中所有其他節(jié)點信息,在傳輸數據時不需要路由發(fā)現過程,具有時延較低的特點,符合表驅動路由協議特點。DSDV 路由協議不考慮實際節(jié)點拓撲中是否用到具體的路徑,隨著數據包增加,通信量變大,使得帶寬的利用率較低,因此在路由建立、維護過程中開銷增大,導致其分組投遞率和吞吐量較低。綜上所述,在車輛數量和車速變化的情況下,AODV路由協議的分組投遞率和吞吐量高于DSDV,但DSDV 路由協議的平均端到端時延低于AODV路由協議。
應用NS3 仿真平臺仿真分析了高速公路環(huán)境中在不同車輛數量和車速下AODV 和DSDV 路由協議的性能,結果表明:在分組投遞率和吞吐量方面,AODV 高于DSDV 路由協議,但在平均端到端時延上DSDV 路由協議的優(yōu)勢更大。從路由協議整體性能來看,AODV 路由協議性能更好,但在網絡拓撲變化大的場景中,其鏈路穩(wěn)定性就會受到影響。針對車輛運動方向變化以及道路約束條件,未來可在不同場景下對路由協議的性能進行模擬和測試,并通過優(yōu)化AODV 路由協議,提高AODV 路由協議性能。