3.4 IPv6支撑/配套系统
3.4.1 DNS
1.IPv6域名系统
域名系统(Domain Name System,DNS)用于域名与IP地址的相互转换。通过域名得到地址,称为正向解析;通过地址得到域名,称为反向解析。
IPv6的DNS体系结构和IPv4的DNS一样,也采用了树形结构的域名空间。最高层称为根(Root),之下是顶级域(Top Level Domain,TLD),然后是二级域(Second Level Domain,SLD),依此类推。每个域都是它上一级的子域。DNS的树形结构如图3-7所示。
图3-7 DNS的树形结构
例如域名cnispgroup.com,在IPv4 DNS的基础上,IPv6 DNS进行了扩展:为每一个域名到IPv6地址的映射定义一个资源记录类型,主域支持基于地址的搜索,把现有的仅支持为IPv4地址扩展附加段操作的查询,在支持IPv4地址的基础上又支持IPv6地址。一个IPv6地址的正向解析DNS记录可以用两种类型表示:AAAA、A6。AAAA类型是在IPv4地址的A记录的简单扩展。IPv6正向解析的AAAA记录的类型值是28(十进制)。
A6类型的记录是把多个A6记录与一个IPv6地址建立联系,其中每个A6记录都只包含了IPv6地址的一部分,然后这些部分拼接起来成为一个完整的IPv6地址。A6类型的记录相比AAAA类型的记录多了一些新特性,如地址聚合、地址重编号等。首先,A6类型的记录把128位的IPv6地址按层次分解成若干级地址前缀和后缀,形成一个地址链。每个地址前缀和地址后缀都是地址链上的一环——一个完整的地址链组成——一个完整的IPv6地址。这种就是IPv6地址的层次结构思想,从而支持地址聚合。其次,用户在更换ISP时,要随ISP的改变而改变自己的地址。如果想修改用户子网中的地址,是很麻烦的。而在A6记录中,只需要改变地址前缀所对应的ISP名字即可。这样大大减少了DNS中资源记录的修改操作,并且越靠近底层,所需要的改动越少。
IPv6反向解析和IPv4一样,都是使用PTR,但在表现形式上有两种:一种是用分隔的十六进制数字格式,低位在前,高位在后,后缀是“IP6.INT.”。它与AAAA记录对应,是对IPv4的简单扩展。另一种是二进制串格式——以“\[”开头,十六进制地址居中,无分隔符,低位在后,高位在前,地址后加“]”,域后缀是“IP6.ARPA.”。它与“A6”类型记录对应,也像“A6”一样,可以分成多级地址链表示,每一级的授权用“DNAME”记录,也支持地址层次特性。
2.自动域名更新
IPv6庞大的地址空间、即插即用的配置、对网络移动性的支持等,给用户带来了很大的方便。但同时,由于IP地址长度的增加和动态改变,使得网络节点使用IP地址进行通信更为复杂。而且,也很难在具有动态IPv6地址的主机上架设服务器。如果能为每个网络节点分配一个相对固定的域名,节点使用各自的域名进行通信。那么,无论从IPv6地址的使用,还是管理角度来说,都简单多了。而且,也使得在具有动态IPv6地址的主机上架设服务器成为可能。因此,就需要DNS服务器能自动跟踪每个节点,并能在各节点的域名与IPv6地址的对应关系发生变化时,随时更新,这就是自动域名更新。
自动域名更新系统采用客户端/服务器模式,客户端定时自动注册服务器(App服务器)发送域名注册/更新信息,自动注册服务器验证客户端域名、地址、密码等的有效性后,向DNS服务器发出动态更新信息,更新其记录。系统的结构如图3-8所示。
图3-8 自动更新域名系统的结构图
客户端安装在网络节点上,能够自动检测本机IP地址,并向自动注册服务器发送IP地址改变消息。自动注册服务器认证客户端身份合法、确定IP地址的改变。在通过检测之后,自动注册服务器向DNS服务器发送动态更新消息,更新该客户端的域名与其IP地址的映射关系。