网络通信 频道

IPv6技术之发展现状和技术原理

自从计算机网络产生之后,就一直以飞快的速度在发展,在许多方面使得我们一般的人都无法跟从和了解,在网络的基础原理上也是一样,如IPv6。虽然在好几年以前就已经有不少的媒体和人开始谈论IPv6,但是作为一般的人始终都没有多少了解和接触,或者说是感性的认识。前些天,一个朋友偶尔问起这个IPv6,使我有了这么个想法。试图将一本厚厚的专业书浓缩在以下的一些文字当中。

    一、发展现状

    由IP地址危机产生和发展起来的IPv6作为下一代互联网协议已经得到了各方的公认,未来互联网的发展离不开IPv6的支持和应用,甚至被认为是后起发展网络的国家追赶“发达”国家的一个良好机遇。正因为如此,目前各方面都在加紧对IPv6的研究和应用开发。但是,IPv6的发展主要得益于政府和厂商两方面的支持。

    政府支持

    许多国家对Ipv6技术都已经引起足够的重视,并且都采取了一些切实可行的措施,尤其是一些欧洲国家。作为胡联网络的发源地,美国也在积极地进行Ipv6的研究和建设。中国对于IPv6技术的态度是“积极跟踪、把握机遇、稳妥推进”,并且在部分地区实行了网上实验,如刘东等人积极推动中国Ipv6的开展。中国政府密切关注着IPv6的发展,目前中国高校和科研机构已经与国外一些运营商合作,对IPv6进行研究实验。并且在日前有消息说,国家发改委划拨的4亿元资金和各大运营商配套的10亿元资金已经基本到位,中国发展IPv6的时间表也将在月内出笼。但是该协议在中国的大规模应用还要有一段时间。

    厂商支持

    IPv6作为下一代互联网协议已经引起了各地区、各运营商的足够重视,因为所有的人都已经认识到这样一种前景:谁能够率先在IPv6方面有所作为,谁就能够在未来的竞争中占住有利位置。在众多的设备提供商和运营商的努力下,IPv6协议已经从实验室走向了应用阶段。已有50多个国家和地区加入有关IPv6的研究。法、日、美等国的研究机构,IBM、Sun、日立等公司,分别研制开发了不同平台上的IPv6系统软件和应用软件;美国思科、加拿大北电网络、Nokia等路由器厂商已经开发出了面向IPv6网络的路由器产品。操作系统方面,基于开放源码的Linux对IPv6提供了比较强的支持,Sun、IBM、康柏、惠普和微软的最新操作系统都提供了IPv6支持。

    因此,从整体上来讲,Ipv6的技术已经成熟,标准也基本完善,一些网络基础设施和核心设备都已陆续开始支持其使用,但是在具体实施的问题上,由于经济利益上的关系,在目前还没有普遍推广,而是处于与Ipv4相互并存和过度的阶段。

    二、技术原理

    IPv6是“Internet Protocol Version 6”的缩写,也被称作下一代互联网协议,它是由IETF(The Internet Engineering Task Force)设计的用来替代现行的IPv4协议的一种新的IP协议。

    1、地址格式M

    与IPv4的32地址相比,IPv6 的地址要长的多。IPv6共有128位地址,是Ipv4的整整四倍。与Ipv4一样,一个字段由16位二进制数组成,因此,Ipv6有8个字段。每个字段的最大值为16384,但在书写时用四位的十六进制数字表示,并且字段与字段之间用“:”隔开,而不是原来的“.”。而且字段中前面为零的数值可以省略,如果整个字段为零,那么也可以省略。128位地址所形成的地址空间在可预见的很长时期内,它能够为所有可以想象出的网络设备提供一个全球优异的地址。128位地址空间包含的准确地址数是340,282,366,920,938,463,463,374,607,431,768,211,456。

    Ipv6的地址如上图所示。“FP”是就是地址前缀(也称为“格式前缀”),用于区别其它地址类型。随后分别是13位的TLA ID(优异聚集体ID号)、8位的Res(保留位,以备将来TLA或NLA扩充之用。)、24位的NLA ID(次级聚集体ID号)、16位SLA ID(节点ID号)和64位Interface ID(主机接口ID号)。TLA、NLA、SLA三者构成了自顶向下排列的三个网络层次,并且依次向上一级申请ID号。分层结构的最底层是网络主机。

    2、地址分类

    IPv6定义了三种不同的地址类型。分别为单点传送地址(Unicast Address),多点传送地址(Multicast Address)和任意点传送地址(Anycast Address)。所有类型的IPv6地址都是属于接口(Interface)而不是节点(node)。一个IPv6单点传送地址被赋给某一个接口,而一个接口又只能属于某一个特定的节点,因此一个节点的任意一个接口的单点传送地址都可以用来标示该节点。

    IPv6中的单点传送地址是连续的,以位为单位的可掩码地址与带有CIDR的IPv4地址很类似,一个标识符仅标识一个接口的情况。在IPv6中有多种单点传送地址形式,包括基于全局提供者的单点传送地址、基于地理位置的单点传送地址、NSAP地址、IPX地址、节点本地地址、链路本地地址和兼容IPv4的主机地址等。

    多点传送地址是一个地址标识符对应多个接口的情况(通常属于不同节点)。IPv6多点传送地址用于表示一组节点。一个节点可能会属于几个多点传送地址。这个功能被多媒体应用程序所广泛使用,它们需要一个节点到多个节点的传输。RFC-2373对于多点传送地址进行了更为详细的说明,并给出了一系列预先定义的多点传送地址。

    任意点传送地址也是一个标识符对应多个接口的情况。如果一个报文要求被传送到一个任意点传送地址,则它将被传送到由该地址标识的一组接口中的最近一个(根据路由选择协议距离度量方式决定)。任意点传送地址是从单点传送地址空间中划分出来的,因此它可以使用表示单点传送地址的任何形式。从语法上来看,它与单点传送地址间是没有差别的。当一个单点传送地址被指向多于一个接口时,该地址就成为任意点传送地址,并且被明确指明。当用户发送一个数据包到这个任意点传送地址时,离用户最近的一个服务器将响应用户。这对于一个经常移动和变更的网络用户大有益处。

    那么从接口主机来讲(主要从功用来分),IPv6又可以把主机接口类型进行地址配置:全球地址(Globally)、全球单播地址(unicast)、区域地址(on-site)、链路本地地址(link local address)、地区本地地址(site local address)、广播地址(Broadcast)、多播群地址(multicast group address)、任播地址(anycast address)、移动地址(Mobility)、家乡地址(home address)、转交地址(care-of address)。

    3、地址配置

    IPv6的一个基本特性是它支持无状态和有状态两种地址自动配置的方式。无状态地址自动配置方式是获得地址的关键。IPv6把自动将IP地址分配给用户的功能作为标准功能。只要机器一连接上网络便可自动设定地址。它有两个优点。一是最终用户用不着花精力进行地址设定,二是可以大大减轻网络管理者的负担。IPv6有两种自动设定功能。一种是和IPv4自动设定功能一样的名为“全状态自动设定”功能。另一种是“无状态自动设定”功能。

    在IPv4中,动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)实现了主机IP地址及其相关配置的自动设置。一个DHCP服务器拥有一个IP地址池,主机从DHCP服务器租借IP地址并获得有关的配置信息(如缺省网关、DNS服务器等),由此达到自动设置主机IP地址的目的。IPv6继承了IPv4的这种自动配置服务,并将其称为全状态自动配置(Stateful Autoconfiguration)。

    在无状态自动配置(Stateless Autoconfiguration)过程中,主机首先通过将它的网卡MAC地址附加在链接本地地址前缀1111111010之后,产生一个链路本地单点传送地址。接着主机向该地址发出一个被称为邻居发现(neighbor discovery)的请求,以验证地址的唯一性。如果请求没有得到响应,则表明主机自我设置的链路本地单点传送地址是唯一的。否则,主机将使用一个随机产生的接口ID组成一个新的链路本地单点传送地址。然后,以该地址为源地址,主机向本地链路中所有路由器多点传送一个被称为路由器请求(Router Solicitation)的配置信息。路由器以一个包含一个可聚集全球单点传送地址前缀和其它相关配置信息的路由器公告响应该请求。主机用它从路由器得到的全球地址前缀加上自己的接口ID,自动配置全球地址,然后就可以与Internet中的其它主机通信了。使用无状态自动配置,无需手动干预就能够改变网络中所有主机的IP地址。例如,当企业更换了联入Internet的ISP时,将从新ISP处得到一个新的可聚集全球地址前缀。ISP把这个地址前缀从它的路由器上传送到企业路由器上。由于企业路由器将周期性地向本地链路中的所有主机多点传送路由器公告,因此企业网络中所有主机都将通过路由器公告收到新的地址前缀,此后,它们就会自动产生新的IP地址并覆盖旧的IP地址。 4、服务质量

    服务质量(Quality of Severs)包含几个方面的内容。从协议的角度看,IPv6的优点体现在能提供不同水平的服务。这主要由于IPv6报头中新增加了字段“业务级别”和“流标记”。有了它们,在传输过程中,中间的各节点就可以识别和分开处理任何IP地址流。尽管对这个流标记的准确应用还没有制定出有关标准,但将来它会用于基于服务级别的新计费系统。在其它方面,IPv6也有助于改进服务质量。这主要表现在支持“时时在线”连接,防止服务中断以及提高网络性能方面。

    IPv6数据包的格式包含一个8位的业务流类别(Class)和一个新的20位的流标签(Flow Label)。最早在RFC1883中定义了4位的优先级字段,可以区分16个不同的优先级。后来在RFC2460里改为8位的类别字段。其数值及如何使用还没有定义,其目的是允许发送业务流的源节点和转发业务流的路由器在数据包上加上标记,并进行除默认处理之外的不同处理。一般来说,在所选择的链路上,可以根据开销、带宽、延时或其他特性对数据包进行特殊的处理。

    一个流是以某种方式相关的一系列信息包,IP层必须以相关的方式对待它们。决定信息包属于同一流的参数包括:源地址,目的地址,QoS,身份认证及安全性。IPv6中流的概念的引入仍然是在无连接协议的基础上的,一个流可以包含几个TCP连接,一个流的目的地址可以是单个节点也可以是一组节点。IPv6的中间节点接收到一个信息包时,通过验证他的流标签,就可以判断它属于哪个流,然后就可以知道信息包的QoS需求,进行快速的转发。

    基于IPv4的Internet在设计之初,只有一种简单的服务质量,即采用“尽最大努力”(Best effort)传输,从原理上讲服务质量QoS是无保证的。文本传输,静态图像等传输对QoS并无要求。随着IP网上多媒体业务增加,如IP电话、VoD、电视会议等实时应用,对传输延时和延时抖动均有严格的要求。

    5、移动连接

    基于移动IPv6协议集成的IP层移动功能具有很重要的优点。尤其是在移动终端数量持续增加的今天,这些优点更加突出。尽管IPv4中也存在一个类似的移动协议,但二者之间存在着本质的区别:移动IPv4协议不适用于数量庞大的移动终端。移动IP需要为每个设备提供一个全球优异的IP地址。IPv4没有足够的地址空间可以为在公共互联网上运行的每个移动终端分配一个这样的地址。从另外的角度讲,移动IPv6能够通过简单的扩展,满足大规模移动用户的需求。这样,它就能在全球范围内解决有关网络和访问技术之间的移动性问题。为了全球范围内使用移动IPv6,在基于IPv6网络上增加了一安全层。

    作为Ipv6的重要功能之一,更详细的移动连接内容在后面将还有介绍。

    6、报头简化

    IPv6对数据报头作了简化,以减少处理器开销并节省网络带宽。IPv6的报头由一个基本报头和多个扩展报头(Extension Header)构成,基本报头具有固定的长度(40字节)(当然,由于字段长短的关系,总的来说,Ipv4的基本报头长度要短的多),放置所有路由器都需要处理的信息。由于Internet上的绝大部分包都只是被路由器简单的转发,因此固定的报头长度有助于加快路由速度。IPv4的报头有15个域,而IPv6的只有8个域,IPv4的报头长度是由IHL域来指定的,而IPv6的是固定40个字节。这就使得路由器在处理IPv6报头时显得更为轻松。与此同时,IPv6还定义了多种扩展报头,这使得IPv6变得极其灵活,能提供对多种应用的强力支持,同时又为以后支持新的应用提供了可能。这些报头被放置在IPv6报头和上层报头之间,每一个可以通过独特的“下一报头”的值来确认。除了逐个路程段选项报头(它携带了在传输路径上每一个节点都必须进行处理的信息)外,扩展报头只有在它到达了在IPv6的报头中所指定的目标节点时才会得到处理(当多点播送时,则是所规定的每一个目标节点)。在那里,在IPv6的下一报头域中所使用的标准的解码方法调用相应的模块去处理第一个扩展报头(如果没有扩展报头,则处理上层报头)。每一个扩展报头的内容和语义决定了是否去处理下一个报头。因此,扩展报头必须按照它们在包中出现的次序依次处理。一个完整的IPv6的实现包括下面这些扩展报头的实现:逐个路程段选项报头,目的选项报头,路由报头,分段报头,身份认证报头,有效载荷安全封装报头,最终目的报头。

    7、安全特性

    安全问题始终是Internet与生俱来。由于在 IP协议设计之初没有考虑安全性,因而在早期的Internet上时常发生诸如企业或机构网络遭到攻击、机密数据被窃取等不幸的事情。为了加强Internet的安全性,从1995年开始,IETF着手研究制定了一套用于保护IP通信的IP安全(IPSec)协议。IPSec是IPv4的一个可选扩展协议,是IPv6的一个必须组成部分。

    IPv6协议内置安全机制,并已经标准化。IPSec的主要功能是在网络层对数据分组提供加密和鉴别等安全服务,它提供了两种安全机制:认证和加密。认证机制使 IP通信的数据接收方能够确认数据发送方的真实身份以及数据在传输过程中是否遭到改动。加密机制通过对数据进行编码来保证数据的机密性,以防数据在传输过程中被他人截获而失密。IPSec的认证报头(Authentication Header,AH)协议定义了认证的应用方法,安全负载封装(Encapsulating Security Payload,ESP)协议定义了加密和可选认证的应用方法。在实际进行IP通信时,可以根据安全需求同时使用这两种协议或选择使用其中的一种。AH和ESP都可以提供认证服务,不过,AH提供的认证服务要强于ESP。

    做为IPv6的一个组成部分,IPSec是一个网络层协议。它从底层开始实施安全策略,避免了数据传输(直至应用层)中的安全问题。但它只负责其下层的网络安全,并不负责其上层应用的安全,如Web、电子邮件和文件传输等。

    作为IPSec的一项重要应用,IPv6集成了虚拟专用网(VPN)的功能,使用IPv6可以更容易地、实现更为安全可靠的虚拟专用网。

    8、域名解析

    在IPv6中,域名的体系结构仍然保持了Ipv4的层次原理。而且IPv6地址本身的层级体系也就更加支持了域名解析体系中的地址集聚和地址更改。同样,在IPv6的域名解析中包括了正向解析和反向解析。正向解析是从域名到IP地址的解释。IPv6地址的正向解析目前有两种资源记录,即“AAAA”和“A6”记录。其中“AAAA”较早提出,它是对IPv4协议“A"”录的简单扩展,由于IP地址由32位扩展到128位,扩大了4倍,所以资源记录由“A”扩大成4个“A”。但“AAAA”用来表示域名和IPv6地址的对应关系,并不支持地址的层次性。“A6”是在RFC2874基础上提出,它是把一个IPv6地址根据其本身的层次性分解,然后多个“A6”记录建立联系,每个“A6”记录都只包含了IPv6地址的一部分,结合后拼装成一个完整的IPv6地址。反向解析则是从IP地址到域名的解释。它与IPv4的“PTR”一样,但地址表示形式有两种。一种是用“.”分隔的半字节16进制数字格式(Nibble Format),低位地址在前,高位地址在后,域后缀是“IP6.INT.”。另一种是二进制串(Bit-string)格式,以“\[”开头,16进制地址(无分隔符,高位在前,低位在后)居中,地址后加“]”,域后缀是“IP6.ARPA.”。

    在移动过程中的DNS根据“无状态”和“有状态”两种地址配置方式,也分为“无状态”和“有状态”两类。在无状态的方式下,需要为子网内部的DNS服务器配置站点范围内的任播地址。要进行自动配置的节点以该任播地址为目的地址发送服务器发现请求,询问DNS服务器地址、域名和搜索路径等DNS信息。这个请求到达距离最近的DNS服务器,服务器根据请求,回答DNS服务器单播地址、域名和搜索路径等DNS信息。节点根据服务器的应答配置本机DNS信息,以后的DNS请求就直接用单播地址发送给DNS服务器。当然,也可以不采取任播地址的方法,但是相对来说,从安全性等问题上考虑,一般采取此种方式。在有状态的DNS服务器发现方式下,是通过类似DHCP这样额外的服务器把DNS服务器地址、域名和搜索路径等DNS信息告诉节点。  

 

转载地址:http://www.voipchina.cn/technology/2004-12-28/39395.shtml

0
相关文章