專利名稱:用于搜索外部網中的域名系統服務器的裝置及方法
技術領域:
本發明涉及一種允許激活互聯網信息終端被直接連接到互聯網而不需在子網設置用戶的裝置和方法,尤其涉及一種用于在不存在DNS服務器的網絡中,自動搜索外部網(outernet)中的域名系統服務器(DNS)的裝置和方法。
背景技術:
在利用現存的動態主機配置協議(DHCP)方法獲得使用網際協議版本6(IPv6)的服務器的地址時,DHCP服務器將地址和有關DNS服務器的信息一起發送。因此,在信息提供商分配地址期間,能夠通過DHCP服務器獲得DNS服務器地址。DHCP涉及在某個機構的網絡中使得網絡管理者能夠對網際協議(IP)地址進行集中管理和分配的協議。根據因特網的傳輸控制/網際協議,僅僅只有固有IP地址的計算機能夠連接到因特網上。即,屬于某個機構的每一個計算機用戶應該為他/她的計算機分配一個識別IP地址,以用于連接到因特網上。如果不使用DHCP方法,則必須手動輸入IP地址給每個計算機,而且,如果把計算機移動到與網絡相連的不同地方,則必須給計算機分配一個新的IP地址。DHCP方法能夠使網絡管理者對IP地址進行集中管理和分配,并且能夠自動將新的IP地址發送到移動到與網絡相連的不同地方的計算機上。DNS是用于將因特網域名轉換為它的識別(identification)IP地址的系統,該識別IP地址用于在因特網中檢測因特網域名的位置。因特網域名涉及讓用戶容易地檢測和記住它的因特網域的因特網地址。數字IP地址被要求來在因特網上檢測計算機的位置。DNS服務器保存有關于域名和它們對應的IP地址的數據庫,并將它們提供給要求數據庫的計算機。當使用無國籍地址自動配置方法自動產生IPv6地址時,在相同鏈接中的路由器周期性地報告DNS信息,因此,能夠根據DNS信息獲得DNS服務器的地址。
不過,當使用傳統的無國籍地址自動配置方法自動產生IPv6地址時,如果DNS服務器在子網中不存在,則使用傳統的方法自動獲得DNS服務器的地址是不可能的。換言之,在IPv6地址的自動配置過程中,利用只有當DNS服務器存在于子網中時的傳統方法能夠容易地檢測到DNS服務器。
發明內容
本發明提供了一種在DNS服務器在子網中不存在時,使用IPv6地址全球范圍多目標信息包地址(multicast address)和IPv6子網任意廣播地址,自動檢測外部網中的(DNS)服務器的裝置和方法。
根據本發明的一個方面,提供了一種用于搜索外部網中的DNS服務器的裝置,該裝置包括一包括在主機中的第一外部網DNS搜索單元。該第一搜索單元產生DNS搜索消息并將其發送到第一子網,以便接收對DNS搜索消息的應答消息,并且,該第一搜索單元在應答消息沒發出時將DNS搜索消息發送到子網。主機屬于第一子網,而不屬于外部網。該裝置還包括一包括在DNS服務器中的第二外部網DNS搜索單元。該第二搜索單元產生一DNS注冊消息,將其發送到第二子網,以便從屬于第二子網的第一路由器接收對DNS注冊消息的應答消息,從第一路由器接收與DNS服務器有關的DNS搜索消息,并將對DNS搜索消息的應答消息發送給第一路由器。該裝置還包括一包括在注冊DNS服務器的路由器中的第三子網DNS搜索單元。第三搜索單元從DNS服務器接收DNS注冊消息,并且向路由器注冊DNS服務器,從第二子網接收DNS搜索消息,并將DNS搜索消息發送到已注冊的DNS服務器。該裝置還包括一包括在沒有注冊DNS服務器的路由器中的第四外部DNS搜索單元。第四搜索單元從第三子網接收DNS搜索消息,將帶有轉發限制(hop limit)DNS搜索消息發送到屬于第三子網的第三路由器,并且,將轉發限制減少一個預定值。第二路由器同時也屬于第三子網。
根據本發明的另一方面,提供了一種用于搜索外部網的DNS服務器的方法,該方法包括產生DNS搜索消息并將其發送到主機所在的第一子網,以便接收對DNS搜索消息的應答消息,并且,將DNS搜索消息發送到主機不在其中的外部網,以便接收應答消息;產生DNS注冊消息,將其發送到DNS所在的第二子網,從屬于第二子網的第一路由器接收對DNS注冊消息的應答消息,從第一路由器接收與DNS服務器有關的DNS搜索消息,并將對DNS搜索消息的應答消息發送給第一路由器;從DNS服務器接收DNS注冊消息以便向第一路由器注冊DNS服務器;從第二子網接收DNS搜索消息,并將DNS搜索消息發送到已注冊的DNS服務器;以及從第二路所在的第三子網接收DNS搜索消息,將帶有轉發限制(hop limit)的DNS搜索消息發送到第三路由器,并且,將轉發限制減少一個預定值。
通過參照附圖用詳細的非限定的實施例進行描述,本發明的上述和其它方面和優點將變得更加清楚,其中圖1是說明根據本發明的主機外部網域名系統(DNS)搜索裝置的結構圖;圖2是說明圖1的裝置的子網DNS搜索單元的結構圖;圖3是說明圖1的裝置的外部網DNS搜索單元的結構圖;圖4是說明圖3的裝置的外部網DNS搜索單元的DNS搜索消息發送單元的結構圖;圖5是說明根據本發明的DNS服務器的外部網DNS搜索裝置的結構圖;圖6是說明向其注冊DNS服務器的路由器的外部網DNS搜索裝置的結構圖;圖7是說明沒有向其注冊DNS服務器的路由器的外部網DNS搜索裝置的結構圖;圖8是說明用于搜索外部網中的DNS服務器的裝置的總體圖;圖9是說明根據本發明由主機執行的、用于搜索外部網絡中的DNS服務器的方法的流程圖;圖10是說明根據本發明作為圖9所述的方法的一部分的、用于搜索子網中的DNS服務器的方法的流程圖;圖11是說明根據本發明作為圖9所述的方法的一部分的、用于搜索外部網絡中的DNS服務器的方法的流程圖;圖12是說明包括在圖11的方法中的用于發送DNS搜索消息的方法的流程圖;圖13是說明根據本發明由DNS服務器執行的、用于搜索外部網絡中的DNS服務器的方法的流程圖;
圖14是說明根據本發明由向其注冊DNS服務器的路由器執行的、用于搜索外部網絡中的DNS服務器的方法的流程圖;圖15是說明根據本發明由沒有向其注冊DNS服務器的路由器執行的、用于搜索外部網絡中的DNS服務器的方法的流程圖;圖16是說明用于搜索外部網絡中的DNS服務器的方法的總體流程圖;圖17是DNS搜索消息的一個例子視圖;以及圖18是DNS搜索消息的另一個例子視圖;具體實施方式
圖1是說明根據本發明的主機11外部網域名系統(DNS)搜索裝置的結構圖。該裝置包括一子網DNS搜索單元1101和外部網DNS搜索單元1102。
子網DNS搜索單元1101產生DNS搜索消息,并將其發送到主機11所在的子網12,并且進一步從子網12接收對DNS搜索消息的應答消息。子網12包括路由器1201和1202中的至少一個以及至少一個直接和主機11相連接的DNS服務器1203。
或者,子網12可以僅僅由一個路由器或者一個DNS服務器組成。當子網12僅僅由一個路由器組成時,如果向路由器注冊了DNS服務器,則子網DNS搜索單元1101能夠獲得有關DNS服務器(未示出)的地址信息,即,在路由器的DNS服務器地址庫中存儲了該信息。在此情況下,子網DNS搜索單元1101產生DNS搜索消息并將其發送到主機11所在的子網12,以便接收對DNS搜索消息的應答消息。該應答消息包含有有關向路由器注冊的DNS服務器的地址信息。如果子網12僅僅由一個DNS服務器1203組成,則直接從DNS服務器1203獲得該信息是可能的。如果子網12由多個路由器組成,并且向這些路由器之中的一些路由器注冊了一個DNS服務器,則主機11從最近的路由器獲得有關DNS服務器的地址信息。如果子網12由多個DNS服務器組成,則直接從最近的DNS服務器獲得該信息。不過,當子網12由多個路由器組成,而沒有向任何一個路由器注冊DNS服務器時,即使子網DNS搜索單元1101產生DNS搜索消息且將其發送到主機11所在的子網12,主機11也不能接收對于DNS搜索消息的應答消息。
當子網DNS搜索單元1101沒有接收到對于DNS搜索消息的任何應答消息時,外部網DNS搜索單元1102將DNS搜索消息發送到主機11不在其中的外部網絡13,以便接收對于DNS搜索消息的應答消息。外部網絡13包括路由器1301、1302或者1303中的至少一個或者和主機11間接連接的至少一個DNS服務器1304。間接連接意旨至少一個路由器1301、1302或者1303或者所述至少一個DNS服務器1304和主機11的連接要求該路由器1201或者1202或者DNS服務器1203要被包括在子網12中。
或者,外部網13能夠僅僅由一個路由器或者一個DNS服務器組成。盡管外部網13僅僅由一個路由器或者一個DNS服務器組成,如果向路由器注冊DNS服務器,即,在路由器的DNS服務器地址數據庫中存儲了有關DNS服務器地址的信息,則DNS搜索消息將被發送到主機11不在其中的外部網13,以便接收對其的應答消息。用這種辦法,主機11獲得包含在應答消息中的有關DNS服務器地址的信息。當外部網13由多個路由器組成,并且在該路由器之中的一些路由器中注冊了DNS服務器,則主機11包含來自最近路由器的信息。如果外部網13由多個DNS服務器組成,則主機11直接從最近的DNS服務器獲得信息。然而,當外部網13由多個路由器組成,而DNS服務器沒有向任何路由器注冊,則即使外部網DNS搜索單元1102產生DNS搜索消息并將其發送到主機11不在其中的外部網13,主機11也不能接收對DNS搜索消息的應答消息。
不過,由于外部網經常建于當前網絡環境,所以DNS服務器的存在是有保證的。因此,如果轉發限制被設置得足夠大,則有關DNS服務器地址的信息是一定能夠獲得的。
圖2是說明根據本發明的主機外部網DNS搜索裝置的子網DNS搜索單元的結構圖。子網DNS搜索單元包括一DNS搜索消息產生單元21、一DNS搜索消息發送單元22和DNS搜索應答消息接收單元23。
DNS搜索消息產生單元21自動產生發送器地址和DNS搜索消息。在IPv6環境中,IP地址不僅可以從Ipv4環境中的DHCP服務器得到分配,而且,主機自己也可以自動產生它的IP地址。前一種方法和后一種方法分別被稱作“有國籍(stateful)地址配置”和“無國籍地址配置”,并且都按請求注解(Request For Comments,RFC)2462的格式來定義。DHCP涉及使網絡管理員能夠對IP地址進行集中管理和分配的協議。根據本發明,通過DNS搜索消息產生單元21利用IPv6環境下的無國籍地址配置方法來自動產生發送器的地址。在網際控制消息協議版本6(ICMPv6)-適合于IPv6環境的一種協議-的情形中,通過將發送器地址輸入到源地址域,并將接收部分的地址FF0E:0∷XX X X輸入到應該為目的地址域中。在接收部分的地址FF0E:0∷XXXX中,FF表示多目標信息包地址,在FF和E之間的0表示永久地址,符號∷之間的0表示全球地址(欲更詳細了解,請參看請求注解2375)。DNS搜索消息發送單元22將DNS搜索消息多目標廣播給子網24的每一個節點。如前文所述,子網24的每個節點可以是一個路由器或者DNS服務器。“多目標廣播”涉及一種數據傳輸方法,其中,至少一個發送器(根據本發明的主機)發送數據到至少一個特定的接收部分(根據本發明的子網的每一個節點)。將全球范圍多目標信息包地址FF0E:0∷XXXX輸入到目的地址域將導致數據的多目標信息包地址發送。
DNS搜索應答消息接收單元23從子網24的每一個節點接收對于DNS搜索消息的應答消息。如上所述,子網24的每一個節點可以是一路由器或者DNS服務器。對DNS搜索消息的應答消息包含有關DNS服務器地址的信息。一旦主機包含該信息(即IP地址),則主機將連接到DNS服務器,并將得到域名服務程序。
圖3是說明根據本發明的主機的外部網DNS搜索裝置的外部網DNS搜索單元的結構圖。外部網DNS搜索單元包括DNS搜索消息發送單元31和DNS搜索應答消息接收單元32。
如果圖2的子網DNS搜索單元沒有接收到應答消息,則DNS搜索消息發送單元31就將DNS搜索消息多目標廣播到外部網33的每個節點,直到它接收到對它的DNS搜索消息的應答消息。和在子網24中的情況類似,外部網33的每個節點可以是一路由器或者一DNS服務器。因為在外部網33的范圍內存在DNS服務器,DNS搜索消息將被重復地多目標廣播到外部網33的每個節點,同時逐漸擴大搜索范圍直至檢測到DNS服務器(即直到接收到對DNS搜索消息的應答消息)。
DNS搜索應答消息接收單元32接收來自外部網33的每個節點的應答消息。和子網24類似,應答消息包含有關DNS服務器的信息。
圖4是說明圖3的外部網DNS搜索單元的DNS搜索消息發送單元的結構圖。參照圖4,DNS消息發送單元包括轉發限制設置單元41和DNS搜索消息重發單元42。
如果圖2的子網DNS搜索單元1101沒有接收到應答消息,在外部網DNS搜索接收單元沒有接收到對DNS搜索消息的應答消息的情況下,轉發限制設置單元41就不斷地將當前設定的轉發限制增加一個預定值。即,轉發限制設置單元41重發DNS搜索消息,同時在DNS服務器沒有響應從主機發送的DNS搜索消息時增加轉發限制。如前面參照圖3所述,重復地將DNS搜索消息多目標廣播到外部網33的每個節點,同時擴大搜索區域,直至檢測到DNS服務器(即,接收到對DNS搜索消息的應答消息)。為了重復DNS搜索消息的多目標廣播發送,必須發送DNS搜索消息的數據分組,同時在發送了DNS搜索消息的情況下增加轉發限制。轉發限制相當于IPv4環境的(信息包在網上的)生存時間(TTL)的值。例如,當將轉發限制設置為3,并且將DNS搜索消息多目標廣播到圖1的路由器1201和1202時,就將DNS搜索消息多目標廣播到外部路由器1301、1302、1303和1304,同時將轉發限制減1。當轉發限制減少到0時,停止將DNS搜索消息多目標廣播發送到鄰近路由器。在多目標廣播發送期間將轉發限制初始設置為一個小數值然后逐漸增加的兩個理由是為了防止網絡帶寬的浪費和檢測到最近的DNS服務器。如果開始就將轉發限制設置為一個大的數值,則轉發限制不到0,并且DNS搜索消息的發送不會停止,直到DNS搜索消息通過許多路由器,這將浪費時間和網絡帶寬。
DNS搜索消息重發單元42根據所設置的轉發限制重復將DNS搜索消息多目標廣播到外部網43的每個節點,直至DNS搜索應答消息接收單元接收到對DNS搜索消息的應答消息。即,直到主機獲得某個DNS服務器的地址信息(即IP地址),則DNS搜索消息重發單元42就根據所設置的轉發限制將DNS搜索消息重復地多目標廣播到外部網43的每個節點。例如,如果所設置的轉發限制是3,則搜索DNS服務器,同時發送DNS搜索消息以便經過關于多個多目標廣播發送路徑之一的3個路由器。
圖5是根據本發明包括在DNS服務器51中的外部網DNS搜索裝置圖。參照圖5,該裝置包括一DNS注冊消息產生單元5101、一DNS注冊消息發送單元5102、一DNS注冊應答消息接收單元5103、一DNS搜索消息接收單元5104和一DNS搜索應答消息發送單元5105。
DNS注冊消息產生單元5101產生帶有某個作為發送器的DNS服務器的地址的DNS注冊消息。與圖2的DNS搜索消息產生單元21類似,DNS注冊消息產生單元5101利用在IPv6環境下的無國籍地址配置方法自動產生發送器的地址。在ICMPv6(在IPv6環境中的一種ICMP)中,將發送器的地址輸入到源地址域,并將任何廣播地址輸入到目的地址域以產生DNS注冊消息。DNS注冊消息發送單元5102將DNS注冊消息發送到DNS服務器51所在的子網52。子網52包括一直接與DNS服務器51相連的主機5203或者至少一個路由器,并且,主機5203或者每個路由器都變成了子網52的一個節點。DNS注冊消息發送單元5102將DNS搜索消息隨意廣播(anycast)到子網52的每個節點。這里,“隨意廣播”涉及單個發送器(根據本發明的DNS服務器51)將數據發送到子網52內的最近的一些接收部分的一種數據發送方法。因此,根據IPv6,可能檢測到最近的接收部分并將數據分組發送到該接收部分,這與單目標廣播方法類似。如上所述,在目的地址域中輸入隨意廣播地址將導致數據的隨意廣播發送。DNS注冊應答消息接收單元5103接收為了響應屬于子網52的路由器5201和5202之一的DNS注冊消息的應答消息。路由器5201和5202中的一個涉及響應DNS注冊消息的第一路由器(即,最近路由器)。一旦接收到應答消息,在DNS服務器51和離DNS服務器51最近的路由器之間就進行一對一的通信,如同單目標廣播的方法那樣。對DNS注冊消息的應答消息包含向最近路由器正常注冊DNS服務器51的信息,即,在路由器數據庫中完全存儲了DNS服務器51的IP地址信息。DNS搜索消息接收單元5104從最近的路由器中接收DNS搜索消息。最近路由器涉及在其中注冊了DNS服務器51的一個路由器,并且,因此,DNS服務器51的IP地址能夠通過路由器被檢測到,以便將DNS搜索消息發送到DNS服務器51。DNS搜索應答消息發送單元5105將對DNS搜索消息的應答消息發送到該路由器。該應答消息包含有關DNS服務器51的信息,即,DNS服務器51的IP地址。
圖6是根據本發明的包括在向其中注冊了DNS服務器的路由器61的外部網DNS搜索裝置圖。參照圖6,該裝置包括一DNS注冊消息接收單元6101、一DNS服務器注冊單元6102、一DNS搜索消息接收單元6103以及一DNS搜索消息DNS服務器發送單元6104。
DNS注冊消息接收單元6101從某路由器所在的子網62接收DNS注冊消息。子網62包括一直接和路由器61相鏈接的主機6202、至少一個路由器6201或者至少一個DNS服務器6203。利用“隨意廣播”方法從DNS服務器6203發送DNS注冊消息,因此,所述某路由器是離DNS服務器6203最近的路由器。DNS服務器注冊單元6102向路由器注冊有關DNS注冊消息有關的DNS服務器6203。總的來說,通過在路由器61中的IP地址數據庫中存儲它的IP地址來執行DNS服務器6203的注冊。DNS搜索消息接收單元6103從子網62接收DNS搜索消息。如果主機6202被包括在子網62中,則直接將DNS搜索消息從主機6202發送到DNS搜索消息接收單元6103。如果主機6202不被包括在子網62中,則將DNS搜索消息穿過基于所設置的轉發限制的多個路由器,并將其從離DNS服務器6203最近的路由器發送到DNS搜索消息接收單元6103。DNS搜索DNS服務器發送單元6104將DNS搜索消息發送到所注冊的DNS服務器6203的消息。為了將主機6202和DNS服務器6203一對一連接以便將域名轉換為IP地址,DNS將搜索DNS服務器發送單元6104將DNS搜索消息發送到所注冊的DNS服務器6203的消息。
圖7是根據本發明的包括在沒有向其中注冊DNS服務器的路由器71中的外部網DNS搜索裝置的框圖。該裝置包括一DNS搜索消息接收單元7101、一轉發限制降低單元(hop limit decreasing unit)7102以及一DNS搜索消息路由器發送單元7103。
DNS搜索消息接收單元7101從某個路由器所在的子網72中接收DNS搜索消息。子網72包括一與路由器71直接相連的主機7202、至少一個路由器7201或者至少一個DNS服務器7293。如果子網72包括主機7202,子網直接從主機7202發送DNS搜索消息,否則,DNS搜索消息將穿過基于轉發限制的多個路由器,并被發送到某個路由器。轉發限制降低單元7102將用于DNS搜索消息的轉發限制減少一個預定值。一般來說,將預定值設置為1。例如,如果將轉發限制設置為3,每次DNS搜索消息穿過一個路由器,則轉發限制都減1,直到它最終為0。當轉發限制是0時,就不再將DNS搜索消息發送到任何路由器中。
DNS搜索消息路由器發送單元7103將DNS搜索消息發送到屬于子網72的另一個路由器中,同時減少轉發限制。一般來說,子網包括直接和某個路由器相連的節點。在子網之間的邊界區域子網能夠形成一個新的子網,并且,在此情況下,由于它們彼此連接,所以總網能夠由多個子網形成。因此,如果轉發限制的范圍被設置得充分大,則能夠到達整個網絡的全部節點。
圖8是說明用于搜索在外部網中的DNS服務器的裝置圖,該裝置是與主機8101的外部網DNS搜索裝置、DNS服務器8202的外部網搜索裝置、向其中注冊DNS服務器的第一路由器8201的外部網DNS搜索裝置和沒有向其中注冊DNS服務器的第二個路由器8201的外部網DNS搜索裝置相連接的。
主機8101的外部網DNS搜索裝置產生一DNS搜索消息,并將其發送到該主機所在的第一子網81,以接收對DNS搜索消息的應答消息。如果第一子網81沒有發送應答消息,則主機8101的外部網DNS搜索裝置就產生DNS搜索消息并將其發送到不是該主機所在的第二個子網82和第三個子網83,以便接收對DNS搜索消息的應答消息。DNS服務器8202的外部網DNS搜索裝置產生一DNS搜索消息,并將其發送到某個DNS服務器所在的第二個子網82,以便從屬于第二子網82的第一路由器8201接收對DNS搜索消息的應答消息。同時,DNS服務器8202的外部網DNS搜索單元從第一路由器8201接收與DNS服務器8202有關的DNS搜索消息,并把對DNS搜索消息的應答消息發送到第一路由器8201。向其中注冊了DNS服務器的第一路由器8201的外部網DNS搜索裝置,從DNS服務器8202接收DNS注冊消息,并向第一路由器8201注冊DNS服務器8202。同時,第一路由器8201的外部網DNS搜索裝置從第二個子網82接收DNS搜索消息,并將其發送到所注冊的DNS服務器8202。沒有向其中注冊DNS服務器的第二個路由器8301的外部網DNS搜索裝置,從第二個路由器8301所在的第三子網83接收DNS搜索消息,并將其發送到也是屬于第三子網83的第三路由器8302,同時將轉發限制減少一預定值。在將DNS搜索消息發送到第三路由器8302之前,DNS搜索消息已經從屬于第一子網81的子網路由器8102被發送到第二路由器8301,因此,當將DNS搜索消息發送到第三路由器8302時,轉發限制減2。屬于第一子網81的子網路由器8102和屬于第三子網83的第二路由器8301彼此相互交錯連接而形成新子網。在圖8中,子網81至83設置為主機8101的中心,但是對此沒有硬性規定。即,根據本發明,直接彼此連接的節點可以起和子網一樣的作用。
圖9是說明根據本發明用于搜索外部網中的主機的DNS服務器的方法流程圖。參照圖9,首先,在步驟91,產生DNS搜索消息并將其發送到屬于某個主機的子網以便接收對DNS搜索消息的應答消息。接著,在步驟92檢查是否從子網接收到應答消息。如果在步驟92確定接收到沒有從子網接收到應答消息,則在步驟93將DNS搜索消息發送到主機不在其中的外部網,并且從外部網接收對所發送的DNS搜索消息的應答消息。如果在步驟92確定從子網接收到應答消息,則它意味著已經獲得了有關想要的DNS服務器的地址的信息。因此,結束圖9的方法。該子網包括至少直接與主機相連接的有關路由器或者至少一個DNS服務器。
圖10是說明根據本發明的作為圖9的方法的一部分用于搜索子網中的主機DNS服務器的方法流程圖。參照圖10,首先,自動產生發送器地址以便在步驟101產生DNS搜索消息。接著,在步驟102,利用多目標廣播方法將DNS搜索消息發送到子網的每個節點。在步驟102之后,在步驟103從子網的每個節點接收對DNS搜索消息的應答消息。
圖11是說明根據本發明的作為圖9的方法的一部分用于搜索外部網中的主機DNS服務器的方法流程圖。首先,在步驟111,當子網沒有提供對DNS搜索消息的應答消息時,將DNS搜索消息重復地多目標廣播到外部網的每個節點,直至發送對DNS搜索消息的應答消息。在步驟111之后,檢查是否在步驟112將應答消息從外部網的每個節點發送,如果在步驟112確定沒有從外部網的每一個節點發送應答消息,則操作返回到步驟111,并且在步驟111將DNS搜索消息多目標廣播發送到外部網的每個節點。如此重復直至產生對DNS搜索消息的應答消息。這里,外部網包括至少與主機間接相連的一路由器或者至少一DNS服務器。
圖12是包括在圖11的操作中的用于發送DNS搜索消息的操作流程圖。參照圖12,首先,在步驟121中,每次沒有對DNS搜索消息做出應答消息時,將當前所設置的轉發限制增加一個預定值。在步驟121之后,根據所設置的轉發限制,在步驟122,將DNS搜索消息重復地多目標廣播發送到外部網中的每個節點,直至發送應答消息。
圖13是說明根據本發明由DNS服務器執行的、用于搜索外部網絡中的DNS服務器的方法的流程圖。首先,在步驟131,產生帶有作為發送器地址的DNS服務器地址的DNS注冊消息。接著,在步驟132將DNS注冊消息發送到DNS服務器所在的子網。在此情況下,子網包括一與DNS服務器直接相連的主機或者至少一個路由器,并且,使用隨意廣播發送方法將DNS搜索消息發送到子網的每個節點。在步驟132之后,在步驟133,從屬于子網的路由器接收對DNS注冊消息的應答消息。在此情況下,路由器成為向其中注冊了DNS服務器的路由器。在步驟133之后,在步驟134將DNS搜索消息發送到DNS服務器。由于在路由器中存儲了DNS服務器的IP地址,這是可能的。在步驟134之后,DNS服務器在步驟135發送對DNS搜索消息的應答消息到路由器。
圖14是說明根據本發明由向其注冊DNS服務器的路由器執行的、用于搜索外部網絡中的DNS服務器的方法的流程圖。參照圖14,首先,在步驟141,從路由器所在的子網接收DNS注冊消息。該子網包括一直接與路由器相連接的主機、至少一個路由器或者至少一個DNS服務器。在步驟141之后,在步驟142將發送向路由器注冊發送DNS注冊消息到子網的DNS服務器。如參考圖13所述,DNS服務器是DNS注冊消息的發送器。在步驟142之后,在步驟143從子網發送DNS搜索消息,并且,已經向其注冊DNS服務器的路由器在步驟144將DNS搜索消息發送到所注冊的DNS服務器中。
圖15是說明根據本發明由沒有向其注冊DNS服務器的路由器執行的、用于搜索外部網絡中的DNS服務器的方法的流程圖。首先,在步驟151,從路由器所在的子網中接收DNS搜索消息。該子網包括一直接與路由器相連接的主機、至少一個路由器或者至少一個DNS服務器。在步驟151之后,在步驟152中,將用于DNS搜索消息的轉發限制減少一個預定值。接著,在步驟153,由于沒有向路由器注冊DNS服務器,路由器將帶有已被減少的轉發限制的DNS搜索消息發送到屬于該子網的另一個路由器中。如此重復進行下去同時增加轉發限制,直至將DNS搜索消息發送到向其中注冊DNS服務器的路由器中。
圖16是說明用于搜索外部網絡中的DNS服務器的方法的總體流程圖,該方法由主機、DNS服務器、向其注冊DNS服務器的路由器和沒有向其注冊DNS服務器的路由器來執行。參照圖16,首先,在步驟161,產生DNS搜索消息,并將其發送到主機所在的第一子網,以便接收對DNS搜索消息的應答消息,并且當沒有接收到應答消息時將DNS搜索消息發送到不屬于主機的外部網。在步驟161之后,在步驟162產生DNS注冊消息,并將其發送到DNS服務器所在的第二子網,并且從第一路由器接收有關DNS服務器的DNS搜索消息,然后將其發送到第一路由器。在步驟162之后,在步驟163,從DNS服務器接收DNS注冊消息,以便將DNS搜索消息發送到所注冊的DNS服務器。在步驟163之后,在步驟164從第二路由器所在的第三子網接收DNS搜索消息,并將DNS搜索消息和被減去一個預定值的轉發限制一起發送到屬于第三子網的第三路由器。
圖17是在本發明中使用的DNS搜索消息的一個例子視圖。DNS搜索消息是在RFC 2463中所規定的相鄰請求消息(neighbor solicitation)的一個修正。DNS搜索消息采用ICMP類型135,并且用于確定相鄰節點鏈接層的地址。參照圖17,在目的地址域中定義全球范圍多目標信息包地址(即,FF0E:0∷1)。ICMP頭的代碼域在本發明中被設置為1,然而,在傳統的DNS搜索消息中它被設置為0。如果將代碼域設置為1,則路由器用1去減轉發限制,并利用多目標廣播發送方法將帶有被減少的轉發限制發送到其它路由器。
圖18是DNS搜索消息的另一個例子視圖。利用路由器請求消息向屬于子網的路由器注冊DNS服務器的地址。路由器管理DNS服務器的地址列表,并且,一旦接收到指示搜索DNS服務器的消息,就將相鄰請求消息發送到DNS服務器。參照圖18,在目的地址域定義全球子網隨意廣播地址,并將ICMP頭設置為1(在傳統的DNS搜索消息中代碼域被設置為0)。如果將代碼域設置為1,則路由器就用1去減轉發限制,并將帶有被減的轉發限制的DNS搜索消息發送到其它路由器。如果與所述路由器最近的路由器響應DNS搜索消息,則在DNS服務器和最近路由器之間,利用多目標廣播發送方法進行一對一的通信。
本發明能夠按在計算機可讀介質中的計算機可讀代碼來實現。這里,計算機可讀介質可以是能夠存儲被計算機系統讀取數據的任何記錄裝置,例如,只讀存儲器(ROM)、隨機存取存儲器(RAM)、只讀光盤(CD-ROM)、磁盤、軟盤、光數據存儲裝置等等。同時,例如,計算機可讀介質可以是通過因特網發送數據的載波。計算機可讀介質能夠遙遠地安裝和存儲在與網絡鏈接的計算機系統中,并且通過由分布式計算環境按照計算機可讀代碼來實現。
盡管參照本發明優選實施例已經具體地說明和描述了本發明,但是本領域技術人員應該懂得,在不脫離所附權利要求所定義的本發明的實質和范圍內可以作出在形式和細節上的各種修改。
如上所述,根據本發明,主機產生DNS搜索消息并將其發送到主機所在的子網,以便接收對DNS搜索消息的應答消息。如果沒有應答消息從子網發出,則主機不在其中的外部網將再一次發送DNS搜索消息。因此,當DNS服務器不連接到子網時,自動搜索連接到外部網的DNS服務器是可能的。而且,當DNS服務器沒有對來自主機的DNS搜索消息響應,則增加轉發限制以便重發DNS搜索消息,由此防止了網絡帶寬的浪費,并容易地檢測出最近的DNS服務器。
權利要求
1.一種包括在主機中用于搜索外部網中的DNS服務器的裝置,包括一子網DNS搜索單元,用于產生一DNS搜索消息,將DNS搜索消息發送到主機所在的子網,并接收對DNS搜索消息的應答消息;以及一外部網DNS搜索單元,用于當沒有從子網DNS搜索單元接收到應答消息時,將DNS搜索消息發送到主機不在其中的外部網,并且接收對DNS搜索消息的應答消息。
2.如權利要求1所述的裝置,其中,所述子網包括直接與主機相連的至少一個路由器或者至少一個DNS服務器。
3.如權利要求1所述的裝置,其中,外部網包括間接與主機相連的至少一個路由器或者至少一個DNS服務器。
4.如權利要求1所述的裝置,其中,所述子網DNS搜索單元包括一DNS搜索消息產生單元,用于自動產生發送器的地址,以便生成DNS搜索消息;一DNS搜索消息發送單元,用于將DNS搜索消息多目標廣播發送到所述子網的每個節點;以及一DNS搜索應答消息接收單元,用于從所述子網的每個節點接收對DNS搜索消息的應答消息。
5.如權利要求1所述的裝置,其中,外部網DNS搜索單元包括一DNS搜索消息發送單元,用于當子網DNS搜索單元沒有接收到應答消息時,將DNS搜索消息重復地多目標廣播發送到外部網的每個節點,直至從每個節點發出對DNS搜索消息的應答消息;以及一DNS搜索應答消息接收單元,用于從外部網的每個節點接收應答消息。
6.如權利要求5所述的裝置,其中,DNS搜索消息發送單元包括一轉發限制設置單元,用于當子網DNS搜索單元沒有接收到應答消息時,在每次外部網DNS搜索單元沒有接收到應答消息時,將當前設置的轉發限制增加一預定值;以及一DNS搜索消息重發單元,用于根據所設置的轉發限制將DNS搜索消息多目標廣播發送到外部網的每個節點,直至DNS搜索應答消息接收單元接收到應答消息。
7.包括在DNS服務器中的外部網DNS搜索裝置,所述裝置包括一DNS注冊消息產生單元,用于產生帶有作為發送器地址的DNS服務器地址的DNS注冊消息;一DNS注冊消息發送單元,用于發送DNS注冊消息到DNS服務器所在的子網;一DNS注冊應答消息接收單元,用于從子網所在的路由器中接收對DNS注冊消息的應答消息;一DNS搜索消息接收單元,用于從所屬路由器接收有關于DNS服務器的DNS搜索消息;以及一DNS搜索應答消息發送單元,用于將對DNS搜索消息的應答消息發送到所屬路由器。
8.如權利要求7所述的裝置,其中,所述子網包括一與所述DNS服務器直接相連的主機或者至少一路由器。
9.如權利要求7所述的裝置,其中DNS注冊消息發送單元利用隨意廣播發送方法將DNS注冊消息發送到所述子網的每個節點。
10.一種用于搜索在外部網中的DNS服務器的裝置,該裝置包括在向其注冊DNS服務器的路由器中,該裝置包括一DNS注冊消息接收單元,用于從所述路由器所在的子網中接收DNS注冊消息;一DNS服務器注冊單元,用于向路由器注冊與DNS注冊消息有關的DNS服務器;一DNS搜索消息接收單元,用于從所述子網接收DNS搜索消息;一DNS搜索消息DNS服務器發送單元,用于將DNS搜索消息發送到所注冊的DNS服務器中。
11.如權利要求10所述的裝置,其中,所述子網包括一與所述路由器直接相連的主機、至少一子網路由器或者至少一DNS服務器。
12.一種用于搜索外部網中的DNS服務器的裝置,該裝置包括在DNS服務器沒有向其注冊的路由器中,所述裝置包括一DNS搜索消息接收單元,用于從所述路由器所在的子網中接收DNS搜索消息;一轉發限制降低單元,用于用預定值去減用于DNS搜索消息的轉發限制;以及一DNS搜索消息路由器發送單元,用于從所述子網所在的另一個路由器中發送帶有所減少的轉發限制的DNS搜索消息。
13.如權利要求12所述的裝置,其中,所述子網包括一與所述路由器直接相連的主機、至少一子網路由器或者至少一DNS服務器。
14.一種用于搜索外部網中的DNS服務器的裝置,包括一包括在主機中的第一外部網DNS搜索單元,所述第一外部網DNS搜索單元產生一DNS搜索消息,將所述DNS搜索消息發送到所述主機所在的第一子網,以便接收對DNS搜索消息的應答消息,以及當沒有從所述第一子網接收到所述應答消息時,將所述DNS搜索消息發送到外部網;一包括在主機中的第二個外部網DNS搜索單元,所述第二外部網DNS搜索單元產生一DNS注冊消息,發送DNS注冊消息到第二子網以便從屬于第二子網的第一路由器接收對DNS注冊消息的應答消息,從所述第一路由器接收有關DNS服務器的第二DNS搜索消息,以及將對所述第二DNS搜索消息的第二應答消息發送到所述第一路由器;一包括在向其注冊DNS服務器的路由器中的第三外部網DNS搜索單元,所述第三外部網DNS搜索單元從所述DNS服務器接收一DNS注冊消息以向所述路由器注冊DNS服務器,從所述第二子網接收一DNS搜索消息,并將該DNS搜索消息發送到所注冊的DNS服務器中;以及一包括在沒有向其注冊DNS服務器的路由器中的第四外部網DNS搜索單元,所述第四DNS搜索單元從一第二路由器所在的第三子網接收一DNS搜索消息,將具有第一轉發限制的該DNS搜索消息發送到第三路由器中,并用預定值去減轉發限制。
15.一種用于搜索外部網中的DNS服務器的方法,包括產生一DNS搜索消息,將DNS搜索消息發送到主機所在的子網,并接收對DNS搜索消息的應答消息;以及當沒有從子網DNS搜索單元接收到應答消息時,將DNS搜索消息發送到主機不在其中的外部網,并且接收對DNS搜索消息的應答消息。
16.如權利要求15所述的方法,其中,所述子網包括直接與主機相連的至少一個路由器或者至少一個DNS服務器。
17.如權利要求15所述的方法,其中,產生DNS搜索消息包括自動產生發送器的地址并產生DNS搜索消息;將DNS搜索消息多目標廣播發送到所述子網的每個節點;以及從所述子網的每個節點接收對DNS搜索消息的應答消息。
18.如權利要求15所述的方法,其中,外部網包括間接與主機相連的至少一個路由器或者至少一個DNS服務器。
19.如權利要求15所述的方法,其中,發送DNS搜索消息到外部網包括步驟當子網DNS搜索單元沒有接收到應答消息時,將DNS搜索消息重復地多目標廣播發送到外部網的每個節點,直至從每個節點發出對DNS搜索消息的應答消息;以及從外部網的每個節點接收應答消息。
20.如權利要求15所述的方法,其中,重復地多目標廣播發送DNS搜索消息包括當子網DNS搜索單元沒有接收到應答消息時,在每次外部網DNS搜索單元沒有接收到應答消息時,將當前設置的轉發限制增加一預定值;以及根據所設置的轉發限制將DNS搜索消息多目標廣播發送到外部網的每個節點,直至DNS搜索應答消息接收單元接收到應答消息。
21.一種用于搜索外部網DNS服務器的方法,該方法由DNS服務器執行,所述方法包括產生帶有作為發送器地址的DNS服務器地址的DNS注冊消息;發送DNS注冊消息到DNS服務器所在的子網;從子網所在的路由器中接收對DNS注冊消息的應答消息;從所屬路由器接收有關于DNS服務器的DNS搜索消息;以及將對DNS搜索消息的應答消息發送到所屬路由器。
22.如權利要求21所述的方法,其中,所述子網包括一與所述DNS服務器直接相連的主機或者至少一路由器。
23.如權利要求21所述的方法,其中當將DNS注冊消息發送到所述子網時,將DNS注冊消息隨意廣播發送到所述子網的每個節點。
24.一種用于搜索在外部網中的DNS服務器的方法,該方法由向其注冊DNS服務器的路由器執行,所述方法包括從所述路由器所在的子網中接收DNS注冊消息;向路由器注冊與DNS注冊消息有關的DNS服務器;從所述子網接收DNS搜索消息;以及將DNS搜索消息發送到所注冊的DNS服務器中。
25.如權利要求24所述的方法,其中,所述子網包括一與所述路由器直接相連的主機、至少一子網路由器或者至少一DNS服務器。
26.一種用于搜索外部網中的DNS服務器的方法,該方法由DNS服務器沒有向其注冊的路由器執行,所述方法包括從所述路由器所在的子網中接收DNS搜索消息;用預定值去減用于DNS搜索消息的轉發限制;以及從所述子網所在的另一個路由器中發送帶有所減少的轉發限制的DNS搜索消息。
27.如權利要求26所述的方法,其中,所述子網包括一與所述路由器直接相連的主機、至少一子網路由器或者至少一DNS服務器。
28.一種用于搜索外部網中的DNS服務器的方法,包括產生一DNS搜索消息,將所述DNS搜索消息發送到所述主機所在的第一子網,以便接收對DNS搜索消息的應答消息,以及當沒有從所述第一子網接收到所述應答消息時,將所述DNS搜索消息發送到外部網;產生一DNS注冊消息,發送DNS注冊消息到第二子網以便從屬于第二子網的第一路由器接收對DNS注冊消息的應答消息,從所述第一路由器接收有關DNS服務器的第二DNS搜索消息,以及將對所述第二DNS搜索消息的第二應答消息發送到所述第一路由器;從所述DNS服務器接收一DNS注冊消息以向所述路由器注冊DNS服務器,從所述第二子網接收一DNS搜索消息,并將該DNS搜索消息發送到所注冊的DNS服務器中;以及從一第二路由器所在的第三子網接收一DNS搜索消息,將具有第一轉發限制的該DNS搜索消息發送到第三路由器中,并用預定值去減轉發限制。
29.一種用于搜索外部網中的DNS服務器的計算機程序產品,包括用于使計算機執行預定操作的軟件指令和承載軟件指令的計算機可讀介質,其中,所述預定操作包括產生一DNS搜索消息,將DNS搜索消息發送到主機所在的子網,并接收對DNS搜索消息的應答消息;以及當沒有從子網DNS搜索單元接收到應答消息時,將DNS搜索消息發送到主機不在其中的外部網,并且接收對DNS搜索消息的應答消息。
30.如權利要求29所述的計算機程序產品,其中,所述子網包括直接與主機相連的至少一個路由器或者至少一個DNS服務器。
31如權利要求29所述的計算機程序產品,其中,產生DNS搜索消息包括自動產生發送器的地址并產生DNS搜索消息;將DNS搜索消息多目標廣播發送到所述子網的每個節點;以及從所述子網的每個節點接收對DNS搜索消息的應答消息。
32.如權利要求29所述的計算機程序產品,其中,外部網包括間接與主機相連的至少一個路由器或者至少一個DNS服務器。
33.如權利要求29所述的計算機程序產品,其中,發送DNS搜索消息到外部網包括步驟當子網DNS搜索單元沒有接收到應答消息時,將DNS搜索消息重復地多目標廣播發送到外部網的每個節點,直至從每個節點發出對DNS搜索消息的應答消息;以及從外部網的每個節點接收應答消息。
34.如權利要求29所述的計算機程序產品,其中,重復地多目標廣播發送DNS搜索消息包括當子網DNS搜索單元沒有接收到應答消息時,在每次外部網DNS搜索單元沒有接收到應答消息時,將當前設置的轉發限制增加一預定值;以及根據所設置的轉發限制將DNS搜索消息多目標廣播發送到外部網的每個節點,直至DNS搜索應答消息接收單元接收到應答消息。
35.一種用于搜索外部網中的DNS服務器的方法,該方法由DNS服務器執行,所述方法包括一計算機程序產品,用于搜索外部網中的DNS服務器,在所述DNS服務器中的所述計算機程序產品,包括用于使計算機執行預定操作的軟件指令,以及承載所述軟件指令的計算機可讀介質,其中,所述預定操作包括產生帶有作為發送器地址的DNS服務器地址的DNS注冊消息;發送DNS注冊消息到DNS服務器所在的子網;從子網所在的路由器中接收對DNS注冊消息的應答消息;從所屬路由器接收有關于DNS服務器的DNS搜索消息;以及將對DNS搜索消息的應答消息發送到所屬路由器。
36.如權利要求35所述的計算機程序產品,其中,所述子網包括一與所述DNS服務器直接相連的主機或者至少一路由器。
37.如權利要求35所述的計算機程序產品,其中當將DNS注冊消息發送到所述子網時,將DNS注冊消息隨意廣播發送到所述子網的每個節點。
38.一種用于搜索在外部網中的DNS服務器的計算機程序產品,所述計算機程序產品在向其注冊DNS服務器的路由器中,包括用于使計算機執行預定操作的軟件指令,以及承載所述軟件指令的計算機可讀介質,其中,所述預定操作包括從所述路由器所在的子網中接收DNS注冊消息;向路由器注冊與DNS注冊消息有關的DNS服務器;從所述子網接收DNS搜索消息;以及將DNS搜索消息發送到所注冊的DNS服務器中。
39.如權利要求38所述的方法,其中,所述子網包括一與所述路由器直接相連的主機、至少一子網路由器或者至少一DNS服務器。
40.一種用于搜索在外部網中的DNS服務器的計算機程序產品,所述計算機程序產品在沒有向其注冊DNS服務器的路由器中,包括用于使計算機執行預定操作的軟件指令,以及承載所述軟件指令的計算機可讀介質,其中,所述預定操作包括從所述路由器所在的子網中接收DNS搜索消息;用預定值去減用于DNS搜索消息的轉發限制;以及從所述子網所在的另一個路由器中發送帶有所減少的轉發限制的DNS搜索消息。
41.如權利要求40所述的方法,其中,所述子網包括一與所述路由器直接相連的主機、至少一子網路由器或者至少一DNS服務器。
42.一種用于搜索在外部網中的DNS服務器的計算機程序產品,包括用于使計算機執行預定操作的軟件指令,以及承載所述軟件指令的計算機可讀介質,其中,所述預定操作包括產生一DNS搜索消息,將所述DNS搜索消息發送到所述主機所在的第一子網,以便接收對DNS搜索消息的應答消息,以及當沒有從所述第一子網接收到所述應答消息時,將所述DNS搜索消息發送到外部網;產生一DNS注冊消息,發送DNS注冊消息到第二子網以便從屬于第二子網的第一路由器接收對DNS注冊消息的應答消息,從所述第一路由器接收有關DNS服務器的第二DNS搜索消息,以及將對所述第二DNS搜索消息的第二應答消息發送到所述第一路由器;從所述DNS服務器接收一DNS注冊消息以向所述路由器注冊DNS服務器,從所述第二子網接收一DNS搜索消息,并將該DNS搜索消息發送到所注冊的DNS服務器中;以及從一第二路由器所在的第三子網接收一DNS搜索消息,將具有第一轉發限制的該DNS搜索消息發送到第三路由器中,并用預定值去減轉發限制。
全文摘要
外部網DNS搜索單元包括在主機、DNS服務器、向其注冊DNS服務器的路由器和沒有向其注冊DNS服務器的路由器中,其允許啟動的因特網終端自動搜索外部網中的DNS服務器。所述主機產生DNS搜索消息并將其發送到主機所在的子網,以便接收應答消息。如果沒有從子網收到應答消息(即,DNS沒有連接到子網),則發送DNS搜索消息到不是主機所屬、但與DNS服務器相連的外部網。而且,當DNS服務器不響應來自主機的DNS搜索消息,增加轉發限制以重發DNS搜索消息,由此防止網絡帶寬的浪費并容易地檢測出最近的DNS服務器。
文檔編號H04L12/28GK1467958SQ03110278
公開日2004年1月14日 申請日期2003年4月8日 優先權日2002年6月22日
發明者崔賢石, 金哲敏, 金永根 申請人:三星電子株式會社