网站组建、管理与维护
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.4.2 IPv6域名解析

IPv6的域名解析(DNS)与IPv4的DNS在体系结构上是一致的,都采用树状结构的域名空间。IPv4协议与IPv6协议的不同,并不意味着需要独立的IPv4 DNS体系和IPv6 DNS体系。相反的是,DNS的体系和域名空间必须是一致的,即,IPv4和IPv6共同拥有统一的域名空间。在IPv4到IPv6的过渡阶段,域名可以同时对应于多个IPv4和IPv6的地址。以后,随着IPv6网络的普及,IPv6地址将逐渐取代IPv4地址。

1.IPv6域名正向解析

IPv6可聚合全局单播地址是在全局范围内使用的地址,必须进行层次划分及地址聚合。IPv6全局单播地址分配方式是:顶级地址聚合机构TLA(大的ISP或地址管理机构)获得大块地址,负责给次级地址聚合机构NLA(中小规模ISP)分配地址;NLA给站点级地址聚合机构SLA(子网)和网络用户分配地址。IPv6地址的层次性在DNS中通过地址链技术可以得到很好的支持。下面从DNS正向和反向地址解析,分析IPv6域名解析。

正向解析是从域名获得IP地址的过程。IPv6域名正向解析,有两种资源记录,即AAAA和A6记录。其中,AAAA较早提出,它是对IPv4协议A记录的简单扩展。由于IP地址由32位扩展到128位,扩大了4倍,因此资源记录也由1个A扩展成4个A。但AAAA用来表示域名和IPv6地址的对应关系,并不支持地址的层次性。

A6是在RFC2874<5>中提出的。A6将一个IPv6地址与多个A6记录建立联系,每个A6记录只包含了IPv6地址的一部分,这些部分组合后形成一个完整的IPv6地址。IPv6域名记录示例如图1.9所示。A6记录支持一些AAAA所不具备的新特性,如地址聚合,地址更改等。

图1.9 IPv6域名记录示例

这种A6记录方式根据TLA、NLA和SLA的分配层次把128位的IPv6地址分解成为若干级的地址前缀和地址后缀,构成了一个地址链。每个地址前缀和地址后缀都是地址链上的一环,一个完整的地址链就组成一个IPv6地址。这种思想符合IPv6地址的层次结构,从而支持地址聚合。当用户改变ISP时,要随ISP改变而改变其拥有的IPv6地址。手工修改用户子网中所有在DNS中注册的地址,是一件非常烦琐的事情。而在用A6记录表示的地址链中,只要改变地址前缀对应的ISP名字即可,可以大大减少DNS中资源记录的修改。并且在地址分配层次中越靠近底层,所需要的改动越少。

2.IPv6域名反向解析

反向解析是从IP地址获得域名的过程。IPv6反向解析与IPv4的PTR一样,但地址表示形式有两种。一种是用“.”分隔的半字节十六进制数字格式(Nibble Format),低位地址在前,高位地址在后,域后缀是“IP7.INT.”。另一种是二进制串(Bit-string)格式,以“\[”开头,十六进制地址(无分隔符,高位在前,低位在后)居中,地址后加“]”,域后缀是“IP7.ARPA.”。

半字节十六进制数字格式与AAAA对应,是对IPv4的简单扩展。二进制串格式与A6记录对应,地址也像A6一样,可以分成多级地址链表示,每一级的授权用DNAME记录。和A6一样,二进制串格式也支持地址层次特性。

总之,以地址链形式表示的IPv6地址体现了地址的层次性,支持地址聚合和地址更改。一次完整的地址解析分成多个步骤进行,需要按照地址的分配层次关系到不同的DNS服务器进行查询。所有的查询都成功才能得到完整的解析结果。这势必会延长解析时间,出错的机会也增加。因此,需要进一步改进DNS地址链性能,提高域名解析速度,才能为用户提供理想的域名解析服务。

3.支持IPv4与IPv6地址转换的DNS

作为Internet基础架构的DNS服务,在IPv4到IPv6的过渡过程中,要支持网络协议升级和转换。IPv4和IPv6的DNS记录格式有所不同,为了实现IPv4网络和IPv6网络之间的DNS查询和响应,可以采用DNS-ALG(DNS Application Level Gateway,DNS应用层网关)结合NAT-PT(Network Address Translation and Protocol Translation,地址转换及协议转换)的方法。NAT-PT转换器位于IPv4和IPv6两个网络交界之处,在NAT-PT上运行DNS-ALG程序,NAT-PT在IPv4和IPv6网络之间起到了一个地址转换作用。其转换原理图如图1.10所示。

图1.10 IPv4/IPv6地址转换原理图

IPv4的地址域名映射使用A记录,IPv6使用AAAA或A6记录。IPv4网络节点PC1发送到IPv6网络节点PC2的DNS查询请求是A记录,DNS-ALG将A改写成AAAA,并发送给IPv6网络中的DNS2服务器。当DNS2服务器的应答到达DNS-ALG时,DNS-ALG修改应答,把AAAA改为A;将PC2的IPv6地址(2001:db8:2de::e12)改成DNS-ALG地址池中的IPv4转换地址(218.27.174.30),再将这个IPv4转换地址(218.27.174.30)和IPv6地址之间的映射关系通知NAT-PT,并把这个IPv4转换地址(218.27.174.30)作为解析结果返回IPv4网络节点PC1。IPv4网络节点PC1以218.27.174.30地址作为目的地址与实际的IPv6网络节点PC2通过NAT-PT通信。

对于只认识IPv6地址的PC2来说,PC1的地址就是2001:db8:2::218.27.174.3,NAT-PT转换器看到这个地址,就知道可以转换成IPv4地址218.27.174.3。