專利名稱:一種移動自組織網(wǎng)絡(luò)地址自動分配方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種移動自組織(ad hoc)網(wǎng)絡(luò)IP地址自動配置方法,屬于移動自組織網(wǎng)絡(luò)技術(shù)領(lǐng)域。
背景技術(shù):
移動自組織網(wǎng)絡(luò)(MANET, Mobile Ad Hoc Networks)是由一組無線移動節(jié)點組成,不依靠現(xiàn) 有固定通信網(wǎng)絡(luò)基礎(chǔ)設(shè)施,無中心實體、自組織的多跳網(wǎng)絡(luò)。各個網(wǎng)絡(luò)節(jié)點可動態(tài)、隨意、頻繁進(jìn) 入和離開網(wǎng)絡(luò),節(jié)點間通過無線鏈路相互協(xié)作進(jìn)行通信。由于移動節(jié)點不固定,無線鏈路不穩(wěn)定帶 寬有限,無中心管理設(shè)備等問題,MANET網(wǎng)絡(luò)環(huán)境中的IP地址自動分配比有線網(wǎng)絡(luò)困難復(fù)雜。文 獻(xiàn)[1]PRAKASH A, PATNA IK LM. "An address assignment for the automatic configuration of Mobile ad hoc networks". Personal and ubiquitous Computing, 2004
在傳統(tǒng)的有線網(wǎng)絡(luò)中可以通過DHCP(dynamic host configuration protocol)協(xié)議或SAA(stateless address autoconfiguration)協(xié)議完成地址自動分配。[2] D. ROMSR, "dynamic host configuration protocol", RFC2131 , Dec 1998 。 [3]S. Thomson and T. Narten, "IPv6 Stateless Address Autoconfiguration", Dec 1998。 但是DHCP采用集中式地址分配模式,在無中心實體的MANET 網(wǎng)絡(luò)環(huán)境中不能直接應(yīng)用。而SAA協(xié)議只能應(yīng)用于單跳網(wǎng)絡(luò)模型中,目的是主機(jī)自動配置地址進(jìn) 行即插即用的通信。SAAA協(xié)議是基于IPv6的Ad Hoc網(wǎng)絡(luò)無狀態(tài)地址自配置協(xié)議,是SAA協(xié)議 的延伸,適用于多跳網(wǎng)絡(luò)模型,但需要修改IPv6報文信息,不能兼容IPv4網(wǎng)絡(luò)結(jié)構(gòu)。在準(zhǔn)動態(tài)網(wǎng) 絡(luò)如傳感器組、航空通信中有動態(tài)注冊及配置協(xié)議-動態(tài)地址分配協(xié)議(DRCP_DAAP),可實現(xiàn)主 機(jī)與路由器的即插即用,但限制網(wǎng)絡(luò)的節(jié)點數(shù)量。MANETconf協(xié)議需進(jìn)行兩階段的地址配置過程, 并且信息交互主要通過多播和廣播進(jìn)行,網(wǎng)絡(luò)開銷較大。[4]MESARGI S, PRAKASH R. "MANET: Configuration of Hosts in a Mobile Ad Hoc Network", Proceedings of the IEEE Conference on Computer Communications (INFOCOM) , 2002。被動重復(fù)地址檢測法(PDAD)通過持續(xù)檢測鏈路狀態(tài)信息 來判斷是否存在重復(fù)地址,雖然無需增加額外開銷但依賴下層路由協(xié)議。[5]WENIGERK. "Passive Duplicate Address Detection in Mobile Ad Hoc Networks" , Proceeding of IEEE WCNC 2003 , 2003 。基 于代理的地址分配(ABA)設(shè)置集中分配表,通過特定代理節(jié)點進(jìn)行地址分配,但代理節(jié)點移動、 網(wǎng)絡(luò)發(fā)生變化時需要重新確定新代理。預(yù)測分配法卻只適合大規(guī)模的MANET網(wǎng)絡(luò)的IP地址分配, 地址浪費較大。[6] ZHOU H, NILM, MUTKA MW. "Prophet Address Allocation for large Scale MANET", ProceedingofIEEE INFOCOM2003, 2003。
由于移動自組織網(wǎng)絡(luò)環(huán)境的特殊性,設(shè)計能適應(yīng)各種情況的地址自動分配方法是非常困難的。 因此,應(yīng)該結(jié)合網(wǎng)絡(luò)模型、地址結(jié)構(gòu)和網(wǎng)絡(luò)開銷代價等因素提供擴(kuò)展性強(qiáng)、兼容性好的地址自動分 配方法。
發(fā)明內(nèi)容
技術(shù)問題本發(fā)明的目的在于消除地址沖突檢測的開銷提高地址分配效率,避免地址分配過程 中使用多播或廣播報文消耗網(wǎng)絡(luò)資源,提供不依賴其他協(xié)議、支持多種版本的IP地址分配方法, 提供一種移動自組織網(wǎng)絡(luò)(MANET)節(jié)點IP地址的自動分配方法,采用基于鄰居代理的無沖突檢 測的IP地址分層分配模式,利用可變長的可用IP地址控制字來靈活控制IP地址分配過程,有效避 免地址分配沖突。
技術(shù)方案根據(jù)網(wǎng)絡(luò)規(guī)模和通信范圍的大小,配置的IP地址可以是內(nèi)部IP地址,也可以是外
部IP地址。在MANET網(wǎng)絡(luò)內(nèi)通信的節(jié)點需配置可路由的內(nèi)部IP地址。訪問互聯(lián)網(wǎng)的MANET節(jié) 點需配置全球唯一的外部IP地址。外部IP地址可依據(jù)內(nèi)部ff地址并重在說明MANET網(wǎng)絡(luò)內(nèi)部IP地址的自動分配過程,無論是IPv4內(nèi)部地址還是IPv6本地地址都適用。
采用基于鄰居代理的無沖突檢測的IP地址分層分配模式,地址分配信息具有遺傳特性,利用可變長的可用IP地址控制字,控制可用IP地址空間的分配過程。本方法包括移動自組織網(wǎng)絡(luò)地址初始化配置、IP地址自動分配協(xié)議、IP地址分配控制過程、IP地址中繼協(xié)議、IP地址池回收協(xié)議、網(wǎng)絡(luò)合并變換和網(wǎng)絡(luò)分割變換,具體如下
1) 初始狀態(tài),網(wǎng)絡(luò)中只有一個節(jié)點,該節(jié)點進(jìn)行自配置,隨機(jī)獲取網(wǎng)絡(luò)標(biāo)識號,設(shè)置主機(jī)標(biāo)識號,產(chǎn)生IP地址;根據(jù)主機(jī)標(biāo)識號的長度和選擇進(jìn)制產(chǎn)生初始可用IP地址控制字,以便控制后續(xù)節(jié)點的IP地址自動分配;
2) 非初始請求節(jié)點進(jìn)入網(wǎng)絡(luò),單跳廣播査找已配置鄰居節(jié)點以獲得配置信息;已配置鄰居節(jié)點收到請求后根據(jù)自身IP地址和可用IP地址控制字隨機(jī)產(chǎn)生新IP地址和新可用IP地址控制字回復(fù)給請求節(jié)點;若存在多個已配置節(jié)點響應(yīng),請求節(jié)點從中選擇一個獲得配置信息;
3) 已配置節(jié)點為請求節(jié)點分配地址資源時,通過可用IP地址控制字,控制可用IP地址資源空間的分配,不會造成地址沖突,無需進(jìn)行地址沖突檢測;
4) 所有相鄰已配置節(jié)點若無可用的地址資源,請求節(jié)點可申請利用地址中繼協(xié)議繼續(xù)通過該相鄰節(jié)點向其相鄰節(jié)點申請地址資源;
5) 如果某節(jié)點離開網(wǎng)絡(luò),需回收地址。脫網(wǎng)節(jié)點的地址信息需逐一單跳廣播通知全網(wǎng)節(jié)點,以便所有在網(wǎng)節(jié)點記錄脫網(wǎng)節(jié)點的IP地址和可用IP地址控制字;
6) 如果兩個或多個MANET網(wǎng)絡(luò)節(jié)點合并,需比較合并前節(jié)點數(shù)量,確定節(jié)點IP地址和網(wǎng)絡(luò)標(biāo)識的變換情況;如果一個MANET網(wǎng)絡(luò)出現(xiàn)分割,根據(jù)分割后移動節(jié)點可能的三種變化情況,可以不改變地址配置相關(guān)信息,或重新自配置生成新的MANET網(wǎng)絡(luò),或合并到其他MANET網(wǎng)絡(luò)中獲得重新獲取新的地址配置信息。
所述的網(wǎng)絡(luò)地址初始化配置如下
步驟l:初始狀態(tài),網(wǎng)絡(luò)中只有一個節(jié)點A,通過一跳廣播發(fā)送鄰居請求NRQ報文,查找相鄰節(jié)點;
步驟2:由于處于網(wǎng)絡(luò)初始化階段,節(jié)點A沒有收到任何響應(yīng)報文,則節(jié)點A選用內(nèi)部IP地址進(jìn)行自配置;節(jié)點A可通過手工設(shè)置或默認(rèn)的方式確定網(wǎng)絡(luò)標(biāo)識長度NIDL,并隨機(jī)產(chǎn)生網(wǎng)絡(luò)標(biāo)識號ID。主機(jī)標(biāo)識長度HIDL可通過IP地址長度L減去網(wǎng)絡(luò)標(biāo)識長度NIDL計算獲知,設(shè)置主機(jī)標(biāo)識號為1;
步驟3:根據(jù)節(jié)點A主機(jī)標(biāo)識號長度HIDL確定可選擇的進(jìn)制形式;除二進(jìn)制外,根據(jù)HIDL能否被4、 3、或2整除可相應(yīng)地選擇十六進(jìn)制、八進(jìn)制、或四進(jìn)制;根據(jù)主機(jī)標(biāo)識號長度HIDL和選擇的進(jìn)制H可產(chǎn)生節(jié)點A的可用IP地址控制字,其長度CL為前面整除所得的商,即HIDL/H;初始設(shè)置可用IP地址控制字為1,除最低位取值范圍為l-H-l夕卜,其他每位的取值范圍為0~H-1。
所述的IP地址自動分配協(xié)議如下
步驟1:非初始請求節(jié)點B進(jìn)入網(wǎng)絡(luò),通過一跳廣播發(fā)送鄰居請求NRQ報文査找已配置的鄰居節(jié)點;
步驟2:接收到鄰居請求報文的節(jié)點A需做出響應(yīng)。首先査看脫網(wǎng)節(jié)點信息列表,如果不為空,則將第一個脫網(wǎng)節(jié)點信息分配給請求節(jié)點,并將其他脫網(wǎng)節(jié)點信息一同通過鄰居響應(yīng)(NRP)報文給節(jié)點B;
步驟3:響應(yīng)節(jié)點A的脫網(wǎng)節(jié)點信息列表若為空,則從可用IP地址控制字中隨機(jī)選擇一位Cj,
要求其數(shù)值小于H-l,并將該位數(shù)值增1,依據(jù)所選的進(jìn)制形式轉(zhuǎn)換計算得到相應(yīng)的主機(jī)標(biāo)識號;
節(jié)點A將分配的IP地址通過鄰居響應(yīng)NRP報文發(fā)送給節(jié)點B;
步驟4:節(jié)點B收到節(jié)點A的NRP響應(yīng)報文后,發(fā)送配置確認(rèn)(CC)報文給節(jié)點A進(jìn)行確認(rèn);如果存在多個已配置鄰居節(jié)點均根據(jù)各自可用IP地址控制字隨機(jī)產(chǎn)生新IP地址,并給請求節(jié)點B發(fā)送了鄰居響應(yīng)NRP報文,則請求節(jié)點B從中選擇一個鄰居節(jié)點獲得IP地址配置信息后再發(fā)送 CC報文;
步驟5:請求節(jié)點B獲得IP地址后,根據(jù)IP地址和所選進(jìn)制產(chǎn)生自身的可用IP地址控制字; 步驟6:若脫網(wǎng)節(jié)點信息列表為空,響應(yīng)節(jié)點A收到配置確認(rèn)后更新自身的可用IP地址控制 字;若脫網(wǎng)節(jié)點信息列表非空,清除已分配的脫網(wǎng)節(jié)點信息并單跳廣播發(fā)送地址清除(AC)報文 通知相鄰節(jié)點清除相應(yīng)脫網(wǎng)節(jié)點信息,相鄰節(jié)點并繼續(xù)單跳廣播該AC報文以通知全部在網(wǎng)節(jié)點。 所述的IP地址自動分配控制過程如下
步驟1:選擇進(jìn)制為H=2n,其中n=l,2,3,4, H可為二進(jìn)制、四進(jìn)制、八進(jìn)制和十六進(jìn)制;IP 地址結(jié)構(gòu)由IP地址長度L確定,分為網(wǎng)絡(luò)標(biāo)識號和主機(jī)標(biāo)識號,長度分別為NIDL和HIDL,且 1^MDL+HIDL。可用IP地址控制字長度CL由進(jìn)制B^2n和主機(jī)標(biāo)識號長度HIDL決定,CL-HIDL/n, 初始節(jié)點A隨機(jī),產(chǎn)生網(wǎng)絡(luò)標(biāo)識號,并設(shè)置主機(jī)標(biāo)識號為l,可用IP地址控制字為1;
步驟2:若節(jié)點A為請求節(jié)點B分配IP地址時,首先査看脫網(wǎng)節(jié)點信息列表,如果有脫網(wǎng)節(jié) 點信息,則直接取出脫網(wǎng)節(jié)點的IP地址和可用IP地址控制字分配給請求節(jié)點,并單跳廣播發(fā)送地 址清除AC報文通知相鄰節(jié)點清除脫網(wǎng)節(jié)點信息列表,相鄰節(jié)點并繼續(xù)單跳廣播該AC報文以通知 全部在網(wǎng)節(jié)點;
步驟3:若節(jié)點A為請求節(jié)點B分配IP地址時,脫網(wǎng)節(jié)點信息列表為空,則査看可用IP地址 控制字第1位到第CL位數(shù)值Ci,其中i=l,2, ...CL,從所有Ci小于H-l的控制位中隨機(jī)選擇一位j, 根據(jù)H進(jìn)制計算出(Cj+1) ^^HW即為產(chǎn)生的主機(jī)標(biāo)識號,然后結(jié)合網(wǎng)絡(luò)標(biāo)識號組成IP地址發(fā)送給 請求節(jié)點B;
步驟4:若請求節(jié)點B接受節(jié)點A分配的地址,則根據(jù)主機(jī)標(biāo)識號和H進(jìn)制生成可用IP地址 控制字,S卩j位為Cj+l,其他位為0。并發(fā)送配置確認(rèn)報文給節(jié)點A;
步驟5:節(jié)點A完成分配后,需更新自身的可用IP地址控制字,將C產(chǎn)Cj+l;
步驟6:節(jié)點B獲得分配后,也具有分配IP地址的能力,但其可用IP地址控制字繼承了節(jié)點 A當(dāng)時可用IP地址控制字的高j位。節(jié)點B不能改變高j位可用IP地址控制字,若需要為其他請 求節(jié)點分配地址時,首先査看脫網(wǎng)節(jié)點信息列表,非空則優(yōu)先選用脫網(wǎng)信息列表來進(jìn)行配置。若為 空則節(jié)點B査看可用IP地址控制字第1位到第j-1位數(shù)值。其中i=l,2, ...j-l,從所有Cj小于H-l 的控制位中隨機(jī)選擇一位k,根據(jù)11進(jìn)制計算出(^1#1+ (Ck+1) W11—1即為產(chǎn)生的主機(jī)標(biāo)識號,然 后結(jié)合網(wǎng)絡(luò)標(biāo)識號組成IP地址發(fā)送給請求節(jié)點。如分配成功,則節(jié)點B更新自身可用IP地址控制 字,將Q^Ck+l;
步驟7:后續(xù)具有配置能力的節(jié)點再分配IP地址的過程類^i步驟6。 所述的可用IP地址的控制字產(chǎn)生方法如下
4) 可用IP地址控制字長度CL由主機(jī)標(biāo)識號長度HIDL和進(jìn)制H決定,主機(jī)標(biāo)識號長度HIDL 根據(jù)IP地址類型而定,IPv4地址長度為32比特,IPv6地址長度為128比特;選擇H為 2n, n可選l, 2, 3, 4,需滿足HIDL是n的整數(shù)倍;
5) 某網(wǎng)絡(luò)初始節(jié)點的可用IP地址控制字是1;隨后,響應(yīng)請求的父節(jié)點根據(jù)可用IP地址控 制字隨機(jī)選擇某比特位數(shù)值進(jìn)行增l,最大不超過H-1,為請求的子節(jié)點分配IP地址,子 節(jié)點產(chǎn)生自身可用IP地址控制字,同時父節(jié)點更新自身的可用IP地址控制字相應(yīng)比特位 數(shù)值;
6) 為避免分配產(chǎn)生IP地址沖突,父節(jié)點提供給子節(jié)點的可用IP地址控制字,其非O的最低 比特位至最高比特位部分為固定區(qū)間,其他低位部分為可變區(qū)間,子節(jié)點只能在可變區(qū)間 進(jìn)行IP地址隨機(jī)產(chǎn)生分配。
所述的IP地址中繼協(xié)議如下
步驟l:某己配置節(jié)點U已經(jīng)分配完所有IP地址,并且脫網(wǎng)節(jié)點信息里列表為空;若收到請
求節(jié)點V發(fā)出NRQ報文,則發(fā)送地址滿(AF)報文。
步驟2:如果請求節(jié)點V沒有收到任何NRP報文,則可以發(fā)送地址中繼請求(ARRQ)報文給節(jié)點U;
步驟3:節(jié)點U收到ARRQ報文后,按照地址分配協(xié)議過程從鄰居節(jié)點中獲得IP地址和可用IP地址控制字相關(guān)信息;
步驟4:節(jié)點V發(fā)送地址中繼響應(yīng)(ARRP)報文,將獲得的相關(guān)地址信息發(fā)送給節(jié)點U;步驟5:節(jié)點U收到配置的地址信息后,向節(jié)點V發(fā)送配置確認(rèn)CC報文。所述的IP地址池回收協(xié)議如下
步驟1:如果某節(jié)點S決定離開網(wǎng)絡(luò),則需要單跳廣播地址釋放(AR)報文,通告相鄰節(jié)點脫網(wǎng)節(jié)點S的IP地址和可用IP地址控制字;
步驟2:相鄰節(jié)點收到AR報文后,記錄下脫網(wǎng)節(jié)點S的IP地址和可用IP地址控制字;并繼續(xù)單跳廣播地址釋放AR報文,通知其相鄰節(jié)點記錄脫網(wǎng)節(jié)點S的IP地址和可用IP地址控制字。
所述的網(wǎng)絡(luò)標(biāo)識變換過程如下
步驟l:如果兩個或多個MANET網(wǎng)絡(luò)標(biāo)識號不相同的網(wǎng)絡(luò)合并,并且兩個網(wǎng)絡(luò)節(jié)點數(shù)量相當(dāng),那么各個MANET網(wǎng)絡(luò)的節(jié)點IP地址仍舊保持不變,把合并前各個MANET網(wǎng)絡(luò)的網(wǎng)絡(luò)標(biāo)識號的最長匹配作為合并后的網(wǎng)絡(luò)標(biāo)識號,調(diào)整網(wǎng)絡(luò)標(biāo)識號長度NIDL和主機(jī)標(biāo)識號長度HIDL,根據(jù)進(jìn)制形式再調(diào)整可用IP地址控制字的長度CL和可用IP地址控制字;
步驟2:如果一些節(jié)點加入一個MANET網(wǎng)絡(luò),并且加入的節(jié)點數(shù)量遠(yuǎn)小于MANET網(wǎng)絡(luò)節(jié)點,那么為加入的節(jié)點重新分配該MANET的地址;
步驟3:如果兩個或多個MANET網(wǎng)絡(luò)標(biāo)識號相同,節(jié)點的并入行為無法檢測出來,會發(fā)生IP地址重復(fù)情況,需要通過地址重復(fù)檢測,為沖突節(jié)點重新分配IP地址。
所述的網(wǎng)絡(luò)標(biāo)識變換過程如下
步驟l:如果一個MANET網(wǎng)絡(luò)出現(xiàn)分割,有二種配置方式供分割的節(jié)點選擇;步驟2:若分割的節(jié)點沒有加入到其他MANET網(wǎng)絡(luò),即有可能單獨存在或者又回到原來的分割網(wǎng)絡(luò)中去,那么該節(jié)點可以不改變所有信息繼續(xù)使用原有的IP地址;
步驟3:若分割的節(jié)點加入到其他MANET網(wǎng)絡(luò)中,則可通過網(wǎng)絡(luò)合并重新配置IP地址。
有益效果與現(xiàn)有的MANET網(wǎng)絡(luò)IP地址自動分配方案相比,本發(fā)明特色在于首先,適用于多種IP地址結(jié)構(gòu),包括現(xiàn)有的IPv4和IPv6地址。
其次,根據(jù)網(wǎng)絡(luò)規(guī)模大小和開銷高低要求,可采用可變長度的可用IP地址控制字對地址分配空間進(jìn)行有效控制,減少沖突,無需進(jìn)行地址重復(fù)檢測,提高效率。
再次,請求節(jié)點是子節(jié)點,響應(yīng)節(jié)點是父節(jié)點,父節(jié)點會將一些遺傳信息傳遞給子節(jié)點,避免地址沖突和地址浪費。子節(jié)點獲得配置信息后可作為其他新進(jìn)節(jié)點的父節(jié)點,構(gòu)成層次式的IP地址分配模式。
最后,不依賴任何其他協(xié)議,例如,不再依賴移動自組織網(wǎng)絡(luò)中的AODV等路由協(xié)議。
圖1是地址分配初始化流程圖,
圖2是IP地址自動分配協(xié)議流程圖,
圖3是IP地址自動分配的控制流程圖,
圖4是IP地址中繼協(xié)議流程圖,
圖5是IP地址池回收流程圖,
圖6是網(wǎng)絡(luò)合并變換流程圖,
圖7是網(wǎng)絡(luò)分割變換流程圖。
具體實施例方式
基于鄰居代理的移動自組織網(wǎng)絡(luò)節(jié)點IP地址自動分配方法的網(wǎng)絡(luò)地址初始化配置過程如下1) 初始網(wǎng)絡(luò)中只有一個節(jié)點A,通過一跳廣播發(fā)送鄰居請求NRQ (NeighborRequest)報文, 查找相鄰節(jié)點。
2) 由于處于網(wǎng)絡(luò)初始化階段,節(jié)點A沒有收到任何響應(yīng)報文,則節(jié)點A選用內(nèi)部IP地址進(jìn) 行自配置。節(jié)點A可通過手工設(shè)置或默認(rèn)的方式確定網(wǎng)絡(luò)標(biāo)識長度NIDL,并隨機(jī)產(chǎn)生網(wǎng) 絡(luò)標(biāo)識號ID。主機(jī)標(biāo)識長度HIDL可通過IP地址長度L減去網(wǎng)絡(luò)標(biāo)識長度NIDL計算獲 知,設(shè)置主機(jī)標(biāo)識號為l。
3) 根據(jù)節(jié)點A主機(jī)標(biāo)識號長度HIDL確定可選擇的進(jìn)制。除二進(jìn)制外,根據(jù)HIDL能否被4、 3、或2整除可相應(yīng)地選擇十六進(jìn)制、八進(jìn)制、或四進(jìn)制。根據(jù)主機(jī)標(biāo)識號長度HIDL和 選擇的進(jìn)制H可產(chǎn)生節(jié)點A的可用IP地址控制字,其長度CL為前面整除所得的商。初 始設(shè)置可用IP地址控制字為1,除最低位取值范圍為(1~H-1)外,其他每位的取值范圍 為(0~H-1)。
初始節(jié)點進(jìn)行網(wǎng)絡(luò)地址初始化配置后,對于欲進(jìn)入該MANET網(wǎng)絡(luò)的請求節(jié)點,采用基于鄰居 代理的移動自組織網(wǎng)絡(luò)節(jié)點IP地址自動分配協(xié)議,其過程如下
1) 非初始請求節(jié)點B進(jìn)入網(wǎng)絡(luò),通過一跳廣播發(fā)送鄰居請求NRQ報文査找已配置的鄰居節(jié) 點。
2) 接收到鄰居請求報文的節(jié)點A需做出響應(yīng)。首先査看脫網(wǎng)節(jié)點信息列表,如果不為空,則 將第一個脫網(wǎng)節(jié)點信息分配給請求節(jié)點,并將其他脫網(wǎng)節(jié)點信息一同通過NRP (Neighbor Response)報文給節(jié)點B。
3) 響應(yīng)節(jié)點A的脫網(wǎng)節(jié)點信息列表若為空,則從可用IP地址控制字中隨機(jī)選擇一位Ci,要 求其數(shù)值小于H-1,并將該位數(shù)值增1,依據(jù)所選進(jìn)制形式轉(zhuǎn)換計算得到相應(yīng)的主機(jī)標(biāo)識 號。節(jié)點A將分配的IP地址通過鄰居響應(yīng)NRP報文發(fā)送給節(jié)點B。
4) 節(jié)點B收到節(jié)點A的NRP響應(yīng)報文后,發(fā)送配置確認(rèn)(CC)報文給節(jié)點A進(jìn)行確認(rèn)。 如果存在多個已配置鄰居節(jié)點均根據(jù)各自可用IP地址控制字隨機(jī)產(chǎn)生新IP地址,并給請 求節(jié)點B發(fā)送了鄰居響應(yīng)NRP報文,則請求節(jié)點B從中選擇一個鄰居節(jié)點獲得IP地址配 置信息后再發(fā)送CC報文。
5) 請求節(jié)點B獲得IP地址后,根據(jù)IP地址和所選進(jìn)制產(chǎn)生自身的可用IP地址控制字。
6) 若脫網(wǎng)節(jié)點信息列表為空,響應(yīng)節(jié)點A收到配置確認(rèn)后更新自身的可用IP地址控制字。 若脫網(wǎng)節(jié)點信息列表非空,清除已分配的脫網(wǎng)節(jié)點信息并單跳廣播發(fā)送地址清除(AC) 報文通知相鄰節(jié)點清除相應(yīng)脫網(wǎng)節(jié)點信息,相鄰節(jié)點并繼續(xù)單跳廣播該AC報文以通知全 部在網(wǎng)節(jié)點。
地址分配過程中通過可用IP地址控制字來避免分配重復(fù)地址,基于鄰居代理的移動自組織網(wǎng) 絡(luò)IP地址自動分配的控制過程如下
1) 選擇進(jìn)制為f^211 (11=1,2,3,4), H表示二進(jìn)制、四進(jìn)制、八進(jìn)制和十六進(jìn)制。IP地址結(jié)構(gòu) 由IP地址長度L確定,分為網(wǎng)絡(luò)標(biāo)識號和主機(jī)標(biāo)識號,長度分別為NIDL和HIDL,且 L=NIDL+HIDL。可用IP地址控制字長度CL由進(jìn)制H-2"和主機(jī)標(biāo)識號長度HIDL決定, CL=HIDL/n,初始節(jié)點A隨機(jī),產(chǎn)生網(wǎng)絡(luò)標(biāo)識號,并設(shè)置主機(jī)標(biāo)識號為1,可用IP地址 控制字為1。
2) 若節(jié)點A為請求節(jié)點B分配IP地址時,首先査看脫網(wǎng)節(jié)點信息列表,如果有脫網(wǎng)節(jié)點信 息,則直接取出脫網(wǎng)節(jié)點的IP地址和可用IP地址控制字分配給請求節(jié)點,并單跳廣播發(fā) 送地址清除AC報文通知相鄰節(jié)點清除脫網(wǎng)節(jié)點信息列表,相鄰節(jié)點并繼續(xù)單跳廣播該 AC報文以通知全部在網(wǎng)節(jié)點。
3) 若節(jié)點A為請求節(jié)點B分配IP地址時,脫網(wǎng)節(jié)點信息列表為空,則査看可用IP地址控制 字第1位到第CL位數(shù)值C,(i=l,2, ...CL),從所有Ci小于H-l的控制位中隨機(jī)選擇一位j, 根據(jù)H進(jìn)制計算出(Cj+1) *1^即為產(chǎn)生的主機(jī)標(biāo)識號,然后結(jié)合網(wǎng)絡(luò)標(biāo)識號組成IP地 址發(fā)送給請求節(jié)點B。4) 若請求節(jié)點B接受節(jié)點A分配的地址,則根據(jù)主機(jī)標(biāo)識號和H進(jìn)制生成可用IP地址控制字,目卩j位為Cj+l,其他位為0。并發(fā)送配置確認(rèn)報文給節(jié)點A。
5) 節(jié)點A完成分配后,需更新自身的可用IP地址控制字,將C^Cj+l。
6) 節(jié)點B獲得分配后,也具有分配IP地址的能力,但其可用IP地址控制字繼承了節(jié)點A當(dāng)時可用IP地址控制字的高j位。節(jié)點B不能改變高j位可用IP地址控制字,若需要為其他請求節(jié)點分配地址時,首先査看脫網(wǎng)節(jié)點信息列表,非空則優(yōu)先選用脫網(wǎng)信息列表來進(jìn)行配置。若為空則節(jié)點B査看可用IP地址控制字第1位到第j-1位數(shù)值G (i=l,2, ),從所有Cj小于H-l的控制位中隨機(jī)選擇一位k,根據(jù)H進(jìn)制計算出Cj*Hj—、 (Ck+1) *Hk—1即為產(chǎn)生的主機(jī)標(biāo)識號,然后結(jié)合網(wǎng)絡(luò)標(biāo)識號組成IP地址發(fā)送給請求節(jié)點。如分配成功,則節(jié)點B更新自身可用IP地址控制字,將Ck=Ck+l。
7) 后續(xù)具有配置能力的節(jié)點再分配IP地址的過程類似步驟6的流程。
由于不同節(jié)點獲得的IP地址空間不同,存在IP地址耗盡的問題,可以采用基于鄰居代理的移動自組織網(wǎng)絡(luò)IP地址中繼協(xié)議通過中間節(jié)點中繼獲得配置信息,過程如下
1) 某已配置節(jié)點U已經(jīng)分配完所有IP地址,并且脫網(wǎng)節(jié)點信息里列表為空。若收到請求節(jié)點V發(fā)出NRQ報文,則發(fā)送地址滿(AF)報文。
2) 如果請求節(jié)點V沒有收到任何NRP報文,則可以發(fā)送地址中繼請求(ARRQ)報文給節(jié)點U。
3) 節(jié)點U收到ARRQ報文后,按照地址分配協(xié)議過程從鄰居節(jié)點中獲得IP地址和IP地址控制字相關(guān)信息。
4) 節(jié)點V發(fā)送地址中繼響應(yīng)(ARRP)報文,將獲得的相關(guān)地址信息發(fā)送給節(jié)點U。
5) 節(jié)點U收到配置的地址信息后,向節(jié)點V發(fā)送配置確認(rèn)CC報文。
當(dāng)某節(jié)點脫網(wǎng)時,需要回收其使用的地址資源,基于鄰居代理的移動自組織網(wǎng)絡(luò)IP地址池回收過程如下
1) 如果某節(jié)點S決定離開網(wǎng)絡(luò),則需要單跳廣播地址釋放(AR)報文,通告相鄰節(jié)點脫網(wǎng)節(jié)點S的IP地址和可用IP地址控制字。
2) 相鄰節(jié)點收到AR報文后,記錄下脫網(wǎng)節(jié)點S的IP地址和可用IP地址控制字。并繼續(xù)單跳廣播地址釋放AR報文,通知其相鄰節(jié)點記錄脫網(wǎng)節(jié)點S的IP地址和可用IP地址控制字。
如果網(wǎng)絡(luò)進(jìn)行合并,網(wǎng)絡(luò)標(biāo)識變換過程如下
1) 如果兩個或多個MANET網(wǎng)絡(luò)標(biāo)識號不相同的網(wǎng)絡(luò)合并,并且兩個網(wǎng)絡(luò)節(jié)點數(shù)量相當(dāng),那么各個MANET網(wǎng)絡(luò)的節(jié)點IP地址仍舊保持不變,把合并前各個MANET網(wǎng)絡(luò)的網(wǎng)絡(luò)標(biāo)識號的最長匹配作為合并后的網(wǎng)絡(luò)標(biāo)識號,調(diào)整網(wǎng)絡(luò)標(biāo)識號長度NIDL和主機(jī)標(biāo)識號長度HIDL,根據(jù)所選進(jìn)制再調(diào)整可用IP地址控制字的長度CL和可用IP地址控制字。
2) 如果一些節(jié)點加入一個MANET網(wǎng)絡(luò),并且加入的節(jié)點數(shù)量遠(yuǎn)小于MANET網(wǎng)絡(luò)節(jié)點,那么為加入的節(jié)點重新分配該MANET的地址。
3) 如果兩個或多個MANET網(wǎng)絡(luò)標(biāo)識號相同,節(jié)點的并入行為無法檢測出來,會發(fā)生IP地址重復(fù)情況,需要通過地址重復(fù)檢測,為沖突節(jié)點重新分配IP地址。
如果網(wǎng)絡(luò)出現(xiàn)分割,網(wǎng)絡(luò)標(biāo)識變換過程如下
1) 如果一個MANET網(wǎng)絡(luò)出現(xiàn)分割,有二種配置方式供分割的節(jié)點選擇。
2) 若分割的節(jié)點沒有加入到其他MANET網(wǎng)絡(luò),即有可能單獨存在或者又回到原來的分割網(wǎng)絡(luò)中去,那么該節(jié)點可以不改變所有信息繼續(xù)使用原有的IP地址。
若分割的節(jié)點加入到其他MANET網(wǎng)絡(luò)中,則可通過網(wǎng)絡(luò)合并重新配置IP地址。圖1是地址分配初始化過程
1. 網(wǎng)絡(luò)中一個節(jié)點A,通過一跳廣播發(fā)送鄰居請求NRQ報文,査找相鄰節(jié)點,如收到響應(yīng)報文則轉(zhuǎn)入IP地址自動分配協(xié)議進(jìn)程。
2. 網(wǎng)絡(luò)初始階段,節(jié)點A不會收到任何響應(yīng)報文,進(jìn)而選用內(nèi)部IP地址進(jìn)行自配置。節(jié)點A可通過手工設(shè)置或默認(rèn)的方式確定網(wǎng)絡(luò)標(biāo)識長度NIDL,并隨機(jī)產(chǎn)生網(wǎng)絡(luò)標(biāo)識號ID。主 機(jī)標(biāo)識長度HIDL可通過IP地址長度L減去網(wǎng)絡(luò)標(biāo)識長度NIDL計算獲知,設(shè)置主機(jī)標(biāo)識 號為1。
3.由主機(jī)標(biāo)識號長度HIDL確定可選擇的進(jìn)制形式。除二進(jìn)制外,根據(jù)HIDL能否被4、 3、 或2整除可相應(yīng)地選擇十六進(jìn)制、八進(jìn)制、或四進(jìn)制。依據(jù)主機(jī)標(biāo)識號長度HIDL和選擇 的進(jìn)制H可產(chǎn)生節(jié)點A的可用IP地址控制字,其長度CL為前面整除所得的商。初始設(shè) 置可用IP地址控制字為1,除最低位取值范圍為(1 H-1)夕卜,其他每位的取值范圍為 (0~H-1)。
圖2是IP地址自動分配協(xié)議過程
1. 請求節(jié)點B進(jìn)入節(jié)點A無線覆蓋范圍,通過一跳廣播發(fā)送鄰居請求NRQ報文査找己配置 的鄰居節(jié)點。
2. 接收到請求報文的節(jié)點A做出響應(yīng)。首先查看脫網(wǎng)節(jié)點信息列表,如果不為空,則將第一 個脫網(wǎng)節(jié)點信息分配給請求節(jié)點,并將其他脫網(wǎng)節(jié)點信息一同通過NRP報文給節(jié)點B。
3. 響應(yīng)節(jié)點A的脫網(wǎng)節(jié)點信息列表若為空,則從可用IP地址控制字中隨機(jī)選擇一位Ci,要 求其數(shù)值小于H-1,并將該位數(shù)值增1,依據(jù)所選進(jìn)制形式轉(zhuǎn)換計箅得到相應(yīng)的主機(jī)標(biāo)識 號。節(jié)點A將分配的IP地址通過鄰居響應(yīng)NRP報文發(fā)送給節(jié)點B。
4. 節(jié)點B收到節(jié)點A的NRP響應(yīng)報文后,發(fā)送配置確認(rèn)CC報文向節(jié)點A進(jìn)行確認(rèn)。如果 存在多個已配置鄰居節(jié)點均根據(jù)各自可用IP地址控制字隨機(jī)產(chǎn)生新IP地址,并給請求節(jié) 點B發(fā)送了鄰居響應(yīng)NRP報文,則請求節(jié)點B從中選擇一個鄰居節(jié)點獲得IP地址配置信 息后再發(fā)送CC報文。
5. 請求節(jié)點B獲得IP地址后,根據(jù)IP地址和所選進(jìn)制產(chǎn)生自身的可用IP地址控制字。
6. 若脫網(wǎng)節(jié)點信息列表為空,節(jié)點A收到配置確認(rèn)后更新自身的可用IP地址控制字。若脫 網(wǎng)信息節(jié)點不為空,則單跳廣播發(fā)送地址清除AC報文通知相鄰節(jié)點清除脫網(wǎng)節(jié)點信息列 表,相鄰節(jié)點并繼續(xù)單跳廣播該AC報文以通知全部在網(wǎng)節(jié)點。
圖3是IP地址自動分配的控制過程
1. 進(jìn)制為I^211 (n=l,2,3,4), H可為二進(jìn)制、四進(jìn)制、八進(jìn)制和十六進(jìn)制。IP地址結(jié)構(gòu)由IP 地址長度L確定,分為網(wǎng)絡(luò)標(biāo)識號和主機(jī)標(biāo)識號,長度分別為NIDL和HIDL,且 L=NIDL+HIDL??捎肐P地址控制字長度CL由進(jìn)制H-2"和主機(jī)標(biāo)識號長度HIDL決定, CL=HIDL/n,初始節(jié)點A隨機(jī),產(chǎn)生網(wǎng)絡(luò)標(biāo)識號,并設(shè)置主機(jī)標(biāo)識號為1,可用IP地址 控制字為1。
2. 若節(jié)點A為請求節(jié)點B分配IP地址時,首先査看脫網(wǎng)節(jié)點信息列表,如果有脫網(wǎng)節(jié)點信 息,則直接取出脫網(wǎng)節(jié)點的IP地址和可用IP地址控制字分配給請求節(jié)點,并單跳廣播發(fā) 送地址清除AC報文通知相鄰節(jié)點清除脫網(wǎng)節(jié)點信息列表,相鄰節(jié)點并繼續(xù)單跳廣播該 AC報文以通知全部在網(wǎng)節(jié)點。
3. 若節(jié)點A為請求節(jié)點B分配IP地址時,脫網(wǎng)節(jié)點信息列表為空,則査看可用IP地址控制 字第1位到第CL位數(shù)值Ci(i-l,2, ...CL),從所有Cj小于H-l的控制位中隨機(jī)選擇一位j, 根據(jù)H進(jìn)制計算出(Cj+1) *Hj"即為產(chǎn)生的主機(jī)標(biāo)識號,然后結(jié)合網(wǎng)絡(luò)標(biāo)識號組成IP地 址發(fā)送給請求節(jié)點B。
4. 若請求節(jié)點B接受節(jié)點A分配的地址,則根據(jù)主機(jī)標(biāo)識號和H進(jìn)制生成可用IP地址控制 字,即j位為Cj+l,其他位為0。并發(fā)送配置確認(rèn)報文給節(jié)點A。
5. 節(jié)點A完成分配后,需更新自身的可用IP地址控制字,將C^Cj+l。
6. 節(jié)點B獲得分配后,也具有分配IP地址的能力,但其可用IP地址控制字繼承了節(jié)點A當(dāng) 時可用IP地址控制字的高j位。節(jié)點B不能改變高j位可用IP地址控制字,若需要為其他請求節(jié)點分配地址時,首先査看脫網(wǎng)節(jié)點信息列表,非空則優(yōu)先選用脫網(wǎng)信息列表來進(jìn) 行配置。若為空則節(jié)點B査看可用IP地址控制字第1位到第j-l位數(shù)值Q (i=l,2,…j-l), 從所有Ci小于H-l的控制位中隨機(jī)選擇一位k,根據(jù)H進(jìn)制計算出C,HJ—、 (Ck+1) *Hk" 即為產(chǎn)生的主機(jī)標(biāo)識號,然后結(jié)合網(wǎng)絡(luò)標(biāo)識號組成IP地址發(fā)送給請求節(jié)點。如分配成功, 則節(jié)點B更新自身可用IP地址控制字,將Ck=Ck+l。 7.后續(xù)具有配置能力的節(jié)點再分配IP地址的過程類似步驟6的流程。
圖4是IP地址中繼協(xié)議過程
1. 已配置節(jié)點U已經(jīng)分配完所有IP地址,并且脫網(wǎng)節(jié)點信息里列表為空。若收到請求節(jié)點 V發(fā)出NRQ報文,則發(fā)送地址滿AF報文。
2. 如果請求節(jié)點V沒有收到任何NRP報文,則可以發(fā)送地址中繼請求ARRQ報文給節(jié)點U。
3. 節(jié)點U收到ARRQ報文后,按照地址分配協(xié)議過程從鄰居節(jié)點中獲得IP地址和可用IP 地址控制字相關(guān)信息。
4. 節(jié)點V發(fā)送地址中繼響應(yīng)ARRP報文,將獲得的相關(guān)地址信息發(fā)送給節(jié)點U。
5. 節(jié)點U收到配置的地址信息后,向節(jié)點V發(fā)送配置確認(rèn)CC報文。
圖5是IP地址池回收過程
1. 節(jié)點S在離開網(wǎng)絡(luò)之前,發(fā)送單跳廣播地址釋放(AR)報文,通告相鄰節(jié)點脫網(wǎng)節(jié)點S的IP 地址和可用IP地址控制字。
2. 相鄰節(jié)點收到AR報文后,記錄下脫網(wǎng)節(jié)點S的IP地址和可用IP地址控制字。并繼續(xù)發(fā) 送單跳廣播地址釋放(AR)報文,通知其相鄰節(jié)點記錄脫網(wǎng)節(jié)點S的IP地址和可用IP地址 控制字。
圖6是網(wǎng)絡(luò)合并變換過程
1. 如果一些節(jié)點加入一個MANET網(wǎng)絡(luò),兩者網(wǎng)絡(luò)標(biāo)識號不相同,并且雙方節(jié)點數(shù)量相當(dāng), 那么各個MANET網(wǎng)絡(luò)的節(jié)點IP地址仍舊保持不變,把合并前各個MANET網(wǎng)絡(luò)的網(wǎng)絡(luò) 標(biāo)識號的最長匹配作為合并后的網(wǎng)絡(luò)標(biāo)識號,調(diào)整網(wǎng)絡(luò)標(biāo)識號長度NIDL和主機(jī)標(biāo)識號長 度HIDL,根據(jù)所選進(jìn)制再調(diào)整可用IP地址控制字的長度CL和可用IP地址控制字。
2. 如果一些節(jié)點加入一個MANET網(wǎng)絡(luò),兩者網(wǎng)絡(luò)標(biāo)識號不相同,但加入的節(jié)點數(shù)量遠(yuǎn)小于 MANET網(wǎng)絡(luò)節(jié)點,那么為加入的節(jié)點重新分配該MANET的地址。
3. 如果兩個或多個MANET網(wǎng)絡(luò)標(biāo)識號相同,節(jié)點的并入行為無法檢測出來,會發(fā)生IP地 址重復(fù)情況,需要通過地址重復(fù)檢測,為沖突節(jié)點重新分配IP地址。
圖7是網(wǎng)絡(luò)分割變換過程
1. 如果一個MANET網(wǎng)絡(luò)出現(xiàn)分割,有二種配置方式供分割的節(jié)點選擇。
2. 若分割的節(jié)點沒有加入到其他MANET網(wǎng)絡(luò),即有可能單獨存在或者又回到原來的分割網(wǎng) 絡(luò)中去,那么該節(jié)點可以不改變所有信息繼續(xù)使用原有的IP地址。
3. 若分割的節(jié)點加入到其他MANET網(wǎng)絡(luò)中,則可通過網(wǎng)絡(luò)合并重新配置IP地址。
權(quán)利要求
1.一種移動移動自組織網(wǎng)絡(luò)地址自動分配方法,其特征是采用基于鄰居代理的無沖突檢測的IP地址分層分配模式,地址分配信息具有遺傳特性,利用可變長的可用IP地址控制字,控制IP地址分配過程,本方法包括移動自組織網(wǎng)絡(luò)地址初始化配置、IP地址自動分配協(xié)議、IP地址分配控制過程、IP地址中繼協(xié)議、IP地址池回收協(xié)議、網(wǎng)絡(luò)合并變換和網(wǎng)絡(luò)分割變換,具體如下1)初始狀態(tài),網(wǎng)絡(luò)中只有一個節(jié)點,該節(jié)點進(jìn)行自配置,隨機(jī)獲取網(wǎng)絡(luò)標(biāo)識號,設(shè)置主機(jī)標(biāo)識號,產(chǎn)生IP地址;根據(jù)主機(jī)標(biāo)識號的長度和選擇進(jìn)制產(chǎn)生初始可用IP地址控制字,以便控制后續(xù)節(jié)點的IP地址自動分配;2)非初始請求節(jié)點進(jìn)入網(wǎng)絡(luò),單跳廣播查找已配置鄰居節(jié)點以獲得配置信息;已配置鄰居節(jié)點收到請求后根據(jù)自身IP地址和可用IP地址控制字隨機(jī)產(chǎn)生新IP地址和新可用IP地址控制字回復(fù)給請求節(jié)點;若存在多個已配置節(jié)點響應(yīng),請求節(jié)點從中選擇一個獲得配置信息;3)已配置節(jié)點為請求節(jié)點分配地址資源時,通過可用IP地址控制字,控制IP地址資源空間的分配,不會造成地址沖突,無需進(jìn)行地址沖突檢測;4)所有相鄰已配置節(jié)點若無可用的地址資源,請求節(jié)點可申請利用地址中繼協(xié)議繼續(xù)通過該相鄰節(jié)點向其相鄰節(jié)點申請地址資源;5)如果某節(jié)點離開網(wǎng)絡(luò),需回收地址。脫網(wǎng)節(jié)點的地址信息需逐一單跳廣播通知全網(wǎng)節(jié)點,以便所有在網(wǎng)節(jié)點記錄脫網(wǎng)節(jié)點的IP地址和可用IP地址控制字;6)如果兩個或多個MANET網(wǎng)絡(luò)節(jié)點合并,需比較合并前節(jié)點數(shù)量,確定節(jié)點IP地址和網(wǎng)絡(luò)標(biāo)識的變換情況;如果一個MANET網(wǎng)絡(luò)出現(xiàn)分割,根據(jù)分割后移動節(jié)點可能的三種變化情況,可以不改變地址配置相關(guān)信息,或重新自配置生成新的MANET網(wǎng)絡(luò),或合并到其他MANET網(wǎng)絡(luò)中獲得重新獲取新的地址配置信息。
2. 根據(jù)權(quán)利要求1所述的移動移動自組織網(wǎng)絡(luò)地址自動分配方法,其特征是所述的網(wǎng)絡(luò)地址 初始化配置如下-步驟l:初始狀態(tài),網(wǎng)絡(luò)中只有一個節(jié)點A,通過一跳廣播發(fā)送鄰居請求NRQ報文,査找相鄰 節(jié)點;步驟2:由于處于網(wǎng)絡(luò)初始化階段,節(jié)點A沒有收到任何響應(yīng)報文,則節(jié)點A選用內(nèi)部IP地 址進(jìn)行自配置;節(jié)點A可通過手工設(shè)置或默認(rèn)的方式確定網(wǎng)絡(luò)標(biāo)識長度NIDL,并隨機(jī)產(chǎn)生網(wǎng)絡(luò)標(biāo) 識號ID。主機(jī)標(biāo)識長度HIDL可通過IP地址長度L減去網(wǎng)絡(luò)標(biāo)識長度NIDL計算獲知,設(shè)置主機(jī) 標(biāo)識號為1;步驟3:根據(jù)節(jié)點A主機(jī)標(biāo)識號長度HIDL確定可選擇的進(jìn)制形式;除二進(jìn)制外,根據(jù)HIDL 能否被4、 3、或2整除可相應(yīng)地選擇十六進(jìn)制、八進(jìn)制、或四進(jìn)制;根據(jù)主機(jī)標(biāo)識號長度HIDL和 選擇的進(jìn)制H可產(chǎn)生節(jié)點A的可用IP地址控制字,其長度CL為前面整除所得的商,即HIDL/H; 初始設(shè)置可用IP地址控制字為1,除最低位取值范圍為1~H-1夕卜,其他每位的取值范圍為0~H-1。
3. 根據(jù)權(quán)利要求1所述的移動移動自組織網(wǎng)絡(luò)地址自動分配方法,其特征是所述的IP地址自 動分配協(xié)議如下步驟1:非初始請求節(jié)點B進(jìn)入網(wǎng)絡(luò),通過一跳廣播發(fā)送鄰居請求NRQ報文査找已配置的鄰 居節(jié)點;步驟2:接收到鄰居請求報文的節(jié)點A需做出響應(yīng)。首先査看脫網(wǎng)節(jié)點信息列表,如果不為空, 則將第一個脫網(wǎng)節(jié)點信息分配給請求節(jié)點,并將其他脫網(wǎng)節(jié)點信息一同通過鄰居響應(yīng)NRP報文給 節(jié)點B;步驟3:響應(yīng)節(jié)點A的脫網(wǎng)節(jié)點信息列表若為空,則從可用IP地址控制字中隨機(jī)選擇一位Cj,要求其數(shù)值小于H-l,并將該位數(shù)值增1,依據(jù)所選的進(jìn)制形式轉(zhuǎn)換計算得到相應(yīng)的主機(jī)標(biāo)識號; 節(jié)點A將分配的IP地址通過鄰居響應(yīng)NRP報文發(fā)送給節(jié)點B;步驟4:節(jié)點B收到節(jié)點A的NRP響應(yīng)報文后,發(fā)送配置確認(rèn)CC報文給節(jié)點A進(jìn)行確認(rèn); 如果存在多個已配置鄰居節(jié)點均根據(jù)各自可用IP地址控制字隨機(jī)產(chǎn)生新IP地址,并給請求節(jié)點B 發(fā)送了鄰居響應(yīng)NRP報文,則請求節(jié)點B從中選擇一個鄰居節(jié)點獲得IP地址配置信息后再發(fā)送 CC報文;步驟5:請求節(jié)點B獲得IP地址后,根據(jù)IP地址和所選進(jìn)制產(chǎn)生自身的可用IP地址控制字; 步驟6:若脫網(wǎng)節(jié)點信息列表為空,響應(yīng)節(jié)點A收到配置確認(rèn)后更新自身的可用IP地址控制 字;若脫網(wǎng)節(jié)點信息列表非空,清除己分配的脫網(wǎng)節(jié)點信息并單跳廣播發(fā)送地址清除AC報文通知 相鄰節(jié)點清除相應(yīng)脫網(wǎng)節(jié)點信息,相鄰節(jié)點并繼續(xù)單跳廣播該AC報文以通知全部在網(wǎng)節(jié)點。
4. 根據(jù)權(quán)利要求3所述的移動移動自組織網(wǎng)絡(luò)地址自動分配方法,其特征是所述的IP地址自 動分配控制過程如下步驟1:選擇進(jìn)制為H=2n,其中n=l,2,3,4, H可為二進(jìn)制、四進(jìn)制、八進(jìn)制和十六進(jìn)制;IP 地址結(jié)構(gòu)由IP地址長度L確定,分為網(wǎng)絡(luò)標(biāo)識號和主機(jī)標(biāo)識號,長度分別為NIDL和HIDL,且 L-NIDL+HIDL??捎肐P地址控制字長度CL由進(jìn)制!^2n和主機(jī)標(biāo)識號長度HIDL決定,CL=HIDL/n, 初始節(jié)點A隨機(jī),產(chǎn)生網(wǎng)絡(luò)標(biāo)識號,并設(shè)置主機(jī)標(biāo)識號為l,可用IP地址控制字為l;步驟2:若節(jié)點A為請求節(jié)點B分配IP地址時,首先查看脫網(wǎng)節(jié)點信息列表,如果有脫網(wǎng)節(jié) 點信息,則直接取出脫網(wǎng)節(jié)點的IP地址和可用IP地址控制字分配給請求節(jié)點,并單跳廣播發(fā)送地 址清除AC報文通知相鄰節(jié)點清除脫網(wǎng)節(jié)點信息列表,相鄰節(jié)點并繼續(xù)單跳廣播該AC報文以通知 全部在網(wǎng)節(jié)點;步驟3:若節(jié)點A為請求節(jié)點B分配IP地址時,脫網(wǎng)節(jié)點信息列表為空,則査看可用IP地址 控制字第1位到第CL位數(shù)值Ci,其中i=l,2, ...CL,從所有Q小于H-l的控制位中隨機(jī)選擇一位j, 根據(jù)H進(jìn)制計算出(Cj+1) *^"即為產(chǎn)生的主機(jī)標(biāo)識號,然后結(jié)合網(wǎng)絡(luò)標(biāo)識號組成IP地址發(fā)送給 請求節(jié)點B;步驟4:若請求節(jié)點B接受節(jié)點A分配的地址,則根據(jù)主機(jī)標(biāo)識號和H進(jìn)制生成可用IP地址 控制字,即j位為Cj+l,其他位為0。并發(fā)送配置確認(rèn)報文給節(jié)點A;步驟5:節(jié)點A完成分配后,需更新自身的可用IP地址控制字,將C產(chǎn)Cj+l;步驟6:節(jié)點B獲得分配后,也具有分配IP地址的能力,但其可用IP地址控制字繼承了節(jié)點 A當(dāng)時可用IP地址控制字的高j位。節(jié)點B不能改變高j位可用IP地址控制字,若需要為其他請求節(jié)點分配地址時,首先査看脫網(wǎng)節(jié)點信息列表,非空則優(yōu)先選用脫網(wǎng)信息列表來進(jìn)行配置。若為空則節(jié)點B查看可用IP地址控制字第1位到第j-1位數(shù)值Cj其中i=l,2, 從所有Ci小于H-l的控制位中隨機(jī)選擇一位k,根據(jù)H進(jìn)制計算出C,HJ—、 (Ck+1) * ^即為產(chǎn)生的主機(jī)標(biāo)識號,然 后結(jié)合網(wǎng)絡(luò)標(biāo)識號組成IP地址發(fā)送給請求節(jié)點。如分配成功,則節(jié)點B更新自身可用IP地址控制 字,將Q^Ck+l;步驟7:后續(xù)具有配置能力的節(jié)點再分配IP地址的過程類似步驟6。
5. 根據(jù)權(quán)利要求4所述的移動移動自組織網(wǎng)絡(luò)地址自動分配方法,其特征是所述的可用IP地 址控制字產(chǎn)生方法如下1) 可用IP地址控制字長度CL由主機(jī)標(biāo)識號長度HIDL和進(jìn)制H決定,主機(jī)標(biāo)識號長度HIDL 根據(jù)IP地址類型而定,IPv4地址長度為32比特,IPv6地址長度為128比特;選擇H為 2n, n可選l, 2, 3, 4,需滿足HIDL是n的整數(shù)倍;2) 某網(wǎng)絡(luò)初始節(jié)點的可用IP地址控制字是1;隨后,響應(yīng)請求的父節(jié)點根據(jù)可用IP地址控 制字隨機(jī)選擇某比特位數(shù)值進(jìn)行增l,最大不超過H-1,為請求的子節(jié)點分配IP地址,子 節(jié)點產(chǎn)生自身可用IP地址控制字,同時父節(jié)點更新自身的可用IP地址控制字相應(yīng)比特位 數(shù)值;3) 為避免分配產(chǎn)生IP地址沖突,父節(jié)點提供給子節(jié)點的可用IP地址控制字,其非O的最低比特位至最高比特位部分為固定區(qū)間,其他低位部分為可變區(qū)間,子節(jié)點只能在可變區(qū)間 進(jìn)行IP地址隨機(jī)產(chǎn)生分配。
6. 根據(jù)權(quán)利要求1所述的移動移動自組織網(wǎng)絡(luò)地址自動分配方法,其特征是所述的IP地址中 繼協(xié)議如下步驟1:某已配置節(jié)點U已經(jīng)分配完所有IP地址,并且脫網(wǎng)節(jié)點信息里列表為空;若收到請 求節(jié)點V發(fā)出NRQ報文,則發(fā)送地址滿AF報文。步驟2:如果請求節(jié)點V沒有收到任何NRP報文,則可以發(fā)送地址中繼請求ARRQ報文給節(jié) 點U;步驟3:節(jié)點U收到ARRQ報文后,按照地址分配協(xié)議過程從鄰居節(jié)點中獲得IP地址和可用 IP地址控制字相關(guān)信息;步驟4:節(jié)點V發(fā)送地址中繼響應(yīng)(ARRP)報文,將獲得的相關(guān)地址信息發(fā)送給節(jié)點U; 步驟5:節(jié)點U收到配置的地址信息后,向節(jié)點V發(fā)送配置確認(rèn)CC報文。
7. 根據(jù)權(quán)利要求1所述的移動移動自組織網(wǎng)絡(luò)地址自動分配方法,其特征是所述的IP地址池 回收協(xié)議如下步驟l:如果某節(jié)點S決定離開網(wǎng)絡(luò),則需要單跳廣播地址釋放AR報文,通告相鄰節(jié)點脫網(wǎng) 節(jié)點S的IP地址和可用IP地址控制字;步驟2:相鄰節(jié)點收到AR報文后,記錄下脫網(wǎng)節(jié)點S的IP地址和可用IP地址控制字;并繼 續(xù)單跳廣播地址釋放AR報文,通知其相鄰節(jié)點記錄脫網(wǎng)節(jié)點S的IP地址和可用IP地址控制字。
8. 根據(jù)權(quán)利要求1所述的移動移動自組織網(wǎng)絡(luò)地址自動分配方法,其特征是所述的網(wǎng)絡(luò)標(biāo)識 變換過程如下步驟l:如果兩個或多個MANET網(wǎng)絡(luò)標(biāo)識號不相同的網(wǎng)絡(luò)合并,并且兩個網(wǎng)絡(luò)節(jié)點數(shù)量相當(dāng), 那么各個MANET網(wǎng)絡(luò)的節(jié)點IP地址仍舊保持不變,把合并前各個MANET網(wǎng)絡(luò)的網(wǎng)絡(luò)標(biāo)識號的 最長匹配作為合并后的網(wǎng)絡(luò)標(biāo)識號,調(diào)整網(wǎng)絡(luò)標(biāo)識號長度NIDL和主機(jī)標(biāo)識號長度HIDL,根據(jù)進(jìn) 制形式再調(diào)整可用IP地址控制字的長度CL和可用IP地址控制字;步驟2:如果一些節(jié)點加入一個MANET網(wǎng)絡(luò),并且加入的節(jié)點數(shù)量遠(yuǎn)小于MANET網(wǎng)絡(luò)節(jié)點, 那么為加入的節(jié)點重新分配該MANET的地址;步驟3:如果兩個或多個MANET網(wǎng)絡(luò)標(biāo)識號相同,節(jié)點的并入行為無法檢測出來,會發(fā)生IP 地址重復(fù)情況,需要通過地址重復(fù)檢測,為沖突節(jié)點重新分配IP地址。
9. 根據(jù)權(quán)利要求1所述的移動移動自組織網(wǎng)絡(luò)地址自動分配方法,其特征是所述的網(wǎng)絡(luò)標(biāo)識 變換過程如下步驟l:如果一個MANET網(wǎng)絡(luò)出現(xiàn)分割,有二種配置方式供分割的節(jié)點選擇; 步驟2:若分割的節(jié)點沒有加入到其他MANET網(wǎng)絡(luò),即有可能單獨存在或者又回到原來的分 割網(wǎng)絡(luò)中去,那么該節(jié)點可以不改變所有信息繼續(xù)使用原有的IP地址;步驟3:若分割的節(jié)點加入到其他MANET網(wǎng)絡(luò)中,則可通過網(wǎng)絡(luò)合并重新配置IP地址。
全文摘要
移動自組織網(wǎng)絡(luò)地址自動分配方法采用基于鄰居代理的無沖突檢測的IP地址分層分配模式,地址分配信息具有遺傳特性,利用可變長的可用IP地址控制字,控制IP地址分配過程,本方法包括移動自組織網(wǎng)絡(luò)地址初始化配置、IP地址自動分配協(xié)議、IP地址分配控制過程、IP地址中繼協(xié)議、IP地址池回收協(xié)議、網(wǎng)絡(luò)合并變換和網(wǎng)絡(luò)分割變換,本方法采用基于鄰居代理的無沖突檢測的IP地址分層分配模式,地址分配信息具有遺傳特性,利用可變長的可用IP地址控制字,靈活控制可用IP地址空間的分配過程,有效避免地址分配沖突,無需進(jìn)行地址沖突檢測,提高地址分配效率,減少地址分配過程中使用多播或廣播報文,降低資源消耗,適用于多種版本的IP地址分配。
文檔編號H04W4/06GK101600156SQ20091003297
公開日2009年12月9日 申請日期2009年6月3日 優(yōu)先權(quán)日2009年6月3日
發(fā)明者毛燕琴, 沈蘇彬 申請人:南京郵電大學(xué)