国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種應(yīng)用于Ad?hoc網(wǎng)絡(luò)的IP地址動(dòng)態(tài)分配方法與流程

      文檔序號(hào):12377623閱讀:718來(lái)源:國(guó)知局
      一種應(yīng)用于Ad?hoc網(wǎng)絡(luò)的IP地址動(dòng)態(tài)分配方法與流程

      本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種應(yīng)用于Ad-hoc網(wǎng)絡(luò)的IP地址動(dòng)態(tài)分配方法。



      背景技術(shù):

      Ad-hoc網(wǎng)絡(luò)是一種沒(méi)有基礎(chǔ)設(shè)施支持的網(wǎng)絡(luò),具有自組性和機(jī)動(dòng)性。隨著移動(dòng)技術(shù)的不斷發(fā)展和人們?nèi)找嬖鲩L(zhǎng)的自由通信需求,Ad-hoc網(wǎng)絡(luò)在軍用、民用、商用等多方面得到了快速的發(fā)展和普及。

      目前網(wǎng)絡(luò)IP地址動(dòng)態(tài)分配普遍采用集中式分布,網(wǎng)絡(luò)中各節(jié)點(diǎn)向網(wǎng)絡(luò)中心設(shè)備申請(qǐng)IP地址,由中心設(shè)備給網(wǎng)絡(luò)中各節(jié)點(diǎn)動(dòng)態(tài)分配IP地址。集中式動(dòng)態(tài)分配IP地址一旦中心設(shè)備遇到故障,整個(gè)通信網(wǎng)絡(luò)都不能正常工作,增加了網(wǎng)絡(luò)不穩(wěn)定性。Ad-hoc網(wǎng)絡(luò)是無(wú)中心、自組織網(wǎng)絡(luò),采用集中式動(dòng)態(tài)分配IP地址不適用于Ad-hoc網(wǎng)絡(luò),且網(wǎng)絡(luò)普遍利用IP地址唯一性,把IP地址作為網(wǎng)絡(luò)中節(jié)點(diǎn)的標(biāo)識(shí)。在為新加入網(wǎng)絡(luò)節(jié)點(diǎn)分配IP地址時(shí),為確保IP地址在全網(wǎng)絡(luò)的唯一性,要對(duì)IP地址進(jìn)行重復(fù)地址檢測(cè),這樣極大的增加了網(wǎng)絡(luò)開(kāi)銷(xiāo)。



      技術(shù)實(shí)現(xiàn)要素:

      本發(fā)明提出了一種應(yīng)用于Ad-hoc網(wǎng)絡(luò)的IP地址動(dòng)態(tài)分配方法,解決了Ad-hoc網(wǎng)絡(luò)在高移動(dòng)性情況下動(dòng)態(tài)分配IP地址問(wèn)題,增加了網(wǎng)絡(luò)穩(wěn)定性和可靠性,減小了網(wǎng)絡(luò)開(kāi)銷(xiāo)。

      為實(shí)現(xiàn)上述目的,本發(fā)明的技術(shù)方案包括如下,一種應(yīng)用于Ad-hoc網(wǎng)絡(luò)的IP地址動(dòng)態(tài)分配方法,包括以下步驟:

      步驟一:IP地址分層;

      步驟二:定義簇頭和簇集;

      步驟三:簇頭建立及維護(hù)地址表;

      步驟四:節(jié)點(diǎn)檢測(cè)與周?chē)?jié)點(diǎn)的連通性;

      步驟五:節(jié)點(diǎn)定期發(fā)送更新消息;

      步驟六:動(dòng)態(tài)分配IP地址。

      進(jìn)一步根據(jù)所述IP地址動(dòng)態(tài)分配方法,步驟一中IP地址分層,IP地址包括網(wǎng)絡(luò)號(hào)和主機(jī)號(hào),網(wǎng)絡(luò)號(hào)由子網(wǎng)掩碼確定位數(shù),前兩位10.1是網(wǎng)絡(luò)號(hào),后兩位0.0到255.255,為可用的主機(jī)號(hào),其中網(wǎng)絡(luò)號(hào)為L(zhǎng)3層;若不考慮網(wǎng)絡(luò)號(hào),IP地址從右往左按照0的數(shù)量劃分層,0的數(shù)目為n,即位于第n層,根據(jù)主機(jī)號(hào),若最小的主機(jī)號(hào)0.0,則該節(jié)點(diǎn)劃分為2層,若主機(jī)號(hào)是1.0到255.0,則該節(jié)點(diǎn)劃分到1層,所有主機(jī)號(hào)不含0的節(jié)點(diǎn)為L(zhǎng)0層節(jié)點(diǎn);L0、L1、L2、L3分別表示0層、1層、2層、3層;若網(wǎng)絡(luò)號(hào)是10.0,且子網(wǎng)掩碼是255.255.0.0,IP地址為10.0.0.0的節(jié)點(diǎn)仍屬于L2層節(jié)點(diǎn)。

      進(jìn)一步根據(jù)所述IP地址動(dòng)態(tài)分配方法,步驟二中定義簇頭和簇集,其中分配IP地址最高到L3層,從高層到低層依次為L(zhǎng)3、L2、L1、L0,L0位于最底層,其中L3、L2、L1層中各節(jié)點(diǎn)都是簇頭;L2層中的節(jié)點(diǎn)與L3的簇頭相連接,組成簇集;L1層中的節(jié)點(diǎn)與L2的簇頭相連接,組成簇集;L0層中的節(jié)點(diǎn)與L1的簇頭相連接,組成簇集;簇頭在與自己直接相連的節(jié)點(diǎn)中隨機(jī)選取一個(gè)節(jié)點(diǎn)作為下屬頭節(jié)點(diǎn),當(dāng)簇頭離開(kāi)網(wǎng)絡(luò),下屬頭節(jié)點(diǎn)成為新的簇頭,原有簇集中的節(jié)點(diǎn)連接下屬頭節(jié)點(diǎn),即新的簇頭。

      進(jìn)一步根據(jù)所述IP地址動(dòng)態(tài)分配方法,步驟三中簇頭建立及維護(hù)地址表,地址表中簇頭下有255個(gè)可用的IP地址,無(wú)論這些IP地址是否分配給節(jié)點(diǎn),這些IP地址在簇頭的地址表中均存在;

      若某個(gè)IP地址被分配給某一節(jié)點(diǎn),則節(jié)點(diǎn)會(huì)發(fā)消息給簇頭,消息內(nèi)容包括該節(jié)點(diǎn)的MAC地址、最新進(jìn)入網(wǎng)絡(luò)時(shí)間,簇頭接收到消息,在地址表中記錄與IP地址相對(duì)應(yīng)的MAC地址及節(jié)點(diǎn)發(fā)送消息的最新時(shí)間;

      若IP地址分配給節(jié)點(diǎn),則在簇頭的地址表中有與IP地址相對(duì)應(yīng)的MAC地址和最新進(jìn)入網(wǎng)絡(luò)時(shí)間,可判斷該IP地址被分配,若某個(gè)IP地址沒(méi)有分配給節(jié)點(diǎn),則沒(méi)有與IP地址相對(duì)應(yīng)的MAC地址和最新進(jìn)入網(wǎng)路時(shí)間,可據(jù)此判斷IP地址未分配;

      簇頭維護(hù)地址表的過(guò)程是,復(fù)制地址表到下屬頭節(jié)點(diǎn)中,防止自己突然離開(kāi)或出現(xiàn)故障,造成地址表信息丟失,定期接收簇集中節(jié)點(diǎn)的更新消息,更新地址表。

      進(jìn)一步根據(jù)所述IP地址動(dòng)態(tài)分配方法,步驟四中節(jié)點(diǎn)檢測(cè)與周?chē)?jié)點(diǎn)的連通性,不同層的節(jié)點(diǎn)檢測(cè)與周?chē)?jié)點(diǎn)的連通性有不同的處理方法,具體方法如下:

      L0層的節(jié)點(diǎn)周期性?huà)呙柚車(chē)?jié)點(diǎn),確保任一時(shí)間點(diǎn)上,至少和本簇集內(nèi)一個(gè)節(jié)點(diǎn)連通,若一個(gè)節(jié)點(diǎn)發(fā)現(xiàn)它和本簇集中的任一節(jié)點(diǎn)沒(méi)有連接,但和其它簇集中的節(jié)點(diǎn)有連接,則它會(huì)發(fā)出改變地址請(qǐng)求,請(qǐng)求連接到新的可達(dá)簇集上;

      若沒(méi)有任何節(jié)點(diǎn)與它相連,則它發(fā)出廣播信令檢查是否存在可用網(wǎng)絡(luò),若存在可用網(wǎng)絡(luò)則加入這個(gè)網(wǎng)絡(luò),若不存在可用網(wǎng)絡(luò)則初始化一個(gè)網(wǎng)絡(luò);

      L1、L2、L3層的每個(gè)節(jié)點(diǎn)都會(huì)盡力保持和本簇集中至少一個(gè)節(jié)點(diǎn)連通,若這個(gè)節(jié)點(diǎn)失去了和本簇集節(jié)點(diǎn)的連接,則它會(huì)改變地址,連接到其他簇集并通知下屬頭節(jié)點(diǎn),讓下屬頭節(jié)點(diǎn)改變地址成為新的簇頭。

      進(jìn)一步根據(jù)所述IP地址動(dòng)態(tài)分配方法,步驟五中節(jié)點(diǎn)定期發(fā)送更新消息,在網(wǎng)絡(luò)中所有的節(jié)點(diǎn)定期發(fā)送更新消息給本簇集簇頭,以保證簇頭中地址表信息是網(wǎng)絡(luò)中節(jié)點(diǎn)的最新信息,釋放離開(kāi)網(wǎng)絡(luò)的節(jié)點(diǎn)信息,保證簇頭地址表信息都是最新的,更新消息廣播信令都在發(fā)到本簇集內(nèi)部,不會(huì)發(fā)到本簇集外部。

      進(jìn)一步根據(jù)所述IP地址動(dòng)態(tài)分配方法,步驟六中動(dòng)態(tài)分配IP地址,根據(jù)構(gòu)建好的網(wǎng)絡(luò),對(duì)于節(jié)點(diǎn)加入網(wǎng)絡(luò)時(shí)的動(dòng)態(tài)分配IP地址,具體方法如下:

      首先節(jié)點(diǎn)發(fā)出廣播信令檢查是否存在可用網(wǎng)絡(luò),若沒(méi)有收到應(yīng)答廣播信令,則認(rèn)為不存在可加入網(wǎng)絡(luò),選擇一個(gè)網(wǎng)絡(luò)號(hào)和子網(wǎng)掩碼,初始化網(wǎng)絡(luò),初始化節(jié)點(diǎn)的IP地址為可用IP地址中最小的IP地址;

      若收到應(yīng)答廣播信令,則該節(jié)點(diǎn)加入這個(gè)網(wǎng)絡(luò),該節(jié)點(diǎn)稱(chēng)為請(qǐng)求節(jié)點(diǎn),請(qǐng)求節(jié)點(diǎn)通過(guò)分配器加入已存在的網(wǎng)絡(luò),分配器是網(wǎng)絡(luò)中與請(qǐng)求節(jié)點(diǎn)直接相連的節(jié)點(diǎn);若請(qǐng)求節(jié)點(diǎn)與該網(wǎng)絡(luò)中已存在的多個(gè)節(jié)點(diǎn)直接相連,則請(qǐng)求節(jié)點(diǎn)選擇最低層的那個(gè)直連節(jié)點(diǎn)作為它的分配器,分配器可以給請(qǐng)求節(jié)點(diǎn)分配IP地址;若分配器是K層節(jié)點(diǎn),K為1或2或3,若有可用空閑IP地址,則自動(dòng)給請(qǐng)求節(jié)點(diǎn)分配一個(gè)K-1層的IP地址,請(qǐng)求節(jié)點(diǎn)發(fā)送自己的MAC地址和最新進(jìn)入網(wǎng)絡(luò)時(shí)間給簇頭,簇頭更新地址表,記錄與IP地址相對(duì)應(yīng)的MAC地址和請(qǐng)求節(jié)點(diǎn)最新進(jìn)入網(wǎng)絡(luò)時(shí)間,若無(wú)可用空閑IP地址,則由上層節(jié)點(diǎn)為該請(qǐng)求節(jié)點(diǎn)分配可用空閑IP地址;若分配器是L0層節(jié)點(diǎn),分配器發(fā)消息給L1層簇頭,由L1層簇頭為該請(qǐng)求節(jié)點(diǎn)分配可用空閑IP地址;若L1層節(jié)點(diǎn)有可用空閑IP地址,則L1層節(jié)點(diǎn)通知分配器有可用空閑IP地址并將IP地址發(fā)給分配器,分配器將IP地址發(fā)給請(qǐng)求節(jié)點(diǎn),請(qǐng)求節(jié)點(diǎn)收到后將自己的MAC地址和最新進(jìn)入網(wǎng)絡(luò)時(shí)間發(fā)給分配器,分配器把請(qǐng)求節(jié)點(diǎn)的MAC地址和最新進(jìn)入網(wǎng)絡(luò)時(shí)間發(fā)給L1層節(jié)點(diǎn),L1層節(jié)點(diǎn)更新地址表,發(fā)送完消息后將更新地址表給分配器,分配器接收到完成消息后,會(huì)給請(qǐng)求節(jié)點(diǎn)發(fā)送完成消息,分配IP地址過(guò)程結(jié)束;若L1層節(jié)點(diǎn)沒(méi)有可用空閑IP地址,則由L2層節(jié)點(diǎn)為該請(qǐng)求節(jié)點(diǎn)分配IP地址,若L2層節(jié)點(diǎn)沒(méi)有可用空閑IP地址,則由L3層節(jié)點(diǎn)為該請(qǐng)求節(jié)點(diǎn)分配IP地址,最終請(qǐng)求節(jié)點(diǎn)會(huì)得到可用的空閑IP地址。

      進(jìn)一步根據(jù)所述IP地址動(dòng)態(tài)分配方法,步驟六中動(dòng)態(tài)分配IP地址,根據(jù)構(gòu)建好的網(wǎng)絡(luò),對(duì)于節(jié)點(diǎn)離開(kāi)網(wǎng)絡(luò)時(shí)的動(dòng)態(tài)分配IP地址,在一個(gè)節(jié)點(diǎn)離開(kāi)網(wǎng)絡(luò)后,Ad-hoc網(wǎng)絡(luò)有自愈能力,能夠根據(jù)一定規(guī)則自動(dòng)重組新的完整網(wǎng)絡(luò),節(jié)點(diǎn)離開(kāi)有兩種方式,通過(guò)退出機(jī)制離開(kāi)和突然離開(kāi),具體方法如下:

      若L0層的節(jié)點(diǎn)通過(guò)退出機(jī)制離開(kāi)網(wǎng)絡(luò),則與該節(jié)點(diǎn)直連可達(dá)的節(jié)點(diǎn)通知簇頭節(jié)點(diǎn)離開(kāi),簇頭修改地址表,使退出網(wǎng)絡(luò)的節(jié)點(diǎn)IP地址空閑可用;

      若L0層的節(jié)點(diǎn)突然離開(kāi)網(wǎng)絡(luò),每個(gè)L1層的節(jié)點(diǎn)定期接收來(lái)自本簇集L0層節(jié)點(diǎn)的更新,L0層節(jié)點(diǎn)突然離開(kāi),簇頭接收不到來(lái)自離開(kāi)節(jié)點(diǎn)的更新消息,門(mén)限值時(shí)間后簇頭仍接收不到來(lái)自離開(kāi)節(jié)點(diǎn)的更新消息,簇頭會(huì)發(fā)送一個(gè)消息給離開(kāi)的節(jié)點(diǎn),若簇頭沒(méi)有收到回復(fù),則認(rèn)為這個(gè)節(jié)點(diǎn)已離開(kāi)網(wǎng)絡(luò),釋放該節(jié)點(diǎn)的IP地址使其可用;

      若L1、L2、L3層節(jié)點(diǎn)通過(guò)退出機(jī)制離開(kāi)網(wǎng)絡(luò),通知下屬頭節(jié)點(diǎn)它要離開(kāi),同步下屬頭節(jié)點(diǎn)中存儲(chǔ)的地址表,簇頭離開(kāi)網(wǎng)絡(luò)后,下屬頭節(jié)點(diǎn)改變IP地址成為新的簇頭;

      若L1、L2、L3層節(jié)點(diǎn)突然離開(kāi)網(wǎng)絡(luò),下屬頭節(jié)點(diǎn)并不知道簇頭已離開(kāi)網(wǎng)絡(luò),直到網(wǎng)絡(luò)中的節(jié)點(diǎn)不能聯(lián)系到簇頭,通知下屬頭節(jié)點(diǎn)簇頭已離開(kāi)網(wǎng)絡(luò),下屬頭節(jié)點(diǎn)確認(rèn)簇頭已離開(kāi)網(wǎng)絡(luò),則改變IP地址成為新的簇頭。

      進(jìn)一步根據(jù)所述IP地址動(dòng)態(tài)分配方法,步驟六中動(dòng)態(tài)分配IP地址,根據(jù)構(gòu)建好的網(wǎng)絡(luò),對(duì)于查找網(wǎng)絡(luò)中節(jié)點(diǎn)時(shí)的動(dòng)態(tài)分配IP地址,具體步驟如下:

      (1)在LK層,K為0或1或2,節(jié)點(diǎn)詢(xún)問(wèn)位于LK+1層簇頭要查找的節(jié)點(diǎn)是否在本簇集內(nèi),若要查找的節(jié)點(diǎn)在本簇集內(nèi),則返回要查找節(jié)點(diǎn)的IP地址,若要查找的節(jié)點(diǎn)不在本簇集內(nèi),則簇頭發(fā)送查找地址請(qǐng)求給同層的其他節(jié)點(diǎn);

      (2)同層其他節(jié)點(diǎn)收到查找地址請(qǐng)求后,查找本簇集內(nèi)是否有要查找節(jié)點(diǎn),若要查找的節(jié)點(diǎn)在本簇集內(nèi),則返回要查找節(jié)點(diǎn)的IP地址,若要查找的節(jié)點(diǎn)不在本簇集內(nèi),則請(qǐng)求節(jié)點(diǎn)的簇頭發(fā)送查找地址請(qǐng)求給上層節(jié)點(diǎn);

      (3)上層節(jié)點(diǎn)收到查找地址請(qǐng)求并發(fā)送查找地址請(qǐng)求給同層其他節(jié)點(diǎn),同層其他節(jié)點(diǎn)查找要查找節(jié)點(diǎn)是否在本簇集內(nèi),若要查找的節(jié)點(diǎn)在本簇集內(nèi),則返回要查找節(jié)點(diǎn)的IP,若要查找的節(jié)點(diǎn)不在本簇集內(nèi),則上層節(jié)點(diǎn)發(fā)送查找地址請(qǐng)求給它的上層節(jié)點(diǎn),重復(fù)步驟(3),直到找到要查找節(jié)點(diǎn)的IP地址或所有簇頭均被訪(fǎng)問(wèn)完。

      本發(fā)明與現(xiàn)有技術(shù)相比,具有如下優(yōu)點(diǎn):

      1、本發(fā)明通過(guò)采用不相交的地址池(可用的IP地址范圍)分配唯一的IP地址,無(wú)需進(jìn)行重復(fù)地址檢測(cè),極大的減小了網(wǎng)絡(luò)開(kāi)銷(xiāo);

      2、本發(fā)明通過(guò)采用分布式動(dòng)態(tài)分配IP地址,使網(wǎng)絡(luò)不會(huì)因一個(gè)節(jié)點(diǎn)故障導(dǎo)致整個(gè)網(wǎng)絡(luò)無(wú)法正常工作,增加網(wǎng)絡(luò)可靠性;

      3、本發(fā)明通過(guò)利用一個(gè)節(jié)點(diǎn)離開(kāi)網(wǎng)絡(luò)后,網(wǎng)絡(luò)能夠根據(jù)一定規(guī)則自動(dòng)重組新的完整網(wǎng)絡(luò)的自愈行為,使網(wǎng)絡(luò)在節(jié)點(diǎn)離開(kāi)網(wǎng)絡(luò)后仍保持完整性。

      附圖說(shuō)明

      圖1為本發(fā)明所述的一種應(yīng)用于Ad-hoc網(wǎng)絡(luò)的IP地址動(dòng)態(tài)分配方法流程圖;

      圖2為本發(fā)明所述方法中的IP地址動(dòng)態(tài)分配示意圖;

      圖3為本發(fā)明所述方法中步驟六查找網(wǎng)絡(luò)中節(jié)點(diǎn)的流程圖。

      具體實(shí)施方式

      針對(duì)現(xiàn)有技術(shù)的不足,本發(fā)明對(duì)所述一種應(yīng)用于Ad-hoc網(wǎng)絡(luò)中的IP地址動(dòng)態(tài)分配方法,為使本發(fā)明所述的技術(shù)方案更加清楚明白,以下結(jié)合附圖,對(duì)本發(fā)明所述方案作進(jìn)一步詳細(xì)說(shuō)明,如圖1所示,具體步驟如下:

      步驟一:IP地址動(dòng)態(tài)分配。

      IP地址包括網(wǎng)絡(luò)號(hào)和主機(jī)號(hào),網(wǎng)絡(luò)號(hào)由子網(wǎng)掩碼確定位數(shù)。本發(fā)明所使用的IP地址均采用點(diǎn)分十進(jìn)制表示。前兩位10.1是網(wǎng)絡(luò)號(hào),后兩位0.0到255.255是可用的主機(jī)號(hào)。網(wǎng)絡(luò)號(hào)為L(zhǎng)3層,若不考慮網(wǎng)絡(luò)號(hào),參考圖2,IP地址從右往左按照0的數(shù)量劃分層,0的數(shù)目為n,即位于第n層,根據(jù)主機(jī)號(hào),若最小的主機(jī)號(hào)0.0,則該節(jié)點(diǎn)劃分為2層;若主機(jī)號(hào)是1.0到255.0,則該節(jié)點(diǎn)劃分到1層;所有主機(jī)號(hào)不含0的節(jié)點(diǎn)為L(zhǎng)0層節(jié)點(diǎn)。用L0、L1、L2、L3分別表示0層、1層、2層、3層。若網(wǎng)絡(luò)號(hào)是10.0,且子網(wǎng)掩碼是255.255.0.0,IP地址為10.0.0.0的節(jié)點(diǎn)仍屬于L2層節(jié)點(diǎn)。

      步驟二:定義簇頭和簇集。

      參考圖2中的IP地址動(dòng)態(tài)分配示意圖,所示圓圈為Ad-hoc網(wǎng)絡(luò)中的節(jié)點(diǎn),該圓圈里面的數(shù)字表示具有相同網(wǎng)絡(luò)號(hào)的IP地址的主機(jī)號(hào),網(wǎng)絡(luò)號(hào)是10.1。本發(fā)明分配IP地址最高到L3層,從高層到低層依次為L(zhǎng)3、L2、L1、L0,L0位于最底層,其中L3、L2、L1層中各節(jié)點(diǎn)都是簇頭。L2層中的節(jié)點(diǎn)與L3的簇頭相連接,組成簇集;L1層中的節(jié)點(diǎn)與L2的簇頭相連接,組成簇集;L0層中的節(jié)點(diǎn)與L1的簇頭相連接,組成簇集。簇頭在與自己直接相連的節(jié)點(diǎn)中隨機(jī)選取一個(gè)節(jié)點(diǎn)作為下屬頭節(jié)點(diǎn),當(dāng)簇頭離開(kāi)網(wǎng)絡(luò),下屬頭節(jié)點(diǎn)成為新的簇頭,原有簇集中的節(jié)點(diǎn)連接下屬頭節(jié)點(diǎn),即新的簇頭。

      步驟三:簇頭建立及維護(hù)地址表。

      簇頭建立地址表,地址表中有簇頭下255個(gè)可用的IP地址,無(wú)論這些IP地址是否分配給節(jié)點(diǎn),這些IP地址在簇頭的地址表中均存在。當(dāng)某個(gè)IP地址被分配給某一節(jié)點(diǎn),則節(jié)點(diǎn)會(huì)發(fā)消息給簇頭。消息內(nèi)容包括該節(jié)點(diǎn)的MAC地址、最新進(jìn)入網(wǎng)絡(luò)時(shí)間。簇頭接收到消息,在地址表中記錄與IP地址相對(duì)應(yīng)的MAC地址及節(jié)點(diǎn)發(fā)送消息的最新時(shí)間。

      若IP地址分配給節(jié)點(diǎn),則在簇頭的地址表中具有有與IP地址相對(duì)應(yīng)的MAC地址和最新進(jìn)入網(wǎng)絡(luò)時(shí)間,可據(jù)此判斷,IP地址被分配;若某個(gè)IP地址沒(méi)有分配給節(jié)點(diǎn),則沒(méi)有與IP地址相對(duì)應(yīng)的MAC地址和最新進(jìn)入網(wǎng)路時(shí)間,可據(jù)此判斷IP地址未分配。

      簇頭維護(hù)地址表的過(guò)程是,復(fù)制地址表到下屬頭節(jié)點(diǎn)中,防止自己突然離開(kāi)或出現(xiàn)故障,造成地址表信息丟失;定期接收簇集中節(jié)點(diǎn)的更新消息,更新地址表。

      步驟四:節(jié)點(diǎn)檢測(cè)與周?chē)?jié)點(diǎn)的連通性,不同層的節(jié)點(diǎn)檢測(cè)與周?chē)?jié)點(diǎn)的連通性有不同的處理方法,具體方法如下:

      L0層的節(jié)點(diǎn)周期性?huà)呙柚車(chē)?jié)點(diǎn),確保任一時(shí)間點(diǎn)上,至少和本簇集內(nèi)一個(gè)節(jié)點(diǎn)連通。若一個(gè)節(jié)點(diǎn)發(fā)現(xiàn)它和本簇集中的任一節(jié)點(diǎn)沒(méi)有連接,但和其它簇集中的節(jié)點(diǎn)有連接,則它會(huì)發(fā)出改變地址請(qǐng)求,請(qǐng)求連接到新的可達(dá)簇集上;若沒(méi)有任何節(jié)點(diǎn)與它相連,則它發(fā)出廣播信令檢查是否存在可用網(wǎng)絡(luò);若存在可用網(wǎng)絡(luò)則加入這個(gè)網(wǎng)絡(luò),若不存在可用網(wǎng)絡(luò)則初始化一個(gè)網(wǎng)絡(luò)。

      L1、L2、L3層的每個(gè)節(jié)點(diǎn)都會(huì)盡力保持和本簇集中至少一個(gè)節(jié)點(diǎn)連通,若這個(gè)節(jié)點(diǎn)失去了和本簇集節(jié)點(diǎn)的連接,則它會(huì)改變地址,連接到其他簇集并通知下屬頭節(jié)點(diǎn),讓下屬頭節(jié)點(diǎn)改變地址成為新的簇頭。

      步驟五:節(jié)點(diǎn)定期發(fā)送更新消息。

      在網(wǎng)絡(luò)中所有的節(jié)點(diǎn)定期發(fā)送更新消息給本簇集簇頭,以保證簇頭中地址表信息是網(wǎng)絡(luò)中節(jié)點(diǎn)的最新信息,釋放離開(kāi)網(wǎng)絡(luò)的節(jié)點(diǎn)信息,保證簇頭地址表信息都是最新的。更新消息廣播信令都在發(fā)到本簇集內(nèi)部,不會(huì)發(fā)到本簇集外部,大大減小網(wǎng)絡(luò)開(kāi)銷(xiāo)。

      步驟六:根據(jù)構(gòu)建好的網(wǎng)絡(luò),動(dòng)態(tài)分配IP地址。

      (1)節(jié)點(diǎn)加入網(wǎng)絡(luò)時(shí)的動(dòng)態(tài)分配IP地址,具體方法如下:

      首先節(jié)點(diǎn)發(fā)出廣播信令檢查是否存在可用網(wǎng)絡(luò),若沒(méi)有收到應(yīng)答廣播信令,則認(rèn)為不存在可加入網(wǎng)絡(luò),選擇一個(gè)網(wǎng)絡(luò)號(hào)和子網(wǎng)掩碼,初始化網(wǎng)絡(luò),初始化節(jié)點(diǎn)的IP地址為可用IP地址中最小的IP地址。

      若收到應(yīng)答廣播信令,則該節(jié)點(diǎn)加入這個(gè)網(wǎng)絡(luò),該節(jié)點(diǎn)稱(chēng)為請(qǐng)求節(jié)點(diǎn),請(qǐng)求節(jié)點(diǎn)通過(guò)分配器加入已存在的網(wǎng)絡(luò),分配器是網(wǎng)絡(luò)中與請(qǐng)求節(jié)點(diǎn)直接相連的節(jié)點(diǎn);若請(qǐng)求節(jié)點(diǎn)與該網(wǎng)絡(luò)中已存在的多個(gè)節(jié)點(diǎn)直接相連,則請(qǐng)求節(jié)點(diǎn)選擇最低層的那個(gè)直連節(jié)點(diǎn)作為它的分配器,分配器可以給請(qǐng)求節(jié)點(diǎn)分配IP地址;若分配器是K層節(jié)點(diǎn),K為1或2或3,若有可用空閑IP地址,則自動(dòng)給請(qǐng)求節(jié)點(diǎn)分配一個(gè)K-1層的IP地址,請(qǐng)求節(jié)點(diǎn)發(fā)送自己的MAC地址和最新進(jìn)入網(wǎng)絡(luò)時(shí)間給簇頭,簇頭更新地址表,記錄與IP地址相對(duì)應(yīng)的MAC地址和請(qǐng)求節(jié)點(diǎn)最新進(jìn)入網(wǎng)絡(luò)時(shí)間,若無(wú)可用空閑IP地址,則由上層節(jié)點(diǎn)為該請(qǐng)求節(jié)點(diǎn)分配可用空閑IP地址;若分配器是L0層節(jié)點(diǎn),分配器發(fā)消息給L1層簇頭,由L1層簇頭為該請(qǐng)求節(jié)點(diǎn)分配可用空閑IP地址;若L1層節(jié)點(diǎn)有可用空閑IP地址,則L1層節(jié)點(diǎn)通知分配器有可用空閑IP地址并將IP地址發(fā)給分配器,分配器將IP地址發(fā)給請(qǐng)求節(jié)點(diǎn),請(qǐng)求節(jié)點(diǎn)收到后將自己的MAC地址和最新進(jìn)入網(wǎng)絡(luò)時(shí)間發(fā)給分配器,分配器把請(qǐng)求節(jié)點(diǎn)的MAC地址和最新進(jìn)入網(wǎng)絡(luò)時(shí)間發(fā)給L1層節(jié)點(diǎn),L1層節(jié)點(diǎn)更新地址表,發(fā)送完消息后將更新地址表給分配器,分配器接收到完成消息后,會(huì)給請(qǐng)求節(jié)點(diǎn)發(fā)送完成消息,分配IP地址過(guò)程結(jié)束;若L1層節(jié)點(diǎn)沒(méi)有可用空閑IP地址,則由L2層節(jié)點(diǎn)為該請(qǐng)求節(jié)點(diǎn)分配IP地址,若L2層節(jié)點(diǎn)沒(méi)有可用空閑IP地址,則由L3層節(jié)點(diǎn)為該請(qǐng)求節(jié)點(diǎn)分配IP地址,最終請(qǐng)求節(jié)點(diǎn)會(huì)得到可用的空閑IP地址。

      (2)節(jié)點(diǎn)離開(kāi)網(wǎng)絡(luò)時(shí)的動(dòng)態(tài)分配IP地址,具體方法如下:

      在一個(gè)節(jié)點(diǎn)離開(kāi)網(wǎng)絡(luò)后,Ad-hoc網(wǎng)絡(luò)有自愈行為,能夠根據(jù)一定規(guī)則自動(dòng)重組新的完整網(wǎng)絡(luò)。節(jié)點(diǎn)離開(kāi)有兩種方式,通過(guò)退出機(jī)制離開(kāi)和突然離開(kāi),具體方法如下:

      若L0層的節(jié)點(diǎn)通過(guò)退出機(jī)制離開(kāi)網(wǎng)絡(luò),則與該節(jié)點(diǎn)直連可達(dá)的節(jié)點(diǎn)通知簇頭節(jié)點(diǎn)離開(kāi),簇頭修改地址表,使退出網(wǎng)絡(luò)的節(jié)點(diǎn)IP地址空閑可用。

      若L0層的節(jié)點(diǎn)突然離開(kāi)網(wǎng)絡(luò),每個(gè)L1層的節(jié)點(diǎn)定期接收來(lái)自本簇集L0層節(jié)點(diǎn)的更新,L0層節(jié)點(diǎn)突然離開(kāi),簇頭接收不到來(lái)自離開(kāi)節(jié)點(diǎn)的更新消息,門(mén)限值時(shí)間后簇頭仍接收不到來(lái)自離開(kāi)節(jié)點(diǎn)的更新消息,簇頭會(huì)發(fā)送一個(gè)消息給離開(kāi)的節(jié)點(diǎn),若簇頭沒(méi)有收到回復(fù),則認(rèn)為這個(gè)節(jié)點(diǎn)已離開(kāi)網(wǎng)絡(luò),釋放該節(jié)點(diǎn)的IP地址使其可用。

      若L1、L2、L3層節(jié)點(diǎn)通過(guò)退出機(jī)制離開(kāi)網(wǎng)絡(luò),通知下屬頭節(jié)點(diǎn)它要離開(kāi),同步下屬頭節(jié)點(diǎn)中存儲(chǔ)的地址表,簇頭離開(kāi)網(wǎng)絡(luò)后,下屬頭節(jié)點(diǎn)改變IP地址成為新的簇頭。

      若L1、L2、L3層節(jié)點(diǎn)突然離開(kāi)網(wǎng)絡(luò),下屬頭節(jié)點(diǎn)并不知道簇頭已離開(kāi)網(wǎng)絡(luò),直到網(wǎng)絡(luò)中的節(jié)點(diǎn)不能聯(lián)系到簇頭,通知下屬頭節(jié)點(diǎn)簇頭已離開(kāi)網(wǎng)絡(luò),下屬頭節(jié)點(diǎn)確認(rèn)簇頭已離開(kāi)網(wǎng)絡(luò),則改變IP地址成為新的簇頭。

      (3)查找網(wǎng)絡(luò)中節(jié)點(diǎn)時(shí)的動(dòng)態(tài)分配IP地址,以下結(jié)合附圖3進(jìn)一步描述,具體步驟如下:

      (1)在LK層,K為0或1或2,節(jié)點(diǎn)詢(xún)問(wèn)位于LK+1層簇頭要查找的節(jié)點(diǎn)是否在本簇集內(nèi),若要查找的節(jié)點(diǎn)在本簇集內(nèi),則返回要查找節(jié)點(diǎn)的IP地址,若要查找的節(jié)點(diǎn)不在本簇集內(nèi),則簇頭發(fā)送查找地址請(qǐng)求給同層的其他節(jié)點(diǎn)。

      (2)同層其他節(jié)點(diǎn)收到查找地址請(qǐng)求后,查找本簇集內(nèi)是否有要查找節(jié)點(diǎn),若要查找的節(jié)點(diǎn)在本簇集內(nèi),則返回要查找節(jié)點(diǎn)的IP地址,若要查找的節(jié)點(diǎn)不在本簇集內(nèi),則請(qǐng)求節(jié)點(diǎn)的簇頭發(fā)送查找地址請(qǐng)求給上層節(jié)點(diǎn)。

      (3)上層節(jié)點(diǎn)收到查找地址請(qǐng)求并發(fā)送查找地址請(qǐng)求給同層其他節(jié)點(diǎn),同層其他節(jié)點(diǎn)查找要查找節(jié)點(diǎn)是否在本簇集內(nèi),若要查找的節(jié)點(diǎn)在本簇集內(nèi),則返回要查找節(jié)點(diǎn)的IP,若要查找的節(jié)點(diǎn)不在本簇集內(nèi),則上層節(jié)點(diǎn)發(fā)送查找地址請(qǐng)求給它的上層節(jié)點(diǎn),重復(fù)步驟(3),直到找到要查找節(jié)點(diǎn)的IP地址或所有簇頭均被訪(fǎng)問(wèn)完。

      當(dāng)前第1頁(yè)1 2 3 
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1