專利名稱:一種自組網(wǎng)中因特網(wǎng)域名服務(wù)器的自動(dòng)配置方法
技術(shù)領(lǐng)域:
本發(fā)明屬于移動(dòng)自組織網(wǎng)絡(luò)MANET(Mobile Ad Hoc Networks)技術(shù)領(lǐng)域:
,是MANET自動(dòng)配置技術(shù)中因特網(wǎng)域名服務(wù)器配置的一種實(shí)現(xiàn)方法。
背景技術(shù):
移動(dòng)自組織網(wǎng)絡(luò)(MANET)是一種無基站的無線多跳網(wǎng)絡(luò),是一種具有高度動(dòng)態(tài)拓?fù)洹⒐?jié)點(diǎn)任意移動(dòng)的、點(diǎn)對點(diǎn)的自創(chuàng)建、自組織、自管理網(wǎng)絡(luò)。文獻(xiàn)[1]Ramanathan R,Redi J,“A Brief Overview of mobile Ad hocNetworksChallenges and Directions”,IEEE Communications Magazine,50thAnniversary Commemorative Issue[C],2002。為了減輕MANET用戶手工配置的繁瑣,使MANET的快速組網(wǎng)、靈活易用的特性得到從分體現(xiàn),必須在MANET中使用各種自動(dòng)配置技術(shù),包括地址自動(dòng)配置、域名解析和服務(wù)發(fā)現(xiàn)。[2]Jaehoon Jeong,Jungsoo Park,“Autoconfiguration Technologiesfor IPv6 Multicast Service in Mobile Ad-hoc Networks”,The InternationalConference on Information Networking,2002。而因特網(wǎng)域名服務(wù)器自動(dòng)配置就屬于域名解析的一個(gè)組成部分。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種移動(dòng)白組織網(wǎng)絡(luò)中自動(dòng)配置因特網(wǎng)域名服務(wù)器的實(shí)現(xiàn)方法。
因特網(wǎng)域名服務(wù)器是Internet中的一個(gè)節(jié)點(diǎn),它能夠?yàn)榫W(wǎng)絡(luò)中的其它節(jié)點(diǎn)提供域名解析服務(wù)。MANET(Mobile Ad Hoc Networks)網(wǎng)絡(luò)通過網(wǎng)關(guān)與Intemet連接,MANET節(jié)點(diǎn)通過網(wǎng)關(guān)訪問Intemet中的節(jié)點(diǎn)。本發(fā)明要求網(wǎng)關(guān)本身就是域名服務(wù)器,或者網(wǎng)關(guān)配置有因特網(wǎng)域名服務(wù)器(網(wǎng)關(guān)可以通過該域名服務(wù)器進(jìn)行域名解析),否則無法為MANET節(jié)點(diǎn)配置因特網(wǎng)域名服務(wù)器。
在MANET中配置因特網(wǎng)域名服務(wù)器就是在網(wǎng)絡(luò)中找到一臺(tái)能夠提供Internet域名解析的服務(wù)器,并將該服務(wù)器配置為自己的域名解析服務(wù)器。
本發(fā)明定義了在域名服務(wù)器配置過程中使用的兩種消息域名服務(wù)器請求消息和域名服務(wù)消息。消息格式如下0 7 8 14 15
域名服務(wù)器請求消息格式Type 0G 應(yīng)答標(biāo)識(shí)0表示中間節(jié)點(diǎn)可以應(yīng)答該請求消息;1表示只能由網(wǎng)關(guān)應(yīng)答Reserved 保留字段,置為全0P 協(xié)議標(biāo)識(shí)0表示源IP地址為IPv4地址;1表示源IP地址為IPv6地址Original IP Address 發(fā)送該請求的源結(jié)點(diǎn)IP地址P為O時(shí),為32位IPv4地址;P為1時(shí),為128位IPv6地址0 7 8 14 15
域名服務(wù)消息格式Type 1N 網(wǎng)關(guān)域名服務(wù)器標(biāo)識(shí)
0表示網(wǎng)關(guān)不能提供域名服務(wù),域名服務(wù)器由NameserverIP Address字段給出;1表示網(wǎng)關(guān)就是域名服務(wù)器,其地址由Gateway IP Address字段給出,此時(shí),無NameserverIP Address字段E 錯(cuò)誤類型標(biāo)識(shí)0表示無錯(cuò)誤;1表示“無域名服務(wù)器”Reserved 保留字段,置為全0P 協(xié)議標(biāo)識(shí)0表示該消息中的IP地址為IPv4地址;1表示該消息中的IP地址為IPv6地址Lifetime 網(wǎng)關(guān)的生存期,一個(gè)16位的整數(shù)Gateway IP Address 網(wǎng)關(guān)的IP地址;N為1時(shí),同時(shí)表示域名服務(wù)器的地址Nameserver IP Address 域名服務(wù)器的IP地址本發(fā)明所提出的因特網(wǎng)域名服務(wù)器配置方法的實(shí)現(xiàn)由域名服務(wù)器配置模塊和配置服務(wù)模塊組成。配置服務(wù)模塊運(yùn)行在網(wǎng)關(guān)上,負(fù)責(zé)廣播域名服務(wù)消息,并對收到的域名服務(wù)器請求消息進(jìn)行應(yīng)答;域名服務(wù)器配置模塊運(yùn)行在MANET節(jié)點(diǎn)上,負(fù)責(zé)發(fā)送域名服務(wù)器請求消息,處理和轉(zhuǎn)發(fā)域名服務(wù)器配置消息(包括域名服務(wù)消息和域名服務(wù)器請求消息)。
因特網(wǎng)域名服務(wù)器配置流程如下網(wǎng)關(guān)周期性地向MANET中的節(jié)點(diǎn)廣播域名服務(wù)信息,域名服務(wù)信息承載于DN_SERVER消息中。網(wǎng)關(guān)域名服務(wù)信息廣播具體流程如圖1所示。
當(dāng)一個(gè)節(jié)點(diǎn)加入MANET網(wǎng)絡(luò)時(shí),啟動(dòng)域名服務(wù)器配置過程,向網(wǎng)關(guān)發(fā)送域名服務(wù)器請求消息。源結(jié)點(diǎn)域名服務(wù)器配置流程如圖2所示。
中間節(jié)點(diǎn)收到域名服務(wù)器請求消息后,對該消息進(jìn)行處理,并向網(wǎng)關(guān)轉(zhuǎn)發(fā)。中間節(jié)點(diǎn)還會(huì)對DN_SERVER消息進(jìn)行處理和轉(zhuǎn)發(fā)。中間節(jié)點(diǎn)消息處理具體流程如圖3所示。
當(dāng)網(wǎng)關(guān)收到域名服務(wù)器請求消息后,盡快向源請求節(jié)點(diǎn)發(fā)送域名服務(wù)消息進(jìn)行應(yīng)答。網(wǎng)關(guān)域名服務(wù)響應(yīng)流程如圖4所示。
域名服務(wù)消息經(jīng)中間節(jié)點(diǎn)處理和轉(zhuǎn)發(fā)后到達(dá)源結(jié)點(diǎn)。源結(jié)點(diǎn)收到該消息后,將其中的域名服務(wù)器配置為自己的首選域名服務(wù)器(例如,在linux操作系統(tǒng)中,可將該域名服務(wù)器的IP地址加入文件/etc/resolv.conf中)然后啟動(dòng)網(wǎng)關(guān)生存期計(jì)時(shí)器T3,T3的計(jì)時(shí)值為域名服務(wù)消息中的Lifetime值,當(dāng)T3超時(shí),節(jié)點(diǎn)的網(wǎng)關(guān)配置被置為無效狀態(tài),域名服務(wù)器配置被刪除。若該消息是“無域名服務(wù)器”消息,即消息中的E位為1,向用戶返回“無域名服務(wù)器”指示。
分析上面的域名服務(wù)器配置過程,可以看出本發(fā)明的特點(diǎn)(1)將網(wǎng)關(guān)配置過程和域名服務(wù)器配置過程結(jié)合在一起,可以共用控制消息報(bào)文的傳輸,減少單獨(dú)傳輸這些報(bào)文所浪費(fèi)的網(wǎng)絡(luò)資源,同時(shí)使整個(gè)MANET系統(tǒng)的實(shí)現(xiàn)更加統(tǒng)一。
(2)允許中間節(jié)點(diǎn)對域名服務(wù)器請求進(jìn)行應(yīng)答,不但減少了多余傳輸所占用的網(wǎng)絡(luò)帶寬,而且使源請求節(jié)點(diǎn)更快地得到域名服務(wù)信息,更加及時(shí)地使用域名訪問Internet節(jié)點(diǎn)。
(3)使用本發(fā)明提出的方法可以快速地為MANET節(jié)點(diǎn)配置網(wǎng)關(guān)和域名服務(wù)器,減少用戶手動(dòng)配置的繁瑣,使用戶能夠及時(shí)、便捷地訪問Internet。
本發(fā)明已經(jīng)用在中科院計(jì)算所IPv6 MANET測試床系統(tǒng)的設(shè)計(jì)中。
發(fā)明技術(shù)方案移動(dòng)自組網(wǎng)中的因特網(wǎng)域名服務(wù)器自動(dòng)配置方法將域名服務(wù)器配置和網(wǎng)關(guān)配置結(jié)合在一起;網(wǎng)關(guān)周期性地向MANET廣播域名服務(wù)消息,宣告自己的網(wǎng)關(guān)配置和域名服務(wù)器配置信息;加入MANET的節(jié)點(diǎn)S向網(wǎng)關(guān)單播發(fā)送或向網(wǎng)絡(luò)廣播發(fā)送域名服務(wù)器請求消息,用以獲取網(wǎng)關(guān)和域名服務(wù)器的配置信息;中間節(jié)點(diǎn)收到域名服務(wù)器請求消息,若發(fā)現(xiàn)該消息允許中間節(jié)點(diǎn)應(yīng)答,且自己有網(wǎng)關(guān)和域名服務(wù)器配置消息,就向S單播發(fā)送域名服務(wù)消息,否則,將域名服務(wù)器請求消息轉(zhuǎn)發(fā)出去;網(wǎng)關(guān)收到域名服務(wù)器請求消息后,根據(jù)自己的域名服務(wù)器配置,生成域名服務(wù)消息,向節(jié)點(diǎn)S發(fā)送;請求節(jié)點(diǎn)S收到域名服務(wù)消息后,根據(jù)其中的網(wǎng)關(guān)信息和域名服務(wù)器信息配置自己的網(wǎng)關(guān)和域名服務(wù)器。配置好網(wǎng)關(guān)和域名服務(wù)器后,MANET節(jié)點(diǎn)就可以通過域名訪問Internet上的節(jié)點(diǎn)了。
圖1是網(wǎng)關(guān)域名服務(wù)信息廣播流程圖。
圖2是域名服務(wù)器配置流程圖。
圖3是中間節(jié)點(diǎn)消息處理流程圖。
圖4是網(wǎng)關(guān)域名服務(wù)響應(yīng)流程圖。
具體實(shí)施方式
自組網(wǎng)中因特網(wǎng)域名服務(wù)器的自動(dòng)配置方法,其中的網(wǎng)關(guān)域名服務(wù)信息廣播處理流程如下步驟S1若網(wǎng)關(guān)提供域名服務(wù),或者網(wǎng)關(guān)配置有域名服務(wù)器,將網(wǎng)關(guān)地址或首選域名服務(wù)器地址保存在域名服務(wù)器記錄變量DN_SERVER中,進(jìn)入S2;否則,置DN_SERVER為空,等待;步驟S2啟動(dòng)定時(shí)器T1,周期性地廣播域名服務(wù)器配置信息,DN_SERVER被承載于域名服務(wù)消息中;步驟S3若節(jié)點(diǎn)發(fā)現(xiàn)自身的IP地址或首選域名服務(wù)器IP地址改變,將新地址保存于DN_SERVER中,并周期性地廣播新的域名服務(wù)器配置信息。
圖1中各事件的處理步驟如下(網(wǎng)關(guān)域名服務(wù)信息廣播流程)S1.1當(dāng)網(wǎng)關(guān)啟動(dòng)配置服務(wù)模塊時(shí),判斷自己是否為域名服務(wù)器,即自己是否運(yùn)行了域名服務(wù)程序(如BIND)為其它網(wǎng)絡(luò)節(jié)點(diǎn)提供域名解析服務(wù),若網(wǎng)關(guān)是域名服務(wù)器,進(jìn)入S1.2;否則,轉(zhuǎn)到S1.3;S1.2將網(wǎng)關(guān)的IP地址保存在域名服務(wù)器記錄變量DN_SERVER中,進(jìn)入S1.6。
S1.3判斷自己是否配置有域名服務(wù)器(例如,在linux操作系統(tǒng)中,判斷文件/etc/resolv.conf中是否配置有域名服務(wù)器的IP地址),若有域名服務(wù)器配置,轉(zhuǎn)到S1.5;否則,進(jìn)入S1.4;S1.4置DN_SERVER為空,即沒有域名服務(wù)器;S1.5置DN_SERVER為網(wǎng)關(guān)所配置的首選域名服務(wù)器的IP地址(例如,在linux操作系統(tǒng)中,置DN_SERVER為文件/etc/resolv.conf中第一條nameserver記錄的IP地址),進(jìn)入S1.6;S1.6啟動(dòng)定時(shí)器T1,用于周期性地廣播域名服務(wù)消息,T1的時(shí)間周期為NS_BROADCAST_TIMEOUT(其值根據(jù)實(shí)際的MANET網(wǎng)絡(luò)環(huán)境和規(guī)模決定),T1超時(shí)后,立即重啟下一次計(jì)時(shí),定時(shí)器T1啟動(dòng)后,進(jìn)入S1.7;S1.7將DN_SERVER置入域名服務(wù)消息中廣播出去,若網(wǎng)關(guān)就是域名服務(wù)器,N被置1,否則,N被置0;E位置0;P根據(jù)網(wǎng)關(guān)所使用的IP協(xié)議類型而定;Lifetime為網(wǎng)關(guān)的生存期,從網(wǎng)關(guān)配置文件中讀?。籊atewayIP Address為網(wǎng)關(guān)的IP地址,N為1時(shí),為DN_SERVER所保存的IP地址;當(dāng)N為0時(shí),Nameserver IP Address為DN_SERVER中的IP地址;進(jìn)入S1.8;S1.8檢查自己的IP地址或首選域名服務(wù)器IP地址是否改變,若改變,進(jìn)入S1.9;若未改變,轉(zhuǎn)到S1.10;S1.9置DN_SERVER為新的域名服務(wù)器地址,轉(zhuǎn)到S1.6;S1.10判斷T1是否超時(shí),若未超時(shí),進(jìn)入S1.8;若等到T1超時(shí),進(jìn)入S1.7,周期性地廣播域名服務(wù)消息。
自組網(wǎng)中因特網(wǎng)域名服務(wù)器的自動(dòng)配置方法,其中的域名服務(wù)器配置流程如下步驟S1檢查路由表中是否有網(wǎng)關(guān)信息,若有網(wǎng)關(guān)信息,向網(wǎng)關(guān)單播發(fā)送域名服務(wù)器請求消息,若沒有,向網(wǎng)絡(luò)廣播發(fā)送域名服務(wù)器請求消息;
步驟S2啟動(dòng)域名服務(wù)消息等待定時(shí)器T2,若在T2未超時(shí)前,收到了域名服務(wù)消息,轉(zhuǎn)到步驟S5,若T2超時(shí),沒有收到域名服務(wù)消息,就再次發(fā)送域名服務(wù)器請求消息,并重啟定時(shí)器T2,等待域名服務(wù)消息的到來;步驟S3若T2再次超時(shí)前,仍未收到域名服務(wù)消息,判斷所發(fā)送的域名服務(wù)器請求消息是否為廣播,若為廣播,向用戶發(fā)送“無域名服務(wù)器”指示,結(jié)束;若為單播,向網(wǎng)絡(luò)廣播域名服務(wù)器請求消息,并重啟T2,若在T2超時(shí)前,收到了域名服務(wù)消息,轉(zhuǎn)到步驟S5;步驟S4若T2第三次超時(shí),就再次廣播域名服務(wù)器請求消息,若在T2第三次或第四次超時(shí)前,都未收到域名服務(wù)消息,向用戶發(fā)送“無域名服務(wù)器”指示,結(jié)束;否則,進(jìn)入步驟S5;步驟S5收到域名服務(wù)消息后,根據(jù)其中的信息配置自己的網(wǎng)關(guān)和域名服務(wù)器,結(jié)束。
圖2中各事件的處理步驟如下(域名服務(wù)器配置流程)S2.1當(dāng)域名服務(wù)器配置模塊啟動(dòng)時(shí),首先查找路由表,檢查路由表中是否有網(wǎng)關(guān)信息,即判斷路由表中是否有標(biāo)識(shí)為網(wǎng)關(guān)的IP地址,若有,轉(zhuǎn)到S2.3;若路由表中沒有網(wǎng)關(guān)信息,進(jìn)入S2.2;S2.2置請求計(jì)數(shù)器Counter的初值為2,廣播域名服務(wù)器請求消息,然后轉(zhuǎn)到S2.5;在域名服務(wù)器請求消息中,G位根據(jù)網(wǎng)絡(luò)狀況和應(yīng)答策略而定;P位根據(jù)節(jié)點(diǎn)所使用的IP協(xié)議類型而定;Original IP Address為節(jié)點(diǎn)自己的IP地址(如MANET內(nèi)部地址);S2.3置請求計(jì)數(shù)器Counter的初值為0,進(jìn)入S2.4;S2.4向網(wǎng)關(guān)單播發(fā)送域名服務(wù)器請求消息,IP頭的目的地址為在路由表中查到的網(wǎng)關(guān)IP地址;進(jìn)入S2.5;S2.5請求計(jì)數(shù)器Counter的值加1,并啟動(dòng)域名服務(wù)消息等待定時(shí)器T2,等待域名服務(wù)消息應(yīng)答的到來,T2的計(jì)時(shí)周期為DN_SERVER_WAIT_TIME,其值根據(jù)實(shí)際的網(wǎng)絡(luò)環(huán)境而定,進(jìn)入S2.6;S2.6等待T2超時(shí),若在T2未超時(shí)的過程中,收到發(fā)給自己的域名服務(wù)消息,釋放定時(shí)器T2,轉(zhuǎn)到S2.10;若T2超時(shí),進(jìn)入S2.7;S2.7判斷請求計(jì)數(shù)器Counter的值是否小于2,若比2小,轉(zhuǎn)到S2.4,再次單播域名服務(wù)器請求消息;若Counter的值不小于2,進(jìn)入S2.8;S2.8判斷請求計(jì)數(shù)器Counter的值是否大于3,若比3大,進(jìn)入S2.9;否則,轉(zhuǎn)到S2.2,再次廣播域名服務(wù)器請求消息;S2.9基于下述原因,系統(tǒng)認(rèn)為在本MANET網(wǎng)絡(luò)中不存在域名服務(wù)器,就向用戶返回一個(gè)“無域名服務(wù)器”指示;原因在路由表中有網(wǎng)關(guān)信息時(shí),已經(jīng)向網(wǎng)關(guān)單播兩次和向網(wǎng)絡(luò)廣播兩次域名服務(wù)器請求消息,而沒有收到域名服務(wù)消息應(yīng)答;在路由表中無網(wǎng)關(guān)信息時(shí),已經(jīng)向網(wǎng)絡(luò)廣播兩次域名服務(wù)器請求消息,而沒有收到域名服務(wù)消息應(yīng)答;S2.10當(dāng)收到承載了DN SERVER的域名服務(wù)消息時(shí),首先判斷自己是否配置了網(wǎng)關(guān),若有網(wǎng)關(guān)信息,進(jìn)入S2.11;否則,轉(zhuǎn)到S2.12;S2.11判斷域名服務(wù)消息中的網(wǎng)關(guān)地址與自己先前配置的網(wǎng)關(guān)地址是否相同,若相同,轉(zhuǎn)到S2.13;若不同,進(jìn)入S2.12;S2.12將域名服務(wù)消息中的網(wǎng)關(guān)信息配置為自己當(dāng)前的網(wǎng)關(guān),轉(zhuǎn)到S2.14;S2.13由于新網(wǎng)關(guān)與原網(wǎng)關(guān)相同,不必更改網(wǎng)關(guān)配置,直接進(jìn)入S2.14;S2.14將域名服務(wù)消息中的域名服務(wù)器地址配置為自己的首選域名服務(wù)器。
自組網(wǎng)中因特網(wǎng)域名服務(wù)器的自動(dòng)配置方法,其中的中間節(jié)點(diǎn)消息處理流程如下步驟S1判斷所收到的域名服務(wù)器配置消息類型,若為域名服務(wù)消息,進(jìn)入步驟S2;若為域名服務(wù)器請求消息,轉(zhuǎn)到步驟S3;步驟S2向請求節(jié)點(diǎn)轉(zhuǎn)發(fā)域名服務(wù)消息;檢查路由表中是否有到網(wǎng)關(guān)的路由,若沒有就建立一條到網(wǎng)關(guān)的路由;結(jié)束;步驟S3判斷收到的域名服務(wù)器請求消息是單播發(fā)送還是廣播發(fā)送的,若為單播發(fā)送,轉(zhuǎn)到步驟S5;若為廣播發(fā)送,進(jìn)入步驟S4;
步驟S4檢查路由表中是否有到請求節(jié)點(diǎn)的路由,若沒有,建立一條到請求節(jié)點(diǎn)的路由;進(jìn)入步驟S5;步驟S5檢查該請求消息是否允許中間節(jié)點(diǎn)應(yīng)答,若不允許,將請求消息轉(zhuǎn)發(fā)出去,結(jié)束;若允許,進(jìn)入步驟S6;步驟S6檢查自己是否有網(wǎng)關(guān)信息和域名服務(wù)器配置信息,若沒有,將請求消息轉(zhuǎn)發(fā)出去,若有,向請求節(jié)點(diǎn)發(fā)送域名服務(wù)消息;結(jié)束。
圖3中各事件的處理步驟如下(中間節(jié)點(diǎn)消息處理流程)S3.1當(dāng)MANET節(jié)點(diǎn)收到域名服務(wù)器配置消息,首先判斷該配置消息的類型,若為域名服務(wù)器請求消息,轉(zhuǎn)到S3.6;若為域名服務(wù)消息,進(jìn)入S3.2;S3.2將IP頭源地址改變?yōu)樽约旱腎P地址,然后向目的節(jié)點(diǎn)轉(zhuǎn)發(fā)該域名服務(wù)消息,進(jìn)入S3.3;S3.3檢查自己是否有到網(wǎng)關(guān)的路由,若沒有,進(jìn)入S3.4;否則,轉(zhuǎn)到S3.5;S3.4建立到網(wǎng)關(guān)的路由下一跳地址為發(fā)送此消息的鄰居節(jié)點(diǎn)的IP地址,即IP頭中的源IP地址;路由生存期為域名服務(wù)消息中的Lifetime;S3.5由于已有到當(dāng)前網(wǎng)關(guān)的路由,不作任何操作;S3.6判斷該域名服務(wù)器請求消息是否通過單播發(fā)送,若是,轉(zhuǎn)到S3.9;若通過廣播發(fā)送,進(jìn)入S3.7;S3.7檢查是否有到發(fā)送該請求的節(jié)點(diǎn)的路由,若有,轉(zhuǎn)到S3.9;否則,進(jìn)入S3.8;S3.8由于沒有到請求節(jié)點(diǎn)的路由,建立一條到請求節(jié)點(diǎn)的路由,用于傳送域名服務(wù)消息應(yīng)答,進(jìn)入S3.9;S3.9判斷域名服務(wù)器請求消息中的G位是否被置1,若是,表明只能由網(wǎng)關(guān)對此消息進(jìn)行應(yīng)答,轉(zhuǎn)到S3.11;若G位為0,表明中間節(jié)點(diǎn)可以對該消息進(jìn)行應(yīng)答,進(jìn)入S3.10;S3.10檢查節(jié)點(diǎn)自己是否有網(wǎng)關(guān)配置和域名服務(wù)器配置,若有,轉(zhuǎn)到S3.12;若沒有,進(jìn)入S3.11;
S3.11將收到的域名服務(wù)器請求消息轉(zhuǎn)發(fā)出去。IP頭源地址被改變?yōu)楣?jié)點(diǎn)自己的IP頭地址,IP頭目的地址不變;S3.12對域名服務(wù)器請求消息進(jìn)行應(yīng)答,構(gòu)造域名服務(wù)消息報(bào)文,然后將該消息單播發(fā)送給請求節(jié)點(diǎn)。
自組網(wǎng)中因特網(wǎng)域名服務(wù)器的自動(dòng)配置方法,其中的網(wǎng)關(guān)域名服務(wù)響應(yīng)流程如下步驟S1檢查定時(shí)器T1是否即將超時(shí),若是,等待T1超時(shí),發(fā)送域名服務(wù)信息廣播,結(jié)束;否則,進(jìn)入步驟S2;步驟S2檢查域名服務(wù)器記錄變量DN SERVER是否為空,若不為空,向請求節(jié)點(diǎn)單播發(fā)送域名服務(wù)消息,若為空,向請求節(jié)點(diǎn)單播發(fā)送“無域名服務(wù)器”消息;結(jié)束。
圖4中各事件的處理步驟如下(網(wǎng)關(guān)域名服務(wù)響應(yīng)流程)S4.1當(dāng)網(wǎng)關(guān)收到域名服務(wù)器請求消息,首選檢查定時(shí)器T1是否即將超時(shí),即檢查T1的剩余超時(shí)值是否小于某個(gè)閾值Delay_Reply_Time,其值根據(jù)網(wǎng)絡(luò)應(yīng)用環(huán)境而定,若T1即將超時(shí),轉(zhuǎn)到S4.5;否則,進(jìn)入S4.2;S4.2檢查自己的DN SERVER變量值,若不為空,進(jìn)入S4.3;否則,轉(zhuǎn)到S4.4;S4.3向請求節(jié)點(diǎn)單播發(fā)送域名服務(wù)消息,其格式與域名服務(wù)信息廣播中的格式相同;S4.4向請求節(jié)點(diǎn)發(fā)送“無域名服務(wù)器”消息,即置域名服務(wù)消息中的N位為0,E位為1,Nameserver IP Address為空;S4.5等待T1超時(shí),發(fā)送域名服務(wù)信息廣播。
權(quán)利要求
1.一種移動(dòng)自組織網(wǎng)絡(luò)中因特網(wǎng)域名服務(wù)器的自動(dòng)配置方法,其特征在于,將域名服務(wù)器配置和網(wǎng)關(guān)配置結(jié)合在一起;網(wǎng)關(guān)周期性地向MANET廣播域名服務(wù)消息,宣告自己的網(wǎng)關(guān)配置和域名服務(wù)器配置信息;加入MANET的節(jié)點(diǎn)S向網(wǎng)關(guān)單播發(fā)送或向網(wǎng)絡(luò)廣播發(fā)送域名服務(wù)器請求消息,用以獲取網(wǎng)關(guān)和域名服務(wù)器的配置信息;中間節(jié)點(diǎn)收到域名服務(wù)器請求消息,若發(fā)現(xiàn)該消息允許中間節(jié)點(diǎn)應(yīng)答,且自己有網(wǎng)關(guān)和域名服務(wù)器配置消息,就向S單播發(fā)送域名服務(wù)消息,否則,將域名服務(wù)器請求消息轉(zhuǎn)發(fā)出去;網(wǎng)關(guān)收到域名服務(wù)器請求消息后,根據(jù)自己的域名服務(wù)器配置,生成域名服務(wù)消息,向節(jié)點(diǎn)S發(fā)送;請求節(jié)點(diǎn)S收到域名服務(wù)消息后,根據(jù)其中的網(wǎng)關(guān)信息和域名服務(wù)器信息配置自己的網(wǎng)關(guān)和域名服務(wù)器。
2.根據(jù)權(quán)利要求
1的移動(dòng)自組網(wǎng)中的因特網(wǎng)域名服務(wù)器自動(dòng)配置方法,其中的網(wǎng)關(guān)域名服務(wù)信息廣播處理流程如下步驟S1若網(wǎng)關(guān)提供域名服務(wù),或者網(wǎng)關(guān)配置有域名服務(wù)器,將網(wǎng)關(guān)地址或首選域名服務(wù)器地址保存在域名服務(wù)器記錄變量DN_SERVER中,進(jìn)入S2;否則,置DN_SERVER為空,等待;步驟S2啟動(dòng)定時(shí)器T1,周期性地廣播域名服務(wù)器配置信息,DN_SERVER被承載于域名服務(wù)消息中;步驟S3若節(jié)點(diǎn)發(fā)現(xiàn)自身的IP地址或首選域名服務(wù)器IP地址改變,將新地址保存于DN_SERVER中,并周期性地廣播新的域名服務(wù)器配置信息。
3.根據(jù)權(quán)利要求
2的移動(dòng)自組網(wǎng)中的因特網(wǎng)域名服務(wù)器自動(dòng)配置方法,其特征在于,網(wǎng)關(guān)域名服務(wù)信息廣播處理流程具體步驟如下S1.1當(dāng)網(wǎng)關(guān)啟動(dòng)配置服務(wù)模塊時(shí),判斷自己是否為域名服務(wù)器,即自己是否運(yùn)行了域名服務(wù)程序?yàn)槠渌W(wǎng)絡(luò)節(jié)點(diǎn)提供域名解析服務(wù),若網(wǎng)關(guān)是域名服務(wù)器,進(jìn)入S1.2;否則,轉(zhuǎn)到S1.3;S1.2將網(wǎng)關(guān)的IP地址保存在域名服務(wù)器記錄變量DN_SERVER中,進(jìn)入S1.6;S1.3判斷自己是否配置有域名服務(wù)器,若有域名服務(wù)器配置,轉(zhuǎn)到S1.5;否則,進(jìn)入S1.4;S1.4置DN_SERVER為空,即沒有域名服務(wù)器;S1.5置DN_SERVER為網(wǎng)關(guān)所配置的首選域名服務(wù)器的IP地址,進(jìn)入S1.6;S1.6啟動(dòng)定時(shí)器T1,用于周期性地廣播域名服務(wù)消息,T1的時(shí)間周期為NS_BROADCAST_TIMEOUT,T1超時(shí)后,立即重啟下一次計(jì)時(shí),定時(shí)器T1啟動(dòng)后,進(jìn)入S1.7;S1.7將DN_SERVER置入域名服務(wù)消息中廣播出去,若網(wǎng)關(guān)就是域名服務(wù)器,N被置1,否則,N被置0;E位置0;P根據(jù)網(wǎng)關(guān)所使用的IP協(xié)議類型而定;Lifetime為網(wǎng)關(guān)的生存期,從網(wǎng)關(guān)配置文件中讀取;Gateway IP Address為網(wǎng)關(guān)的IP地址,N為1時(shí),為DN_SERVER所保存的IP地址;當(dāng)N為0時(shí),Nameserver IP Address為DN_SERVER中的IP地址;進(jìn)入S1.8;S1.8檢查自己的IP地址或首選域名服務(wù)器IP地址是否改變,若改變,進(jìn)入S1.9;若未改變,轉(zhuǎn)到S1.10;S1.9置DN SERVER為新的域名服務(wù)器地址,轉(zhuǎn)到S1.6;S1.10判斷T1是否超時(shí),若未超時(shí),進(jìn)入S1.8;若等到T1超時(shí),進(jìn)入S1.7,周期性地廣播域名服務(wù)消息。
4.根據(jù)權(quán)利要求
1的移動(dòng)自組網(wǎng)中的因特網(wǎng)域名服務(wù)器自動(dòng)配置方法,其中的域名服務(wù)器配置流程如下步驟S1檢查路由表中是否有網(wǎng)關(guān)信息,若有網(wǎng)關(guān)信息,向網(wǎng)關(guān)單播發(fā)送域名服務(wù)器請求消息,若沒有,向網(wǎng)絡(luò)廣播發(fā)送域名服務(wù)器請求消息;步驟S2啟動(dòng)域名服務(wù)消息等待定時(shí)器T2,若在T2未超時(shí)前,收到了域名服務(wù)消息,轉(zhuǎn)到步驟S5,若T2超時(shí),沒有收到域名服務(wù)消息,就再次發(fā)送域名服務(wù)器請求消息,并重啟定時(shí)器T2,等待域名服務(wù)消息的到來;步驟S3若T2再次超時(shí)前,仍未收到域名服務(wù)消息,判斷所發(fā)送的域名服務(wù)器請求消息是否為廣播,若為廣播,向用戶發(fā)送“無域名服務(wù)器”指示結(jié)束;若為單播,向網(wǎng)絡(luò)廣播域名服務(wù)器請求消息,并重啟T2,若在T2超時(shí)前,收到了域名服務(wù)消息,轉(zhuǎn)到步驟S5;步驟S4若T2第三次超時(shí),就再次廣播域名服務(wù)器請求消息,若在T2第三次或第四次超時(shí)前,都未收到域名服務(wù)消息,向用戶發(fā)送“無域名服務(wù)器”指示,結(jié)束;否則,進(jìn)入步驟S5;步驟S5收到域名服務(wù)消息后,根據(jù)其中的信息配置自己的網(wǎng)關(guān)和域名服務(wù)器,結(jié)束。
5.根據(jù)權(quán)利要求
4的移動(dòng)自組網(wǎng)中的因特網(wǎng)域名服務(wù)器自動(dòng)配置方法,其特征在于,域名服務(wù)器配置流程具體步驟如下S2.1當(dāng)域名服務(wù)器配置模塊啟動(dòng)時(shí),首先查找路由表,檢查路由表中是否有網(wǎng)關(guān)信息,即判斷路由表中是否有標(biāo)識(shí)為網(wǎng)關(guān)的IP地址,若有,轉(zhuǎn)到S2.3;若路由表中沒有網(wǎng)關(guān)信息,進(jìn)入S2.2;S2.2置請求計(jì)數(shù)器Counter的初值為2,廣播域名服務(wù)器請求消息,然后轉(zhuǎn)到S2.5;在域名服務(wù)器請求消息中,G位根據(jù)網(wǎng)絡(luò)狀況和應(yīng)答策略而定;P位根據(jù)節(jié)點(diǎn)所使用的IP協(xié)議類型而定;Original IP Address為節(jié)點(diǎn)自己的IP地址;S2.3置請求計(jì)數(shù)器Counter的初值為0,進(jìn)入S2.4;S2.4向網(wǎng)關(guān)單播發(fā)送域名服務(wù)器請求消息,IP頭的目的地址為在路由表中查到的網(wǎng)關(guān)IP地址,進(jìn)入S2.5;S2.5請求計(jì)數(shù)器Counter的值加1,并啟動(dòng)域名服務(wù)消息等待定時(shí)器T2,等待域名服務(wù)消息應(yīng)答的到來,T2的計(jì)時(shí)周期為DN_SERVER_WAIT_TIME,其值根據(jù)實(shí)際的網(wǎng)絡(luò)環(huán)境而定,進(jìn)入S2.6;S2.6等待T2超時(shí),若在T2未超時(shí)的過程中,收到發(fā)給自己的域名服務(wù)消息,釋放定時(shí)器T2,轉(zhuǎn)到S2.10;若T2超時(shí),進(jìn)入S2.7;S2.7判斷請求計(jì)數(shù)器Counter的值是否小于2,若比2小,轉(zhuǎn)到S2.4,再次單播域名服務(wù)器請求消息;若Counter的值不小于2,進(jìn)入S2.8;S2.8判斷請求計(jì)數(shù)器Counter的值是否大于3,若比3大,進(jìn)入S2.9;否則,轉(zhuǎn)到S2.2,再次廣播域名服務(wù)器請求消息;S2.9基于下述原因,系統(tǒng)認(rèn)為在本MANET網(wǎng)絡(luò)中不存在域名服務(wù)器,就向用戶返回一個(gè)“無域名服務(wù)器”指示,原因在路由表中有網(wǎng)關(guān)信息時(shí),已經(jīng)向網(wǎng)關(guān)單播兩次和向網(wǎng)絡(luò)廣播兩次域名服務(wù)器請求消息,而沒有收到域名服務(wù)消息應(yīng)答;在路由表中無網(wǎng)關(guān)信息時(shí),已經(jīng)向網(wǎng)絡(luò)廣播兩次域名服務(wù)器請求消息,而沒有收到域名服務(wù)消息應(yīng)答;S2.10當(dāng)收到承載了DN_SERVER的域名服務(wù)消息時(shí),首先判斷自己是否配置了網(wǎng)關(guān),若有網(wǎng)關(guān)信息,進(jìn)入S2.11;否則,轉(zhuǎn)到S2.12;S2.11判斷域名服務(wù)消息中的網(wǎng)關(guān)地址與自己先前配置的網(wǎng)關(guān)地址是否相同,若相同,轉(zhuǎn)到S2.13;若不同,進(jìn)入S2.12;S2.12將域名服務(wù)消息中的網(wǎng)關(guān)信息配置為自己當(dāng)前的網(wǎng)關(guān),轉(zhuǎn)到S2.14;S2.13由于新網(wǎng)關(guān)與原網(wǎng)關(guān)相同,不必更改網(wǎng)關(guān)配置,直接進(jìn)入S2.14;S2.14將域名服務(wù)消息中的域名服務(wù)器地址配置為自己的首選域名服務(wù)器。
6.根據(jù)權(quán)利要求
1的移動(dòng)自組網(wǎng)中的因特網(wǎng)域名服務(wù)器自動(dòng)配置方法,其中的中間節(jié)點(diǎn)消息處理流程如下步驟S1判斷所收到的域名服務(wù)器配置消息類型,若為域名服務(wù)消息,進(jìn)入步驟S2;若為域名服務(wù)器請求消息,轉(zhuǎn)到步驟S3;步驟S2向請求節(jié)點(diǎn)轉(zhuǎn)發(fā)域名服務(wù)消息;檢查路由表中是否有到網(wǎng)關(guān)的路由,若沒有就建立一條到網(wǎng)關(guān)的路由;結(jié)束;步驟S3判斷收到的域名服務(wù)器請求消息是單播發(fā)送還是廣播發(fā)送的,若為單播發(fā)送,轉(zhuǎn)到步驟S5;若為廣播發(fā)送,進(jìn)入步驟S4;步驟S4檢查路由表中是否有到請求節(jié)點(diǎn)的路由,若沒有,建立一條到請求節(jié)點(diǎn)的路由;進(jìn)入步驟S5;步驟S5檢查該請求消息是否允許中間節(jié)點(diǎn)應(yīng)答,若不允許,將請求消息轉(zhuǎn)發(fā)出去,結(jié)束;若允許,進(jìn)入步驟S6;步驟S6檢查自己是否有網(wǎng)關(guān)信息和域名服務(wù)器配置信息,若沒有,將請求消息轉(zhuǎn)發(fā)出去,若有,向請求節(jié)點(diǎn)發(fā)送域名服務(wù)消息;結(jié)束。
7.根據(jù)權(quán)利要求
6的移動(dòng)自組網(wǎng)中的因特網(wǎng)域名服務(wù)器自動(dòng)配置方法,其特征在于,中間節(jié)點(diǎn)消息處理流程具體步驟如下S3.1當(dāng)MANET節(jié)點(diǎn)收到域名服務(wù)器配置消息,首先判斷該配置消息的類型,若為域名服務(wù)器請求消息,轉(zhuǎn)到S3.6;若為域名服務(wù)消息,進(jìn)入S3.2;S3.2將IP頭源地址改變?yōu)樽约旱腎P地址,然后向目的節(jié)點(diǎn)轉(zhuǎn)發(fā)該域名服務(wù)消息,進(jìn)入S3.3;S3.3檢查自己是否有到網(wǎng)關(guān)的路由,若沒有,進(jìn)入S3.4;否則,轉(zhuǎn)到S3.5;S3.4建立到網(wǎng)關(guān)的路由下一跳地址為發(fā)送此消息的鄰居節(jié)點(diǎn)的IP地址,即IP頭中的源IP地址;路由生存期為域名服務(wù)消息中的Lifetime;S3.5由于已有到當(dāng)前網(wǎng)關(guān)的路由,不作任何操作;S3.6判斷該域名服務(wù)器請求消息是否通過單播發(fā)送,若是,轉(zhuǎn)到S3.9;若通過廣播發(fā)送,進(jìn)入S3.7;S3.7檢查是否有到發(fā)送該請求的節(jié)點(diǎn)的路由,若有,轉(zhuǎn)到S3.9;否則,進(jìn)入S3.8;S3.8由于沒有到請求節(jié)點(diǎn)的路由,建立一條到請求節(jié)點(diǎn)的路由,用于傳送域名服務(wù)消息應(yīng)答,進(jìn)入S3.9;S3.9判斷域名服務(wù)器請求消息中的G位是否被置1,若是,表明只能由網(wǎng)關(guān)對此消息進(jìn)行應(yīng)答,轉(zhuǎn)到S3.11;若G位為0,表明中間節(jié)點(diǎn)可以對該消息進(jìn)行應(yīng)答,進(jìn)入S3.10;S3.10檢查節(jié)點(diǎn)自己是否有網(wǎng)關(guān)配置和域名服務(wù)器配置,若有,轉(zhuǎn)到S3.12;若沒有,進(jìn)入S3.11;S3.11將收到的域名服務(wù)器請求消息轉(zhuǎn)發(fā)出去,IP頭源地址被改變?yōu)楣?jié)點(diǎn)自己的IP頭地址,IP頭目的地址不變;S3.12對域名服務(wù)器請求消息進(jìn)行應(yīng)答,構(gòu)造域名服務(wù)消息報(bào)文,然后將該消息單播發(fā)送給請求節(jié)點(diǎn)。
8.根據(jù)權(quán)利要求
1的移動(dòng)自組網(wǎng)中的因特網(wǎng)域名服務(wù)器自動(dòng)配置方法,其中的網(wǎng)關(guān)域名服務(wù)響應(yīng)流程如下步驟S1檢查定時(shí)器T1是否即將超時(shí),若是,等待T1超時(shí),發(fā)送域名服務(wù)信息廣播,結(jié)束;否則,進(jìn)入步驟S;步驟S2檢查域名服務(wù)器記錄變量DN_SERVER是否為空,若不為空,向請求節(jié)點(diǎn)單播發(fā)送域名服務(wù)消息,若為空,向請求節(jié)點(diǎn)單播發(fā)送“無域名服務(wù)器”消息;結(jié)束。
9.根據(jù)權(quán)利要求
6的移動(dòng)自組網(wǎng)中的因特網(wǎng)域名服務(wù)器自動(dòng)配置方法,其特征在于,網(wǎng)關(guān)域名服務(wù)響應(yīng)流程具體步驟如下S4.1當(dāng)網(wǎng)關(guān)收到域名服務(wù)器請求消息,首選檢查定時(shí)器T1是否即將超時(shí),即檢查T1的剩余超時(shí)值是否小于某個(gè)閾值Delay_Reply_Time,其值根據(jù)網(wǎng)絡(luò)應(yīng)用環(huán)境而定,若T1即將超時(shí),轉(zhuǎn)到S4.5;否則,進(jìn)入S4.2;S4.2檢查自己的DN_SERVER變量值,若不為空,進(jìn)入S4.3;否則,轉(zhuǎn)到S4.4;S4.3向請求節(jié)點(diǎn)單播發(fā)送域名服務(wù)消息,其格式與域名服務(wù)信息廣播中的格式相同;S4.4向請求節(jié)點(diǎn)發(fā)送“無域名服務(wù)器”消息,即置域名服務(wù)消息中的N位為0,E位為1,Nameserver IP Address為空;S4.5等待T1超時(shí),發(fā)送域名服務(wù)信息廣播。
專利摘要
本發(fā)明屬于移動(dòng)自組織網(wǎng)絡(luò)MANET技術(shù)領(lǐng)域:
,它是移動(dòng)自組織網(wǎng)絡(luò)中因特網(wǎng)域名服務(wù)器的一種自動(dòng)配置方法。本方法與MANET網(wǎng)關(guān)配置方法結(jié)合在一起,共用配置過程,減少了網(wǎng)絡(luò)額外負(fù)載,其步驟包括網(wǎng)關(guān)周期性地向MANET節(jié)點(diǎn)宣告自己的網(wǎng)關(guān)信息和域名服務(wù)器配置信息;加入MANET的節(jié)點(diǎn)S向網(wǎng)關(guān)單播或向網(wǎng)絡(luò)廣播一個(gè)域名服務(wù)器請求消息;收到該請求消息的節(jié)點(diǎn)若發(fā)現(xiàn)自己可以直接應(yīng)答,就向S發(fā)送域名服務(wù)消息,否則將請求消息轉(zhuǎn)發(fā)出去;網(wǎng)關(guān)收到請求消息后,根據(jù)自己的配置信息生成域名服務(wù)消息,單播發(fā)送給S;S收到域名服務(wù)消息后,根據(jù)其中的網(wǎng)關(guān)和域名服務(wù)器信息配置自己的網(wǎng)關(guān)和域名服務(wù)器。
文檔編號(hào)H04L12/28GKCN1323528SQ200410083798
公開日2007年6月27日 申請日期2004年10月22日
發(fā)明者周繼華, 石晶體 申請人:中國科學(xué)院計(jì)算技術(shù)研究所導(dǎo)出引文BiBTeX, EndNote, RefMan專利引用 (3),