針對IPv6協議DNS服務器的剖析
在IPv6隆重商用的前提是IPv4的地址枯竭。因為這個原因,所以我們急切需要IPv6協議來改善這個情況。那么IPv6如何進行DNS服務器的分配呢?下面我們就此來深入的剖析一下其中的原理。希望能對大家有所幫助。
IPv6協議域名系統的體系結構是什么樣的?
IPv6網絡中的DNS與IPv4的DNS在體系結構上是一致的,都是采用樹型結構的域名空間。IPv4協議與IPv6協議的不同并不意味著IPv4 DNS體系和IPv6 DNS體系需要各自獨立,相反,DNS的體系和域名空間必須一致,即IPv4和IPv6共同擁有統一的域名空間。在IPv4到IPv6的過渡階段,域名可以同時對應于多個IPv4和IPv6的地址。以后隨著IPv6網絡的普及,IPv6協議地址將逐漸取代IPv4地址。DNS樹形結構中唯一的一個根(Root),用點號“.”表示。根的下一級稱為頂級域(Top Level Domain,TLD),也稱一級域。頂級域的下級就是二級域(Second Level Domain,SLD),二級域的下級就是三級域,依次類推。每個域都是其上級域的子域(Sub Domain),比如“.net.cn”是“.cn”的子域,而“cnnic.net.cn”既是“net.cn”的子域,同時也是“.cn”的子域。
DNS樹上的每一個節點都有一個標識(Label),根節點的標識是“空”(即長度為0),其它節點的標識的長度在1到63字節之間。一個節點的域名是由從這個節點到根節點的路徑上的所有標識從左到右順序排列組成的,標識之間用“.”分隔。例如http://www.cnnic.net.cn/
DNS的整個域名空間劃分成許多的區(Zone),數據采用分布式存儲。每個區都有域名服務器(包括主服務器和輔服務器),以資源記錄(Resource Record)的形式來存儲域名信息。資源記錄包括了主機名(域名)和IP地址的對應,以及子域服務器的授權等多種類型。
用戶在使用DNS服務時,可以不必細致地了解DNS域名空間的樹型結構體系,只需在設置網絡時指定一個DNS服務器或使用動態主機配置(DHCP)等相關技術,從而使用戶的應用程序可以通過操作系統內嵌的解析器(Resolver)訪問DNS系統,查詢域名相關的網絡資源信息。
IPv6協議如何自動發現提供解析服務的DNS服務器?
(1)無狀態的DNS服務器發現
無狀態DNS服務器自動發現有以下幾種方式:
為子網內部的DNS服務器配置站點范圍內的任意播地址。要進行自動配置的節點以該任意播地址為目的地址發送服務器發現請求,詢問DNS服務器地址、域名和搜索路徑等DNS信息。這個請求到達距離最近的DNS服務器,服務器根據請求,回答DNS服務器單播地址、域名和搜索路徑等DNS信息。節點根據服務器的應答配置本機DNS信息,以后的DNS請求就直接用單播地址發送給DNS服務器。
與第一種方式相同,只是不用站點范圍內的任意播地址,而采用站點范圍內的組播地址或鏈路組播地址等。
IPv6協議一直用站點范圍內的任意播地址作為DNS服務器的地址,所有的DNS解析請求都發送給這個任意播地址。距離最近的DNS服務器負責解析這個請求,得到解析結果后把結果返回請求節點,而不像第一種方式是把DNS服務器單播地址、域名和搜索路徑等DNS信息告訴節點。
從網絡擴展性、安全性、實用性等多方面綜合考慮,第一種采用站點范圍內的任意播地址作為DNS服務器地址的方式相對較好。
(2)有狀態的DNS服務器發現
有狀態的DNS服務器發現方式是通過類似DHCP的服務器把DNS服務器地址、域名和搜索路徑等DNS信息告知節點。當然,這需要額外的服務器。
在IPv4到IPv6協議的過渡階段如何實現DNS?
在IPv4到IPv6的過渡過程中,作為Internet基礎架構的DNS服務也要支持這種網絡協議的升級和轉換。可以用兩種方法實現IPv4到IPv6過渡階段的DNS:
(1)DNS-ALG與NAT-PT相結合的方法
IPv4和IPv6的DNS在記錄格式等方面有所不同,為了實現IPv4網絡和IPv6網絡之間的DNS查詢和響應,可以將應用層網關DNS-ALG與NAT-PT相結合,作為IPv4和IPv6網絡之間的翻譯器。例如,IPv4的地址域名映射使用“A”記錄,而IPv6使用“AAAA”或“A6”記錄。那么,IPv4節點發送到IPv6網絡的DNS查詢請求是“A”記錄,DNS-ALG就把“A”改寫成“AAAA”,并發送給IPv6網絡中的DNS服務器。當服務器的回答到達DNS-ALG時,DNS-ALG修改回答,把“AAAA”改為“A”,把IPv6地址改成DNS-ALG地址池中的IPv4轉換地址,把這個IPv4轉換地址和IPv6協議地址之間的映射關系通知NAT-PT,并把這個IPv4轉換地址作為解析結果返回IPv4主機。IPv4主機就以這個IPv4轉換地址作為目的地址與實際的IPv6主機通過NAT-PT通信。
(2)雙協議棧方式
對于采用雙協議棧方式的過渡方法,在DNS服務器中同時存在“A”記錄和“AAAA”(或“A6”)記錄。由于節點既可以處理IPv4協議,也可以處理IPv6協議,因此無需類似DNS ALG的轉換設備。無論DNS服務器回答“A”記錄還是“AAAA”記錄,都可以進行通信。