動態DNS基本概念與原理

文章出處:www.net1980.com 

       TCP/IP不僅提供了IP地址來確定設備,而且還專門設計了一種字符串形式的主機命名機制,這就是所謂的域名系統DNS(Domain Name System)。此係統使用一種有層次的命名方式,爲網上的設備指定一個有意義的名字,並且在網絡上設置域名解析服務器,建立域名與IP地址的對應關係。這樣一來用戶就可以使用便於記憶的、有意義的域名,而不必去記憶複雜的IP地址。

一、Internet域名體系

       最初所有機器使用的名字構成了一個非等級的名字空間,由字符序列組成所有的名字。網絡信息中心NIC(Network Information Center)管理這個名字空間,並負責接納新名字。非等級名字空間由於自身的特點不能管理大量的機器名字,主要原因如下所示:

1、名字由字符序列組成,存在潛在的命名衝突。

2、名字空間的管理結構位於一個站點,機器數量的不斷增多對管理工作帶來很大負擔。

3、名字到IP地址的映射經常發生變化,導致維護域名空間的工作量巨大。

       因此,TCP/IP把DNS的域名設計成了分級的結構。Internet域名結構由TCP/IP協議棧中的DNS進行定義。DNS把因特網劃分成多個頂級域,頂級域採用組織模式和地理模式的劃分模式。地理模式按照國家進行劃分,每個申請加入Internet的國家都要向NIC註冊一個頂級域名,如cn代表中國、us代表美國等。

       NIC將頂級域的管理權分派給由其指定的管理機構,由這些管理機構再對被授權管理的域繼續進行劃分,從而形成了二級域。負責劃分二級域的管理機構可以授權其下屬的管理結構,由它們繼續劃分域。有此下去,便形成了層次型的Internet域名體系結構。

 

二、域名解析

       域名解析分爲動態解析和靜態解析,二者可以相輔相成,在解析域名時,可以首先採用靜態解析的方法,如果靜態解析不成功,再採用動態解析的方法。

 

1、靜態DNS

       靜態域名解析是通過靜態域名解析表進行的,即手動建立域名和IP地址之間的對應關係表,該表的作用類似於Windows操作系統下的hosts文件,可以將一些常用的域名放入表中。當客戶機需要域名所對應的IP地址時,即到靜態域名解析表中去查找指定的域名,從而獲得所對應的IP地址,提高域名解析的效率。

 

2、動態DNS

       所謂動態DNS,是指不具固定IP的主機,利用動態DNS服務,幫助主機可以根據IP的變化去對應域名與IP的關係。例如使用 PPPOE的ADSL、DHCP的Cable或撥號上網,這些網絡接入方式都不具備固定IP地址,假如要架設Web、Mail或者FTP等服務器,就需要用到動態DNS服務。

 

動態DNS實例說明:

       我已註冊了一個網域名稱:net1980.com,但我所使用的網路連線是不具固定IP的ADSL服務,以前我並不能用它來架設網站,因爲我的IP並非固定IP無法用來指定域名,但現在有了動態DNS服務後,我將可以用我的域名利用動態IP來架設主機及網站。

       當我啓用了動態DNS功能後,每次我的主機開機,動態DNS服務器將會自動去取得並對應我的主機當時上線的IP,假設此次我的主機開機時所取得IP是202.96.111.201,此時利用動態DNS服務,會將我的net1980.com自動設定對應到202.96.111.201去;又假設我的主機重開機時所取得的IP是202.96.110.101,則利用動態DNS服務,又會自動再將我的net1980.com對應到202.96.110.101去,如此解決了不固定IP無法對應到域名的困擾,並且這對瀏覽我網站的人來說,並無任何影響,只需輸入 http://net1980.com 即可連接到我的網站。

 

3、動態DNS服務器

       動態域名解析需要專用的域名解析服務器,該服務器運行域名解析服務器程序,提供從域名到IP地址的映射關係,負責接收客戶提出的域名解析請求。

       根域名服務器包含有關根和頂級域的信息。DNS要求每個域名解析服務器至少要知道一個根域名解析服務器的地址。客戶也必須知道如何與至少一個域名解析服務器取得聯繫。

       域名解析服務器接收到客戶端提出的域名解析請求後,首先判斷請求的域名是否處於自己被授權管理的子域裏。如果是,就查詢數據庫把域名轉換爲IP地址,並把轉換結果發送給客戶端。如果域名解析服務器不能解析出域名,它就根據客戶在查詢報文中所指明的解析方式來進行下一步操作。

 

域名解析方式分爲以下兩種:

遞歸解析:域名解析服務器和能解析該域名的服務器聯繫,並將查詢結果即域名所對應的IP地址返回給客戶端。

迭代解析:若該域名解析服務器不能提供解析結果,會在給客戶端的響應報文中指明客戶端應聯繫的下一個域名解析服務器。客戶端會向指明的下一個域名解析服務器再次發出查詢請求。

 

1)動態DNS的高速緩存

       如果解析者把每個非本地名字的解析請求都送到根域名解析服務器的話,會造成很大的查詢開銷。爲了降低非本地域名查詢的開銷,域名解析服務器使用高速緩存。對於每次動態解析成功的域名和IP地址的映射關係,存放在內存的動態域名緩存區中,下一次查詢相同域名的時候,就可以直接從緩存區中讀取,不用再向根域名解析服務器請求了。每個域名解析服務器都在本機的高速緩存裏維護着最近用過的域名的記錄,並且同時保存從哪個服務器獲得的此域名映射。

       但是當域名與IP地址的映射關係發生變化時,高速緩存中的信息就不再正確。爲保證緩存信息的正確性,域名解析服務器在DNS響應報文中,會指定一個TTL值,該值代表解析的域名與IP地址綁定存在的有效時間值。客戶端在緩存區中保存的映射關係在一段時間後被老化刪除,保證能夠及時從域名解析服務器得到最新的內容。對於安裝不同操作系統的域名解析服務器,老化時間都有其相對應的值。客戶端從DNS協議報文中獲得老化時間。

       同樣,主機中也存在一個高速緩存,用來維護自己最近使用過的域名與IP地址的綁定。只有主機在未能從緩存中找到要解析的域名時纔會使用域名解析服務器進行查詢。

 

2)動態DNS的後綴名

        動態域名解析支持域名後綴列表功能,用戶可以預先設置一些域名後綴,在域名解析的時候,用戶只需要輸入域名的部分字段,系統會自動將輸入域名加上不同的後綴進行解析。

       例如,用戶想查詢域名“net1980.com”,那麼可以在後綴列表中配置com,然後輸入“net1980”,系統會自動將輸入域名與後綴連接成“net1980.com”進行查詢。使用域名後綴的時候,可能會出現以下幾種情況。

       如果用戶輸入的域名中沒有“.”,比如“net1980”,系統認爲這是一個主機名,會首先加上域名後綴進行查詢。如果所有域名都查詢失敗,最後用最初輸入的域名進行查詢。

       如果用戶輸入的域名中間有“.”比如“www.net1980”,系統直接用它進行查詢。如果查詢失敗,再依次加上各個後綴進行查詢。

       如果用戶輸入的域名最後有“.”,比如“net1980.com.”,系統首先會將輸入域名最後的“.”去掉,用剩下的部分查詢,如果沒有成功,會再去匹配域名列表進行查詢。

 

原文鏈接:http://www.net1980.com/2011/02/09/dongtai-dns/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章