谷和启
一、概述
随着互联网的迅速发展,使用Internet技术的TCP/IP协议取得了巨大的成功。但是,TCP/IP协议的研制者设有预料到Internet的规模会发展到今天这么大,从而使得现有的TCP/IP协议面临许多困难。1987年,人们便预计在1996年Internet将接入100,000个网络,这一预测看来是准确的。此外,虽然目前使用的32位IPv4地址结构能够支持40亿台主机和670万个网络,实际的地址分配效率,即使从理论上说也远远低于以上数值。使用A、B和C类地址,使这种低效率的情形变得更为严重。
自八十年代后期,研究人员开始注意到了这个问题,并提出了研究下一代IP协议的设想。1990年,人们预计,按照当时的地址分配速率到1994年3月B类地址将会用尽,并提出了最简单的补救方法:分配多个C类地址以代替B类地址。但这样做也带来新的问题,即进一步增大了已经以惊人的速度增长的主干网路由器上的路由表。因此,Internet网络界面临着困难的选择,或者限制Internet的增长率及其最终规模,或者采用新的技术。
1990年后期,IETF开始了一项长期的工作,选择接替现行IPv4的协议。此后,人们开展了许多工作,以解决IPv4地址的局限性,同时提供额外的功能。1991年11月,IETF组织了路由选择和地址工作组(ROAD),以指导解决以上问题。1992年9月,ROAD工作组提出了关于过渡性的和长期的解决方案建议,包括采用CIDR路由聚集方案以降低路由表增长的速度,以及建议成立专门工作组以探索采用较大Internet地址的不同方案。
1993年末,IETF成立了IPNG工作部,以研究各种方案,并建议如何开展工作。该工作部制订了IPng技术准则,并根据此准则来评价已经提出的各种方案。在经过深入讨论之后,SIPP(Simple Internet Protocol Plus)工作组提供了一个经过修改的方案,IPng工作部建议IETF将这个方案作为IPng的基础,称为IPv6,并集中精力制定有关的文档。自1995年末起,陆续发表了IPv6规范等一批技术文档。
二、IPv4和IPv6的特点比较
20世纪的互联网协议随着移动互联网、语音/数据的集成以及嵌入式互连设备的快速发展,以互联网为核心的未来通信模式正在形成。到目前为止,互联网取得了巨大的成功,而这很大程度上归功于其核心通信协议IPv4的高度可伸缩性。IPv4的设计思想成功地造就了目前的国际互联网,并容纳了过去十年中网络规模的几何级数增长,其核心价值体现在简单、灵活和开放性等方面。
但是,新应用的不断涌现使互联网呈现出新的特征,传统的互联网协议版本,即IPv4,已经难以支持互联网的进一步扩张和新业务的特性,比如实时应用和服务质量保证。IPv4的不足体现在以下方面:
(1) 有限的地址空间IPv4协议中每一个网络接口由长度为32位IP地址标识,这决定了IPv4的地址空间为232,大约理论上可以容纳43亿个主机,这一地址空间难以满足未来移动设备和消费类电子设备对IP地址的巨大需求量。加之存在地址分配的大量浪费,有预测表明,以目前Internet发展速度计算,所有IPv4地址将在2005~2010年间分配完。
在二十世纪九十年代的研究人员已经意识到了IP地址空间以及分配存在的问题,并开发了一些新技术来改善地址分配和减缓IP地址的需求量,比如CIDR和NAT。这些技术一定程度上缓解了地址空间被耗尽的危机,但为基于IP的网络增加了复杂性,并且破坏了一些IP协议的核心特性,比如端到端原则,因此不能从根本上解决IPv4面对的困难。
(2) 路由选择效率不高IPv4的地址由网络和主机地址两部分构成,以支持层次型的路由结构。子网和CIDR的引入提高了路由层次结构的灵活性。但由于历史的原因,IPv4地址的层次结构缺乏统一的分配和管理,并且多数IP地址空间的拓扑结构只有两层或者三层,这导致主干路由器中存在大量的路由表项。庞大的路由表增加了路由查找和存储的开销,成为目前影响提高互联网效率的一个瓶颈。同时,IPv4数据包的报头长度不固定,因此难以利用硬件对提取、分析路由信息,这对进一步提高路由器的数据吞吐率也是不利的。
(3) 缺乏服务质量保证IPv4遵循Best Effort原则,这一方面是一个优点,因为它使IPv4简单高效;另一方面它对互联网上涌现的新的业务类型缺乏有效的支持,比如实时和多媒体应用,这些应用要求提供一定的服务质量保证,比如带宽、延迟和抖动。研究人员提出了新的协议在IPv4网络中支持以上应用,如执行资源预留的RSVP协议和支持实时传输的RTP/RTCP协议。这些协议同样提高了规划、构造IP网络的成本和复杂性。
IPv6是Internet协议的一个新版本,其设计思想是对IPv4加以改进,而不是对其进行革命性的改造。在IPv4 中运行良好的功能在IPv6 中都给予保留,而在IPv4中不能工作或很少使用的功能则被去掉或作为选项。为适应实际应用的要求,在IPv6中增加了一些必要的新功能。IPv6的主要特点如下:
(1) 经过扩展的地址和路由选择功能。IP地址长度由32位增加到128位,可支持数量大得多的可寻址节点、更多级的地址层次和较为简单的地址自动配置。改进了多目(multicast)路由选择的规模可调性,因为在多目地址中增加了一个“Scope”字段。
(2) 定义了任一成员(anycast) 地址,用来标识一组接口,在不会引起混淆的情况下将简称“任一地址”,发往这种地址的分组将只发给由该地址所标识的一组接口中的一个成员。
(3) 简化的首部格式。IPv4首部的某些字段被取消或改为选项,以减少报文分组处理过程中常用情况的处理费用,并使得IPv6首部的带宽开销尽可能低,尽管地址长度增加了。虽然IPv6地址长度是IPv4地址的四倍,IPv6首部的长度只有IPv4首部的两倍。
(4) 支持扩展首部和选项。IPv6的选项放在单独的首部中,位于报文分组中IPv6首部和传送层首部之间。因为大多数IPv6选项首部不会被报文分组投递路径上的任何路由器检查和处理,直至其到达最终目的地,这种组织方式有利于改进路由器在处理包含选项的报文分组时的性能。IPv6的另一改进,是其选项与IPv4不同,可具有任意长度,不限于40字节。
(5) 支持验证和隐私权。IPv6定义了一种扩展,可支持权限验证和数据完整性。这一扩展是IPv6的基本内容,要求所有的实现必须支持这一扩展。IPv6还定义了一种扩展,借助于加密支持保密性要求。
(6) 支持自动配置。IPv6支持多种形式的自动配置,从孤立网络节点地址的“即插即用”自动配置,到DHCP提供的全功能的设施。
(7) 服务质量能力。IPv6增加了一种新的能力,如果某些报文分组属于特定的工作流,发送者要求对其给予特殊处理,则可对这些报文分组加标号,例如非缺省服务质量通信业务或“实时”服务。
总之,IPv6高效的互联网引擎引人注目的是,IPv6增加了许多新的特性,其中包括:服务质量保证、自动配置、支持移动性、多点寻址(Multicast)、安全性。
基于以上改进和新的特征,IPv6为互联网换上一个简捷、高效的引擎,不仅可以解决IPv4目前的地址短缺难题,而且可以使国际互联网摆脱日益复杂、难以管理和控制的局面,变得更加稳定、可靠、高效和安全。
三、IPv6数据报格式
IPv6数据报的首部虽然比IPv4首部长,但却大大地简化了。IPv4首部中的一些功能被放在扩展首部中或取消了。
(1) 版本 (Version)。Internet协议版本号,IPng版本号为6。(4位字段)
(2) 流标号 (Flow Label)。如果一台主机要求网络中的路由器对某些报文进行特殊处理,如非缺省服务质量通信业务或实时服务,则可用这一字段对相关的报文分组加标号。(28位字段)
(3) 负荷长度 (Payload Length)。IPv6首部之后,报文分组其余部分的长度,以字节为单位。为了允许大于64K字节的负荷,如本字段的值为0,则实际的报文分组长度将存放在逐个路段(Hop-by-Hop)选项中。(16位无符号整数)
(4) 下一首部 (Next Header)。标识紧接在IPv6首部之后的下一首部的类型。下一首部字段使用与IPv4协议相同的值。(8位选择字段)
(5) 路径段限制 (Hop Limit)。转发报文分组的每个节点将路径段限制字节值减一,如果该字段的值减小为零,则将此报文分组丢弃。(8位无符号整数)
(6) 源地址。报文分组起始发送者的地址。(128位字段)
(7) 目的地址。报文分组预期接收者的地址 (如果有一个可选的路由选择首部,有可能不是最终接收者)。(128位字段)
在IPv6中,Internet层选项信息存放在单独的首部中,位于报文分组的IPv6首部和传送层首部之间。现已定义了几个这种扩展首部,各由一个下一首部值来标识,包括逐个路段路由选择、分片、验证、隐私权和端到端(End-to-End)等选项首部。
四、目前IPv4和IPv6共存局面
针对目前Internet上的各种IPv4与IPv6之间通信的情况,人们已经开发出了许多有效的过渡机制。
1、IPv6的小岛之间通信的情况
针对这一类问题,又可以划分多种情况:
(1) 手工配置多条隧道,适用于具备双协议栈的站点(sites)之间通信。所谓站点,既可以是一台主机,也可以是一系列主机。
(2) 自动隧道配置如Tunnel Broker,适用于具备双协议站的主机之间通信。
(3) 6to4机制,适用于站点之间通信,为了实现这个机制,每个站点内部的主机可以仅仅配置IPv6协议栈,但是每个站点必须至少有一台"6to4"的路由器作为出入口,支持全球统一的6to4 TLA(Top Level Aggregation)前缀格式,并实施特殊的封装和转发机制。
(4) 6over4机制,适用于具备双协议栈的主机之间通信。它利用IPv4的multicast机制来创建虚拟链路而不是显式的隧道。
2、IPv6小岛与IPv4海洋之间通信的情况
这一类问题下同样有多种情况,目前的过渡机制都是通过以下途径实现的:应用级转发;网络层翻译;为IPv6节点暂时分配IPv4地址。
(1) 双协议栈有限双协议栈,适用于具备双协议栈的站点的通信。
(2) Socks64(Socket 6 to 4)机制,适用于IPv6的站点和IPv4站点的通信。它实际上是一种网关的转发机制,实施socks64的网关为IPv6的节点提供分组的转发和翻译。
(3) SIIT(Stateless IP/ICMP Translator)机制,适用于IPv6的站点和IPv4站点的通信。它实际上在IPv4和IPv6的分组报头之间进行翻译,使用IPv4映射的IPv6地址进行通信。
(4) NAT-PT(Network Address Translation - Protocol Translation)机制,适用于IPv6 only站点和IPv4 only站点之间的通信。它进行IPv6和IPv4地址之间的翻译。
(5) BIS(Bump-in-the-Stack)机制,适用于具备双协议栈的主机与IPv4的世界通信。它在IPv4的协议栈中插入三个模块:域名解析器、地址映射器和翻译器。
3、过渡过程的产生背景
IP协议是互联网体系结构的核心,它必须具备相对的稳定性。IPv6作为Internet Protocol的新版本,其根本目的是继承和取代IPv4。因此,人们在规划IPv6的时候,就把眼光投向了包括地址在内的上述重要需求,希望能够解决这些目前已经出现和将来可能出现的问题。从IPv4到IPv6的改变将不可避免的带来Internet上新的革命,无论是硬件还是软件都将有全新的发展。但是,原有的IPv4协议已经成功的实施了将近二十年,在Internet上,甚至有许多通信协议标准比Internet还要早,Internet协议和标准化是有一个简单的原则的。
只要可以应用现有的协议标准,就使用它们;只有当现有的标准不够时才制定新的协议,而且只要能够得到这些新的标准,而它们又能够提供等价的功能,就使用这些新的标准。
所以IPv6协议的意图并不是排斥和避免已有的标准。它的产生只是因为传统的IPv4不能满足需要。在IPv6完全取代IPv4之前,不可避免的,这两种协议要有一个可能是相当长的共存时期,IPv6可能需要在研究所和学术机构中进行足够的试验,才能象IPv4一样成功的投入商业运营。因此,从IPv4到IPv6要有一个过渡时期。
IPv6在IPv4的基础上进行改进,它的一个重要的设计目标是与IPv4兼容。制订IPv6时,IETF致力于产生一种开放的标准,因此他们邀请了许多团体来参加标准的制订过程,研究人员、计算机制造商、程序设计人员、管理人员、用户、电话公司以及有线电视产业都对下一代IP提出了他们的要求和建议。但是作为一种新的协议,从诞生于实验室和研究所到实际应用于Internet是有很大距离的。不可能要求立即将所有节点都演进到新的协议版本,所以在一定的时间内,IPv6将和IPv4共同存在共同运行。如果没有一个过渡方案,再先进的协议也没有实用意义,因此从IPv4网络向IPv6网络过渡的问题从一开始就列入了开发者的日程表。
在相当时间内,IPv6节点之间的通信还要依赖于原有IPv4网络的设施,而且IPv6节点也必不可少的要与IPv4节点通信,我们希望这种通信能够高效的完成,对用户隐藏下层细节。同时,IPv4已经应用了十多年,基于IPv4的应用程序和设施已经相当成熟而完备,我们希望以最小的代价来实现这些程序在IPv6环境下的应用。所有这些都提出了从IPv4网络向IPv6网络高效无缝互连的问题。 对于过渡问题和高效无缝互连问题的研究已经取得了许多成果,形成了一系列的技术和标准。
五、目前国际IPv6网络的互联
一个纯IPv6网络的实现与原来IPv4网络并没有差别,在路由协议和域名解析上也不需要特定的机制来支持,仅仅需要对原来的协议和应用程序进行修改就可以了。 但是对于一台主机或者一个网络在不同协议之间的通信来说,情况就发生了变化。由于报文在传输中要经过两种运行在不同协议下的网络环境,报文的翻译是一个问题,同时由于两种协议表示地址的方法不同,如何在协议地址之间标示信源和信宿也是必须处理的。
在IPv6的网络流行于全球之前,总是有一些网络首先具有IPv6的协议栈。这时,这些网络就像IPv4海洋中的小岛。过渡的问题可以分成两大类:
第一类就是解决这些IPv6的小岛之间互相通信的问题,
第二类就是解决IPv6的小岛与IPv4的海洋之间通信的问题。
解决过渡问题的两种最基本的技术:双协议栈(Dual Stack)和隧道(Tunnel)。我们所讨论的过渡机制(Transition Mechanism)都是在这两种技术的基础之上针对特定的问题的解决方案。但是目前还没有一种机制能够一劳永逸的解决这个问题,每一种具体的机制都是针对具体的情况的。
双协议栈
在实践当中,最典型的是IETF提出的叫"双协议栈"的方案。需要提前说明的是,双协议栈技术并不具备创建隧道的能力;但是,后面提到的创建隧道的能力则必须要求有双协议栈技术的支持。
双协议栈方案的工作方式如下:
(1) 如果应用程序使用的目的地址是IPv4地址,则使用IPv4协议。
(2) 如果应用程序使用的目的地址是IPv6中的IPv4兼容地址,则同样使用IPv4协议,所不同的是,此时IPv6就封装(encapsulated)在IPv4当中。
(3) 如果应用程序使用的目的地址是一个非IPv4兼容的IPv6地址,那么此时将使用IPv6协议,而且很可能此时要采用隧道等机制来进行路由、传送。
(4) 如果应用程序使用域名来作为目标地址,那么此时先要从DNS服务器那里得到相应的IPv4/IPv6地址,然后根据地址的情况进行相应的处理。
对目前的环境来说,要实现纯粹IPv6的路由是很困难的,因此,人们一般采用IPv6 over IPv4 的点对点隧道技术。将IPv6分组打包,放入IPv4分组的数据区,加上IPv4的报头,在IPv4互联网世界中进行路由,到达目的地后再把数据区中的IPv6分组取出来作相应的处理,该继续路由的路由,该收发的收发。这样,就可以实现"双协议栈"的过渡方案。 最后,对于实现IPv6协议栈,尽管在细节上,IPv6和IPv4有很大的不同,但是从原理和它们在网络体系结构中的位置来看,是相当的一致的。这些一致使得开发人员只需要很小的付出就可以实现从IPv4到IPv6协议栈的转换。
隧道技术,就是将具有自身协议的复杂网络作为一般的硬件传输系统对待。前文已经提到,在IPv6的网络流行于全球之前,总是有一些网络首先具有IPv6的协议栈,这些网络就像IPv4海洋中的小岛,隧道就是通过"海底"连接这些小岛的通道,因此而得其名。由于隧道上的链路是逻辑的,或称为虚拟的,因此,这些"小岛"所互连而成的网络就被看作是一个虚拟网络。在IPv6 Native Network之间需要通信或IPv6节点需要与IPv4 的节点通信时,IPv4协议就被当作IPv6数据传输的一个隧道。通过隧道,IPv6分组被作为无结构无意义的数据,封装在IPv4数据报中,被IPv4网络传输。由于IPv4网络把IPv6数据当作无结构无意义数据传输,因此不提供帧自标示能力,所以只有在IPv4连接双方都同意时才能交换IPv6分组,否则收方会将IPv6分组当成IPv4分组而造成混乱。网络从IPv4向IPv6演进的过程就是这些"小岛"渐渐扩大而成为"大陆"的过程。
六、IPv6网络在中国的发展
随着IPv4地址空间耗尽的迫近,人们加紧了对下一代互联网协议即IPv6的研究;到2001年年初,IPv6协议的基本框架已经逐步成熟,在越来越广泛的范围内得到实践。由于IPv6和IPv4在协议头格式上不兼容,IETF成立了专门的工作组--ngtrans研究从现有的IPv4网络向IPv6网络的过渡策略和必要的技术。作为向下一代互联网络协议过渡的重要步骤,国际的IPv6试验网--6bone在1996年成立了。现在,6bone已经扩展到全球50多个国家和地区,成为IPv6研究者、开发者和实践者的主要平台。
中国教育和科研计算机网CERNET是中国开展下一代互联网研究的试验网络,它以现有的网络设施和技术力量为依托,建立了全国规模的IPV6试验床。1998年CERNET正式参加下一代IP协议(IPv6)试验网6BONE,同年11月成为其骨干网成员。CERNET在全国第一个实现了与国际下一代高速网INTERNET2的互联,目前国内仅有CERNET的用户可以顺利地直接访问INTERNET2。为致力于面向21世纪网络技术的个人和团体提供全真的网络平台,用于研究同下一代互联网有关的网络技术,特别是安全、服务质量和移动计算;开发新型的网络应用,这些应用在传统的互联网上是几乎不可能或不易实现的;示范上述技术和应用,以及从传统的互联网向下一代网络过渡的方法。总体拓扑试验床分成相对独立而又互连互通的两个部分:正式使用部分和生实验部分。
试验床从6bone获得p-TLA (pseudo-Top Level Aggregation,伪顶级聚类) 3FFE:3200::/24的地址空间;并且建立了5条以tunnel为基础的国际IPv6虚拟链路,直接通达美国、英国和德国的IPv6网络,间接地与几乎所有现有的6bone成员互连。试验床按地区分配NLA1 ID (Next Level Aggregation, level 1 Identifier,次级聚类)。目前,试验床正式使用部分已经发展了2个地区级的试验网络;学生试验部分已经建立了4个地区IPv6网络。
正式使用部分:
cernet华东(北)地区eastn-cn 3ffe:3206::/32 1999年6月成立
cernet东北地区northe-cn 3ffe:3208::/32 1999年6月成立
学生实验部分:
华北地区学生ipv6实验no-expr 3ffe:3211::/32 (清华) 1999年3月成立
西北地区学生ipv6实验nw-expr 3ffe:3212::/32 (西电) 1998年12月成立
华中地区学生ipv6实验ce-expr 3ffe:3215::/32 (国防科大) 1999年5月成立
华东地区学生ipv6实验en-expr 3ffe:3216::/32 (科大) 1999年6月成立
中国应该是全球最关心IPv6发展的国家之一,最主要的原因恐怕就是中国互联网对IP地址的渴求了。据统计,我国目前网民的数量已经激增到2650万,而总共申请到的IP地址却只有约900万个。与此形成鲜明对比的是,仅仅是美国斯坦福大学,所能使用的地址数量就已经达到了2650万个;IBM公司则达到3300万。因此IP地址的短缺对于中国来说,显得尤其紧迫和尖锐。同样由于历史的原因,在技术研究、标准制订、产品开发等诸多方面中国也远远落后于美国。而IPv6为中国的互联网事业提供了一个缩小差距的良机。
IPv6的地址长度和分配方案以一个世界性的网络为出发点,中国将会分配到足够的IPv6地址。IPv4地址缺乏、庞大的人口基数和互联网的迅速扩张使中国更容易首先接受IPv6,这将转化为一种优势,IPv6将首先在中国广泛应用,从而推动IPv6研究、产品开发和应用的全面进步,使中国在下一代国际互联网的竞争中处于有利位置。
一旦IPv6在中国普及推广开来,首先,人们不用再为缺少地址而费尽心机地想出各种替代方法,以牺牲很多IP协议所提供的优良功能为代价了。那时,每人都将拥有一个或多个IP地址,配备上相应的计算机设备,无论你在天涯海角,都可以做到随时在线,连接全球。其次,IPv6与移动通信的结合将为目前的互联网开拓一个全新的领域——移动互联网。通过移动互联网,使我们能够在移动中购买商品和服务,我们的移动设备将成为无线钱包,使我们能够随时随地以在线方式选购商品或服务,并为之付款。我们能够使用移动设备查询飞机的航班,风景点的简要情况,以便做出最后的安排;我们还能够利用同一设备查找地图以及要参观的地方;我们还能够找到距离我们最近的餐馆;如果是平时,我们驾车外出,安装在我们汽车里的无线设施将提供实时定位技术,同时也起到导航和安全保护的作用。
此外,在不远的未来,中国的家电厂商们将开发出新一代的信息家电,即我们除了计算机之外,还可给电视机、冰箱、微波炉、空调、洗衣机等家用电器分配固定地址,以利于它们与Internet的连接。在信息家电与Internet连接后,外出的人就可操作家中的空调、冰箱等,比如,可以通过网络下载做菜方式,自动设定温度和作业时间,减少做菜的手续。
最后,实行IPv6协议可以从根本上优化路由器传输效率,使得目前的各种宽带传输技术迈上一个新的台阶。到那时,困扰中国网民很久的网络速度问题,将得到彻底解决,人们就可以舒舒服服呆在家里,享受超高速网络所带来的欢乐。信息家电连上光纤后,更可直接以交互方式收看电影、听音乐和广播。股民即使在家中,也能通过光纤网络和证券公司等金融机构的业务员在电视上交谈,同时进行交易。
摘自 赛迪网