本發(fā)明涉及無(wú)線通信技術(shù)領(lǐng)域,具體的說(shuō)是一種空中自組織網(wǎng)絡(luò)拓?fù)涓兄c維護(hù)方法,可用于空中自組織網(wǎng)絡(luò)。
背景技術(shù):在空中無(wú)線自組織網(wǎng)絡(luò)中,要解決網(wǎng)絡(luò)拓?fù)涓兄c維護(hù)的問(wèn)題,通常有集中式和分布式兩種策略,其中分布式網(wǎng)絡(luò)拓?fù)涓兄c維護(hù)策略雖然操作簡(jiǎn)單,但對(duì)網(wǎng)絡(luò)全局拓?fù)涞母兄粔蛉?,而且由于缺乏?zhuān)門(mén)的中心控制節(jié)點(diǎn)來(lái)負(fù)責(zé)對(duì)新入網(wǎng)的節(jié)點(diǎn)進(jìn)行認(rèn)證,其安全性方面存在較大問(wèn)題。與分布式策略相對(duì),集中式網(wǎng)絡(luò)拓?fù)涓兄c維護(hù)策略能更好的管理網(wǎng)絡(luò)拓?fù)?,在?duì)新入網(wǎng)節(jié)點(diǎn)的入網(wǎng)認(rèn)證方面也具有更高的安全性,因而被廣泛使用。隨著衛(wèi)星定位技術(shù)的發(fā)展,節(jié)點(diǎn)要想獲得自己或網(wǎng)內(nèi)其它節(jié)點(diǎn)的地理位置信息已經(jīng)越來(lái)越容易,但在某些特殊應(yīng)用領(lǐng)域,對(duì)通信的安全性要求很高,在這種情況下,提供定位功能的衛(wèi)星一旦被干擾或者破壞,其代價(jià)往往是無(wú)法承受的。而網(wǎng)絡(luò)中的節(jié)點(diǎn)通過(guò)周期性發(fā)送hello包進(jìn)行信息交互的方式,收集并維護(hù)網(wǎng)絡(luò)中所有節(jié)點(diǎn)的地理位置信息,雖然與衛(wèi)星定位方式相比要耗費(fèi)更多的網(wǎng)絡(luò)資源,但這種方式無(wú)疑具有更高的抗毀性,在某些特殊應(yīng)用領(lǐng)域,有重要的實(shí)用意義。要完成對(duì)網(wǎng)絡(luò)拓?fù)涞母兄c維護(hù),全網(wǎng)除了要及時(shí)感知到新入網(wǎng)的節(jié)點(diǎn)之外,更重要的是必須及時(shí)檢測(cè)出那些由于能量耗盡或者發(fā)生故障等原因而退出網(wǎng)絡(luò)的節(jié)點(diǎn),以便將這些退出網(wǎng)絡(luò)的節(jié)點(diǎn)從網(wǎng)絡(luò)的拓?fù)渲袆h除,維護(hù)實(shí)時(shí)、有效的網(wǎng)絡(luò)拓?fù)?。由于網(wǎng)絡(luò)中正常運(yùn)行的節(jié)點(diǎn)每隔一段時(shí)間便會(huì)廣播自己的hello包,故如 果在一段較長(zhǎng)的時(shí)間內(nèi)網(wǎng)絡(luò)中的節(jié)點(diǎn)一直沒(méi)有收到某個(gè)節(jié)點(diǎn)的hello包,便可以初步判定該節(jié)點(diǎn)已經(jīng)退出了網(wǎng)絡(luò)。如果網(wǎng)絡(luò)中的普通節(jié)點(diǎn)退出網(wǎng)絡(luò),對(duì)全網(wǎng)不會(huì)有太大影響,但是如果網(wǎng)絡(luò)中的中控節(jié)點(diǎn)退出網(wǎng)絡(luò),便會(huì)對(duì)全網(wǎng)產(chǎn)生較大影響,因?yàn)橹锌毓?jié)點(diǎn)往往擔(dān)負(fù)著新入網(wǎng)節(jié)點(diǎn)的認(rèn)證、網(wǎng)絡(luò)信息收集、密鑰分發(fā)等重要功能,故一旦網(wǎng)絡(luò)中的中控節(jié)點(diǎn)退出網(wǎng)絡(luò),全網(wǎng)必須在一定時(shí)間內(nèi)及時(shí)檢測(cè)出這一信息,并根據(jù)一定的規(guī)則從普通節(jié)點(diǎn)中選出一個(gè)新任中控節(jié)點(diǎn)來(lái)繼承前任中控節(jié)點(diǎn)的職能。前任中控節(jié)點(diǎn)退出后,網(wǎng)絡(luò)會(huì)暫時(shí)陷入混亂。由于信息的不對(duì)稱(chēng)性,可能會(huì)出現(xiàn)網(wǎng)絡(luò)中的多個(gè)普通節(jié)點(diǎn)同時(shí)申請(qǐng)成為新任中控節(jié)點(diǎn)的狀況,這會(huì)導(dǎo)致原來(lái)一個(gè)整體的網(wǎng)絡(luò)被分割成若干個(gè)小的子網(wǎng),每個(gè)子網(wǎng)內(nèi)有一個(gè)被認(rèn)同的新任中控節(jié)點(diǎn)。這顯然不便于網(wǎng)絡(luò)統(tǒng)一管理,因此還必須另外確定一套規(guī)則,以確定這些小子網(wǎng)的新任中控節(jié)點(diǎn)中,哪個(gè)節(jié)點(diǎn)可以最終成為全網(wǎng)的新任中控節(jié)點(diǎn),以使全網(wǎng)重新收斂成一個(gè)統(tǒng)一的整體。
技術(shù)實(shí)現(xiàn)要素:本發(fā)明的目的是針對(duì)傳統(tǒng)空中自組織網(wǎng)絡(luò)拓?fù)淇刂品椒ǖ牟蛔?,提出了一種空中自組織網(wǎng)絡(luò)拓?fù)涓兄c維護(hù)方法,以完成對(duì)新入網(wǎng)節(jié)點(diǎn)的認(rèn)證,從網(wǎng)絡(luò)拓?fù)渲刑蕹呀?jīng)退網(wǎng)的節(jié)點(diǎn),解決中控節(jié)點(diǎn)故障退網(wǎng)、多個(gè)中控節(jié)點(diǎn)收斂到統(tǒng)一的中控節(jié)點(diǎn)、網(wǎng)絡(luò)拓?fù)涓盍雅c合并等諸多網(wǎng)絡(luò)異常狀況,始終保持全網(wǎng)的有效運(yùn)行和網(wǎng)絡(luò)拓?fù)涞耐暾裕瑥亩玫剡m應(yīng)空中自組織網(wǎng)絡(luò)的拓?fù)淇刂菩枨?。為解決上述技術(shù)問(wèn)題,本發(fā)明的技術(shù)方案是:一種空中自組織網(wǎng)絡(luò)拓?fù)涓兄c維護(hù)方法,包括如下步驟:(1)網(wǎng)絡(luò)中的所有節(jié)點(diǎn)通過(guò)多跳轉(zhuǎn)發(fā)的方式將入網(wǎng)請(qǐng)求包發(fā)給網(wǎng)絡(luò)的初 始中控節(jié)點(diǎn)0,初始中控節(jié)點(diǎn)0每收到一個(gè)其它節(jié)點(diǎn)發(fā)來(lái)的入網(wǎng)請(qǐng)求包后,就按原路返回的方式回發(fā)一個(gè)入網(wǎng)批準(zhǔn)包,每個(gè)收到初始中控節(jié)點(diǎn)0發(fā)來(lái)的入網(wǎng)批準(zhǔn)包的節(jié)點(diǎn)完成入網(wǎng)過(guò)程;(2)所有已經(jīng)入網(wǎng)的節(jié)點(diǎn)先建立一個(gè)空的節(jié)點(diǎn)位置信息表,然后每隔一個(gè)周期T向周?chē)鷱V播一次包含本節(jié)點(diǎn)的IP、地理位置信息以及包序號(hào)的hello包;(3)所有已經(jīng)入網(wǎng)的節(jié)點(diǎn)收到來(lái)自其它節(jié)點(diǎn)q的hello包后,先根據(jù)該hello包中攜帶的關(guān)于節(jié)點(diǎn)q的位置信息更新自己的節(jié)點(diǎn)位置信息表,再轉(zhuǎn)發(fā)該hello包;(4)所有節(jié)點(diǎn)均每隔一個(gè)時(shí)間周期T便對(duì)自己的節(jié)點(diǎn)位置信息表中所有節(jié)點(diǎn)的信息的時(shí)效性進(jìn)行檢查,任意節(jié)點(diǎn)u檢查到自己的節(jié)點(diǎn)位置信息表中某個(gè)節(jié)點(diǎn)x的位置信息最后一次被更新的時(shí)刻與當(dāng)前時(shí)刻之間的差值大于6T,則判斷節(jié)點(diǎn)x是否是中控節(jié)點(diǎn),若是,節(jié)點(diǎn)u先從自己的節(jié)點(diǎn)位置信息表中刪除節(jié)點(diǎn)x的相關(guān)信息,然后向周?chē)惶秶鷥?nèi)的所有節(jié)點(diǎn)廣播中控身份請(qǐng)求包,申請(qǐng)成為新任中控節(jié)點(diǎn),否則,節(jié)點(diǎn)u直接從自己的節(jié)點(diǎn)位置信息表中刪除節(jié)點(diǎn)x的相關(guān)信息;(5)節(jié)點(diǎn)u周?chē)惶秶鷥?nèi)的所有節(jié)點(diǎn)v收到節(jié)點(diǎn)u的中控身份請(qǐng)求包后,立刻查看節(jié)點(diǎn)v的節(jié)點(diǎn)位置信息表內(nèi)現(xiàn)任中控節(jié)點(diǎn)的信息最后一次被更新的時(shí)刻t1,如果t1與當(dāng)前時(shí)刻t之間的差值小于5T,則說(shuō)明是節(jié)點(diǎn)u的誤判,節(jié)點(diǎn)v直接刪除節(jié)點(diǎn)u的中控身份請(qǐng)求包,否則,節(jié)點(diǎn)v刪除現(xiàn)任中控節(jié)點(diǎn)的所有信息,并承認(rèn)節(jié)點(diǎn)u為自己的新任中控節(jié)點(diǎn),將節(jié)點(diǎn)u的位置信息加入自己的節(jié)點(diǎn)位置信息表,并將更新時(shí)間記錄為當(dāng)前時(shí)刻,然后節(jié)點(diǎn)v 向周?chē)?jié)點(diǎn)轉(zhuǎn)發(fā)節(jié)點(diǎn)u的中控身份請(qǐng)求包;(6)所有中控節(jié)點(diǎn)A每隔一個(gè)時(shí)間周期T向周?chē)鷱V播一次中控節(jié)點(diǎn)聲明包,聲明自己當(dāng)前是一個(gè)中控節(jié)點(diǎn),中控節(jié)點(diǎn)A周?chē)泥従庸?jié)點(diǎn)w收到節(jié)點(diǎn)A的中控節(jié)點(diǎn)聲明包后,判斷節(jié)點(diǎn)A與節(jié)點(diǎn)w的節(jié)點(diǎn)位置信息表中記錄的現(xiàn)任中控節(jié)點(diǎn)B的IP是否相同,若是,說(shuō)明它們是同一個(gè)節(jié)點(diǎn),節(jié)點(diǎn)w直接向周?chē)D(zhuǎn)發(fā)節(jié)點(diǎn)A的中控節(jié)點(diǎn)聲明包,否則,節(jié)點(diǎn)w判斷節(jié)點(diǎn)A的IP是否小于節(jié)點(diǎn)B的IP,若是,執(zhí)行步驟(7),否則,直接銷(xiāo)毀節(jié)點(diǎn)A的該中控節(jié)點(diǎn)聲明包;(7)節(jié)點(diǎn)w將自己的節(jié)點(diǎn)位置信息表中的現(xiàn)任中控節(jié)點(diǎn)B更新為新任中控節(jié)點(diǎn)A,然后向周?chē)?jié)點(diǎn)轉(zhuǎn)發(fā)新任中控節(jié)點(diǎn)A的中控節(jié)點(diǎn)聲明包。優(yōu)選的,其中步驟(1)所述的網(wǎng)絡(luò)中的所有節(jié)點(diǎn)通過(guò)多跳轉(zhuǎn)發(fā)的方式將入網(wǎng)請(qǐng)求包發(fā)給網(wǎng)絡(luò)的初始中控節(jié)點(diǎn)0,初始中控節(jié)點(diǎn)0每收到一個(gè)其它節(jié)點(diǎn)發(fā)來(lái)的入網(wǎng)請(qǐng)求包后,就按原路返回的方式回發(fā)一個(gè)入網(wǎng)批準(zhǔn)包,按如下步驟進(jìn)行:(1a)初始中控節(jié)點(diǎn)0的1跳范圍內(nèi)的所有節(jié)點(diǎn)n1直接將自己的入網(wǎng)請(qǐng)求包發(fā)給初始中控節(jié)點(diǎn)0;(1b)初始中控節(jié)點(diǎn)0收到1跳范圍內(nèi)的所有節(jié)點(diǎn)n1發(fā)來(lái)的入網(wǎng)請(qǐng)求包后,立刻向節(jié)點(diǎn)n1回發(fā)一個(gè)入網(wǎng)批準(zhǔn)包,使節(jié)點(diǎn)n1完成入網(wǎng);(1c)節(jié)點(diǎn)0的1跳范圍內(nèi)的所有節(jié)點(diǎn)n1完成入網(wǎng)后,節(jié)點(diǎn)0的2跳范圍內(nèi)的所有節(jié)點(diǎn)n2先將自己的入網(wǎng)請(qǐng)求包發(fā)給節(jié)點(diǎn)0的1跳范圍內(nèi)的節(jié)點(diǎn)n1,由節(jié)點(diǎn)n1幫忙轉(zhuǎn)發(fā)給節(jié)點(diǎn)0,節(jié)點(diǎn)0收到后按原路返回的方式先將入網(wǎng)批準(zhǔn)包發(fā)給節(jié)點(diǎn)n1,再由節(jié)點(diǎn)n1轉(zhuǎn)發(fā)給節(jié)點(diǎn)n2,使節(jié)點(diǎn)n2完成入網(wǎng);(1d)按照與(1a)、(1b)、(1c)相同的方式,節(jié)點(diǎn)0的i跳范圍內(nèi)的節(jié)點(diǎn)ni先將自己的入網(wǎng)請(qǐng)求包轉(zhuǎn)發(fā)給節(jié)點(diǎn)0的i-1跳節(jié)點(diǎn)ni-1,節(jié)點(diǎn)ni-1再轉(zhuǎn)發(fā)給節(jié)點(diǎn)0的i-2跳節(jié)點(diǎn)ni-2,依次類(lèi)推,直至轉(zhuǎn)發(fā)到節(jié)點(diǎn)0,然后節(jié)點(diǎn)0再按原路返回的方式將入網(wǎng)批準(zhǔn)包轉(zhuǎn)發(fā)給節(jié)點(diǎn)ni,最終使全網(wǎng)的所有節(jié)點(diǎn)完成入網(wǎng)。優(yōu)選的,其中步驟(3)所述的所有已經(jīng)入網(wǎng)的節(jié)點(diǎn)收到來(lái)自其它節(jié)點(diǎn)q的hello包后,先根據(jù)該hello包中攜帶的關(guān)于節(jié)點(diǎn)q的位置信息更新自己的節(jié)點(diǎn)位置信息表,按如下步驟進(jìn)行:(3a)所有已經(jīng)入網(wǎng)的節(jié)點(diǎn)收到來(lái)自其它節(jié)點(diǎn)q的hello包后,從該hello包中獲得節(jié)點(diǎn)q的位置信息,然后執(zhí)行步驟(3b);(3b)所有已經(jīng)入網(wǎng)的節(jié)點(diǎn)查看自己的節(jié)點(diǎn)位置信息表中是否已經(jīng)包含節(jié)點(diǎn)q的位置信息,若是,執(zhí)行步驟(3c),否則,執(zhí)行步驟(3d);(3c)所有已經(jīng)入網(wǎng)的節(jié)點(diǎn)更新節(jié)點(diǎn)q的位置信息,并將更新時(shí)間記錄為當(dāng)前時(shí)刻;(3d)所有已經(jīng)入網(wǎng)的節(jié)點(diǎn)向節(jié)點(diǎn)位置信息表中加入節(jié)點(diǎn)q的位置信息,并將更新時(shí)間記錄為當(dāng)前時(shí)刻。優(yōu)選的,其中步驟(7)所述的節(jié)點(diǎn)w將自己的節(jié)點(diǎn)位置信息表中的現(xiàn)任中控節(jié)點(diǎn)B更新為新任中控節(jié)點(diǎn)A,按如下步驟進(jìn)行:(7a)節(jié)點(diǎn)w將節(jié)點(diǎn)位置信息表中的現(xiàn)任中控節(jié)點(diǎn)信息復(fù)制到普通節(jié)點(diǎn)信息區(qū)域;(7b)節(jié)點(diǎn)w將自己的節(jié)點(diǎn)位置信息表的中控節(jié)點(diǎn)信息區(qū)域中記錄的現(xiàn)任中控節(jié)點(diǎn)B的信息刪除;(7c)節(jié)點(diǎn)w承認(rèn)節(jié)點(diǎn)A為自己的新任中控節(jié)點(diǎn),并將新任中控節(jié)點(diǎn)A的信息填入自己的節(jié)點(diǎn)位置信息表的中控節(jié)點(diǎn)信息區(qū)域。采用了上述技術(shù)方案,本發(fā)明的有益效果為:1)網(wǎng)內(nèi)節(jié)點(diǎn)通過(guò)周期性收發(fā)hello包獲取地理位置信息,不依賴(lài)定位衛(wèi)星,抗毀性強(qiáng),從而提高了網(wǎng)絡(luò)的安全性。2)本發(fā)明采用集中式網(wǎng)絡(luò)拓?fù)涓兄c維護(hù)策略,對(duì)網(wǎng)絡(luò)全局拓?fù)涞墓芾砀奖悖矣捎谟袑?zhuān)門(mén)的中心控制節(jié)點(diǎn)來(lái)負(fù)責(zé)對(duì)新入網(wǎng)的節(jié)點(diǎn)進(jìn)行認(rèn)證,因而具有更高的安全性。3)本發(fā)明通過(guò)采用定期檢查節(jié)點(diǎn)信息時(shí)效性的機(jī)制,可以及時(shí)發(fā)現(xiàn)網(wǎng)絡(luò)中由于能量耗盡或故障等原因而退出網(wǎng)絡(luò)的節(jié)點(diǎn),從而保持網(wǎng)絡(luò)拓?fù)湫畔⒌臏?zhǔn)確性,避免已經(jīng)退出網(wǎng)絡(luò)的節(jié)點(diǎn)繼續(xù)占用網(wǎng)絡(luò)的管理開(kāi)銷(xiāo)。4)本發(fā)明引入的新任中控節(jié)點(diǎn)選擇機(jī)制,使得在前任中控節(jié)點(diǎn)因故障退出網(wǎng)絡(luò)后,網(wǎng)絡(luò)中會(huì)及時(shí)選出合適的新任中控節(jié)點(diǎn)來(lái)接替前任中控節(jié)點(diǎn)的職能,從而保證了網(wǎng)絡(luò)不會(huì)因中控節(jié)點(diǎn)發(fā)生故障而陷入癱瘓,大大提高的網(wǎng)絡(luò)的抗毀性和安全性。5)本發(fā)明引入的新任中控節(jié)點(diǎn)選擇機(jī)制,使得當(dāng)網(wǎng)絡(luò)在空中出現(xiàn)拓?fù)涓盍褧r(shí),割裂出的每一個(gè)單獨(dú)的小子網(wǎng)都會(huì)選出一個(gè)新任中控節(jié)點(diǎn),而當(dāng)這些割裂的小子網(wǎng)在空中發(fā)生匯合之后,又會(huì)從這些小子網(wǎng)的中控節(jié)點(diǎn)中選出節(jié)點(diǎn)IP最小的那個(gè)作為融合后的網(wǎng)絡(luò)的中控節(jié)點(diǎn),從而保證了網(wǎng)絡(luò)在發(fā)生拓?fù)浞指詈秃喜⒌倪^(guò)程中都能夠正常運(yùn)行。附圖說(shuō)明圖1是本發(fā)明的整體流程圖;圖2是本發(fā)明中所有節(jié)點(diǎn)入網(wǎng)的子流程圖;圖3是本發(fā)明中節(jié)點(diǎn)v收到節(jié)點(diǎn)u的中控身份請(qǐng)求包后所采取的措施的子流程圖;圖4是本發(fā)明中節(jié)點(diǎn)w收到中控節(jié)點(diǎn)A的中控節(jié)點(diǎn)聲明包后所采取的措施的子流程圖。具體實(shí)施方式下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明進(jìn)一步說(shuō)明。本發(fā)明主要的技術(shù)構(gòu)思是這樣的:所有節(jié)點(diǎn)通過(guò)向中控節(jié)點(diǎn)發(fā)送入網(wǎng)請(qǐng)求包并接收中控節(jié)點(diǎn)發(fā)回的入網(wǎng)批準(zhǔn)包的方式完成入網(wǎng)認(rèn)證過(guò)程;通過(guò)周期性收發(fā)hello包獲得其它節(jié)點(diǎn)的位置信息;通過(guò)定期檢查某節(jié)點(diǎn)的位置信息是否長(zhǎng)時(shí)間未被更新來(lái)判斷該節(jié)點(diǎn)是否已經(jīng)退網(wǎng);通過(guò)中控節(jié)點(diǎn)退網(wǎng)后的新任中控節(jié)點(diǎn)選取規(guī)則選出一個(gè)新任中控節(jié)點(diǎn),解決中控節(jié)點(diǎn)故障退網(wǎng)、多個(gè)中控節(jié)點(diǎn)收斂到統(tǒng)一的中控節(jié)點(diǎn)、網(wǎng)絡(luò)拓?fù)涓盍雅c合并等諸多網(wǎng)絡(luò)異常狀況,從而更好地適應(yīng)空中自組織網(wǎng)絡(luò)的拓?fù)淇刂菩枨蟆⒄請(qǐng)D1,本發(fā)明的具體實(shí)現(xiàn)步驟如下:步驟1,網(wǎng)絡(luò)中的所有節(jié)點(diǎn)通過(guò)多跳轉(zhuǎn)發(fā)的方式將入網(wǎng)請(qǐng)求包發(fā)給網(wǎng)絡(luò)的初始中控節(jié)點(diǎn)0,初始中控節(jié)點(diǎn)0每收到一個(gè)其它節(jié)點(diǎn)發(fā)來(lái)的入網(wǎng)請(qǐng)求包后,就按原路返回的方式回發(fā)一個(gè)入網(wǎng)批準(zhǔn)包,每個(gè)收到初始中控節(jié)點(diǎn)0發(fā)來(lái)的入網(wǎng)批準(zhǔn)包的節(jié)點(diǎn)完成入網(wǎng)過(guò)程。參照?qǐng)D2,本步驟的具體實(shí)現(xiàn)如下:(1a)初始中控節(jié)點(diǎn)0的1跳范圍內(nèi)的所有節(jié)點(diǎn)n1直接將自己的入網(wǎng)請(qǐng)求 包發(fā)給初始中控節(jié)點(diǎn)0;(1b)初始中控節(jié)點(diǎn)0收到1跳范圍內(nèi)的所有節(jié)點(diǎn)n1發(fā)來(lái)的入網(wǎng)請(qǐng)求包后,立刻向節(jié)點(diǎn)n1回發(fā)一個(gè)入網(wǎng)批準(zhǔn)包,使節(jié)點(diǎn)n1完成入網(wǎng);(1c)節(jié)點(diǎn)0的1跳范圍內(nèi)的所有節(jié)點(diǎn)n1完成入網(wǎng)后,節(jié)點(diǎn)0的2跳范圍內(nèi)的所有節(jié)點(diǎn)n2先將自己的入網(wǎng)請(qǐng)求包發(fā)給節(jié)點(diǎn)0的1跳范圍內(nèi)的節(jié)點(diǎn)n1,由節(jié)點(diǎn)n1幫忙轉(zhuǎn)發(fā)給節(jié)點(diǎn)0,節(jié)點(diǎn)0收到后按原路返回的方式先將入網(wǎng)批準(zhǔn)包發(fā)給節(jié)點(diǎn)n1,再由節(jié)點(diǎn)n1轉(zhuǎn)發(fā)給節(jié)點(diǎn)n2,使節(jié)點(diǎn)n2完成入網(wǎng);(1d)按照與(1a)、(1b)、(1c)相同的方式,節(jié)點(diǎn)0的i跳范圍內(nèi)的節(jié)點(diǎn)ni先將自己的入網(wǎng)請(qǐng)求包轉(zhuǎn)發(fā)給節(jié)點(diǎn)0的i-1跳節(jié)點(diǎn)ni-1,節(jié)點(diǎn)ni-1再轉(zhuǎn)發(fā)給節(jié)點(diǎn)0的i-2跳節(jié)點(diǎn)ni-2,依次類(lèi)推,直至轉(zhuǎn)發(fā)到節(jié)點(diǎn)0,然后節(jié)點(diǎn)0再按原路返回的方式將入網(wǎng)批準(zhǔn)包轉(zhuǎn)發(fā)給節(jié)點(diǎn)ni,最終使全網(wǎng)的所有節(jié)點(diǎn)完成入網(wǎng)。步驟2,所有已經(jīng)入網(wǎng)的節(jié)點(diǎn)先建立一個(gè)空的節(jié)點(diǎn)位置信息表,然后每隔一個(gè)周期T向周?chē)鷱V播一次包含本節(jié)點(diǎn)的IP、地理位置信息以及包序號(hào)的hello包。步驟3,所有已經(jīng)入網(wǎng)的節(jié)點(diǎn)收到來(lái)自其它節(jié)點(diǎn)q的hello包后,先根據(jù)該hello包中攜帶的關(guān)于節(jié)點(diǎn)q的位置信息更新自己的節(jié)點(diǎn)位置信息表,再轉(zhuǎn)發(fā)該hello包。參照?qǐng)D3,本步驟的具體實(shí)現(xiàn)如下:(3a)所有已經(jīng)入網(wǎng)的節(jié)點(diǎn)收到來(lái)自其它節(jié)點(diǎn)q的hello包后,從該hello包中獲得節(jié)點(diǎn)q的位置信息,然后執(zhí)行步驟(3b);(3b)所有已經(jīng)入網(wǎng)的節(jié)點(diǎn)查看自己的節(jié)點(diǎn)位置信息表中是否已經(jīng)包含節(jié)點(diǎn)q的位置信息,若是,執(zhí)行步驟(3c),否則,執(zhí)行步驟(3d);(3c)所有已經(jīng)入網(wǎng)的節(jié)點(diǎn)更新節(jié)點(diǎn)q的位置信息,并將更新時(shí)間記錄為當(dāng)前時(shí)刻,然后轉(zhuǎn)發(fā)該hello包;(3d)所有已經(jīng)入網(wǎng)的節(jié)點(diǎn)向節(jié)點(diǎn)位置信息表中加入節(jié)點(diǎn)q的位置信息,并將更新時(shí)間記錄為當(dāng)前時(shí)刻,然后轉(zhuǎn)發(fā)該hello包。步驟4,周期性對(duì)節(jié)點(diǎn)位置信息表中所有節(jié)點(diǎn)的信息的時(shí)效性進(jìn)行檢查,對(duì)查出的過(guò)期信息進(jìn)行處理。所有節(jié)點(diǎn)均每隔一個(gè)時(shí)間周期T便對(duì)自己的節(jié)點(diǎn)位置信息表中所有節(jié)點(diǎn)的信息的時(shí)效性進(jìn)行檢查。任意節(jié)點(diǎn)u檢查到自己的節(jié)點(diǎn)位置信息表中某個(gè)節(jié)點(diǎn)x的位置信息最后一次被更新的時(shí)刻與當(dāng)前時(shí)刻之間的差值大于6T,則判斷節(jié)點(diǎn)x是否是中控節(jié)點(diǎn),若是,節(jié)點(diǎn)u先從自己的節(jié)點(diǎn)位置信息表中刪除節(jié)點(diǎn)x的相關(guān)信息,然后向周?chē)惶秶鷥?nèi)的所有節(jié)點(diǎn)廣播中控身份請(qǐng)求包,申請(qǐng)成為新任中控節(jié)點(diǎn),否則,節(jié)點(diǎn)u直接從自己的節(jié)點(diǎn)位置信息表中刪除節(jié)點(diǎn)x的相關(guān)信息。步驟5,節(jié)點(diǎn)收到其它節(jié)點(diǎn)發(fā)來(lái)的中控身份請(qǐng)求包后的處理過(guò)程。節(jié)點(diǎn)u周?chē)惶秶鷥?nèi)的所有節(jié)點(diǎn)v收到節(jié)點(diǎn)u的中控身份請(qǐng)求包后,立刻查看節(jié)點(diǎn)v的節(jié)點(diǎn)位置信息表內(nèi)現(xiàn)任中控節(jié)點(diǎn)的信息最后一次被更新的時(shí)刻t1,如果t1與當(dāng)前時(shí)刻t之間的差值小于5T,則說(shuō)明節(jié)點(diǎn)u發(fā)生了誤判,節(jié)點(diǎn)v直接刪除節(jié)點(diǎn)u的中控身份請(qǐng)求包,否則,節(jié)點(diǎn)v刪除現(xiàn)任中控節(jié)點(diǎn)的所有信息,并承認(rèn)節(jié)點(diǎn)u為自己的新任中控節(jié)點(diǎn),將節(jié)點(diǎn)u的位置信息加入自己的節(jié)點(diǎn)位置信息表,并將更新時(shí)間記錄為當(dāng)前時(shí)刻,然后節(jié)點(diǎn)v向周?chē)?jié)點(diǎn)轉(zhuǎn)發(fā)節(jié)點(diǎn)u的中控身份請(qǐng)求包。步驟6,所有中控節(jié)點(diǎn)周期性廣播中控節(jié)點(diǎn)聲明包,以及所有節(jié)點(diǎn)收到中控節(jié)點(diǎn)聲明包后的處理過(guò)程。所有中控節(jié)點(diǎn)A每隔一個(gè)時(shí)間周期T向周?chē)鷱V播一次中控節(jié)點(diǎn)聲明包,聲明自己當(dāng)前是一個(gè)中控節(jié)點(diǎn),中控節(jié)點(diǎn)A周?chē)泥従庸?jié)點(diǎn)w收到節(jié)點(diǎn)A的中控節(jié)點(diǎn)聲明包后,判斷節(jié)點(diǎn)A與節(jié)點(diǎn)w的節(jié)點(diǎn)位置信息表中記錄的現(xiàn)任中控節(jié)點(diǎn)B的IP是否相同,若是,說(shuō)明它們是同一個(gè)節(jié)點(diǎn),節(jié)點(diǎn)w直接向周?chē)D(zhuǎn)發(fā)節(jié)點(diǎn)A的中控節(jié)點(diǎn)聲明包,否則,節(jié)點(diǎn)w判斷節(jié)點(diǎn)A的IP是否小于節(jié)點(diǎn)B的IP,若是,執(zhí)行步驟(7),否則,直接銷(xiāo)毀節(jié)點(diǎn)A的該中控節(jié)點(diǎn)聲明包。步驟7,節(jié)點(diǎn)w將自己的節(jié)點(diǎn)位置信息表中的現(xiàn)任中控節(jié)點(diǎn)B更新為新任中控節(jié)點(diǎn)A,然后向周?chē)?jié)點(diǎn)轉(zhuǎn)發(fā)新任中控節(jié)點(diǎn)A的中控節(jié)點(diǎn)聲明包。參照?qǐng)D4,本步驟的具體實(shí)現(xiàn)如下:(7a)節(jié)點(diǎn)w將節(jié)點(diǎn)位置信息表中的現(xiàn)任中控節(jié)點(diǎn)信息復(fù)制到普通節(jié)點(diǎn)信息區(qū)域;(7b)節(jié)點(diǎn)w將自己的節(jié)點(diǎn)位置信息表的中控節(jié)點(diǎn)信息區(qū)域中記錄的現(xiàn)任中控節(jié)點(diǎn)B的信息刪除;(7c)節(jié)點(diǎn)w承認(rèn)節(jié)點(diǎn)A為自己的新任中控節(jié)點(diǎn),并將新任中控節(jié)點(diǎn)A的信息填入自己的節(jié)點(diǎn)位置信息表的中控節(jié)點(diǎn)信息區(qū)域,然后向周?chē)?jié)點(diǎn)轉(zhuǎn)發(fā)新任中控節(jié)點(diǎn)A的中控節(jié)點(diǎn)聲明包。以上描述僅是本發(fā)明的一個(gè)具體實(shí)例,顯然對(duì)于本領(lǐng)域的專(zhuān)業(yè)人員來(lái)說(shuō),在了解了本發(fā)明內(nèi)容和原理后,都可能在不背離本發(fā)明原理、結(jié)構(gòu)的情況下,進(jìn)行形式和細(xì)節(jié)上的各種修正和改變,但是這些基于本發(fā)明思想的修正和改變?nèi)栽诒景l(fā)明的權(quán)利要求保護(hù)范圍之內(nèi)。