摘要:IPv6協議是取代IPv4的下一代網絡協議,它具有許多新的特性與功能。域名系統(DNS)是Internet的基礎架構,IPv6的新特性也需要DNS的支持。該文從IPv6 DNS的體系結構、IPv6的地址解析、IPv6地址自動配置等幾方面對IPv6時代的DNS進行了分析和研究。
關鍵詞:IPv6;域名系統
中圖分類號:TP393.04文獻標識碼:A文章編號:1009-3044(2008)36-2917-01
Domain Name System Base on IPv6 Protocol
FANG Ya-qun
(Jiangsu Food Science College, Huai'an 223003, China)
Abstract: IPv6 protocol is the next generation network protocol to replace IPv4 protocol. It has many new features and functions. Domain Name System (DNS) is the Internet infrastructure. These new features also need the support of DNS. In this article, I analyze and study about the DNS architecture, address resolution and address auto-configuration based on IPv6 protocol.
Key words: IPv6; domain name system
1 引言
域名系統(Domain Name System,簡稱:DNS)的主要功能是通過域名和IP地址之間的相互對應關系,來精確定位網絡資源。IPv6協議是用來取代IPv4的互聯網協議。首先,它提供了巨大的地址空間,這實際上是推廣IPv6的最大動力。其次,IPv6的地址結構和地址分配采用嚴格的層次結構,以便于進行地址聚合,從而大大減小了路由器中路由表的規模。再次,IPv6協議支持網絡節點的地址自動配置,可以實現即插即用功能。而且,IPv6協議對主機移動性有較好的支持,適合于越來越多的互聯網移動應用。另外,IPv6協議在安全性、對多媒體流的支持性等方面都具有超過IPv4的優勢。
2 IPV6域名的結構
IPv6網絡中的DNS與IPv4的DNS在體系結構上是一致的,都采用樹型結構的域名空間。IPv4協議與IPv6協議的不同并不意味著需要單獨兩套IPv4 DNS體系和IPv6 DNS體系,相反的是,DNS的體系和域名空間必須是一致的,即,IPv4和IPv6共同擁有統一的域名空間。
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字節之間。一個節點的域名是由從這個節點到根節點的路徑上的所有標識從左到右順序排列組成的,標識之間用“.”分隔。例如www.cnnic.net.cn。
3 IPv6地址及其表示方法
IPv6地址長度為128比特,地址按照其傳輸類型分為3種:
單播地址(Unicast Address):用來標識單一網絡接口。目標地址是單播地址的數據包將發送給以這個地址標識的網絡接口。
任播地址(Anycast Address):用來標識一組網絡接口(通常屬于不同的節點)。目標地址是任播地址的數據包將發送給其中路由意義上最近的一個網絡接口。
多播地址(Multicast Address):用來標識一組網絡接口的標識(通常屬于不同的節點)。發送到多播地址的數據包發送給本組中所有的網絡接口。在IPv6中沒有廣播地址(Broadcast Address),用多播地址取代。
其中,單播地址按照地址的傳輸范圍分為可聚合全局單播地址(Aggregatable GlobalUnicast Addresses)、NSAP地址、IPX層次地址、站點本地地址(Site-Local address)和鏈路本地地址(link-Local address)等。所有的網絡接口至少要有一個鏈路本地地址,同時還可以擁有多個地址(包括單播地址,任播地址和多播地址)。
IPv6的地址在表示和書寫時,用冒號將128比特其分割成8個16比特的部分,每個部分包括4位的16進制數字。例如:
1080:0000:0000:0000:0008:0800:200C:123A
4 DNS對IPv6地址層次性的支持
IPv6可聚合全局單播地址是在全局范圍內使用的地址,必須進行層次劃分及地址聚合。IPv6全局單播地址的分配方式如下:頂級地址聚合機構TLA(即大的ISP或地址管理機構)獲得大塊地址,負責給次級地址聚合機構NLA(中小規模ISP)分配地址,NLA給站點級地址聚合機構SLA(子網)和網絡用戶分配地址。IPv6地址的層次性在DNS中通過地址鏈技術可以得到很好的支持。下面從DNS正向地址解析和反向地址解析兩方面進行分析。
4.1 正向解析
首先,“A6”記錄方式根據TLA、NLA和SLA的分配層次把128位的IPv6的地址分解成為若干級的地址前綴和地址后綴,構成了一個地址鏈。每個地址前綴和地址后綴都是地址鏈上的一環,一個完整的地址鏈就組成一個IPv6地址。這種思想符合IPv6地址的層次結構,從而支持地址聚合。
其次,用戶在改變ISP時,要隨ISP改變而改變其擁有的IPv6地址。如果手工修改用戶子網中所有在DNS中注冊的地址,是一件非常繁瑣的事情。而在用“A6”記錄表示的地址鏈中,只要改變地址前綴對應的ISP名字即可,可以大大減少DNS中資源記錄的修改。并且在地址分配層次中越靠近底層,所需要改動的越少。
4.2 反向解析
IPv6反向解析的記錄和IPv4一樣,是“PTR”,但地址表示形式有兩種。一種是用 “.”分隔的半字節16進制數字格式(Nibble Format),低位地址在前,高位地址在后,域后綴是“IP6.INT.”。另一種是二進制串(Bit-string)格式,以“\\[”開頭,16進制地址(無分隔符,高位在前,低位在后)居中,地址后加“]”,域后綴是“IP6.ARPA.”。
總之,以地址鏈形式表示的IPv6地址體現了地址的層次性,支持地址聚合和地址更改。但由于一次完整的地址解析分成多個步驟進行,需要按照地址的分配層次關系到不同的DNS服務器進行查詢。所有的查詢都成功才能得到完整的解析結果。這勢必會延長解析時間,出錯的機會也增加。因此進一步改進DNS地址鏈功能,提高域名解析的速度才能為用戶提供理想的服務。
隨著Internet技術的不斷發展, DNS不再是僅僅提供傳統意義上的簡單資源定位,一方面提供類似IPv4 DNS的基礎功能,另一方面結合IPv6的新特性,和其它協議有機的結合在一起,提供新的功能,使網絡的配置、維護、使用變的更簡單更方便。
參考文獻:
[1] 蔣亮,郭健.下一代網絡移動IPv6技術[M].北京:機械工業出版社, 2005.8.
[2] 張云勇.基于IPv6的下一代互聯網[M].北京:電子工業出版社,2004.7.