网络域名服务器技术要求
XXX
(淮阴工学院 计算机工程学院,江苏 淮安 223003)
摘要:IPv6协议是取代IPv4的下一代网络协议,它具有很多新的特性和功能。域名系统是Internet的基础构架,IPv6的新特性也需要域名系统的支持。因此,域名系统必须升级以满足IPv6的需求。在IPv4到IPv6的过渡过程中,作为Interent基础构架的DNS服务也必须要支持这种网络协议的升级和转换。此次研究主要从域名系统的体系结构、域名系统地址解析、IPv6地址自动配置和实现IPv4/IPv6网络之间的DNS查询和响应采用的双栈技术等方面对IPv6网络域名服务器技术进行了研究。 关键词:IPv6;域名系统;体系结构;地址解析;地址自动配置;双栈技术 中图分类号:TP393
文献标识码:A
Technical specifications on DNS of IPv6 network YANG xinxing
(School of Computer Engineering ,Huaiyin Institute Of Technology,Huai’an Jiangsu 223003,China)
Abstract:IPv6 protocol is to replace the next generation of IPv4 network protocol, it has a lot of new characteristics and function.Internet is the base frame of Domain Name System, IPv6 new characteristic also need the support of the Domain Name System.Therefore, Domain Name System must upgrade to meet the needs of IPv6.In the transition of IPv4 to IPv6 process, as the Interent base frame DNS service will have to support the network protocol upgrades and conversion.This study mainly from the Domain Name System architecture, Domain Name System address resolution, IPv6 address automatic configuration and the realization of IPv4 / IPv6 network DNS query and response between the double stack technology of IPv6 network Domain Name server technology were studied.
Key words:IPv6;Domain Name System;rchitecture;Address Resolution;stateless address autoconfiguration;Double stack technology
0 引言
域名系统是一种用于TCP/IP应用程序的分布式数据库,它提供主机名字和IP地址之间转换及有关电子邮件的选路信息。这里所提到的分布式是指Internet上的单个站点不能拥有所有的信息。每个站点(如大学中的系、校园、公司或公司中的部门)保留它自己的信息数据库,并运行一个服务器程序供Internet上的其他系统查询。域名系统提供了允许服务器和客户程序互相通信的协议。
域名服务器是存储域名空间信息的服务程序,域名服务器拥有自己管辖部分的域名空间(称为区域zone)的完整信息。同一域名服务器可以拥有多个区的授权。域名服务器完成域名—IP地址映射。
1 IPv6域名系统的结构和技术
1.1 IPv6域名系统的结构
IPv6网络中的DNS与IPv4的DNS在体系结构上是一致的,都采用树型结构的域名空间(如图1所示)。IPv4协议与IPv6协议的不同并不意味着需要单独应用IPv4 DNS体系和IPv6 DNS体系,相反,它们的DNS体系和域名空间必须保持一致,即IPv4和IPv6共同拥有统一的域名空间。在IPv4到IPv6的过渡阶段,域名可以同时对应于多个IPv4和IPv6的地址。
每个节点有1到63个字符长的标志。这棵树的树根是没有任何标志的特殊节点。命名标识中一律不区分大写和小写。命名树上任何一个节点的域
名就是将从该节点到最高层的域名串联起来,中间使用一个点“.”分隔这些域名。域名数中的每个节点必须有一个唯一的域名,但域名树中的不同节点可使用相同的标志。
图1的最上方是DNS树形结构中惟一的根(Root),用点号“.”表示。根的下一级称为顶级域(简称TLD),也称一级域。顶级域的下级就是二级域(简称SLD),二级域的下级就是三级域,依此类推。每个域都是其上级域的子域(Sub Domain)。
③ 所有2字符长的域均是基于ISO3166中定义的国家代码,这些域被称为国家域。 1.2 IPv6域名系统的技术 1.2.1 IPv6中的地址解析 ⑴ IPv6地址的表示方法
IPv6地址长度为128比特,地址按照其传输类型分为三类:
①单播地址:用来标识单一网络接口。目标地址是单播地址的数据包将发送给以这个地址为标识的网络接口。
②任播地址:用来标识一组网络接口。目标地址是任播地址的数据包将发送给路由上最近的一个网络接口的地址。
③多播地址:用来标识一组网络接口。发送到多播地址的数据包将发送给本组中所有的网络接口。在IPv6中没有广播地址,用多播地址取代。 IPv6的地址在表示和书写时,用冒号将128比特分割成8个16个比特的部分,每个部分包括4位的16进制数字。例如:
1080:0000:0000:0000:0008:200C:123A,在每个4
图1 域名系统的结构 每一个独立管理的域名系统子树称为一个区域(zone)。一个常见的区域是一个二级域,如yahoo.com。许多二级域将它们的区域划分为更小的区域。如大学可能根据不同的系来划分区域,公司可能根据不同的部门来划分区域。
顶级域被分为三个部分:
① arpa是一个用作地址到名字转换的特殊域。
② 7个3字符长的普通域。表1所列为7个普
位一组的十六进制数中,如其高位为0,则可省略。于是,上式可缩写成1080:0:0:0:8:800:200C:123A。为了进一步简化,可以用重叠冒号置换地址中16比特的0,则上式可缩写成1080::8:800:200C:123A。重叠冒号的规则在一个地址中只能使用一次。 ⑵ DNS对IPv6地址的解析
IPv6可聚合全局单播地址是在全局范围内使用的地址,必须进行层次划分及地址聚合。IPv6全
局单播地址的分配方式如下:顶级地址聚合机
通域的正式化分。 构TLA,负责给次级地址聚合机构NLA分配地址,
NLA给站点级地址聚合机构SLA和网络用户分配 地址。下面从DNS正向解析和反向地址解析两方面进行分析。 ①正向解析
IPv4的地址正向解析的资源记录是A记录,而IPv6地址的正向解析目前有两种资源记录,即 AAAA和A6记录。
其中AAAA较早提出,它是对IPv4协议A记录的简单扩展。由于IP地址由32位扩展到128位,扩大了4倍,所以资源记录由A扩大成4个A。但AAAA只用来表示域名和IPv6地址的对应关系,并不支持地址的层次性。AAAA资源记录类型用来将一个合法域名解析为IPv6地址,与IPv4所用的A资源记录类型相兼容。之所以给这新资源记录类型取名为AAAA,是因为128位的IPv6地址正好是32位IPv4地址的四倍。
I AAAA数据格式
AAAA记录的数据部分分成三个域,如图2所示: IPv6地址 前缀长度 子网域名 (128比特) (8比特) (0~255字符) 图2 AAAA数据格式 IPv6地址,128位,按先高位字节的顺序格式排列。
前缀长度指示,8位,指示前缀长度。 子网域名(可变长度),按域名格式编码,可以根据RFC1884中定义的文本进行压缩。域名的压缩可以节省空间,但不支持AAAA记录类型的服务器缓存记录时,可能产生问题。当前缀长度为0时,子网域名就不再编码。
II AAAA查询
对特定的域名进行一次AAAA查询,在响应中返回的是与AAAA资源记录相关的所有信息,AAAA查询要执行附加分段处理,其方式是返回与 被查询域名相关的AAAA记录。
III AAAA记录的文本格式
在主数据库文件中使用AAAA资源记录,其数据部分的文本表示形式是由三部分组成:主机IPv6地址的文本表示、以十进制表示的前缀长度和域名,每部分由空格分开。
IV IPv6的INT域
在IPv6中定义一个特定的域来查询由一个给定地址所指向的记录,因为IPv6地址没有自然边界,定义域提供了一种映射方式将IPv6地址映射成主机名。数值名的构成方式为,将这个地址以16进制数字的顺序来表示,然后将次序反转,每个数字以点隔开,再在其后加上ipv6.txt。如一个IPv6地址是
3ffe:0:1:2:3:4:5557:4311 在域名系统中可以表示成
1.1.3.4.7.5.5.5.4.3.2.1.0.e.f.f.3.ipv6.txt A6是在RFC2874基础上提出,它是把一个IPv6地址与多个A6记录建立联系,每个A6记录 都只包含了IPv6地址的一部分,结合后拼装成一个完整的IPv6地址。A6记录支持一些AAAA所不具备的新特性,如地址聚合,地址更改等。首先A6记录方式根据TLA、NLA和SLA的分配层次把128位的IPv6的地址分解成为若干级的地址前缀和地址后缀,构成了一个地址链。每个地址前缀和地址后缀都是地址链上的一环,一个完整的地址链组成一个IPv6地址。这符合IPv6地址。的层次结构,支持地址聚合。其次,用户在改变ISP时,要随ISP的改变而改变其拥有的IPv6地址。手工修改用户子网中所有在DNS中注册的地址,是一项非常繁琐的工作。而在用A6记录表示的地址链中,只要改变地址前缀对应的ISP名字即可,这样就大大减少了DNS中资源记录的修改,并且在地址分配层次中越靠近底层,所需要改动的越少。
I A6数据格式
A6记录的RDATA格式如图3所示。 前缀地址 后缀地址 前缀名称 1字节 0~16字节 0~255字节 图3 A6数据格式 II 使用AAAA和A6的实现比较 设节点域名server.mydomain.com,该域由mydomain.com(SLA)管理,mydomain.com的地址由v6testbed.net(NLA)分配,v6test.net地址由v6testnic.net(TLA)分配。
如果采用AAAA记录,表示如下: $ORIGIN mydomain.com.
server IN AAAA 3ffe:321f:1:a5:1000::80 采用A6记录,表示一个完整的IPv6 DNS地址链,表示如下:
$ORIGIN mydomain.com.
server IN A6 64 0:0:0:0:1000::80 serv.v6testbed.net. $ORIGIN v6testbed.net.
serv IN A6 32 0:0:1:a5:: SUB.V6TESTNIC.NET. $V6TESTNIC.NET. SUB IN A6 0 3ffe:321f::
通过以上分析可以发现采用A6表示的地址链,当改变上级TLA或NLA时,只需要修改对应的TLA、NLA名字和其资源记录,在地址分配层次中越接近底层,需要的改动就越少。如上例中当NLA的上级TLA改变时,自需要改变NLA中的TLA设置,而其下的SLA无需修改DNS设置。 ②反向解析
IPv6反向解析的记录和IPv4一样,是”PTR“,但地址表示形式有两种。一种是用“.”分隔的半字节16进制数字格式(Nibble Format),低位地址在前,高位地址在后,域后缀是“IP6.INT.”。另一种是二进制串(Bit-string)格式,以“\\[”开头,16进制地址(无分隔符,高位在前,低位在后)居中,地址后加“]”,域后缀是”IP6.ARPA.“。半字节16进制数字格式与”AAAA“对应,是对IPv4的简单扩展。二进制串格式与”A6“记录对应,地址也像”A6“一样,可以分成多级地址链表示,每一级的授权用“DNAME”记录。和”A6“一样,二进制串格式也支持地址层次特性。
其中,IP6.INT域用于为IPv6提供逆向地址到主机名解析服务。逆向检索也称为指针检索,根据IP地址来确定主机名。为了给逆向检索创建名字空间,在IP6.INT域中,IPv6地址中所有的32位十六进制数字都逆序分隔表示。例如,设为地址FEC0::2AA:FF:FE3F:2A1C查找域名,其完全表达式:FEC0:0000:0000:0000:02AA:00FF:FE3F:2A1C在IP6.INT域中表达式是:
C.1.A.2.F.3.E.F.F.F.0.0.A.A.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.C.E.F.IP6.INT。
总之,以地址链形式表示的IPv6地址体现了地址的层次性,支持地址聚合和地址更改。但是,由于一次完整的地址解析要分成多个步骤进行,需
要按照地址的分配层次关系到不同的DNS服务器进行查询,并且所有的查询都成功才能得到完整的解析结果。这势必会延长解析时间,出错的机会也增加。因此,在技术方面IPv6协议需要进一步改进DNS地址链功能,提高域名解析的速度才能为用户提供理想的服务。 1.2.2 IPv6地址自动配置方式
IPv6协议支持地址自动配置,这是一种即插即用的机制。IPv6支持无状态地址自动配置和有状态地址自动配置两种方式。
在无状态地址自动配置方式下,需要配置地址的网络接口先根据自身接口标识生成一个链路本地地址。网络接口得到这个链路本地地址之后,获得了IPv6报文的收发功能,再通过接收路由器发出的RA报文,获取其中携带的地址前缀,结合接口标识得到一个全局单播地址。无状态地址自动配置中的前缀地址获取是最为重要的。IPv6前缀地址用来标识主机节点与路由器之间的网络,主机需要的前缀地址是与主机连接的路由器接口的前缀,为获取这个前缀,就需要在主机和路由器之间运行无状态地址自动配置协议。主机通过发送路由器请求报文发现路由器,路由器通过发送路由器通告报文,通告链路上的前缀信息。
而有状态地址自动配置的方式,如DHCP(动态主机配置协议),需要一个DHCP服务器,通过客户机/服务器模式从DHCP服务器处得到地址配置的信息。所以在有状态下的DNS服务器发现方式下,是通过类似DHCP这样的服务器把DNS服务器地址、域名和搜索路径等DNS信息告诉主机节点。
需要说明的是,DHCPv6是有状态的地址自动配置协议,而IPv6协议所具有的是无状态地址自动配置协议。无状态自动配置机制不需要设置DHCPv6服务器就能够为主机配置IPv6地址。在某些情况下用户可以选择使用DHCPv6服务器。比如用户会使用链路上没有IPv6路由器的IPv6主机,用户需要使用DHCPv6配置IPv6主机地址,以获得所需要的前缀信息。
2 IPv6网络域名服务器技术要求
为了彻底解决IPv4中存在的问题,更好地适
应互联网的发展,国际网络标准组织提出的新的IP版本IPv6,它具有很多新特性,同时需要很多技术支持。
2.4 应支持IPv4/IPv6 协议双栈的工作模式 在IPv4和IPv6共存的坏境下,应有IPv4/IPv6 互通的相关设备,如双栈路由器、双栈网络安全设
2.1 支持IPv6的AAAA和A6类型查询。
IPv6记录类型采用的查找机制如下图4所示, 即如果客户端请求有关IPv6的资源记录,系统将优先查询A6记录;如果没有相关结果,查看有无相关的CNAME记录或DNAME记录,如果找到CNAME记录,首先缓存该域名然后返回查询,若找到相关DNAME记录,则添加A6记录链跟踪器跟踪查找;如果没有找到以上相关记录,服务器将会查找对应该域名的AAAA记录;如果也没有找到,系统会查找相关的A记录并返回;如果最后没有找到对应该域名的任何消息,则服务器根据自身配置向远端服务器请求查找,根据查找情况返回相应查询结果。 2.2 支持IP6.ARPA的反向解析
支持 “.”分隔的半字节16进制数字格式和二进制串(Bit-string)格式的IP6.ARPA反向解析。 2.3 返回记录的访问顺序
递归服务器访问权威服务器的过程中,如果权威服务器应答响应报文里同时存在A记录和解析IPv6地址的类型记录(AAAA记录和A6记录),在递归服务器支持的情况下,递归服务器应先使用A记录对应的地址去访问权威服务器。如果权威服务器响应里只有AAAA记录或A6记录,则递归服务器仅访问AAAA记录或A6记录的对应的权威服务器。
备等,从而确保双栈模式的正常运行。 双栈模式是指网络节点或者主机同时具有IPv4和IPv6两个协议栈,它既可以接收、处理、收发IPv4的数据分组,也可以接收、处理、收发IPv6的数据分组,它可以处理来自IPv4和IPv6网络中的客户端域名查询请求。双栈机制是使IPv6节点与IPv4节点互通的最直接方式,如图5所示。
图5 双栈技术
3 总结
和IPv4一样,IPv6中的DNS也采用树状结构的域名空间,它们拥有一致的域名空间,域名空间的最高层为根,向下依次为顶级TLD、二级域SLD等。由于IPv6中的地址格式更加复杂,所以它的DNS在IPv4的基础上需要改进以适应IPv6的应用。其主要扩展有:①建立新的资源记录,类型为AAAA和A6;②建立新域IP6.INT,用于扩展IPv6
地址;③修改DNS查询,以同时支持IPv4地址和IPv6地址。
结束语
通过对IPv6域名服务器技术要求的学习和研究,我对于IPv6域名系统的层次结构有了深入的了解和掌握,同时还学到研究本次课题以外的东西,通过和IPv4的比较,我看到了它们的相同和不同之处,看到了IPv6的很多优点和新特性。与IPv4协议相比它拥有巨大的地址空间;从地址结构和地址分配上支持地址聚合,从而大大减少路由表 条目;具有方便的网络即插即用功能;具有良好的移动性支持等等新特性。
随着Internet技术的不断发展,IPv6已经离我们越来越近。在向未来互联网发展的过程中,IPv6在全球范围内发展势头势不可挡。域名系统作为IPv4时代的网络基础服务,对Internet起着重要的作用。在即将到来的IPv6时代,域名系统应跟紧IPv6的发展步伐。新的协议和功能要求域名系统不再是仅仅提供传统意义上的简单资源定位,而是一 方面提供类似IPv4 DNS的基础功能,另一方面结 合IPv6的新特性,和其它协议有机的结合在一起,提供新的功能,使网络的配置、维护、使用变的更加简单方便,让用户感觉到新技术带来的新体验,并在IPv6时代真正到来之时,完成对IPv6新特性及DNSECv6的全面支持。尽管各类过渡技术及DNSECv6技术仍然存在一定缺陷,但在相关研究人员的不懈努力下,域名系统一定能够实现完美过渡,并最终在IPv6时代发挥更为重要的最用。
我发现IPv6技术就在我们身边,它正在向我们走来。它将是计算机网络和下一代电信网络研究和应用的热点。它在很多方面都有应用,IPv6技术通过自动识别机制、巨大的地址空间、内置网络安全,使其能对每个终端(包括无线终端)、每个家电、每个生产流程,以及每个传感器进行IP全球化管理。可以说在以IPv6为核心技术的下一代网络上,可以实现现有IPv4网络所提供的全部通信业务。更重要的是,IPv6所提供的巨大的地址空间以及所具有的诸多优势和功能,是提供语音、数据、视频融合的高品质、多样化的通信服务的实现成为可能。在现有网络技术逐步演变到IPv6之后,从
移动终端、汽车到自动售货机、报警系统、照相机乃至钥匙环和其他各种各样的产品都可以实时在
线,一个个信息孤岛最终连成强大的IPv6网络。我相信IPv6技术会在不断完善中长久的发展下去, 参考文献
[1]高传善,钱松荣,毛迪林.数据通信与计算机网络[M].北京:高等教育出版社,2000.
[2]伍海桑,陈茂科,陈名华等.IPv6原理与实践.北京:人民邮电出版社,2000.
[3]张鸿.IPv6时代的域名系统[R].北京:中国科学院计算机网络中心,2007.
[4]李丹,吴建平,崔勇.互联网名字空间结构及其解析服务研究[A].软件学报,2005,16(8). [5]王相林.IPv6核心技术[M].北京:科学出版社,2009.
[6]谢希仁.计算机网络(第四版).北京:电子工业出版社,2003.
[7]周逊.IPv6—下一代网络的核心.北京:电子工业出版社,2003.
[8]李振强,等.2006.IPv6技术揭秘.北京:人民邮电出版社.
[9]RFC 2766-February 2000.Network Address Translation—Protocol Translation(NAT-PT)[S]. [10]Paul Albitz,Cricket Liu.DNS and Bind.Third Edition[M].O’Reilly.
[11]IETF RFC 2893~August 2000.Transition Mechanisms for IPv6Hosts and Routers.[S]. [12]JAMES F.KUROSE & KEITH
W.ROSS.Computer networking a top-down approach featuring the Internet:影印版[M].北京:机械工业出版社,2008.
[13]Joseph Davies.理解IPv6.张晓彤,晏国晟,曾庆峰译.北京:清华大学出版社,2004.
[14]Marcus Goncalves,Kitty Niles.IPv6网络.北京:人民邮电出版社,2000.
[15]Dixon.T.May 1993.RFC1454 Comparison of Proposals for Next Version of IP.
[16]Thomson S,Huitema C.1995.RFC1886,DNS Extensions to Support IP Version 6.
[17]Hinden R,Deering S.2006.RFC4291,IP Version 6 Addressing Architecture.
[18]Narten T,Draves R.2001.RFC3041,Privacy Extensions for Stateless Address Autoconfiguration in IPv6.
[19]Davies J.2003.Understanding IPv6.Birming ham:Microsoft Press.
[20]Crawford M,Huitema C.2000.RFC2874,DNS Extensions to Support IPv6 Address Aggregation and Renumbering.
因篇幅问题不能全部显示,请点此查看更多更全内容