專利名稱:在擴展的IPv4網絡中的域名服務器系統的制作方法
技術領域:
本發明涉及IP網絡技術領域,尤其涉及在擴展IPv4中的域名服 務器(DNS)系統擴展的實現。
背景技術:
任何人在互聯網發展的初期都無法想象如今的網絡會發展到如 此大的規模。早在20世紀九十年代之前,解決互聯網的地址危機就被 提上了議程,當時預測互聯網的資源很快就會分配完畢。后來,私有 專網方案、動態地址分配技術、VLSM (可變長度子網掩碼)技術、 CIDR (無類別域間路由)技術和NAT/NAPT技術的出現極大地減緩 了 IP地址資源枯竭的速度。為了徹底解決IP地址匱乏引起的問題, IETF決定采用IPv6作為下一代的互聯網,但其進展可謂極為緩慢, 無法及時滿足互聯網快速發展的需求。
在互聯網上有千百萬臺主機,為了區分這些主機,人們給每臺主 機都分配一個專門的地址,稱為IP地址,通過IP地址就可以訪問到 每一臺主機。IP地址由四部分數字組成,每部分數字對應于8位二進 制數字,各部分之間用小數點分開,理論上IP地址可達2"個。如某 一臺主機的IP地址為211.152.65.112。互聯網IP地址由NIC (互聯 網網絡信息中心)統一負責全球地址的規劃和管理,同時由Inter NIC、 APNIC、 RIPE三大網絡信息中心具體負責美國及其它地區的IP地址 分配。
由于現行IP網絡地址的匱乏,互聯網業界做出了很多努力試圖 解決這個問題,如NAT/NAPT、 IPv6等,但由于存在明顯缺陷或推行 代價過大而進展緩慢。
因此,申請人于2006年11月1日提出了申請號為200610143248.9的專利申請,該申請提出了一種對現行IP網絡進行擴展的實現方法, 其中采用了公有IP地址和私有IP地址域的兩級可擴展IP網絡架構。 根據源IP節點與目的地IP節點的位置表示,基于源路由的方式來控 制IP數據包無障礙地穿行于整個擴展IP網絡。
在該申請中,提出了這樣一種擴展IP網絡該擴展IP網絡包括 ^5^有IP地址域和私有IP地址域,所述>^有IP地址域中包含擁有合法 公有IP地址的IP節點,而所述私有IP地址域包含采用私有IP地址 的IP節點,其中在公有地址域和私有地址域之間連接有公私地址域邊 界點網關,所述公私地址域邊界點網關既具有屬于公有地址域的地址, 同時又具有屬于私有地址域的地址,7>有地址域和私有地址域內的IP 節點可通過這個公私地址域邊界點網關相互訪問,該網絡中的各IP 節點和公私地址域交界點網關均支持源路由選項。
在傳統的互聯網中只有公有地址才是合法的,所以每個互聯網節 點都可以由公有IP地址唯一地確定和定位.而在該申請所采用的擴展 IP網絡架構中,雖然合法的公有IP地址仍然是全網唯一的,但私有 IP地址域可以重復使用,因此該申請提出了一種IP節點定位方法來 確定可擴展網絡中任一個IP網絡節點的位置。
在根據該申請的IP節點定位方法中,IP節點的位置可以表示為 (公有IP地址)[:私有IP地址。其中,公有地址域內的IP節點位 置表示為
該節點的公有IP地址;
私有地址域內的IP節點位置表示為
該節點所關聯的公私網絡域邊界點網關的公有IP地址該IP 節點的私有IP地址;
公私地址域邊界點網關的IP節點位置表示為
該網關IP節點的公有IP地址,或者
該網關IP節點該網關IP節點的私有地址。
這樣,釆用節點的公有IP地址、或者結合釆用節點的私有IP地 址和相關聯的公有IP地址就能夠唯一地確定擴展IP網絡中任何一個IP節點的位置。
在IP包頭中已經預定義了一個選項類型為131的寬松源路由 (LSRR)選項。該選項稱為寬松源路由是因為允許網關或主機IP使 用含任意數量的其他中間網關的任意路由到達源路由中的下一個地 址。寬松源及記錄路由選項提供了一種由IP數據包的源地址來為網關 提供如何將該數據包轉發到目的地地址的路由信息,同時記錄該路由 信息的方法。
寬松源及記錄路由選項中的第一個字節為LSRR選項的類型碼; 第二個字節是LSRR選項的長度(length),包括該選項所有的字節 數;第三個字節為指針(pointer ),指向下一個要處理的源路由地址, 該指針對于本選項而言,最小合法值為4。路由數據(routedata)由 一系列IP地址組成,每個IP地址定義為四個字節。該申請即通過IP 節點對LSRR路由選項的支持來實現對IP網絡的擴展。
在擴展IP網絡中完成數據包傳送的方法中,首先確定要傳送的 數據包的源IP節點和目的地IP節點,并按照上述IP節點定位方法確 定數據包的源IP節點和目的地IP節點的位置,然后由源IP節點位置 的反序表示的地址序列,再串聯目的地IP節點位置的順序表示的地址 序列,從而構成該數據包要傳送的路徑地址序列。
源IP節點將上面所得到的整個路徑地址序列中的笫一個地址填 入IP包頭的源地址字段,將第二個地址填入IP包頭的目的地地址字 段,接著將除所述第一個地址外的其余地址作為源路由地址序列順次 填入IP包頭的寬松源及記錄路由選項中的路由數據字段,并設置長度 值和指針位置,使指針指向源路由地址序列的開始,然后源IP節點根 據當前指針所指向的地址或根據當前目的地地址字段中的地址轉發 IP數據包。由于指針所指向的地址和目的地地址字段中的地址是一致 的,因此此時無論按照源路由方式還是按照常規的目的路由方式都可 以使數據包到達所期望的節點。
在數據包到達當前目的地地址字段中的地址所表示的IP節點后, 如果指針未超過長度值,則指針指向路由數據字段中的下一個地址,并用源路由地址序列中的下一個地址替換當前目的地地址字段中的地 址,同時使剛剛使用過的源路由地址被替換為記錄路由地址,該IP 節點繼續轉發數據包。
如果指針超出了長度值,則該IP節點就是數據包所要到達的最 終目的地地址,將記錄地址序列的順序反向,從而根據反向后的記錄 地址序列及源IP地址得到回應數據包時的反向路徑序列,使數據包可 以按照上述方式從目的地IP節點傳送回源IP節點。
具體地說,圖1示出了該申請提出的基于源路由的可擴展IP網 絡架構。如圖1所示,作為示例的整個可擴展IP網絡包含公有IP地
址域、兩個私有IP地址域A和B、以及公私地址域邊界點。
公有IP地址域包含的IP節點都擁有合法的公有IP地址,且所 有合法公有IP地址節點都應屬于公有IP地址域。公有IP地址域就是 現有的全球互聯網,并且其中的IP節點及所使用的路由機制都是保持 不變的。如在圖1中,IP節點S2、 D2就都位于公有IP地址域,其地 址分別為公有IP地址Addrs2和AddrD2。
私有IP地址域包含的IP節點都采用私有IP地址,且所有采用 私有IP地址的節點都應屬于私有IP地址域。私有IP地址域類似于現 有的一些釆用私有地址的地區或企業IP網絡,其中所使用的路由機制 等與公有IP地址域完全相同,不同之處僅僅是采用了私有IP地址。 如在圖1中,IP節點Sl、 Dl、 D3就位于私有IP地址域A、 B內, 其地址分別為私有IP地址Addrsl、 AddrDi和AddrD3。
公私地址域邊界點是公有IP地址域和私有IP地址域的交匯點, 通常是一個網關,該網關既具有屬于公有IP地址域的地址,同時又具 有屬于私有IP地址域的地址。私有IP地址域內的IP節點通過這個網 關可以訪問公有IP地址域,反之亦然。如在圖1中,IP節點GA、 GB就是公私地址域邊界點網關,它們的公有IP地址分別是 PublichAddrcA和PublicAddrGB,而私有IP地址分別是PrivateAddrGA
和PrivateAddrGB。
根據該申請所采用的IP節點定位方法,/>有地址域內的IP節點位置表示為該節點的公有IP地址。如圖1中,位于公有IP地址域內
的IP節點S2、 D2的位置Posmons2和PositionD2分別表示為公有IP 地址Addrs2和AddrD2。即
PositionS2 = AddrS2 PositionD1 = AddrD1
私有地址域內的IP節點位置表示為該節點所關聯的公私網絡域 邊界點網關的公有IP地址該IP節點的私有IP地址。如圖1中,位 于私有IP地址域內的IP節點S1、D1、D3的位置Positionsl、PositionD1 和PositionD3就分別表示為
Positionsi = PublicAddrGA : Addrsl
PositionDi = PublicAddrGA : AddrDi
PositionD3 = PublicAddrGB : AddrD3
公私地址域邊界點網關的IP節點位置表示為該網關IP節點的公 有IP地址,或者表示為該網關IP節點該網關IP節點的私有地址。 如圖1中,IP節點GA、 GB表示兩個公私地址域邊界點網關,它們 的公有IP地址分別為PublichAddrGA和PublicAddrGB,而它們的私有 IP地址分別為PrivateAddrcA和PrivateAddrGB,其位置PositioncA和 PositionGB分別表示如下
PositionGA = PublichAddrGA , 或者 PublichAddrGA : PrivateAddrGA
PositionGB = PublichAddrGB , 或者 PublichAddrGA : PrivateAddreB
圖2示出了 IP包頭中寬松源及記錄路由選項字段中的各個字節 含義。其中第一個字節為LSRR選項的類型碼;第二個字節為長度值, 包括該選項所有的字節數;笫三個字節為指針,即指向下一個要處理 的源路由地址,該指針對于本選項而言,最小合法值為4.路由數據 (routedata)由一系列IP地址組成,每個IP地址定義為四個字節。 如果數據包已經到達目的地地址字段中的地址而指針大小還沒有超過 長度值,則此時路由數據字段中的下一個地址將替換當前目的地地址字段中的地址,用記錄路由地址替換剛剛使用過的源路由地址,同時
指針指向源路由序列中的下一個地址(即指針加4),并使源路由地 址被記錄路由地址所替換。如果指針大小超過了長度值時,則源路由 地址序列為空而記錄路由地址序列已滿,接下來的路由將根據目的地 地址進行。
下面舉一個例子來描述用源路由方式完成數據包傳送的過程。首 先確定數據包的源IP節點及目的地IP節點,然后根據上述IP節點定 位方法得到源IP節點位置和目的地IP節點位置,從而可以根據節點 的具體位置設定數據包應當經過的路徑。如圖1所示,假設源IP節點 為S1,其IP地址為Addrsl,所在區域為私有IP地址域A,與其關聯 的網關的公有IP地址為PublicAddrGA,即源IP節點的位置Positionsl =PublicAddrGA : Addrsl。設目的地IP節點為D3,其IP地址為AddrD3, 所在區域為私有IP地址域B,與其關聯的網關的公有IP地址為 PublicAddrGB,即目的地IP節點的位置PositionD3 = PublicAddrGB : AddrD3。此時從源IP節點SI到目的地IP節點D3的必經路經為 Addrsl-> PublicAddrGA-> PublicAddrGB-> AddrD3,即可以由源IP節 點位置表示的反序地址序列,再串聯目的地IP節點位置表示的順序地 址序列,從而構成數據包的整個"路徑地址序列"。
為了實現預定的源路由,根據源路由原理,源IP節點必須根據 路徑地址序列填充IP包頭中的源地址字段、目的地地址字段、寬松源 及記錄路由選項(LSRR)字段。如圖3所示,在路徑地址序列的第 一站,源IP節點SI把按上述方式得到的整個路徑地址序列中的第一 個地址、即源IP節點地址填入IP包頭的源地址字段;將第二個地址、 即與源IP節點相關聯的公私地址域邊界點網關的公有地址 PublicAddrGA填入IP包頭的目的地地址字段;將路徑地址序列中除 了第一個地址(源IP節點地址)之外的其余地址(即所謂"源路由地 址序列,,)PublicAddrGA->PublicAddrGB-> Addro順次填入IP包頭的 寬松源及記錄路由選項中的"路由數據(route data),,字段,并設置相 關的長度(length)、指針(pointer)等參數。這樣,源IP節點就將保證該數據包能夠到達目的地IP節點的路由確定了下來。
在傳輸過程中,源IP節點首先根據源路由地址序列的第一個地
址(即路徑地址序列中的第二個地址)PublicAddrGA轉發IP數據包。 由于源路由選項內指針指示的IP地址與目的地地址字段中的IP地址 是一致的,因此在到達這個IP節點之前的途徑中的其它私有IP地址 域路由器既可以使用源路由功能也可以仍使用常規的目的路由功能來 轉發該數據包,最后都會到達源路由的第一個地址PublicAddrcA (同 時也是數據包在該網絡段內的目的地地址),在本例中即源IP節點所 在的私有IP地址域A與公有IP地址域之間的交界點網關GA。
在圖3所示的路徑地址序列的第二站中,網關GA必須根據源路 由原理來處理,即如果數據包已經達到當前目的地地址字段的地址而 指針大小還未超過設定長度值,則用源路由地址序列中的下一個地址 替換當前目的地地址字段中的地址,并用記錄路由地址替換剛剛使用 過的源路由地址,同時指針加4。這樣,源路由選項內指針指示的IP 地址與目的地地址域的IP地址就一致地改成了路徑序列地址中的下 一個地址,即PublicAddrGB。同樣,在到達這個IP節點之前的途徑 中的其它公有IP地址域路由器可以使用源路由功能或者仍然使用常 規的目的路由功能轉發數據包,最后都會到達源路由的第二個地址 PublicAddrGB (同時也是數據包在該網絡段內的目的地地址),在本 例中即>^有IP地址域與目的地IP節點所在的私有IP地址域B的交 界點網關GB。
與網關GA的處理相類似,網關GB也必須根據源路由原理來進 行處理(圖3所示的路徑地址序列的第三站)。源路由選項內的指針 指示的IP地址與目的地地址域的IP地址又一致地改成路徑序列地址 中的下一個地址,即AddrD3,同樣,在到達這個IP節點之前的途徑 中的其它私有IP地址域路由器使用源路由功能或使用常規的目的路 由功能來轉發該數據包,最后都會到達源路由的第三個地址AddrD3 (同時也是數據包在該網絡段內的目的地地址),在本例中即目的地 IP節點D3。在圖3所示的路徑地址序列的第四站,根據源路由原理,目的地 IP節點D3發現自己就是該數據包所要到達的最終目的地,得到作為 源路由地址序列的反向的"記錄地址序列"。這樣,目的地IP節點根據 這個記錄地址序列及源IP地址就可以得到回應數據包時的反向"路徑 地址序列",即AddrD3->PubIicAddrGB->PublicAddrGA->Addrsl。也 就是說,可以由反向源IP節點D3的位置表示的反序地址序列,再串 聯反向目的地IP節點Sl的位置表示的順序地址序列。這樣,根據源 路由原理,目的地IP地址節點也可以使用同樣的過程順利地將數據包 傳送回源IP節點。
同樣,對于圖1中其他節點間的通信,也可以根據上面描述的方 法來實現擴展IP網絡中的路由。
基于源路由的擴展IP網絡的實現解決了長期以來困擾互聯網業 界的重要問題,其實現了 IP網絡的可擴展性,解決了 IPv4地址麼乏 的問題,使IP網絡的擴展過渡問題變得極為簡單。
在擴展的IPv4中為了采用源路由方法完成數據報的傳送,必須 首先確定數據報的源IP節點以及目的地IP節點,然后根據上述IP 節點定位方法得出源IP節點位置和目的地1P節點位置,這樣我們就 可以根據它們的具體位置設定數據報應該經過的"路徑(Path)",進 而按照擴展的IPv4中的方法,源IP節點使用路徑地址序列來填充IP 報頭中的源地址字段、目的地地址字段、寬松源及記錄路由選項字段, 這樣,源IP節點就把保證該數據包能夠到達目的地IP節點的路由確 定了下來,實現了該申請提出的基于源路由的擴展IP網絡。然而,現 有的IPv4的域名服務器系統只能根據IP節點的域名確定IP節點地 址,不能根據IP節點的域名確定作為上述(公有IP地址)[:私有IP 地址的IP節點位置,因此,如何在知道目的地IP節點域名的情況得 到目的地IP節點位置從而根據源IP節點位置和目的地IP節點位置確 定路徑,就成為本發明要解決的問題之一。
現有技術的域名服務器(DNS)系統就如其組織結構分層一樣, 從頂級DNS根服務器向下延伸,并把域名和IP地址傳播到遍布世界的各個服務器上。在各服務器上存放有若干IP資源記錄,IP資源記 錄中含有節點的域名和與該域名相關聯的節點的IP地址。域名服務器
不在本地存儲全部的域名和IP地址的映射, 一旦域名服務器在自身的 數據庫中沒有找到IP地址,它會請求上一級域名服務器看是否能找到 存放這一 IP地址的那個域名服務器,如果上一級域名服務器仍沒有找 到,則查詢更上面一級域名服務器,直到查找到根域名服務器,根域 名服務器一般會知道下面的哪一個域名服務器上存放了要找的IP地 址。這些域名服務器都是在公網上的,它們只存儲了節點域名和與該 域名相關聯的IP地址,而沒有存儲節點域名和與該域名相關聯的IP
節點位置,即(乂^有IP地址)[:私有IP地址1。當目前已知源IP節 點以及目的地IP節點的域名,源IP節點想要根據域名知道目的地IP 節點的IP地址,從而得到源IP節點和目的地IP節點的IP地址,進 而在源IP地址和目的地IP地址之間建立路由時,源IP節點上的客戶 程序啟動,調用它的域名解析器函數(該客戶程序和域名解析器函數 運行于該節點的客戶機上,當用戶登陸啟動時會自動運行,是現有技 術),該域名解析器函數會將用戶鍵入的想與其通信的IP節點的域名 轉換成一個IP地址查詢請求送入就近的域名服務器,由該域名服務器 告知用戶與該域名相關的IP地址存放在哪個域名服務器上,但由于該
IP地址在各域名服務器上的存儲是分布式存儲的,所以當該域名服務 器沒有存儲關于與該域名相關的IP地址存放在哪個域名服務器上的 信息時,它必須與其他的域名服務器聯系(這正是DNS的分布特性), 然而,并不是每個域名服務器都知道如何同其他域名服務器聯系,相 反,每個域名服務器必須知道如何同根的域名服務器聯系。所有的域 名服務器都必須知道根服務器的IP地址(這些IP地址在域名服務器 的配置文件中,域名服務器必須知道根服務器的IP地址,而不是它們 的域名),根服務器則知道所有二級域中的每個授權域名服務器的域 名和位置(即IP地址)。這意味著這樣一個反復的過程正在處理請 求的域名服務器(通過逐層轉發到上一級的域名服務器,從而與根服 務器聯系,根服務器告訴它與另一個域名服務器聯系)。例如,當該域名服務器沒有存儲關于與該域名相關的IP地址存放在哪個域名服 務器上的信息時,其將其轉發到上一個域名服務器,如果上一個域名 服務器仍然沒有該信息再往上轉發,直至到達根域名服務器。根域名 服務器一般會知道下面的哪一個域名服務器上存放了要找的IP地址, 并通過返回響應告知用戶要找的IP地址記錄在哪一個域名服務器上, 然后用戶的源節點重新向該存放了要找的IP地址的域名服務器發出 請求,該存放了要找的IP地址的域名服務器通過響應告知用戶該IP 地址,這樣,用戶所在的源節點就知道了目的地節點的IP地址,就可
以與目的地節點進行連接。然而,現有的IPv4的域名服務器體系系統 針對上面描述的擴展后的IPv4網絡出現了兩個不適用的地方一個地 方是只能根據IP節點的域名確定IP節點地址,而上述擴展后的IPv4 網絡要求根據IP節點的域名確定作為上述。^有IP地址)[:私有IP 地址]的IP節點位置,而不僅是IP節點地址;另 一個地方是現有的IPv4 的域名服務器體系系統只針對公有IP地址域,如果私有IP地址域中 的節點要向公有IP地址域的節點進行查詢(即查詢由私有IP地址域 進入公有IP地址域),或者公有IP地址域中的節點要向私有IP地址 域的節點進行查詢(即查詢由公有IP地址域進入私有IP地址域), 缺少相應的域名服務器體系結構。
也就是說,擴展IPv4對DNS的需求,將不再僅僅是要求DNS 提供主機域名和IP地址之間的轉換,而是要求提供IP節點的域名和 IP節點位置的轉換,從而,擴展IPv4中的任何源IP節點就可以根據 另一個作為目的地的IP節點的域名(當然,應該是比較容易理解與記 憶的),通過該源IP節點本身的DNS解釋器函數,從基于擴展IPv4 的域名服務器中獲得該目的地IP節點的位置,進而,源IP節點根據 本身的位置信息與目的地IP節點的位置信息就可以按照擴展IPv4中 規定的方法順利地與該目的地IP節點通信。
發明內容
本發明的一個目的是解決現有的IPv4的域名服務器體系系統只針對公有IP地址域的問題,從而當私有IP地址域中的節點要向公有 IP地址域的節點進行域名或IP節點位置查詢,或者當乂^有IP地址域 中的節點要向私有IP地址域的節點進行域名或IP節點位置查詢時, 有相應的域名服務器體系結構。
本發明的另一個目的是解決現有技術中只能根據IP節點的域名 確定IP節點地址,而不能根據IP節點的域名確定作為上述(公有IP
地址)私有IP地址的IP節點位置的問題,從而解決擴展IP網絡 中的IP節點位置獲知問題。
本發明提供了一種在擴展的IPv4網絡中的域名服務器系統,其 中在現有的IPv4的公有IP地址域的域名服務器系統的基礎上,在擴 展的IPv4網絡中的IP公有地址域邊緣,為私有IP地址域派生出獨立 的域名服務器(DNS)子樹,該域名服務器(DNS)子樹至少含有一 個負責管理該私有IP地址域內IP節點的全部的域名和IP節點位置的 映射的第一域名服務器。
本發明解決了現有的IPv4的域名服務器體系系統只針對公有IP 地址域的問題,從而當私有IP地址域中的節點要向公有IP地址域的 節點進行域名或IP節點位置查詢,或者當公有IP地址域中的節點要 向私有IP地址域的節點進行域名或IP節點位置查詢時,有相應的域 名服務器體系結構。
本發明還解決了現有技術中只能根據IP節點的域名確定IP節點 地址,而不能根據IP節點的域名確定作為上述(公有IP地址)私 有IP地址]的IP節點位置的問題,從而解決了擴展IP網絡中的IP節 點位置獲知問題。
圖1示出了現有技術中提到的基于源路由的擴展IP網絡架構。 圖2示出了現有技術基于源路由的擴展IP網絡架構中IP包頭中 包含的寬木〉源及記錄路由(LSRR)選項。
圖3示出了根據現有技術基于源路由的擴展IP網絡架構,IP包態。
圖4是本發明的在擴展的IPv4網絡中的域名服務器系統實施例1 的體系結構圖。
圖5是本發明的在擴展的IPv4網絡中的域名服務器系統實施例2 的體系結構圖。
圖6是本發明的在擴展的IPv4網絡中的域名服務器系統實施例3 的體系結構圖。
圖7是本發明的在擴展的IPv4網絡中的域名服務器系統實施例4 的體系結構圖。
圖8是本發明的在擴展的IPv4網絡中的域名服務器系統實施例5 的體系結構圖。
圖9是本發明IP節點位置(IPD )資源記錄格式的圖。 圖IO是本發明指針資源記錄格式的圖。
圖11是根據本發明的一個例子,源IP節點根據目的地IP節點 域名找到該目的地IP節點位置,然后目的地IP節點進行反向驗證的 方法示意圖。
具體實施例方式
基于源路由的擴展IPv4網絡(EIPv4)的實現方法可以有效地解 決現行IP網絡地址的匿乏問題,在應用上有必要針對EIPv4提供網絡 域名解釋服務。本發明提出了一種對現有DNS系統進行擴展以支持在 擴展IP網絡兩級架構中提供域名到IP節點位置表示之間的DNS查詢服 務的方法,并定義了一種新的DNS資源記錄及其使用方法。
在擴展IPv4網絡中,為了保證現有互聯網的DNS系統運作機制 不變,并不打算改變互聯網DNS組織結構中服務器的配備和設置,所 以公有IP地址域中保留現有互聯網的DNS系統不變。
在擴展的IPv4網絡中,由公有IP地址域通過某個公有、私有IP 地址域邊界點衍生出某一個私有IP地址域時,需要把該私有IP地址 域作為一個獨立管理的DNS子樹,即稱為一個區域(zone)。換句話說,在擴展的IPv4網絡中的IP公有地址域邊緣,為私有IP地址域派生出 獨立的域名服務器(DNS)子樹,并作為DNS獨立的一個區域來管理。 一旦一個區域的授權機構被委派后,由它負責向該區域提供若干域名 服務器。其中,該域名服務器(DNS)子樹至少含有一個負責管理該 私有IP地址域內IP節點的全部的域名和IP節點位置的映射的第一域 名服務器。當一個新節點加入到一個區域中時,該區域的DNS管理者 為該新節點申請一個域名和一個IP節點位置,即(公有IP地址) 私有IP地址,并將它們加到域名服務器的數據庫中。該區域還可以 根據需要進一步劃分成更小的小區域。 實施例1
如圖4所示,在實施例1中,第 一域名服務器是在公有IP地址域內、 鄰近該私有IP地址域的位置的邊界域名服務器。該邊界域名服務器管 理該私有IP地址域內IP節點的全部的域名和IP節點位置的映射。在實 施例l由于只有一個第一域名服務器,因此,當私有IP地址域A中的節 點S1 (打算根據目的地節點的域名查詢目的地節點的IP節點位置的源 節點)需要查詢目的地節點的IP節點位置,其首先發請求到該邊界域 名服務器,該邊界域名服務器如果有關于其所要查找的目的地節點的 IP節點位置的信息,就直接將目的地節點的域名信息響應告知節點S1; 一旦邊界域名(DNS )服務器在自身的數據庫中沒有找到目的地I P節 點位置信息,它會請求上一級D N S服務器看是否能找到這一I P節點 位置信息,上一級DNS服務器若還沒有,則請求再上一級DNS服務器, 這個過程會繼續下去直到超時或找到答案。依此類推,直到查詢到圖4 最上面的圓圍表示的根域名服務器,根域名服務器一般含有關于其所 要查找的目的地節點的IP節點位置所在的域名服務器的信息,該域名 服務器就可以通過響應逐層向節點S1所請求的第一域名服務器返回該 信息,然后由第一域名服務器向節點S1返回請求的域名信息。可見, 在實施例1中,在域名或IP節點位置查詢需要進入該私有IP地址域時, 直接進入該私有IP地址域的邊界域名服務器;在域名或IP節點位置查 詢需要從私有IP地址域進入公有IP地址域時,查詢也直接進入該私有IP地址域的邊界域名服務器。
實施例2
如圖5所示,在實施例2中,所述第一域名服務器也是在^S有1P 地址域內、鄰近該私有IP地址域的位置的邊界域名服務器。與實施例 l不同的是,將該私有IP地址域劃分出若干小區域(圖5中是4個), 每個小區域分配一個第二域名服務器,所述第二域名服務器都與第一 域名服務器通信。
在實施例2中,在域名或IP節點位置查詢需要進入該私有IP地 址域時,該域名或IP節點位置查詢首先進入該私有IP地址域的邊界 域名服務器,由該邊界域名服務器轉發給相應小區域內的第二域名服 務器;在域名或IP節點位置查詢需要從私有IP地址域進入公有IP 地址域時,首先把該查詢發給該私有IP地址域的邊界域名服務器,由 其將該查詢轉發到其它的互連網絡內的域名服務器。
例如,當私有IP地址域A中的節點SI (打算根據目的地節點的 域名查詢目的地節點的IP節點位置的源節點)需要查詢目的地節點的 IP節點位置,其首先就近請求在私有IP地址域內其所在的小區域中 的那個第二域名服務器,該第二域名服務器中如果存儲有關于其所要
查找的目的地節點的IP節點位置的信息,就直接將目的地節點域名信 息響應告知節點Sl, 一旦該第二域名服務器在自身的數據庫中沒有找 到目的地I P節點位置信息,它會請求上一級DNS服務器(即邊界 域名服務器)看是否能找到這一 I P節點位置信息,上一級DNS服務 器若還沒有找到,則請求再上一級DNS服務器,這個過程會繼續下去 直到超時或找到答案。依次類推,直到查詢到圖5最上面的圓團表示 的根域名服務器,根域名服務器一般含有關于其所要查找的目的地節 點的IP節點位置所在的域名服務器的信息,該域名服務器就可以通過 響應逐層向節點SI所請求的第二域名服務器返回該信息,然后由第二 域名服務器向節點SI返回請求的域名信息。
使用邊界域名服務器作為中轉的服務是為了考慮到擴展IPv4網 絡中對主機軟件源路由選項的要求,同時為了使基于擴展IPv4的DNS擴展不會對現有互聯網DNS系統產生可能的影響,或者為了使網絡能 夠適應這些情況而平滑過渡。
實施例3
如圖6所示,在實施例3中,所述第一域名服務器在該私有IP 地址域內部。
在實施例3中,在域名或IP節點位置查詢需要進入該私有IP地 址域時,該域名或IP節點位置查詢由4S有IP地址域和該私有IP地址 域的邊界點網關(圖6中的GA)轉發到該私有IP地址域內部的第一 域名服務器;在域名或IP節點位置查詢需要從私有IP地址域進入公 有IP地址域時,該私有IP地址域內部的第一域名服務器把該查詢轉 發給所述邊界點網關,由邊界點網關將該查詢轉發到其它的互連網絡 內的域名服務器。
例如,當私有IP地址域A中的節點S1 (打算根據目的地節點的 域名查詢目的地節點的IP節點位置的源節點)需要查詢目的地節點的 IP節點位置,其首先發請求到該第一域名服務器,該第一域名服務器 如果有關于其所要查找的目的地節點的IP節點位置的信息,就直接將 目的地節點域名信息響應告知節點SI; —旦該第一域名(DNS)服務 器在自身的數據庫中沒有找到目的地I P節點位置信息,則將該查詢 轉發到公有IP地址域和該私有IP地址域的邊界點網關(圖6中的 GA),再轉發到其上一級DNS服務器,從而請求上一級DNS服務 器看是否能找到這一 I P節點位置信息,上一級DNS服務器若還沒有 找到,則請求再上一級DNS服務器,這個過程會繼續下去直到超時或 找到答案。依此類推,直到查詢到圖6最上面的圓團表示的根域名服 務器,根域名服務器一般含有關于其所要查找的目的地節點的IP節點 位置所在的域名服務器的信息,該域名服務器就可以通過響應逐層向 節點SI所請求的第一域名服務器返回該信息,然后由第一域名服務器 向節點SI返回請求的域名信息。
實施例4如圖7所示,實施例4與實施例3的不同在于將該私有IP地 址域劃分出若干小區域,每個小區域分配一個第二域名服務器,所述 第二域名服務器都與第 一域名服務器通信。
例如,當私有IP地址域A中的節點Sl (打算根據目的地節點的 域名查詢目的地節點的IP節點位置的源節點)需要查詢目的地節點的 IP節點位置,其首先就近請求在私有IP地址域內其所在的小區域中 的那個第二域名服務器,該第二域名服務器中如果存儲有關于其所要 查找的目的地節點的IP節點位置的信息,就直接將目的地節點域名信 息響應告知節點Sl; —旦該第二域名服務器在自身的數據庫中沒有找 到目的地IP節點位置信息,它會請求上一級DNS服務器(即第一 域名服務器)看是否能找到這一I P節點位置信息,第一域名服務器 若還沒有找到,則將該查詢轉發到公有IP地址域和該私有IP地址域 的邊界點網關(圖7中的GA),再轉發到其上一級域名服務器,該 上一級DNS服務器若還沒有找到,則請求再上一級DNS服務器,這 個過程會繼續下去直到超時或找到答案。依此類推,直到查詢到圖7 最上面的圓團表示的根域名服務器,根域名服務器一般含有關于其所 要查找的目的地節點的IP節點位置所在的域名服務器的信息,該域名 服務器就可以通過響應逐層向節點SI所請求的第二域名服務器返回 該信息,然后由第二域名服務器向節點SI返回請求的域名信息。
實施例5
如圖8所示,在實施例5中,所述第一域名服務器在該私有IP 地址域外部。
在實施例5中,在域名或IP節點位置查詢需要進入該私有IP地 址域時,由于所述第一域名服務器在該私有IP地址域外部,而該第一 域名服務器管理了該私有IP地址域內IP節點的全部的域名和IP節點 位置的映射,因此不用進到該私有IP地址域內部就能訪問到相關的域 名或IP節點位置信息;在域名或IP節點位置查詢需要從私有IP地址 域進入公有IP地址域時,公有IP地址域和該私有IP地址域的邊界網 關(圖8中的GA)首先把該查詢轉發到該私有IP地址域外部的第一域名服務器,如果沒有相關信息,再將查詢轉發到其它的互連網絡內 的域名服務器。
例如,當私有IP地址域A中的節點Sl (打算根據目的地節點的 域名查詢目的地節點的IP節點位置的源節點)需要查詢目的地節點的 IP節點位置,其首先發請求到該第一域名服務器,由于第一域名服務 器在私有IP地址域外部,因此,借助于公有IP地址域和該私有IP 地址域的邊界網關(圖8中的GA )把該查詢轉發到該私有IP地址域 外部的第一域名服務器,該第一域名服務器如果有關于其所要查找的 目的地節點的IP節點位置的信息,就直接將目的地節點的域名信息響 應告知節點SI; —旦第一域名服務器在自身的數據庫中沒有找到目的 地IP節點位置信息,它會請求上一級域名(DNS)服務器看是否能 找到這一IP節點位置信息,上一級DNS服務器若還沒有找到,則請 求再上一級DNS服務器,這個過程會繼續下去直到超時或找到答案。 依此類推,直到查詢到圖8最上面的圓團表示的根域名服務器,根域 名服務器一般含有關于其所要查找的目的地節點的IP節點位置所在 的域名服務器的信息,該域名服務器就可以通過響應逐層向節點SI 所請求的第 一域名服務器返回該信息,然后由第 一域名服務器借助于 公有IP地址域和該私有IP地址域的邊界網關(圖8中的GA)向節 點SI返回請求的域名信息。
域名服務器的IP節點位置(IPD)資源記錄定義
上述各域名服務器中分布式存放域名、與該域名相關聯的IP節 點位置,該IP節點位置定義為公有IP地址私有IP地址,其 中中的內容可選。這種存放是通過所述各域名服務器存儲若干IP 節點位置(IPD)資源記錄進行的。下面將描述IP節點位置(IPD) 資源記錄的格式。
在擴展IPv4中,IP節點通過IP節點位置表示法就可以在一個擴 展的IPv4網絡中找到任何的另一個IP節點,并進行點到點的無障礙 通信。所以如果根據IP節點的域名希望通過DNS就可以找到任何其 他的IP節點,就有必要在DNS系統中進行IP節點域名和IP節點位置表示之間的轉換。因此,有必要定義一種新的資源記錄類型IPD, 一個IPD記錄存儲一個IP節點位置表示。 一個IPD類型的DNS詢問 將不會觸發其它附加的處理需求。
IPD資源記錄的格式及含義的定義符合關于DNS資源記錄的定 義,具體格式如圖9所示。其中
* NAME:該IPD資源記錄相關的IP節點的DNS域名。
* TYPE: IPD資源記錄類型碼,標識為IPD,兩字節。IPD資 源記錄類型具體的類型值將需要通過IANA來進行分配。
* CLASS: IPD資源記錄類標識碼,為IN-l,兩字節。
* TTL:指明該資源記錄可以被緩存使用的最大秒數,32位帶 符號整數。
* RDLENGTH:指明RDATA中的字節數,16位無符號整數。
* RDATA:包含IP節點位置的地址序列,即按(公有IP地址) [:私有IP地址中地址順序依次存放。IPD資源記錄需要存儲一個或 兩個IP地址,即4個字節或8個字節長度。例如,對于IP節點Sl, 其IPD表示為202.99.0.9:172.18.10.8,則其RDLENGTH為8,在 RDATA中的十進制表示如下(其中的所有的"."及""不會出現在DNS 數據包中故都被省略)
202 99 0 9 172 18 10 8
另外,所述各域名服務器還存儲用于從IP節點位置到域名的反 向查詢的指針資源記錄(PTR RR),該指針資源記錄含有域名、與 該域名相關聯的IP節點位置的IP地址序列進行字節反轉后加上 IPD.INT形成的序列。具體地說,如圖10所示,所述指針資源記錄 (PTRRR)的格式如下
* NAME:與該指針資源記錄相關的IP節點的域名;
* TYPE:指針資源記錄類型碼;
* CLASS:指針資源記錄類標識碼;
* TTL:指明該指針資源記錄可以被緩存使用的最大秒
數; RDLENGTH:指明RDATA中的字節數; RDATA:該域名相關聯的IP節點位置的IP地址序列進行字節 反轉后加上IPD.INT形成的序列。
當進行從IP節點位置到域名的反向查詢時,將該IP節點位置的IP 地址序列進行字節反轉,并加上IPD.INT,然后與域名服務器中存儲 的所述指針資源記錄(PTRRR)中的RDATA域進行比較,如果匹配, 則該條匹配的指針資源記錄(PTR RR)中的NAME域中含有查詢到 的域名。
也就是說,本發明使用指針資源記錄(PTRRR)進行IP節點位 置(IPD)到域名的映射。在IPv4的DNS域名系統中定義了PTRRR以 便在IN-ADDR.ARPA域中實現IPv4地址到域名之間的映射查詢。類似 地,EIPv4中域名反向查詢可以定義一個新的域"IPD.INT",利用IPD PTR RR來實現根據已知的IP節點位置表示通過域名系統查詢IP節點 的域名。
一個用于域名查詢的序列可以根據IPD按以下規則來產生把 IP節點位置的IP地址序列按字節反轉,每字節都作為一個獨立的子 域,并在最后串接頂級子域名"IPD.INT"。例如對于反向查找如下IPD
202.99.0.9:172.18,10.8
這時,根據該IPD進行反向查詢時構造的域名將表示為 8.10.18.172.9.0.99.202.IPD.INT
圖11是根據本發明的一個例子,源IP節點根據目的地IP節點 域名找到該目的地IP節點位置,然后目的地IP節點進行反向驗證的 方法示意圖。我們通過這個例子將已經介紹的擴展IPv4的DNS擴展 特性作一個綜合性回顧。假設一個源IP節點需要根據目的地IP節點 域名找到該目的地IP節點位置,該源IP節點首先啟動該節點本機的 Rlogin客戶程序(以便連接到一個位于其他域如公有IP地址域的 Rlogin服務器)。Rlogin客戶程序是現有技術的內容,在每次想與其 它節點通信時都會自動運行。
下圖顯示了發生的分組交換過程。下面發生的11個步驟都假定客戶和服務器的高速緩存中沒有任
何信息。其中括號中內容是為了使DNS擴展平滑過渡的可用的中轉選 擇。
(l)Rlogin客戶程序啟動后,源IP節點調用它的域名解析器函 數將用戶鍵入的想要與其通信的目的地IP節點的域名轉換為一個請 求根據目的地域名查詢目的地IP節點位置的IPD類型的查詢請求(通 過源IP節點所在私有IP地址域相關聯的邊界域名服務器)被送往一 個根域名服務器。
(2 )(通過源IP節點所在私有IP地址域相關聯的邊界域名服 務器,)由根域名服務器返回的響應中包含帶有目的地節點-Rlogin 服務器位置信息的域名服務器的名字。
(3 )(通過源IP節點所在私有IP地址域相關聯的邊界域名服 務器,)源IP節點的域名解析器函數將向上述帶有目的地節點-Rlogin服務器位置信息的域名服務器重發上述IPD類型查詢,這個查
詢通常是將期望遞歸標志設置為1。
(4 )(通過源IP節點所在私有IP地址域相關聯的邊界域名服 務器,)該帶有目的地節點—Rlogin服務器位置信息的域名服務器返 回的應答中包含目的地節點-Rlogin服務器的IP節點位置。
(5 )源節點-Rlogin客戶端和目的地節點-Rlogin服務器根據 擴展IPv4原理建立一個TCP連接。客戶端和服務器的TCP模塊間將 交換握手分組。
(6) Rlogin服務器收到來自源節點客戶端的連接請求后,調用 它的域名解析器函數將從TCP連接請求中分析出的源節點客戶端的 IP節點位置(IPD )轉換為請求根據源IP節點的IP節點位置(IPD ) 查詢源IP節點的域名的IPD PTR類型的查詢請求,轉發到一個根域 名服務器處理。這個根域名服務器可以不同于步驟(l)中源節點客戶 端使用的根域名服務器。
(7) 這個根域名服務器的響應中含有帶有源節點-Rlogin客戶 機域名和位置信息的域名服務器的名字.(8 )(通過源IP節點所在私有IP地址域相關聯的邊界域名服 務器,)Rlogin服務器上的域名解析器函數將向帶有源節點-Rlogin 客戶機域名和位置信息的域名服務器重傳上述IPD PTR查詢。
(9 )(通過源IP節點所在私有IP地址域相關聯的邊界域名服 務器,)該帶有源節點-Rlogin客戶機域名和位置信息的域名服務器 返回的IPD PTR應答中含有源節點-Rlogin客戶機主機的域名.
(10 )(通過源IP節點所在私有IP地址域相關聯的邊界域名 服務器,)服務器的域名解析器函數向帶有源節點-Rlogin客戶機域 名和位置信息的域名服務器發送一個IPD類型查詢請求,查找前一步 返回的域名所對應的IP節點位置(IPD)。這可能由服務器中的某個 函數如gethostbyIPD自動完成,否則Rlogin服務器將完成這一步。 此外,此步驟所查詢的域名服務器通常就是步驟(8)中所查詢的域名 服務器,但這不是必需的。
(11)(通過源IP節點所在私有IP地址域相關聯的邊界域名服 務器,)從帶有源節點-Rlogin客戶機域名和位置信息的域名服務器 返回的響應含有源節點-Rlogin客戶機的IP節點位置(IPD)記錄。 Rlogin服務器將客戶的TCP連接請求中的IP節點位置(IPD)與此 IPD記錄作比較。
高速緩存將減少這個圖中交換的分組數目。
通過利用本發明,使擴展IPv4能夠得到順利推廣。在應用時人 們可以按照現有的互聯網的習慣來使用,本發明基于擴展IPv4對現有 的DNS系統進行了擴展,包括DNS的擴展架構、新定義的資源記錄 以及在擴展IPv4中進行IP節點域名與IP節點位置之間轉換時DNS 系統擴展的使用方法。
權利要求
1. 一種在擴展的IPv4網絡中的域名服務器系統,其中在現有的IPv4的公有IP地址域的域名服務器系統的基礎上,在擴展的IPv4網絡中的IP公有地址域邊緣,為私有IP地址域派生出獨立的域名服務器(DNS)子樹,該域名服務器(DNS)子樹至少含有一個負責管理該私有IP地址域內IP節點的全部的域名和IP節點位置的映射的第一域名服務器。
2. 根據權利要求l的域名服務器系統,其中將該私有IP地址域 劃分出若干小區域,每個小區域分配一個第二域名服務器,所述第二 域名服務器都與第 一域名服務器通信。
3. 根據權利要求2的域名服務器系統,其中所述第一域名服務 器是在公有IP地址域內、鄰近該私有IP地址域的位置的邊界域名服 務器。
4. 根據權利要求3的域名服務器系統,其中在域名或IP節點位 置查詢需要進入該私有IP地址域時,該域名或IP節點位置查詢首先 進入該私有IP地址域的邊界域名服務器,由該邊界域名服務器轉發給 相應小區域內的第二域名服務器;在域名或IP節點位置查詢需要從私 有IP地址域進入/〉有IP地址域時,首先把該查詢發給該私有IP地址 域的邊界域名服務器,由其將該查詢轉發到其它的互連網絡內的域名 服務器。
5. 根據權利要求1的域名服務器系統,其中所述第一域名服務 器在該私有IP地址域內部。
6. 根據權利要求5的域名服務器系統,其中在域名或IP節點位 置查詢需要進入該私有IP地址域時,該域名或IP節點位置查詢由公 有IP地址域和該私有IP地址域的邊界點網關轉發到該私有IP地址域 內部的第一域名服務器;在域名或IP節點位置查詢需要從私有IP地 址域進入公有IP地址域時,該私有IP地址域內部的第一域名服務器 把該查詢轉發給所述邊界點網關,由邊界點網關將該查詢轉發到其它的互連網絡內的域名服務器。
7. 根據權利要求1的域名服務器系統,其中所述第一域名服務 器在該私有IP地址域外部。
8. 根據權利要求1的域名服務器系統,其中所述各域名服務器 中分布式存放域名、與該域名相關聯的IP節點位置,該IP節點位置 定義為公有IP地址私有IP地址,其中中的內容可選。
9. 根據權利要求8的域名服務器系統,其中所述各域名服務器 存儲若干IP節點位置(IPD )資源記錄,每條IP節點位置(IPD)資 源記錄格式如下* NAME:與該IPD資源記錄相關的IP節點的域名;* TYPE: IPD資源記錄類型碼,標識為IPD;* CLASS: IPD資源記錄類標識碼,為IN-l;* TTL:指明該資源記錄可以被緩存使用的最大秒數;* RDLENGTH:指明RDATA中的字節數; RDATA:包含IP節點位置的地址序列,即按(公有IP地址)私有IP地址的地址順序依次存放。
10. 根據權利要求l的域名服務器系統,其中所述各域名服務器 還存儲用于從IP節點位置到域名的反向查詢的指針資源記錄(PTR RR),該指針資源記錄含有域名、與該域名相關聯的IP節點位置的 IP地址序列進行字節反轉后加上IPD.INT形成的序列。
11. 根據權利要求10的域名服務器系統,其中所述指針資源記 錄(PTRRR)的格式如下* NAME:與該指針資源記錄相關的IP節點的域名;* TYPE:指針資源記錄類型碼;* CLASS:指針資源記錄類標識碼;* TTL:指明該指針資源記錄可以被緩存使用的最大秒數;* RDLENGTH:指明RDATA中的字節數; RDATA:該域名相關聯的IP節點位置的IP地址序列進行字節 反轉后加上IPD.INT形成的序列。
12.根據權利要求ll的域名服務器系統,其中當進行從IP節點 位置到域名的反向查詢時,將該IP節點位置的IP地址序列進行字節 反轉,并加上IPD.INT,然后與域名服務器中存儲的所述指針資源記 錄(PTR RR)中的RDATA域進行比較,如果匹配,則該條匹配的 指針資源記錄(PTRRR)中的NAME域中含有查詢到的域名。
全文摘要
一種在擴展的IPv4網絡中的域名服務器系統,其中在現有的IPv4的公有IP地址域的域名服務器系統的基礎上,在擴展的IPv4網絡中的IP公有地址域邊緣,為私有IP地址域派生出獨立的域名服務器子樹,該域名服務器子樹至少含有一個負責管理該私有IP地址域內IP節點的全部的域名和IP節點位置的映射的第一域名服務器。本發明解決了現有的IPv4的域名服務器體系系統只針對公有IP地址域的問題。本發明還解決了現有技術中只能根據IP節點的域名確定IP節點地址,而不能根據IP節點的域名確定作為上述(公有IP地址)[私有IP地址]的IP節點位置的問題,從而解決了擴展IP網絡中的IP節點位置獲知問題。
文檔編號H04L12/56GK101436981SQ20071016619
公開日2009年5月20日 申請日期2007年11月13日 優先權日2007年11月13日
發明者刁永平 申請人:中國電信股份有限公司