李燕麗,王曉喃
(1.蘇州大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 蘇州 215006;2.常熟理工學(xué)院 計算機(jī)科學(xué)與工程學(xué)院,江蘇 常熟 215500)
隨著交通運(yùn)輸系統(tǒng)的快速發(fā)展和IPv6網(wǎng)絡(luò)的不斷普及與完善,車載網(wǎng)與IPv6網(wǎng)絡(luò)之間實現(xiàn)全I(xiàn)P通信成為發(fā)展趨勢[1]。全I(xiàn)P車載網(wǎng)能實時監(jiān)控車輛,并通過事故預(yù)警、合理路線選擇等手段有效降低道路交通事故數(shù)量及提高駕駛效率。為實現(xiàn)全I(xiàn)P車載網(wǎng)的應(yīng)用,需要為車輛提供互聯(lián)網(wǎng)服務(wù)。地址配置是互聯(lián)網(wǎng)服務(wù)的重要組成部分,而車輛節(jié)點速度通常會影響地址配置,因此,減少地址配置延遲和地址配置代價是車輛獲得高質(zhì)量互聯(lián)網(wǎng)服務(wù)的關(guān)鍵[2-3]。
在基于簇的地址配置方案[4]中,簇成員在簇內(nèi)執(zhí)行重復(fù)地址檢測(Duplicate Address Detection,DAD),并同時實現(xiàn)不同簇的地址配置。在基于位置的地址配置方案[5]中,車輛節(jié)點通過全球定位系統(tǒng)獲得用于構(gòu)造地址的位置信息,并采用分布式DAD服務(wù)器執(zhí)行DAD以確保地址的全球唯一性。但是,移動車輛節(jié)點很難為DAD服務(wù)器工作,而且為每個車輛節(jié)點配備全球定位系統(tǒng)成本較高。
在基于代理的地址配置方案[6]中,采用隨機(jī)編碼(ID)和時間戳來標(biāo)識新節(jié)點。如果ID和時間戳相同的2個節(jié)點從代理節(jié)點請求地址,則代理節(jié)點無法區(qū)分這2個節(jié)點,并無法正確執(zhí)行地址配置。地址配置方案通常采用鄰居請求和鄰居應(yīng)答進(jìn)行新節(jié)點和代理節(jié)點之間的通信,使用消息傳遞實現(xiàn)代理節(jié)點和網(wǎng)關(guān)節(jié)點之間的通信。由于代理節(jié)點必須存儲這2種通信消息之間的映射,因此地址配置性能降低。在動態(tài)地址配置協(xié)議[7]中,IP地址結(jié)構(gòu)由網(wǎng)絡(luò)ID、節(jié)點ID和端口號組成。網(wǎng)絡(luò)組織采用樹結(jié)構(gòu)形式,其中,中間節(jié)點有2個地址,葉節(jié)點有1個地址。新節(jié)點通過加入樹結(jié)構(gòu)獲取IP地址,且在沒有DAD情況下地址具有唯一性?;跇涞膭討B(tài)地址自動配置協(xié)議[8]定義了3種節(jié)點:作為中繼的普通節(jié)點,負(fù)責(zé)地址配置的領(lǐng)導(dǎo)節(jié)點和存儲全部領(lǐng)導(dǎo)節(jié)點信息的根節(jié)點。根節(jié)點負(fù)責(zé)地址回收和網(wǎng)絡(luò)合并,如果根節(jié)點出現(xiàn)故障或被移出網(wǎng)絡(luò),則網(wǎng)絡(luò)無法正常工作。
在有狀態(tài)分層的地址配置方案[9]中,采用分層尋址可減少地址配置期間的延遲。部分有狀態(tài)地址配置算法在不需要泛洪和全局狀態(tài)感知的情況下進(jìn)行地址分配,使用節(jié)點分層配置地址將網(wǎng)絡(luò)圖構(gòu)建為生成樹?;贗Pv6的車載網(wǎng)跨層移動性切換方案[10]提出車載網(wǎng)層次體系結(jié)構(gòu),該結(jié)構(gòu)由路域、路段和簇3個層次組成。在該體系結(jié)構(gòu)中,車輛節(jié)點選擇最近的接入節(jié)點進(jìn)行通信以減少通信延遲和地址配置代價。
文獻(xiàn)[11]針對基于IPv6的城市車載網(wǎng)地址配置方案提出車域內(nèi)和車域間地址配置算法。在車域內(nèi)地址配置算法中,車輛通過最近接入節(jié)點實現(xiàn)與IPv6網(wǎng)絡(luò)通信。在車域間地址配置算法中,車輛可以從接入節(jié)點接收從新舊轉(zhuǎn)交地址發(fā)送的數(shù)據(jù)。在IPv6車載網(wǎng)中,車輛節(jié)點只有在獲得唯一的IPv6地址后才能與IPv6網(wǎng)絡(luò)節(jié)點通信,因此,IPv6地址配置成為IPv6車載網(wǎng)需要解決的關(guān)鍵問題[12]。由于車載網(wǎng)是一種特殊的移動自組網(wǎng),因此IPv6地址配置協(xié)議[13-15]和現(xiàn)有的移動自組網(wǎng)IP地址配置方案[16-18]并不適用于IPv6車載網(wǎng)。此外,上述方案采用重復(fù)地址檢測或者基于多跳訪問的有狀態(tài)分配策略來確保IPv6地址全球唯一性,因而增加了地址配置延遲。
針對上述問題,本文提出一種全I(xiàn)P車載網(wǎng)地址配置方案。采用由接入節(jié)點和車輛節(jié)點組成的全I(xiàn)P車載網(wǎng)層次體系結(jié)構(gòu)以增強(qiáng)網(wǎng)絡(luò)體系結(jié)構(gòu)的穩(wěn)定性,構(gòu)建基于分層機(jī)制的IPv6地址結(jié)構(gòu),通過鄰近接入節(jié)點和鄰近車輛節(jié)點為車輛節(jié)點分配地址,使多個接入節(jié)點并行執(zhí)行地址配置,以減少車輛節(jié)點地址配置延遲和代價。
IPv6車載網(wǎng)由接入節(jié)點和車輛節(jié)點組成,車輛節(jié)點通過接入節(jié)點與IPv6網(wǎng)絡(luò)進(jìn)行通信。1個車輛節(jié)點可以與多個接入節(jié)點相連。IPv6車載網(wǎng)層次體系結(jié)構(gòu)如圖1所示。
圖1 IPv6車載網(wǎng)層次體系結(jié)構(gòu)Fig.1 Hierarchical architecture of IPv6 vehicular network
基于IPv6車載網(wǎng)層次體系結(jié)構(gòu),IPv6車載網(wǎng)的IPv6地址由位數(shù)為(128-i-n) bit的全局路由前綴、位數(shù)為ibit的接入節(jié)點ID和位數(shù)為nbit的車輛節(jié)點ID 3部分組成。其中,i和n由網(wǎng)絡(luò)規(guī)模和車輛節(jié)點密度確定。接入節(jié)點的IPv6地址需預(yù)先設(shè)置,接入節(jié)點ID設(shè)置區(qū)域為[1,2i-1],車輛節(jié)點ID為0。車輛節(jié)點ID設(shè)置區(qū)域為[1,2n-1]。在IPv6地址中,1個接入節(jié)點以及從該接入節(jié)點獲取的IPv6地址全局路由前綴均相同;1個接入節(jié)點ID只唯一標(biāo)識1個接入節(jié)點,從該節(jié)點獲取IPv6地址的接入節(jié)點ID相同;1個車輛階段ID只唯一標(biāo)識1個車輛節(jié)點。
基于IPv6車載網(wǎng)層次體系結(jié)構(gòu)和IPv6地址層次結(jié)構(gòu),本文采用分布式機(jī)制設(shè)計IPv6地址配置方案。車輛節(jié)點X在啟動后,從鄰近節(jié)點獲取IPv6地址,無需執(zhí)行重復(fù)地址檢測即可實現(xiàn)地址全球唯一性。車輛節(jié)點IPv6地址配置包括車輛節(jié)點X從鄰近接入節(jié)點AP1處獲取IPv6地址、車輛節(jié)點Y從鄰近車輛節(jié)點X處獲取IPv6地址2種情況(i設(shè)置為16,n設(shè)置為48)。
車輛節(jié)點X偵聽一跳范圍內(nèi)鄰近接入節(jié)點的信標(biāo)消息以獲取全局路由前綴、接入節(jié)點ID和車輛節(jié)點ID,再按照以下步驟從鄰近接入節(jié)點AP1處獲取IPv6地址:
1)車輛節(jié)點X向鄰近接入節(jié)點AP1發(fā)送Req_addr消息。
2)接入節(jié)點AP1接收到Req_addr消息后,將地址空間[L,U](L和U為正整數(shù)且L
3)車輛節(jié)點X接收到Rep_addr消息后,將地址L作為車輛節(jié)點ID,與接入節(jié)點AP1全局路由前綴、接入節(jié)點ID相結(jié)合生成唯一的IPv6地址以及可分配地址空間[L+1,U]。車輛節(jié)點X的IPv6地址配置過程如圖2所示。
圖2 IPv6地址配置過程示意圖Fig.2 Schematic diagram of IPv6 address configuration process
如果車輛節(jié)點Y鄰近節(jié)點不包含接入節(jié)點,則車輛節(jié)點Y選擇從具有最大鏈路連接時間的鄰近車輛節(jié)點X處獲取IPv6地址。車輛節(jié)點Y偵聽一跳范圍內(nèi)鄰近車輛節(jié)點X的信標(biāo)消息以獲取全局路由前綴、接入節(jié)點ID和車輛節(jié)點ID,再按照以下步驟從鄰近車輛節(jié)點X處獲取IPv6地址:
1)車輛節(jié)點Y向鄰近車輛節(jié)點X發(fā)送Req_addr消息。
在NS-3仿真平臺[19]上將現(xiàn)有車載網(wǎng)分層地址配置方案(以下稱為現(xiàn)有方案)[11]和全I(xiàn)P車載網(wǎng)地址配置方案(以下稱為本文方案)進(jìn)行對比,仿真參數(shù)設(shè)置如表1所示。以配置延遲和配置代價為度量指標(biāo)。其中,配置延遲和配置代價分別以地址配置中需要消耗的時間和需要發(fā)送的消息總數(shù)作為評價依據(jù)。
表1 仿真參數(shù)設(shè)置Table 1 Simulation parameters setting
當(dāng)車輛節(jié)點數(shù)量為250時,在不同車輛節(jié)點速度下現(xiàn)有方案和本文方案的地址配置延遲、地址配置代價分別如圖3和圖4所示??梢?隨著車輛節(jié)點速度的增加,2種方案的地址配置延遲和代價均增加,本文方案的地址配置延遲和代價均比現(xiàn)有方案更低。這是因為隨著車輛節(jié)點速度的增加,鏈路穩(wěn)定性減弱,地址配置中斷次數(shù)增加。在現(xiàn)有方案中,車輛節(jié)點通過分析車域間、車域內(nèi)地址配置,并經(jīng)過多跳獲取IPv6地址后,需執(zhí)行重復(fù)地址檢測,地址配置延遲和代價較多;在本文方案中,車輛節(jié)點的地址配置通過分析鄰近車輛節(jié)點,經(jīng)過單跳獲取IPv6地址,無需執(zhí)行重復(fù)地址檢測,且車輛節(jié)點從鄰近接入節(jié)點和鄰近車輛節(jié)點獲取IPv6地址,鏈路穩(wěn)定性較高,地址配置延遲和代價較少。
圖3 不同車輛節(jié)點速度下2種方案地址配置延遲對比Fig.3 Comparison of address configuration delay between two schemes under different vehicle node speeds
圖4 不同車輛節(jié)點速度下2種方案地址配置代價對比Fig.4 Comparison of address configuration cost between two schemes under different vehicle node speeds
當(dāng)車輛節(jié)點速度為50 km/h時,在不同車輛節(jié)點數(shù)量下現(xiàn)有方案和本文方案的地址配置延遲、地址配置代價分別如圖5和圖6所示??梢?隨著車輛節(jié)點數(shù)量的增加,2種方案的地址配置延遲和代價均增加,本文方案的地址配置延遲和代價均比現(xiàn)有方案更低。這是因為隨著車輛數(shù)量的增加,網(wǎng)絡(luò)流量增加,地址配置延遲與代價也增加。在現(xiàn)有方案中,車輛節(jié)點通過分析車輛間、車輛內(nèi)地址配置,并經(jīng)過多跳獲取IPv6地址后,需要執(zhí)行重復(fù)地址檢測,地址配置延遲和代價較多;在本文方案中,車輛節(jié)點從鄰近接入節(jié)點和鄰近車輛節(jié)點獲取IPv6地址,地址配置延遲和代價較少。
圖5 不同車輛節(jié)點數(shù)量下2種方案地址配置延遲對比Fig.5 Comparison of address configuration delay between two schemes under different number of vehicle nodes
圖6 不同車輛節(jié)點數(shù)量下2種方案地址配置代價對比Fig.6 Comparison of address configuration cost between two schemes under different number of vehicle nodes
本文提出一種全I(xiàn)P車載網(wǎng)地址配置方案,并建立全I(xiàn)P車載網(wǎng)層次體系結(jié)構(gòu)和基于分層機(jī)制的IPv6地址結(jié)構(gòu)。在此基礎(chǔ)上,采用分布式機(jī)制IPv6地址配置方案,使車輛節(jié)點從鄰近接入節(jié)點或鄰近車輛節(jié)點處獲取全球唯一的IPv6地址。仿真結(jié)果表明,該方案較現(xiàn)有車載網(wǎng)分層地址配置方案的地址配置延遲和代價更少。下一步將利用車輛節(jié)點自身資源進(jìn)行地址配置,并在此基礎(chǔ)上研究車載網(wǎng)路由通信切換,以減少地址配置延遲與代價。