廖 昀
(廈門億聯(lián)網(wǎng)絡(luò)技術(shù)股份有限公司,福建 廈門 361000)
移動自組網(wǎng)中節(jié)點的IP地址自動分配技術(shù)就是在分布式運行的網(wǎng)絡(luò)中,新加入的節(jié)點通過向網(wǎng)絡(luò)中已經(jīng)存在的節(jié)點申請自己的IP地址,或通過自身所獲取的網(wǎng)絡(luò)IP地址信息并進行相關(guān)的運算,得出自己可用的IP地址,進而為自己進行IP地址配置的協(xié)議。通過以上描述得出,移動自組網(wǎng)中節(jié)點的IP地址自動配置需要通過節(jié)點自身已有的信息和網(wǎng)絡(luò)中其他節(jié)點已有的信息相互協(xié)助共同完成。由于移動自組網(wǎng)中節(jié)點能夠隨機移動,并且該網(wǎng)絡(luò)不存在集中的地址管理節(jié)點,因此網(wǎng)絡(luò)中新加入的節(jié)點正在尋求一種方式來自動完成IP地址的配置。移動自組網(wǎng)的IP地址自動分配是在某些已存在節(jié)點的協(xié)同作用下共同完成的,并不是僅僅依賴于網(wǎng)絡(luò)中固定的IP地址管理節(jié)點。
由移動自組網(wǎng)中節(jié)點IP地址自動配置的含義可知,移動自組網(wǎng)中節(jié)點的IP地址自動配置協(xié)議具有如下特點:
(1)自組織。由于移動自組網(wǎng)是一種節(jié)點經(jīng)常變化、無中心節(jié)點的無線網(wǎng)絡(luò),移動自組網(wǎng)中IP地址自動配置協(xié)議能夠在這種網(wǎng)絡(luò)環(huán)境中完成每個節(jié)點的IP地址自動配置過程。
(2)分布式。由于移動自組網(wǎng)是一種分布式的網(wǎng)絡(luò),網(wǎng)絡(luò)中節(jié)點的IP地址自動配置協(xié)議是網(wǎng)絡(luò)中一個或幾個節(jié)點共同參與完成的,網(wǎng)絡(luò)中的每一個節(jié)點都有可能是節(jié)點IP地址自動配置協(xié)議中的一部分。
(3)自愈性。當(dāng)網(wǎng)絡(luò)中可用IP地址耗盡,移動自組網(wǎng)中IP地址自動配置協(xié)議能夠獲得新的可用地址,從而使IP地址自動配置過程不會因為lP資源的耗盡而終止。
(4)抗毀性。因為某些原因?qū)е戮W(wǎng)絡(luò)中的某些節(jié)點無法進行通信時,新加入網(wǎng)絡(luò)的節(jié)點也能完成IP地址自動配置過程。
基于硬件地址的IP地址分配協(xié)議是采用基于硬件MAC地址的已知網(wǎng)絡(luò)前綴和后綴組成的IP地址。此協(xié)議認為每塊以太網(wǎng)卡的硬件地址具有唯一性,所以網(wǎng)絡(luò)中節(jié)點的IP地址不能產(chǎn)生重復(fù)。但是該協(xié)議應(yīng)該注意以下情況:①移動自組網(wǎng)中節(jié)點的硬件地址有可能不是采用標準的以太網(wǎng)MAC地址,而是使用其它格式的硬件地址;②無法保證MAC地址的唯一性,因為通過ifconfig命令或重編EEPROM可以改變網(wǎng)卡的MAC地址;③相同生產(chǎn)廠家制造的多塊網(wǎng)卡的MAC地址有可能相同;④由于IP地址中隱含著硬件地址,所以通過節(jié)點的IP地址就能推出節(jié)點的MAC地址,這就使節(jié)點的安全性受到威脅。因此,采用基于硬件地址為節(jié)點自動配置IP地址的方法存在不足之處。
基于預(yù)知地址分配法的IP地址分配協(xié)議的原理是,首先網(wǎng)絡(luò)中的第一個節(jié)點選擇一個能夠產(chǎn)生隨機數(shù)的函數(shù)f(n),由此函數(shù)產(chǎn)生的隨機數(shù)作為節(jié)點的IP地址,函數(shù)f(n)需要很長的時間間隔才能產(chǎn)生兩個相同的隨機數(shù)。當(dāng)網(wǎng)絡(luò)中有新節(jié)點加入時,該節(jié)點便向網(wǎng)絡(luò)中已存在節(jié)點申請IP地址,網(wǎng)絡(luò)中已存在的節(jié)點便通過函數(shù)f(n)生成一個隨機的IP地址,然后將該IP地址回復(fù)給網(wǎng)絡(luò)中新加入的節(jié)點,下一個新加入節(jié)點的IP地址自動配置以此類推。此方法中函數(shù)f(n)能夠產(chǎn)生的IP地址數(shù)量遠遠大于網(wǎng)絡(luò)中的節(jié)點數(shù)。雖然函數(shù)f(n)需要較長的間隔時間才能生成兩個相同IP地址,但是伴隨移動自組網(wǎng)中節(jié)點的隨機移動、節(jié)點間位置關(guān)系的不斷變化,最終有可能導(dǎo)致不同節(jié)點間的IP地址沖突。
在MANETconf協(xié)議中,移動自組網(wǎng)中的所有節(jié)點都保存著兩張表:可分配IP地址表和已分配IP地址表,節(jié)點間周期性的通過廣播的形式使新這兩張表中的信息達到同步。網(wǎng)絡(luò)初始化時僅存在一個節(jié)點,該節(jié)點便從可分配IP地址表中選取一個IP地址完成自身地址的配置。以后網(wǎng)絡(luò)中新加入的節(jié)點通過網(wǎng)絡(luò)中已存在的鄰居節(jié)點來為自身配置IP地址,鄰居節(jié)點選擇1個未分配的地址(該地址存在于可分配IP地址表中但不在已分配IP地址表中),隨后向整個網(wǎng)絡(luò)內(nèi)的其他節(jié)點廣播一種特定的消息,來請求所有節(jié)點的同意,在網(wǎng)絡(luò)中所有的節(jié)點都認為該IP地址沒有被使用的前提下,鄰居節(jié)點回復(fù)該IP地址給新加入的節(jié)點,同時,同步所有節(jié)點的已分配IP地址表。否則,它將重新選取地址并進行上述過程。
該協(xié)議采用廣播的方式對網(wǎng)絡(luò)中所有節(jié)點的IP地址表信息進行更新,有效避免了IP地址沖突,但是具有很大開銷;當(dāng)網(wǎng)絡(luò)中加入新節(jié)點時,選擇的鄰居節(jié)點需要在征求網(wǎng)絡(luò)中其它節(jié)點的同意后,才能給新加入節(jié)點分配預(yù)選好的地址,具有較大的配置延時;此外,隨著網(wǎng)絡(luò)規(guī)模的擴大,此協(xié)議的時延和開銷明顯增加,該算法不具有很好的擴展性。
由Perkins,Malinen,Wakikawa,RoyerandSun等人研究的一個為移動自組網(wǎng)節(jié)點自動配置IP地址的方法,簡稱其為PMWRS算法。該算法的原理是,網(wǎng)絡(luò)中新加入的節(jié)點在IP地址池169.254/16中隨機選取一個IP地址,然后在網(wǎng)絡(luò)中泛洪達到該地址的請求報文,并啟動計時器。如果在計時器超時后,新加入節(jié)點沒有收到任何節(jié)點的地址回復(fù)報文,該節(jié)點重新發(fā)送地址請求報文。如果節(jié)點進行幾次嘗試后,還是沒有收到地址回復(fù)報文,該節(jié)點就認為它所選的IP地址沒有被其它節(jié)點使用,并為自己配置該IP地址。但是PMWRS算法也存在著缺陷。
使用PMWRS算法的節(jié)點在泛洪地址請求報文后,如果在一定的時間內(nèi)沒有收到相應(yīng)的應(yīng)答報文,節(jié)點就以為它所選的IP地址沒有被其它節(jié)點使用。但是選取計時器超時時間是一個難題。計時器超時時間太短則地址請求報文不能夠被網(wǎng)絡(luò)中的所有節(jié)點接收到。為了解決這個問題,計時器的超時時間應(yīng)與移動自組網(wǎng)中的總節(jié)點數(shù)成正比。這樣,大型的移動自組網(wǎng)中節(jié)點的IP地址自動配置延時將會很長。
PACMAN算法中節(jié)點采用了PDAD的方式以避免進行DAD(主動沖突檢測)所導(dǎo)致的大量開銷。新加入到網(wǎng)絡(luò)中的節(jié)點從地址空間中為自己選取1個IP地址。該算法通過分析節(jié)點進行路由更新時的數(shù)據(jù)信息,尋找存在地址重復(fù)時才可能發(fā)生的事件來發(fā)現(xiàn)地址沖突,并采取相應(yīng)措施進行處沖突理。例如在典型的鏈路狀態(tài)路由協(xié)議中,每個節(jié)點都需要周期性地交換含有序列號、源地址等信息鏈路狀態(tài)消息。假如鏈路狀態(tài)消息中每個節(jié)點序列號的變化都是有規(guī)律的,當(dāng)某個節(jié)點收到的某條鏈路狀態(tài)消息中具有與自己的IP地址相同的源地址,消息中的序列號大于自己當(dāng)前的序列號,則該節(jié)點確定網(wǎng)絡(luò)中發(fā)生地址沖突。
在地址分配過程中不產(chǎn)生控制信息是該算法的最大特點,該算法通過特有的路由事件來判斷地址沖突,并采取相應(yīng)的措施處理地址沖突,具有較小的協(xié)議開銷。但該算法需要的IP地址數(shù)遠遠大于網(wǎng)絡(luò)中存在的節(jié)點數(shù),否則容易導(dǎo)致地址沖突,引入沖突處理算法會增大協(xié)議的開銷。此外,該算法的實現(xiàn)針對具體的路由協(xié)議,適應(yīng)范圍過于狹窄。
這類算法的共同特點是對整個網(wǎng)絡(luò)先進行分群,一個群中的所有節(jié)點相距小于或等于r跳,根據(jù)節(jié)點鄰居數(shù)目的多少來選舉群首節(jié)點,孤立節(jié)點自立為群首。所有群內(nèi)節(jié)點屬于同一個子網(wǎng),群首節(jié)點隨機選擇一個子網(wǎng)ID,為了保證該子網(wǎng)ID的唯一性,該群首節(jié)點在所有群首節(jié)點中進行DAD(主動沖突檢測)。群首節(jié)點在確定下子網(wǎng)ID后,便向群內(nèi)所有節(jié)點周期性地廣播子網(wǎng)ID。新加入到網(wǎng)絡(luò)中的節(jié)點首先選擇一個臨時IP地址,并以該IP地址在群內(nèi)所有節(jié)點間進行主動檢測沖突,如果發(fā)生地址沖突,則節(jié)點重新選擇臨時地址,并進行主動檢測沖突,如果沒有發(fā)生地址沖突,則將該臨時地址和群首廣播的子網(wǎng)ID合并為節(jié)點的IP地址。
該算法使整個網(wǎng)絡(luò)實現(xiàn)了分群,將子網(wǎng)ID的DAD檢測限制在群首節(jié)點之間,而臨時地址的DAD檢測限制在群內(nèi),降低了協(xié)議開銷。但隨著網(wǎng)絡(luò)拓撲動態(tài)變化,節(jié)點的移動,維護網(wǎng)絡(luò)分群結(jié)構(gòu)的本身也需要很大的開銷,所以該算法并不適合于網(wǎng)絡(luò)拓撲變化劇烈、節(jié)點移動快的移動自組網(wǎng)。
本文主要針對論文研究的主要內(nèi)容,詳細闡述了移動自組網(wǎng)IP地址自動配置的定義,IP地址自動配置協(xié)議的特點,為后面章節(jié)中提出的改進算法做理論鋪墊。然后重點介紹了幾類IP地址自動分配協(xié)議,并針對每一類IP地址自動分配協(xié)議列舉了典型的、具有代表性的IP地址自動分配算法進行了簡要概述,最后對這些典型算法的優(yōu)劣進行了簡要分析。
[1]陳愛國,張曦煌.移動自組網(wǎng)的IP地址自動配置技術(shù)研究[J].計算機工程與應(yīng)用,2007,43(35):146-149.