IPv6域名系统研究

2022-09-11 版权声明 我要投稿

0 引言

从互联网的发展趋势来看, IPv6将逐步取代IPv4, 而且我国政府已经投巨资开始建设中国下一代互联网, 而域名系统主要进行IP地址和域名的解析, 是互联网的基础服务, HTTP、FTP、Email等都需要域名系统的支持, 根服务器更是整个域名系统的基础。从国家信息化战略角度来看, 这是一个事关全局的战略性基础服务, 乃国之利器, 不可假手外人, 必须努力争取掌握在自己手里。

时机正在逐渐成熟。IPv6网络的推广和部署将造成IPv6下域名系统根服务器的调整, 打破几个互联网强国垄断根服务器的局面。目前的IPv4网络共有13台域名根服务器, 主要由美、日、英等国家管理, 中国没有自己的域名系统根服务器。这种分布状况导致用户的域名查询存在着信息安全、解析速度、出国流量等问题。如果能在我国建立IPv6根服务器, 将对我国的信息安全产生十分重要的影响。

中国互联网络信息中心 (CNNIC) 主任毛伟介绍说, 应用IPv6建设下一代互联网是大势所趋, 主动抓住这个机会, 我国就能在下一代互联网中占有更重要的地位, 争取更多的话语权和控制权。作为我国域名注册管理机构, 中国互联网络信息中心 (CNNIC) 正是基于这样的背景, 重点研究和解决建立、运行、维护和保障IPv6域名系统根服务器安全方面的关键技术。

专家认为, 我国在下一代互联网域名根域名服务器技术方面的重大突破, 还将有利于我国未来申请和建立IPv6域名根服务器。

1 传统的技术及其不足

作为Internet基础的IPv4, 采用尽力而为的处理思想和无组织非层次的平面结构, 极大的促进了Internet的发展, 然而其固有的缺陷又使它成为了互联网发展的障碍。IPv4的缺陷主要表现在:地址匮乏、路由表庞大、缺乏Qo S和安全等。作为计算机网络的Internet已经不堪重负, 未来数量更多的移动终端和信息家电的加入更加剧了Internet的危机。其中, 地址匮乏是最主要的危机。现有的互联网主要是基于IPv4协议的。这一协议的成功促成了互联网的迅速发展。但是, 随着互联网用户数量不断增长以及对互联网应用的要求不段提高, IPv4的不足逐渐凸现出来。其中最尖锐的问题就是不断增长的对互联网资源的巨大需求与IPv4地址空间不足的先兆, 目前可用的IPv4地址已经分配了70%左右, 其中, B类地址已经耗尽。据IETF预测, 机遇IPV4的地址资源将会在2005年~2010年枯竭。另外, 由于IPv4地址方案不能很好地支持地址汇聚, 现有的互联网正面临路由表不断膨胀的压力。同时, 对服务质量、移动性和安全性等方面的需求都迫切要求开发新一代IP协议。

2 IPv6域名系统的体系结构

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

图1的最上方是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。

DNS的整个域名空间划分成许多的区 (Zone) , 见图1中的椭圆标记, 数据采用分布式存储。每个区都有域名服务器 (包括主服务器和辅服务器) , 以资源记录 (Resource Record) 的形式来存储域名信息。资源记录包括了主机名 (域名) 和IP地址的对应, 以及子域服务器的授权等多种类型。

用户在使用DNS服务时, 可以不必细致地了解DNS域名空间的树型结构体系, 只须在设置网络时指定一个DNS服务器或使用动态主机配置 (DHCP) 等相关技术。从而用户的应用程序可以通过操作系统内嵌的解析器 (Resolver) 访问DNS系统, 查询域名相关的网络资源信息。

3 IPv6地址

我们知道, IPv4地址是类似A.B.C.D的格式, 它是32位, 用“.”分成四段, 用10进制表示;而IPv6地址类似X:X:X:X:X:X:X:X的格式, 它是128位的, 用“:”分成8段, 用16进制表示。可见, IPv6地址空间相对于IPv4地址有了极大的扩充RFC2373中详细定义了IPv6地址, 按照定义, 一个完整的IPv6地址的表示法:

例如:2031:0000:1F1F:0000:0000:0100:11A0:ADDF

为了简化其表示法, rfc2373提出每段中前面的0可以省略, 连续的0可省略为“::”, 但只能出现一次。

类似于IPv4中的CDIR表示法, IPv6用前缀来表示网络地址空间。

比如:

2001:250:6000::/48表示前缀为48位的地址空间, 其后的80位可分配给网络中的主机, 共有2的80次方个地址。

下面解释一些常见的IPv6地址或者前缀:

::/128即0:0:0:0:0:0:0:0, 只能作为尚未获得正式地址的主机的源地址, 不能作为目的地址, 不能分配给真实的网络接口。

::1/128即0:0:0:0:0:0:0:1, 回环地址, 相当于ipv4中的localhost (127.0.0.1) , ping locahost可得到此地址。

2001::/16 全球可聚合地址, 由IANA按地域和ISP进行分配, 是最常用的IPv6地址。

2002::/16 6 to 4 地址, 用于6to4自动构造隧道技术的地址。

3ffe::/16 早期开始的IPv6 6bone试验网地址。

注:上面三类属于单播地址, 都是目前互联网上广泛应用的IPv6地址。

fe80::/10 本地链路地址, 用于单一链路, 适用于自动配置、邻机发现等, 路由器不转发。

ff00::/8 组播地址。

::A.B.C.D

其中代表ipv4地址, 兼容IPv4的IPv6地址。自动将IPv6包以隧道方式在IPv4网络中传送的IPv4/IPv6节点将使用这些地址。

::FFFF:A.B.C.D其中代表ipv4地址, 例如::ffff:202.120.2.30, 是IPv4映射过来的IPv6地址, 它是在不支持IPv6的网上用于表示IPv4节点DNS对IPv6地址层次性的支持:

IPv6可聚合全局单播地址是在全局范围内使用的地址, 必须进行层次划分及地址聚合。它的层次结构如下表所示:

其中:

FP (001) :用于可聚合全局单播地址的格式前缀 (FP:Format Prefix) (3比特) ;

TLA ID:顶级聚合标识符 (Top-Level Aggregation Identifier) ;

RES:为将来使用而保留;

NLA ID:次级聚合标识符 (Next-Level Aggregation Identifier) ;

SLA ID:站点级聚合标识符 (Site-Level Aggregation Identifier) ;

INTERFACE ID: 接口标识符;

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

4 IPv6中的即插即用与DNS

IPv6协议支持地址自动配置, 这是一种即插即用的机制, 在没有任何人工干预的情况下, IPv6网络接口可以获得链路局部地址、站点局部地址和全局地址等, 并且可以防止地址重复。IPv6支持无状态地址自动配置和有状态地址自动配置两种方式。

在无状态地址自动配置方式下, 需要配置地址的网络接口先使用邻居发现机制获得一个链路本地地址。网络接口得到这个链路本地地址之后, 再接受路由器宣告的地址前缀, 结合接口标识得到一个全局地址。而有状态地址自动配置的方式, 如DHCP (动态主机配置协议) , 需要一个DHCP服务器, 通过客户机/服务器模式从DHCP服务器处得到地址配置的信息。

IPv6节点通过地址自动配置得到IPv6地址和网关地址。但是, 地址自动配置中不包括DNS服务器的自动配置。如何自动发现提供解析服务的DNS服务器也是一个需要解决的问题。正在研究的DNS服务器的自动发现的解决方法可以分为无状态和有状态两类。

在无状态的方式下, 需要为子网内部的DNS服务器配置站点范围内的任播地址。要进行自动配置的节点以该任播地址为目的地址发送服务器发现请求, 询问DNS服务器地址、域名和搜索路径等DNS信息。这个请求到达距离最近的DNS服务器, 服务器根据请求, 回答DNS服务器单播地址、域名和搜索路径等DNS信息。节点根据服务器的应答配置本机DNS信息, 以后的DNS请求就直接用单播地址发送给DNS服务器。

另外, 也可以不用站点范围内的任播地址, 而采用站点范围内的多播地址或链路多播地址等。还可以一直用站点范围内的任播地址作为DNS服务器的地址, 所有的DNS解析请求都发送给这个任播地址。距离最近的DNS服务器负责解析这个请求, 得到解析结果后把结果返回请求节点, 而不像上述做法是把DNS服务器单播地址、域名和搜索路径等DNS信息告诉节点。从网络扩展性、安全性、实用性等多方面综合考虑, 第一种采用站点范围内的任播地址作为DNS服务器地址的方式相对较好。

在有状态的DNS服务器发现方式下, 是通过类似DHCP这样的服务器把DNS服务器地址、域名和搜索路径等DNS信息告诉节点。当然, 这样做需要额外的服务器。

5 IPv6过渡阶段与DNS

在IPv4到IPv6的过渡过程中, 作为Internet基础架构的DNS服务也要支持这种网络协议的升级和转换。IPv4和IPv6的DNS记录格式等方面有所不同, 为了实现IPv4网络和IPv6网络之间的DNS查询和响应, 可以采用应用层网关DNS-ALG结合NAT-PT的方法, 在IPv4和IPv6网络之间起到一个翻译的作用。例如, IPv4的地址域名映射使用“A”记录, 而IPv6使用“AAAA”或“A6”记录。那么, IPv4的节点发送到IPv6网络的DNS查询请求是“A”记录, DNS-ALG就把“A”改写成“AAAA”, 并发送给IPv6网络中的DNS服务器。当服务器的回答到达DNS-ALG时, DNS-ALG修改回答, 把“AAAA”改为“A”, 把IPv6地址改成DNS-ALG地址池中的IPv4转换地址, 把这个IPv4转换地址和IPv6地址之间的映射关系通知NAT-PT, 并把这个IPv4转换地址作为解析结果返回IPv4主机。IPv4主机就以这个IPv4 转换地址作为目的地址与实际的IPv6主机通过NAT-PT通信。示意如图2。

对于采用双协议栈方式的过渡方法, 在DNS服务器中同时存在“A”记录和“AAAA” (或“A6”) 记录。由于节点既可以处理IPv4协议, 也可以处理IPv6协议, 因此无需类似DNS ALG的转换设备。无论DNS服务器回答“A”记录还是“AAAA”记录, 都可以进行通信。

6 结束语

随着Internet技术的不断发展, IPv6已经离我们越来越近。DNS作为IPv4时代的网络基础服务, 对Internet起着重要的作用。在即将到来的IPv6时代, 新的协议和功能要求DNS不再是仅仅提供传统意义上的简单资源定位, 而是一方面提供类似IPv4 DNS的基础功能, 另一方面结合IPv6的新特性, 和其它协议有机的结合在一起, 提供新的功能, 使网络的配置、维护、使用变得更加简单方便, 让用户感觉到新技术带来的新体验。

摘要:域名系统 (Domain Name System, 简称:DNS) 的主要功能是通过域名和IP地址之间的相互对应关系, 来精确定位网络资源, 即:根据域名查询IP地址, 反之亦然。DNS是当今Internet的基础架构, 众多的网络服务 (如Http, Ftp, Email等等) 都是建立在DNS体系基础之上的。权威人士指出:“一旦你理解了DNS, 你才真正懂得了Internet。”因此, DNS的重要性是不言而喻的。IPv6协议是用来取代IPv4的互联网协议。IPv6具有很多优点。首先, 它提供了巨大的地址空间, 这实际上是推广IPv6的最大动力。其次, IPv6的地址结构和地址分配采用严格的层次结构, 以便于进行地址聚合, 从而大大减小了路由器中路由表的规模。再次, IPv6协议支持网络节点的地址自动配置, 可以实现即插即用功能。而且, IPv6协议对主机移动性有较好的支持, 适合于越来越多的互联网移动应用。另外, IPv6协议在安全性、对多媒体流的支持性等方面都具有超过IPv4的优势。IPv6网络中的DNS非常重要, 一些IPv6的新特性和DNS的支持密不可分。本文从IPv6 DNS的体系结构、IPv6的地址解析、IPv6地址自动配置和即插即用、IPv4到IPv6的过渡等几方面对IPv6时代的DNS进行了分析和研究。

关键词:IPv6,域名系统,IP地址

参考文献

[1] 蔡皖东.计算机网络[M].西安电子科技大学出版社, 2004.

[2] 冯博琴, 吕军主, 陈文革, 程向前.计算机网络[M].高等教育出版社, 2002.

[3] http://tech.sina.com.cn/it/t/2004-09-07/1043420002.shtml.

[4] http://jczs.sina.com.cn/2004-12-16/2212251711.html.

[5] http://tech.sina.com.cn/other/2004-07-15/1825388369.shtml.

[6] http://61.151.255.101/2004/01/02/15594_2.htm.

[7] P.Mockapetris, RFC1034"DOMAIN NAMES-CONCEPTS AND FACILITIES", November 1987.

[8] P.Mockapetris, RFC1035"DOMAIN NAMESIMPLEMENTATION AND SPECIFICATION", November 1987.

[9] R.Hinden, RFC2373:"IP Version 6 Addressing Architecture", July 1998.

[10] S.Thomson, RFC1886:"DNS Extensions to support IP version 6", December 1995.

[11] M.Crawford, RFC2874:"DNS Extensions to Support IPv6 Address Aggregation and Renumbering", July 2000.

[12] T.Narten, RFC2461:"Neighbor Discovery for IP Version 6 (IPv6) ", December 1998.

[13] S.Thomson, RFC2462:"IPv6 Stateless Address Autoconfiguration", December 1998.

[14] Dave Thaler, draft-ietf-ipngwg-dns-discoveryanalysis-00.txt, "Analysis of DNS Server Discovery Mechanisms for IPv6", July 2001.

[15] G.Tsirtsis, RFC2766:"Network Address Translation-Protocol Translation (NAT-PT) ", February2000.

注:本文为网友上传,旨在传播知识,不代表本站观点,与本站立场无关。若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:iwenmi@163.com。举报文章