董柏宏,鄧 健,張定杰,吳維剛
(中山大學(xué) 數(shù)據(jù)科學(xué)與計算機學(xué)院,廣州 510006)(*通信作者電子郵箱wuweig@mail.sysu.edu.cn)
隨著現(xiàn)代社會的發(fā)展以及汽車迅速普及,汽車已經(jīng)成為人們生活不可或缺的交通工具,這同時也催生了很多新的應(yīng)用場景,如車載娛樂應(yīng)用、車間道路預(yù)警安全信息快速通知等[1]。為了解決車輛之間實現(xiàn)資源共享的問題,車載自組織網(wǎng)絡(luò)應(yīng)運而生。車載自組織網(wǎng)絡(luò)(Vehicular Ad Hoc Network, VANET)[2]屬于移動自組織網(wǎng)絡(luò)的分支,繼承了移動自組織網(wǎng)絡(luò)的一些特性,比如擁有一定的帶寬,可在一定范圍內(nèi)進行數(shù)據(jù)傳輸,能夠自組織和自管理;除此之外,車載網(wǎng)絡(luò)也有自己的特性,如汽車的高移動性導(dǎo)致網(wǎng)絡(luò)拓撲變化頻繁,因此需要允許汽車隨時加入或者離開網(wǎng)絡(luò),并對拓撲的變化作出及時的處理;另外由于汽車的速度快,容易造成傳輸鏈路的斷開,導(dǎo)致數(shù)據(jù)包丟失[3]。由于車載網(wǎng)的這些特性存在,如何設(shè)計出具備良好動態(tài)適應(yīng)性和高可靠性的路由算法是車載網(wǎng)中的一個難題。
目前在車載網(wǎng)絡(luò)中比較常見的路由協(xié)議有最優(yōu)鏈路狀態(tài)路由(Optimized Link State Routing, OLSR)協(xié)議、目的節(jié)點序列距離矢量(Destination Sequenced Distance Vector, DSDV)路由協(xié)議和無線自組網(wǎng)按需平面距離向量(Ad Hoc On-demand Distance Vector, AODV)路由協(xié)議等[4]。在這些協(xié)議中,OLSR需要定期廣播Hello包來發(fā)現(xiàn)鄰居節(jié)點,在鏈路斷開的時候不能及時響應(yīng);DSDV引進Bellman-Ford算法解決路由環(huán)的問題,并使用增量更新的方法更新路由表,提高了尋找鏈路的效率,但DSDV不能及時發(fā)現(xiàn)鏈路狀態(tài)的更新,在拓撲變化頻繁的車載網(wǎng)中展示出來的性能不夠理想;AODV通過維護一張動態(tài)路由表來實現(xiàn)路由,但由于車輛節(jié)點的速度變化快,導(dǎo)致需要頻繁地去維護次路由表。這些協(xié)議在低速的移動自組織網(wǎng)絡(luò)中能夠展現(xiàn)出不錯的性能,但是在車輛速度快、拓撲變化明顯的車載網(wǎng)中,卻不能滿足需求。一些實驗表明,在典型的高速公路車聯(lián)網(wǎng)場景中,傳統(tǒng)自組織網(wǎng)絡(luò)協(xié)議中AODV有著更加好的表現(xiàn)[5],因此,一些學(xué)者就傳統(tǒng)自組織網(wǎng)絡(luò)協(xié)議方向提出更多的優(yōu)化方案。比如基于地理位置計算路由的自適應(yīng)聚類方案[6]、針對AODV協(xié)議提出優(yōu)化的鄰居發(fā)現(xiàn)機制[7]和基于聚類方法增強的車間通信[8]等方案。這些研究方案都針對將傳統(tǒng)自組網(wǎng)協(xié)議應(yīng)用于車聯(lián)網(wǎng)中在可靠性和路由效率上有一定的優(yōu)化和提高,但是在拓撲高度動態(tài)變化的車聯(lián)網(wǎng)中,傳統(tǒng)分布式自組織網(wǎng)絡(luò)節(jié)點間天然存在協(xié)作困難、連接需時長等特點,這使得上述優(yōu)化的效果提高有限。
軟件定義網(wǎng)絡(luò)(Software Defined Network, SDN)[9]是近幾年興起的一種新型網(wǎng)絡(luò)架構(gòu),它能夠集中控制網(wǎng)絡(luò)資源,提高帶寬的利用率。SDN和傳統(tǒng)網(wǎng)絡(luò)不同,它將數(shù)據(jù)轉(zhuǎn)發(fā)層和控制層進行分離,上層對數(shù)據(jù)路由作出決策,之后下發(fā)路由給底層,而底層只負責根據(jù)下發(fā)的路由進行數(shù)據(jù)的轉(zhuǎn)發(fā)。通過這種方式,上層能夠統(tǒng)一管理網(wǎng)絡(luò)資源,對數(shù)據(jù)路由作出更高效的選擇,而下層只需要按照上層下發(fā)的路由轉(zhuǎn)發(fā)數(shù)據(jù),無需尋找和維護路由,從而提高數(shù)據(jù)傳輸?shù)男蔥9]。
SDN能夠動態(tài)地實現(xiàn)網(wǎng)絡(luò)資源的彈性分配和控制,在數(shù)據(jù)傳輸效率方面有明顯的優(yōu)勢,這很符合車載網(wǎng)絡(luò)的特性和需求。在SDN提出來之后,文獻[10]從架構(gòu)和服務(wù)的角度展開實驗,分析SDN應(yīng)用在VANET/MANET(Mobile Ad Hoc NETwork)上的優(yōu)勢:可靠性、靈活性和可編程性。文獻[11]中采用基站管理車輛節(jié)點,基站連接到網(wǎng)絡(luò),再與控制器相連,實現(xiàn)車載網(wǎng)絡(luò)的數(shù)據(jù)傳輸;文獻[12]中設(shè)計了路邊單元和基站同時管理車輛節(jié)點,路邊單元可與基站通信,二者再連接到控制器上,動態(tài)管理車輛節(jié)點。這兩個研究總體上可以看作是通過兩種通信方式:車與車(Vehicle-to-Vehicle, V2V)和車與路邊單元(Vehicle-to-Infrastructure, V2I)[13],將車輛組織成一個動態(tài)的網(wǎng)絡(luò)。而在路邊單元有效地選擇車輛轉(zhuǎn)發(fā)節(jié)點,使得數(shù)據(jù)能夠在鏈路穩(wěn)定的情況下盡快從路頭傳到路尾,以及提高鏈路帶寬的使用率,是一般的SDN未考慮的情況。這是在車聯(lián)網(wǎng)中應(yīng)用SDN的主要挑戰(zhàn),也是本文的主要工作目標。
因此,本文提出了軟件定義車聯(lián)網(wǎng)的數(shù)據(jù)轉(zhuǎn)發(fā)策略和路由選擇技術(shù),本文的主要貢獻有:
1)設(shè)計了路邊單元的車輛路由算法,實現(xiàn)數(shù)據(jù)穩(wěn)定高效的傳輸。
2)設(shè)計了全局控制器的路段路由算法,提高空閑鏈路帶寬使用率,緩解帶寬瓶頸帶來的問題。
3)通過仿真驗證了本文設(shè)計的機制和算法具有較好的性能。
在車聯(lián)網(wǎng)中應(yīng)用SDN,首先需要確定軟件定義車聯(lián)網(wǎng)的網(wǎng)絡(luò)模型,網(wǎng)絡(luò)模型如圖1所示,具體模型假設(shè)如下:
1)整個車聯(lián)網(wǎng)分為多個路段,每個路段中間放置一個局部控制器,局部控制器管轄整個路段的車輛,任意兩個局部控制器的管轄范圍不存在沖突;車聯(lián)網(wǎng)中間位置放置全局控制器,管理所有局部控制器。
2)每個路段有多輛車,車輛進入一個新路段,能自動發(fā)現(xiàn)路段中的局部控制器,通過GPS(Global Positioning System)車載設(shè)備,車輛知道自己的位置和速度,并定期向局部控制器匯報信息。車輛與局部控制器的通信只能通過控制信道進行,局部控制器不能幫車輛轉(zhuǎn)發(fā)數(shù)據(jù)。
3)全局控制器定期和局部控制器通過控制信道進行通信,局部控制器之間不能直接通信,但可以通過全局控制器間接通信。
4)系統(tǒng)使用IEEE 802.11p指定的控制信道發(fā)送協(xié)議控制信息,使用IEEE 802.11p指定的六條服務(wù)信道中一條進行數(shù)據(jù)傳輸。
圖1 軟件定義車聯(lián)網(wǎng)的網(wǎng)絡(luò)模型
軟件定義車聯(lián)網(wǎng)路由選擇算法分兩部分:局部控制器車輛路由算法和全局控制器路段路由算法,這兩種算法分別在局部控制器和全局控制器中運行,局部控制器車輛路由算法運行的結(jié)果作為全局控制路段路由算法的輸入。
每一個路段中行走的車輛會周期性發(fā)送Hello包給對應(yīng)的局部控制器,局部控制器收到Hello包之后,記錄車輛的位置和速度信息。而在車輛剛進入一個新路段時,局部控制器會添加該車輛的信息;另一方面,當車輛走出一個路段時,局部控制器會刪除這些車輛信息。局部控制器根據(jù)車輛提供的位置和速度信息,預(yù)測該車輛節(jié)點在下一次路由周期所在的位置,并結(jié)合車輛節(jié)點前后周期的位置選擇車輛轉(zhuǎn)發(fā)節(jié)點。
局部控制器選擇完轉(zhuǎn)發(fā)節(jié)點之后,向全局控制器報告路況,全局控制器構(gòu)建動態(tài)的拓撲圖,當需求產(chǎn)生時,全局控制器根據(jù)該拓撲圖選擇路段路由。
2.2.1 算法描述
局部控制器根據(jù)車輛信息選擇有效的轉(zhuǎn)發(fā)節(jié)點,其運行的車輛路由算法主要分為3個步驟:預(yù)測車輛位置、選擇首尾轉(zhuǎn)發(fā)節(jié)點、選擇中間轉(zhuǎn)發(fā)節(jié)點。
1)預(yù)測車輛位置。
通過預(yù)測車輛的位置,找到路由計算周期前后均在通信范圍內(nèi)的轉(zhuǎn)發(fā)節(jié)點,有利于數(shù)據(jù)的穩(wěn)定傳輸。因為路由計算周期(cycle)很短,所以認為在這個周期內(nèi),車輛的速度變化不會太大,因此可以大體預(yù)測到車輛在下一個路由計算周期的位置。局部控制器根據(jù)車輛節(jié)點當前的位置(loc_now)和速度(speed),預(yù)測車輛的大致位置(loc_next),具體做法如下:
loc_next=loc_now+speed*cycle;
2)選擇首尾轉(zhuǎn)發(fā)節(jié)點。
根據(jù)車輛的當前位置和預(yù)測的下一個路由計算周期位置,選擇首尾轉(zhuǎn)發(fā)節(jié)點。選擇第一個轉(zhuǎn)發(fā)節(jié)點的依據(jù)是車輛路由計算周期前后位置均在路頭通信距離的算術(shù)平方根范圍之內(nèi),基于貪心策略的選取,選擇預(yù)測位置距離路首最遠的車輛作為第一個轉(zhuǎn)發(fā)節(jié)點;選擇最后一個轉(zhuǎn)發(fā)節(jié)點的方法是車輛路由計算周期前后面為均在路尾通信距離的算術(shù)平方根范圍之內(nèi),且選擇預(yù)測位置距離路尾最遠的車輛作為最后一個轉(zhuǎn)發(fā)節(jié)點。
選擇路段首尾轉(zhuǎn)發(fā)節(jié)點的距離定為通信距離的算術(shù)平方根的原因在于可以保證路段間的通信連通,也就是說上一個路段的最后一個轉(zhuǎn)發(fā)節(jié)點發(fā)送的數(shù)據(jù),下一個路段的第一個轉(zhuǎn)發(fā)節(jié)點可以保證能在有效的通信范圍之內(nèi)收到數(shù)據(jù);而選擇離路首和路尾最遠的轉(zhuǎn)發(fā)節(jié)點的原因是這樣可以盡可能在該路段中選擇數(shù)目最少的轉(zhuǎn)發(fā)節(jié)點,降低數(shù)據(jù)傳輸?shù)难訒r。
3)選擇中間轉(zhuǎn)發(fā)節(jié)點。
中間節(jié)點的選取依賴于上一個轉(zhuǎn)發(fā)節(jié)點,該節(jié)點的預(yù)測位置到上一個轉(zhuǎn)發(fā)節(jié)點的當前位置距離不能超過車輛的通信距離。基于貪心策略,選擇預(yù)測位置距離上一個轉(zhuǎn)發(fā)節(jié)點當前位置最遠的車輛作為中間的轉(zhuǎn)發(fā)節(jié)點。以此類推,將剛選出的中間轉(zhuǎn)發(fā)節(jié)點作為上一個轉(zhuǎn)發(fā)節(jié)點,繼續(xù)選出其他的中間節(jié)點,直到選出的節(jié)點當前位置距離最后一個轉(zhuǎn)發(fā)節(jié)點的預(yù)測位置少于通信距離為止。將預(yù)測位置考慮到選擇轉(zhuǎn)發(fā)節(jié)點的方法中,可以在很大程度上保證在一個路由計算周期之內(nèi),鏈路不會斷開,數(shù)據(jù)可以實現(xiàn)穩(wěn)定傳輸。
至此,該路段完整的轉(zhuǎn)發(fā)鏈路已經(jīng)選擇出來,具體的偽代碼如下所示:
Input:NodeSet
//初始化
Initialize:CycleSet,PathSet,Head,Tail
function FindForwardNode(Node Set,CycleSet)
if Node Set is empty
return
end if
//CycleSet為預(yù)測集
CycleSet=compute Node Set location after Cycle
//根據(jù)距離路頭距離排序
Sort NodeSet and CycleSet by Distance (CycleSet,Road.begin)
for i in CycleSet
//選出第一個轉(zhuǎn)發(fā)節(jié)點
if CycleSet[i].X Head=NodeSet[i] end if //選出最后一個轉(zhuǎn)發(fā)節(jié)點 if RoadEnd-200 Tail=NodeSet[i] end if end for PathSet.add(Head and Tail) //貪心策略選出剩下的轉(zhuǎn)發(fā)節(jié)點 for j to k in CycleSet Head=max(CyleSet[j…k].X-Head.X<400) PathSet.add(Head) end for end function 2.2.2 舉例說明 為了方便理解,舉例說明。為了方便講解,將路段長設(shè)置為1 000 m,且在X軸上,車輛通信范圍在400 m,因此路段首尾保護區(qū)間為200 m,車輛路由周期前后位置如圖2所示,表1中是車輛路由周期前后的坐標。 圖2 車輛節(jié)點周期前后位置變化 Tab. 1 Current location and predicted location of every vehicle 選取路段首尾轉(zhuǎn)發(fā)節(jié)點。A從50 m變化到100 m,B從110 m變化到160 m,A和B兩輛車前后位置都是在距離路口200 m以內(nèi),也就是都在0~200 m的范圍內(nèi),由于B離路口更遠,因此選取B作為第一輛轉(zhuǎn)發(fā)節(jié)點;選擇最后一個轉(zhuǎn)發(fā)節(jié)點,G前后位置都是距離路尾200 m,即都在800~1 000 m,H目前雖然處于這個路段,但按照目前速度的預(yù)測,在下個路由計算周期H將會離開本路段,考慮到鏈路的穩(wěn)定性,不會選擇H作為轉(zhuǎn)發(fā)節(jié)點,而是選擇G作為最后一跳轉(zhuǎn)發(fā)節(jié)點。 選擇中間的節(jié)點。第一個轉(zhuǎn)發(fā)節(jié)點已經(jīng)確定為B,位置從110 m到160 m,接下來第二個轉(zhuǎn)發(fā)節(jié)點,C從280 m變化到320 m,D從340 m變化到460 m,因此C和D下一個路由計算周期位置距離B目前的位置分別為210 m和350 m,均不超過400 m,都可以保證在路由計算周期內(nèi)車輛的移動不會影響到數(shù)據(jù)的傳輸,而E從520 m到650 m,距離差為540 m,超過400 m,在E之后的車輛比如F、G、H當然都不需要被考慮,因此基于貪心策略,選擇距離差最遠的D作為第二跳轉(zhuǎn)發(fā)節(jié)點。重復(fù)這個步驟獲取到整個鏈路的轉(zhuǎn)發(fā)節(jié)點B → D → E → G。 2.3.1 算法描述 局部控制器在選好路段中的轉(zhuǎn)發(fā)節(jié)點之后,向全局控制器匯報路況信息,當全局控制器接收到需求時,根據(jù)路段路由算法產(chǎn)生數(shù)據(jù)傳輸要經(jīng)過的路段。路段路由主要的步驟分為構(gòu)建動態(tài)拓撲圖和搜索路徑。 1)構(gòu)建動態(tài)拓撲圖。 由于局部控制器管理的是路段中兩個方向的車流,因此在向全局控制器匯報的時候,需要將這兩個方向是否選擇出完整傳輸路徑的信息告訴全局控制器。為了方便表示這兩個方向的車流,全局控制器中構(gòu)建的拓撲圖用有向圖表示,有向圖的邊表示局部控制器選擇出來的鏈路,有向圖的節(jié)點表示路口,如果路口a到路口b存在完整鏈路,則路口a到路口b可達;否則不可達。 2)搜索路徑。 在有向圖構(gòu)建出來之后,當?shù)谝淮谓邮盏皆垂?jié)點的路徑請求時,全局控制器使用廣度優(yōu)先搜索算法搜索源節(jié)點到目的節(jié)點的路徑,并將這個路徑放入邊集中,表示該鏈路已經(jīng)被占用。接下來收到其他需求的時候,使用最短路徑算法的同時要考慮該段鏈路是否已經(jīng)被占用:如果被占用,則不考慮該段鏈路,轉(zhuǎn)而考慮其他鏈路,倘若不存在一條從源節(jié)點到目的節(jié)點的路徑,則該需求暫時不被受理。 全局控制器的路段路由算法偽代碼如下所示: Input:Node,Graph,DisableNode,PathSet //初始化 Initialize:TargetPath function FindRoute(Graph,DisableNode) if BeginNode=EndNode return end if PathSet.add(BeginNode) while PathSet is not empty and TargetPath is empty tmppath=PathSet.Pop() //依次找出每條可達鏈路 for i in Node if(!tmpPath.find(Node[i])‖ !find(tmpPath.EndNode)) tmpPath.pushback(Node[i]) PathSet.add(tmpPath) end if end for //找出若干條穩(wěn)定鏈路 for j in PathSet if(PathSet[i] is whole path) TargetPath=PathSet[i] end if end for end while return TargetPath end function 2.3.2 舉例說明 在一個3×3的網(wǎng)格地圖中,局部控制器選擇鏈路之后向全局控制器匯報路況信息,如圖3所示。假設(shè)在這個地圖中,所有局部控制器管理的兩個方向車流都能夠選擇出完整的鏈路,也就是相鄰路口間的鏈路都是連通的。 在某個時刻產(chǎn)生了一個需求1,源節(jié)點A在路口1的位置上,目的節(jié)點B在路口16的位置上,全局控制器在這個拓撲圖中使用廣度優(yōu)先搜索算法計算出了從A到B的最短路徑,經(jīng)過了1 → 2 → 6 → 7 → 11 → 12 → 16,如圖4中實線箭頭所示,將這段鏈路加入到邊集中,表示已被使用。 過了一段時間需求2產(chǎn)生,需求2的源節(jié)點C在路口5的位置,目的節(jié)點D在路口8的位置,在使用廣度優(yōu)先搜索算法的時候,發(fā)現(xiàn)路口6到路口7這段鏈路已經(jīng)被占用,因此避開這個路段,轉(zhuǎn)而使用路口6到路口10這段鏈路,因此需求2經(jīng)過的路段為5 → 6 → 10 → 11 → 7 → 8,如圖4中虛線箭頭表示的鏈路所示。這兩個需求可以同時使用路口7與路口11之間的鏈路,因為這兩個需求使用的相反方向的車流作為傳輸路徑。 圖3 局部控制器向全局控制器匯報路況 圖4 多個需求的路段路由 本次仿真實驗在NS3(Network Simulation- 3)上模擬,利用SUMO(Simulator of Urban MObility)交通仿真模擬軟件生成道路信息和車輛節(jié)點運行軌跡作為NS3的輸入文件。它不但擯棄了當前主流網(wǎng)絡(luò)仿真軟件的缺點,還包括了很多新的特性,包括全新的C++內(nèi)核、更易拓展的模擬結(jié)構(gòu)、能更加準確地模擬實際無線通信環(huán)境、網(wǎng)絡(luò)接口和設(shè)備接口與實際網(wǎng)絡(luò)具有高度一致性等[14]。NS3系統(tǒng)網(wǎng)絡(luò)仿真模型如圖4所示,每個路段長為1 000 m,路段中間放置局部控制器,地圖中心點放置全局控制器,控制信道傳輸距離為2 000 m,服務(wù)信道傳輸距離為400 m,總共生成1 000輛車,發(fā)車間隔為5 s。 為了方便獲取數(shù)據(jù),本次仿真產(chǎn)生兩個需求:源節(jié)點1在(0,0),目的節(jié)點1在(3 000,3 000);源節(jié)點2在(0,1 000),目的節(jié)點2在(3 000,1 000)。源節(jié)點持續(xù)向目的節(jié)點發(fā)包,發(fā)包速率為1 024 B/s。對比實驗采用經(jīng)典的移動自組織網(wǎng)絡(luò)協(xié)議AODV算法,與本文提出的SDVN(Software Defined Vehicular Networking)算法在不同的最大車速(10 m/s,15 m/s,20 m/s,25 m/s,30 m/s)下進行仿真。5種車速的選擇恰好覆蓋了車聯(lián)網(wǎng)拓撲較稀疏到較密集的場景:車速太低,車輛之間的平均距離容易超過最大通信距離,導(dǎo)致車聯(lián)網(wǎng)節(jié)點之間不連通的情況頻繁出現(xiàn);車速過高的情況下,會出現(xiàn)嚴重堵車,不利于實驗的進行。 1)數(shù)據(jù)分組接收率。 圖5是數(shù)據(jù)分組接收率隨車輛最大速度變化的結(jié)果,從結(jié)果中可以看出,當車輛速度變大的時候,SDVN和AODV算法的數(shù)據(jù)分組接收率都呈現(xiàn)出下降的趨勢,但AODV算法下降的趨勢更加明顯,而SDVN則在較大的車輛速度下,仍能保持較高的數(shù)據(jù)分組接收率。 圖5 數(shù)據(jù)分組接收率隨車輛最大速度變化 2)平均延遲時間。 圖6為平均延遲時間隨車輛速度變化的結(jié)果。從結(jié)果中可以看出,AODV算法在車輛速度小的時候,端到端的延遲比SDVN算法高很多。這是因為車輛速度小的時候,車輛密集,AODV算法需要花費大量的時間去查找源節(jié)點到目的節(jié)點的路徑;而本文算法計算路由的周期是一定的,在鏈路上存在足夠多位置相對均勻的車輛,就可以選擇跳數(shù)基本相同的轉(zhuǎn)發(fā)節(jié)點,因此延遲會相對穩(wěn)定。 圖6 平均延遲時間隨車輛最大速度變化 3)路由維護開銷。 圖7為平均路由維護開銷隨車輛速度變化結(jié)果。車速比較慢的時候,SDVN算法開銷要比AODV小一些,當車輛速度快的時候,二者的開銷比較接近。這是因為AODV是采用廣播的方式探測鏈路的,在當車輛速度慢的時候,車輛分布比較密集,源節(jié)點發(fā)出的RREQ(Route REQuest)不斷被廣播,導(dǎo)致開銷越來越大;而SDVN是定期計算鏈路,與車輛密度大小關(guān)系不太,因此開銷相對穩(wěn)定。 圖7 平均路由維護開銷隨車輛最大速度變化 4)平均轉(zhuǎn)發(fā)次數(shù)。 圖8為平均轉(zhuǎn)發(fā)次數(shù)隨車輛速度變化結(jié)果。從圖中看出SDVN路由算法平均轉(zhuǎn)發(fā)次數(shù)在22次左右,而AODV路由算法在16次。這是因為在AODV在鏈路建立的階段,會從源節(jié)點到目的節(jié)點的多條鏈路中選擇最短跳數(shù)的鏈路進行傳輸數(shù)據(jù);而在SDVN算法中,當某部分鏈路被其他需求所使用時,需要放棄使用該條鏈路,選擇其他未被使用而跳數(shù)更多的鏈路,因此SDVN算法平均轉(zhuǎn)發(fā)次數(shù)略大于AODV算法平均轉(zhuǎn)發(fā)次數(shù)。 圖8 平均轉(zhuǎn)發(fā)次數(shù)隨車輛最大速度變化 由于車載網(wǎng)的拓撲變化頻繁、車輛速度快等特性,現(xiàn)有的數(shù)據(jù)路由算法和機制不能很好地滿足車載網(wǎng)的需求,而軟件定義網(wǎng)絡(luò)能夠動態(tài)分配網(wǎng)絡(luò)資源,對數(shù)據(jù)路由動態(tài)作出決策,在車載網(wǎng)絡(luò)中有良好的性能。本文的主要研究內(nèi)容是如何在軟件定義車載網(wǎng)絡(luò)中,提高數(shù)據(jù)傳輸率、可靠性和鏈路帶寬利用率。首先,本文設(shè)計了基于位置和速度信息的車輛路由算法,該算法能夠保證在一段時間內(nèi)鏈路的穩(wěn)定,實現(xiàn)數(shù)據(jù)穩(wěn)定傳輸;其次,本文設(shè)計了路段路由算法,能夠充分利用空閑鏈路的帶寬,盡量避免多個需求同時使用一段鏈路,緩解帶寬瓶頸問題;最后,本文通過NS- 3進行實驗仿真,實驗結(jié)果表明,本文提出的路由算法比傳統(tǒng)的自組織網(wǎng)絡(luò)路由算法有更優(yōu)的性能。 軟件定義網(wǎng)絡(luò)技術(shù)能夠很好地解決車載網(wǎng)絡(luò)中的問題,將軟件定義網(wǎng)絡(luò)更好地應(yīng)用到其中是車載網(wǎng)絡(luò)一個重要的研究方向。下一個研究目標是如何利用軟件定義網(wǎng)絡(luò)技術(shù)在車聯(lián)網(wǎng)中按鏈路穩(wěn)定性實現(xiàn)帶寬分配。 References) [1] 馬靜.車聯(lián)網(wǎng)的關(guān)鍵技術(shù)及其應(yīng)用研究[J].江蘇科技信息,2016(24):50-52.(MA J. Key technology and application research of the Internet of vehicles [J]. Jiangsu Science & Technology Information, 2016(24): 50-52.) [2] TOOR Y, MUHLETHALER P, LAOUITI A, et al. Vehicle Ad Hoc networks: applications and related technical issues [J]. IEEE Communications Surveys and Tutorials, 2008, 10(3): 74-88. [3] KAUR M. Vehicular Ad Hoc networks [J]. Journal of Global Research in Computer Science, 2012, 3(3): 61-64. [4] 章學(xué)宇.車載自組織網(wǎng)絡(luò)路由協(xié)議研究[D].長沙:湖南大學(xué),2010:18-34.(ZHANG X Y. The research on routing protocols in vehicular Ad Hoc networks [D]. Changsha: Hunan University, 2010: 18-34.) [5] JAAP S, BECHLER M, WOLF L. Evaluation of routing protocols for vehicular Ad Hoc networks in typical road traffic scenarios [C]// Proceedings of the 11th EUNICE Open European Summer School on Networked Applications. Madrid: [s.n.], 2005: 584-602. [6] GOONEWARDENE R T, ALI F H, STIPIDIS E. Robust mobility adaptive clustering scheme with support for geographic routing for vehicular Ad Hoc networks [J]. IET Intelligent Transport Systems, 2009, 3(2): 148-158. [7] KRCO S, DUPCINOV M. Improved neighbor detection algorithm for AODV routing protocol [J]. IEEE Communications Letters, 2003, 7(12): 584-586. [8] ASWATHY M C, TRIPTI C. A cluster based enhancement to AODV for inter-vehicular communication in VANET [J]. International Journal of Grid Computing & Applications, 2012, 3(3): 41-50. [9] THOMAS N D, GRAY K. SDN: Software Defined Networks [M]. Sebastopol: O’Reilly Media, 2014, 8(7): 31-38. [10] KU I, LU Y, GERLA M, et al. Towards software-defined VANET: architecture and services [C]// Proceedings of the 2014 13th Annual Mediterranean Ad Hoc Networking Workshop. Piscataway, NJ: IEEE, 2014: 103-110. [11] SHIN M K, NAM K H, KIM H J. Software-Defined Networking (SDN): a reference architecture and open APIs [C]// ICTC 2012: Proceedings of the 2012 International Conference on ICT Convergence. Piscataway, NJ: IEEE, 2012: 360-361. [12] LI H, DONG M, OTA K. Control plane optimization in software-defined vehicular Ad Hoc networks [J]. IEEE Transactions on Vehicular Technology, 2016, 65(10): 7895-7904. [13] TRUONG N B, LEE G M, GHAMRI-DOUDANE Y. Software defined networking-based vehicular Ad Hoc network with fog computing [C]// Proceedings of the 2015 IFIP/IEEE International Symposium on Integrated Network Management. Piscataway, NJ: IEEE, 2015: 1202-1207. [14] 崔翠梅,楊德智,姜程鑫.基于NS3的移動認知網(wǎng)絡(luò)仿真系統(tǒng)[J].通信技術(shù),2016,49(11):1509-1513.(CUI C M, YANG D Z, JIANG C X. NS3-based Simulation System for Mobile Cognitive Radio Networks [J]. Communications Technology, 2016, 49(11): 1509-1513.) This work is partially supported by the National Natural Science Foundation of China (6137915), the Science and Technology Planning Project of Guangdong Province (2015B010111001). DONGBaihong, born in 1993, M. S. candidate. His research interests include vehicular Ad Hoc network. DENGJian, born in 1993, M. S. candidate. His research interests include vehicular Ad Hoc network, named data network. ZHANGDingjie, born in 1992, M. S. His research interests include vehicular Ad Hoc network. WUWeigang, born in 1976, Ph. D., professor. His research interest include vehicular Ad Hoc network, cloud computing.2.3 全局控制器路段路由算法
3 仿真結(jié)果及分析
4 結(jié)語