基于車載短距離通信網(wǎng)的車載節(jié)點ip地址動態(tài)配置方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種基于車載短距離通信網(wǎng)的車載節(jié)點IP地址動態(tài)配置方法,屬于車載通信網(wǎng)技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002]車載短距離通信(Vehicle to X:V2X)網(wǎng)絡(luò)是通過無線通信、GPS / GIS、傳感等短距離通信技術(shù)實現(xiàn)的車內(nèi)(CAN-Controller Area Network)、車路(Vehicle-2-RSU)、車間(Vehicle-2-Vehicle)、車外(vehicle-2-1nfrastructure)、人車(Vehicle-2-Person)之間的通信。
[0003]在V2X網(wǎng)絡(luò)中,車載節(jié)點之間直接通信的范圍限制在有限區(qū)域之內(nèi)(車載節(jié)點之間的傳輸距離為304.8米,以下稱局域網(wǎng)),因此,車輛在行車途中從一個局域網(wǎng)切換至另一個局域網(wǎng)的頻率較高,切換網(wǎng)絡(luò)時,車載節(jié)點的IP地址需要進行動態(tài)配置更新,才能保證其與本局域網(wǎng)內(nèi)其它車載節(jié)點的正常通信。
[0004]若借鑒移動自組織網(wǎng)絡(luò)(mobile ad hoc network:MANET)的IP地址動態(tài)配置方法,將MANETconf、Prophet配置方法應(yīng)用于V2X網(wǎng)絡(luò)中,尚存在以下問題:
[0005]MANETconf配置方法是通過維護一個全網(wǎng)所有已用的IP地址,依賴于多播與廣播來解決IP地址沖突問題。網(wǎng)絡(luò)中的每個節(jié)點都維護一張已使用IP地址的列表,當(dāng)新節(jié)點加入時,其鄰居節(jié)點依據(jù)IP地址列表為新節(jié)點分配一個列表中不存在的IP地址,但是,當(dāng)鄰居節(jié)點也是新節(jié)點時,其IP地址尚未更新,依該鄰居節(jié)點配置的IP地址并不能保證在本局域網(wǎng)內(nèi)進行正常通信;另外,為了避免多個節(jié)點同時加入時IP地址沖突的問題,MANETconf通過全網(wǎng)泛洪進行沖突地址檢測,極大地加重了網(wǎng)絡(luò)的通信開銷,降低了網(wǎng)絡(luò)性能。
[0006]Prophet配置方法是利用一個特定的f (η)函數(shù)來分配IP地址,以保證IP地址的唯一性。f(n)函數(shù)的初始狀態(tài)稱為種子,不同的種子在某個整數(shù)集合R上產(chǎn)生不同的整數(shù)序列,當(dāng)R足夠大時,該函數(shù)產(chǎn)生的序列可以滿足在一個序列中出現(xiàn)相同數(shù)字之間的間隔相當(dāng)長。但是,這種配置方法并不檢測兩個節(jié)點之間的IP地址是否重復(fù),因此,該方法產(chǎn)生的IP地址仍有可能發(fā)生沖突。
【發(fā)明內(nèi)容】
[0007]鑒于上述原因,本發(fā)明的目的在于提供一種基于車載短距離通信網(wǎng)的IP地址動態(tài)配置方法,該方法既可以保證車載短距離通信網(wǎng)內(nèi)車載節(jié)點IP地址的唯一性,進而可保證車載節(jié)點之間的正常通信,同時,可有效減少網(wǎng)絡(luò)中為配置IP地址而發(fā)送的廣播包數(shù)量,減小了網(wǎng)絡(luò)壓力,改善了網(wǎng)絡(luò)性能。
[0008]為實現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案:
[0009]基于車載短距離通信網(wǎng)的車載節(jié)點IP地址動態(tài)配置方法,其特征在于:
[0010]車載節(jié)點將攜帶節(jié)點性質(zhì)、IP地址及節(jié)點唯一標(biāo)識等自身狀態(tài)信息的心跳信息定時廣播到網(wǎng)絡(luò)中;車載節(jié)點接收其它車載節(jié)點的心跳信息,并將其它各車載節(jié)點的節(jié)點性質(zhì)、IP地址及節(jié)點唯一標(biāo)識等信息保存到一環(huán)境信息隊列中;
[0011]車載節(jié)點依據(jù)該環(huán)境信息隊列中節(jié)點的節(jié)點性質(zhì)配置、更新IP地址的網(wǎng)絡(luò)號,然后通過隨機函數(shù)產(chǎn)生的隨機數(shù)作為主機號,以配置、更新車載節(jié)點的IP地址;并通過查找該環(huán)境信息隊列保證生成的IP地址不重復(fù);
[0012]車載節(jié)點從該環(huán)境信息隊列中查找到存在沖突節(jié)點時,車載節(jié)點與該沖突節(jié)點依據(jù)各自IP地址的修改時間協(xié)商修改IP地址。
[0013]進一步的,
[0014]車載節(jié)點配置IP地址的具體步驟是:
[0015]S10:車載節(jié)點接收周圍其它車載節(jié)點的所述心跳信息,并依據(jù)各節(jié)點的心跳信息,將其它各節(jié)點的節(jié)點性質(zhì)、IP地址、節(jié)點唯一標(biāo)識等信息保存到所述環(huán)境信息隊列中;
[0016]Sll:車載節(jié)點依據(jù)所述環(huán)境信息隊列中各節(jié)點的節(jié)點性質(zhì)確定其IP地址的網(wǎng)絡(luò)號,若所述環(huán)境信息隊列中存在路側(cè)節(jié)點,則執(zhí)行步驟S110,否則跳轉(zhuǎn)至步驟Slll ;
[0017]SllO:車載節(jié)點將路側(cè)節(jié)點IP地址的網(wǎng)絡(luò)號作為自身IP地址的網(wǎng)絡(luò)號,跳轉(zhuǎn)至步驟 S12 ;
[0018]Slll:車載節(jié)點查看所述環(huán)境信息隊列中的節(jié)點數(shù),如果僅有一個節(jié)點則執(zhí)行步驟SI 12,否則跳轉(zhuǎn)至步驟SI 13 ;
[0019]S112:所述環(huán)境信息隊列中僅有一個節(jié)點,取該節(jié)點IP地址的網(wǎng)絡(luò)號作為自身IP地址的網(wǎng)絡(luò)號,跳轉(zhuǎn)至步驟S12 ;
[0020]S113:所述環(huán)境信息隊列中有多個節(jié)點,計算出多個節(jié)點IP地址的網(wǎng)絡(luò)號的眾數(shù),作為自身IP地址的網(wǎng)絡(luò)號;
[0021]S12:通過隨機函數(shù)生成隨機數(shù)作為主機號,配置出由網(wǎng)絡(luò)號和主機號組成的IP地址;
[0022]S13:將配置的IP地址與環(huán)境信息隊列中節(jié)點的IP地址作比較,若配置的IP地址與周圍某一車載節(jié)點的IP地址重復(fù),跳轉(zhuǎn)至步驟S12,通過更改主機號重新配置IP地址;
[0023]S14:將配置好的IP地址、節(jié)點性質(zhì)以及節(jié)點唯一標(biāo)識等信息以心跳信息廣播到網(wǎng)絡(luò)中。
[0024]車載節(jié)點更新IP地址的具體步驟是:
[0025]S20:車載節(jié)點接收周圍其它車載節(jié)點的心跳信息,并依據(jù)各節(jié)點的心跳信息,將其它各節(jié)點的節(jié)點性質(zhì)、IP地址、節(jié)點唯一標(biāo)識等信息保存到所述環(huán)境信息隊列中;
[0026]S21:車載節(jié)點依據(jù)所述環(huán)境信息隊列中各節(jié)點的節(jié)點性質(zhì)更新其IP地址的網(wǎng)絡(luò)號,若所述環(huán)境信息隊列中存在路側(cè)節(jié)點,執(zhí)行步驟S211,否則跳轉(zhuǎn)至步驟S213 ;
[0027]S211:車載節(jié)點將自身IP地址的網(wǎng)絡(luò)號與路側(cè)節(jié)點IP地址的網(wǎng)絡(luò)號相比較,若相同跳轉(zhuǎn)至步驟S20 ;否則執(zhí)行步驟212 ;
[0028]S212:車載節(jié)點IP地址的網(wǎng)絡(luò)號與路側(cè)節(jié)點IP地址的網(wǎng)絡(luò)號不相同,取路側(cè)節(jié)點IP地址的網(wǎng)絡(luò)號作為自身IP地址的網(wǎng)絡(luò)號,跳轉(zhuǎn)至步驟S22 ;
[0029]S213:計算出所述環(huán)境信息隊列中各節(jié)點IP地址的網(wǎng)絡(luò)號的眾數(shù),車載節(jié)點將自身IP地址的網(wǎng)絡(luò)號與該眾數(shù)相比較,若相同跳轉(zhuǎn)至步驟S20,否則執(zhí)行步驟S214 ;
[0030]S214:車載節(jié)點自身IP地址的網(wǎng)絡(luò)號與該眾數(shù)不相同,取該眾數(shù)作為自身IP地址的網(wǎng)絡(luò)號;
[0031]S22:通過隨機函數(shù)生成隨機數(shù)作為主機號,更新后的IP地址由網(wǎng)絡(luò)號和主機號組成;
[0032]S23:將更新后的IP地址與所述環(huán)境信息隊列中節(jié)點的IP地址作比較,若更新的IP地址與周圍某一車載節(jié)點的IP地址重復(fù),跳轉(zhuǎn)至步驟S22,通過更改主機號重新配置IP地址;
[0033]S24:將更新后的IP地址、節(jié)點性質(zhì)以及節(jié)點唯一標(biāo)識等信息以心跳信息廣播到網(wǎng)絡(luò)中。
[0034]車載節(jié)點進行IP地址沖突檢測的步驟是:
[0035]S30:車載節(jié)點接收周圍其它車載節(jié)點的心跳信息,并依據(jù)各節(jié)點的心跳信息,將其它各節(jié)點的節(jié)點性質(zhì)、IP地址、節(jié)點唯一標(biāo)識等信息保存到所述環(huán)境信息隊列中;
[0036]S31:車載節(jié)點將自身IP地址與所述環(huán)境信息隊列中各節(jié)點的IP地址相比較以確定是否存在IP地址重復(fù)的沖突節(jié)點;若不存在沖突節(jié)點,跳轉(zhuǎn)至步驟S30,若存在沖突節(jié)點,執(zhí)行步驟S32 ;
[0037]S32:車載節(jié)點將攜帶IP地址及IP地址修改時間的地址重復(fù)訊問數(shù)據(jù)包廣播到網(wǎng)絡(luò)中;
[0038]S33:沖突節(jié)點收到該地址重復(fù)訊問數(shù)據(jù)包,將沖突節(jié)點自身IP地址的修改時間與車載節(jié)點IP地址的修改時間相比較;若沖突節(jié)點自身IP地址的修改時間晚于車載節(jié)點IP地址的修改時間,執(zhí)行步驟S34,否則跳轉(zhuǎn)至步驟S36
[0039]S34:沖突節(jié)點通過隨機函數(shù)生成隨機數(shù)作為主機號,網(wǎng)絡(luò)號不變,重新配置IP地址,并通過查找所述環(huán)境信息隊列以保證重新配置的IP地址不重復(fù);
[0040]S35:沖突節(jié)點將攜帶重新配置的IP地址、節(jié)點唯一標(biāo)識的地址重復(fù)應(yīng)答數(shù)據(jù)包以點對點方式發(fā)送給車載節(jié)點,以通知車載節(jié)點其IP地址已經(jīng)重新配置,沖突檢測結(jié)束;
[0041]S36:沖突節(jié)點將攜帶其自身IP地址及IP地址修改時間的地址重復(fù)應(yīng)答數(shù)據(jù)包廣播到網(wǎng)絡(luò)中;
[0042]S37:車載節(jié)點收到該地址重復(fù)應(yīng)答數(shù)據(jù)包,通過隨機函數(shù)生成隨機數(shù)作為主機號,網(wǎng)絡(luò)號不變,重新配置IP地址,并通過查找所述環(huán)境信息隊列以保證重新配置的IP地址不重復(fù),然后將攜帶重新配置的IP地址的數(shù)