王巍,吳許俊,朱長水
(南京理工大學 泰州科技學院,江蘇 泰州 225300)
IPv4網絡中,DNS用來實現域名到地址以及地址到域名的映射,IPv6網絡[1]在原有的域名系統上進行了擴展。IETF為IPv6的DNS定義了兩種新的記錄類型:AAAA記錄類型和A6記錄類型。在IPv4和IPv6并存的環境中,DNS服務器需要為雙棧主機至少保存兩條DNS記錄,分別記錄主機IPv4地址到域名的映射以及IPv6地址到域名的映射。
為了解決因特網IPv4地址空間的局限性,IETF提出了下一代IP地址結構IPv6,其在IP地址空間、路由協議、安全性、移動性以及服務質量QoS支持等方面都作出了較大的改進。IPv6地址的位數是IPv4地址的位數的4倍,128比特的IPv6地址空間非常巨大,世界上的每個人都可以擁有5.7×1028個IPv6地址。由于地址空間的增加,就無須進行地址轉換,NAT部署帶來的問題和系統開銷也隨之解決,將使通信真正實現全球可達且任意點到任意點的連接。
IPv6地址共分為 3種類型:1) 單播地址(Unicast Address):用來標識單一網絡接口。目標地址是單播地址的數據包將發送給以該地址為標識的網絡接口。2)任播地址(AnycastAddress):用來標識一組網絡接口,這些接口通常屬于不同的節點。目標地址是任播地址的數據包將發送到路由意義上距離最短的網絡接口。3)多播地址(MulticastAddress):用來標識同一組網絡接口。發送到多播地址的數據包將發送給本組內所有的網絡接口。
IPv6中取消了廣播地址,其功能通過IPv6的多播地址實現[2]。 在 IPv4中地址分為A、B、C、D、E類,IPv4地址中包含網絡標識符和主機標識符兩部分,而在 IPv6協議中采用層次型的地址體系結構。該地址結構延續了IPv4中的超網和CIDR協議的思想。IPv6單播地址的結構如表1所示。

表1 IPv6的單播地址結構Tab.1 Structure of IPv6 Unicast Address
IPv6采用多層次的地址結構可以顯著提高路由速度[3],網絡中不同層次的路由能夠識別出地址中位于上層的網絡標識。低層子網的網絡標識在其高層的子網中被聚合起來,縮小了高層子網中的路由表項,提高了路由匹配和轉發速度。
IPv6的DNS在體系結構上與IPv4網絡類似,同樣采用了倒立的樹型[4]結構。最高層為根(Root),下一層為頂級域[5](Top Level Domain),接著是二級域(Second Level Domain)。IPv6的DNS樹型結構如圖1所示。IPv6 DNS在v4的基礎上做了以下擴展[6]:
1)為每一個域名到IPv6地址的映射定義一個資源記錄類型。
2)主域支持基于地址的搜索。
3)把現有的僅支持為定位IPv4地址而執行附加段操作的查詢,擴展到既支持IPv4地址又支持IPv6地址[7]。

圖1 域名體系結構Fig.1 Architecture of DNS system
IPv6地址的正向解析DNS記錄支持兩種類型:AAAA記錄和A6記錄[8]。AAAA類型是對IPv4地址的正向解析DNS記錄類型A的簡單擴展[9],不支持IPv6地址的層次性。AAAA類型的IPv6地址正向解析DNS記錄的類型值是28。
A6記錄類型是把一個IPv6地址與多個A6記錄建立聯系,每個A6記錄都只包含了IPv6地址的一部分,這些部分結合后拼裝成一個完整的IPv6地址[10]。A6記錄類型的記錄支持一些AAAA類型的記錄所不支持的新特性,如地址聚合、地址重編號等。A6類型的記錄根據可聚合全球單播地址中的TLA、NLA和SLA項目分配的層次,把IPv6地址分解為若干級的地址前綴和地址后綴,每個地址前綴和地址后綴構成地址鏈上的一環,一個完整的地址鏈組成一個IPv6地址。
為了使域名系統能正確實現IPv6地址到域名的反向解析,域名系統中增加了兩個新域:ip6.int和 ip6.arpa。ip6.int對應于AAAA記錄,是對 IPv4的簡單擴展,ip6.arpa對應與A6記錄,地址和“A6”一樣 ,可以分成多級地址鏈表示,每一級的授權用“DNAME”記錄。ip6.int域采用以 “.”分隔的半字節十六進制數字格式(Nibble Format)來表示一個 IPv6地址,低位地址在前,高位地址在后,并以 ip6.int.作為其后綴;而在 ip6.arpa域中,則采用了二進制串(Bit-string)格式的標記類型,該格式以“<”開頭,位串中的十六進制地址(高位在前低位在后)緊隨其后,地址末尾加上“>”標記,域后綴為“IP6.ARPA.”。
Linux具備開源、安全、穩定等特點而廣泛應用于服務器領域,本文將在Linux系統下通過Bind程序來架設DNS服務器。Bind是Berkeley Internet Name Domain Service的簡寫,它是一款實現DNS服務器的開放源碼軟件。Bind來源于美國DARPA資助伯克里大學(Berkeley)的科研項目,該項目誕生了世界上使用最為廣泛的DNS服務器軟件BIND。
Bind程序的DNS服務進程名為named,該進程啟動時加載文件/etc/named.conf的配置信息,該文件定義了正向域名解析和反向域名解析的區域信息。named.conf文件中添加DNS正向解析和反向解析條目。

選項部分的directory“/var/named/”指定域文件的位置,區域 “v6test.com”定義了域v6test.com的正向解析文件為/var/named/v6test.com.zone,并且為該域的主DNS服務器。區域“1.9.3.0.0.6.3.a.e.3.d.0.1.0.0.2.ip6.int”定義了對應AAAA記錄的反向解析信息。區域"[x20010d3ea3600391/64].ip6.arpa"定義了對應A6記錄的反向解析信息。
建立v6test.com域名的正向解析文件v6test.com.zone,具體信息如下:


反向數據解析文件1.9.3.0.0.6.3.a.e.3.d.0.1.0.0.2.ip6.int.zone的PTR記錄與v6test.com.zone中的AAAA記錄相對應,具體信息如下:

文件中的PTR記錄采用半位元標記格式記錄主機地址后綴,DNS服務器從named.conf文件中獲取地址前綴1.9.3.0.0.6.3.a.e.3.d.0.1.0.0.2.ip6.int從而構成一個完整的Ipv6地址。
反向數據解析文件x20010d3ea3600391.ip6.arpa.zone的PTR記錄與v6test.com.zone中的A6記錄相對應,具體信息如下:

文件中的PTR記錄采用位串標記格式記錄主機地址后綴,DNS服務器從named.conf文件中獲取地址前綴[x20010d3ea3600391/64].ip6.arpa從而構成一個完整的Ipv6地址。
服務器中運行命令/etc/rc.d/init.d/named start啟動DNS服務,配置客戶機的/etc/resolv.conf文件,將客戶機DNS地址指向DNS服務器,并在Linux系統中使用nslookup工具測試域名解析,依次檢測正向解析和反向解析的功能。


隨著互聯網的發展,IPv6相關技術正逐步投入使用,與IPv4網絡長期共存。DNS是網絡互聯不可或缺的環節,在IPv4/IPv6的交叉融合區域,常存在DNS服務器不能同時為IPv4和IPv6主機解析域名的問題。為了實現IPv4與IPv6網絡域名之間的互通,DNS需要采用IPv6的過渡技術,以實現下一代網絡的平穩升級。
[1]李津生,洪佩琳.下一代 Internet網絡技術[M].人民郵電出版社,2001.
[2]黃烜.IPv6組播技術[J].計算機與現代化,2005,6(18):52-59.
HUANG Xuan.IPv6 Multicast Technology[J].Computer and Modernization,2005,6(18):52-59.
[3]WANG Ling-fang,ZHANG Yu,LI Ying-hua.Implementing Cisco IPV6 Networks[M].Beijing:Posts&Telecom Press,2003.
[4]張鴻.IPv6時代的域名系統[R].北京:中國科學院計算機網絡中心,2007.
[5]李丹,吳建平,崔勇,等.互聯網名字空間結構及其解析服務研究[J].軟件學報,2005,16(8):1445-4555.
LI Dan,WU Jian-ping,CUI Yong,et al.Research on the structures and resolutions of Internet namespaces[J].Journal of Software,2005,16(8):1445-1455.
[6]DONG Zhong-kai.DNS introduction[EB/OL].http://tur-tle.ee.ncku.edu.tw/tung/dns/,1999-051
[7]IETF RFC 2694-1999.DNS extensions to Network Address Translators(DNS_ALG)[S].
[8]Crawford M,Huitema C,IETF.RFC 2874,DNS Extensions to Support IPV6 Address Aggregation and Renumbering[S].www.ietf.org/rfc/rfc2874.txt,2000-07.
[9]Bush R,Durand A,Fink B,et al.Represent-ing Internet Protocol version 6 (IPv6)Addresses in the Domain Name System (DNS)[S].RFC 3363, 2002.
[10]張鴻,錢華林.IPv6對域名系統的需求及其解決方法的研究[J].微電子學與計算機,2003(1): 35-38.
ZHANG Hong,QIAN Hua Lin.The Challenge for Domain Name System from IPv6 and Its Solution[J].Microelectronics&Computer, 2003(1):35-38.