一、为什么需要IPv6
为了扩大地址空间,拟通过IPv6重新定义地址空间。IPv4采用32位地址长度,只有大约43亿个地址,估计在2005~2010年间将被分配完毕,而IPv6采用128位地址长度,几乎可以不受限制地提供地址。按保守方法估算IPv6实际可分配的地址,整个地球每平方米面积上可分配1000多个地址。在IPv6的设计过程中除了一劳永逸地解决地址短缺问题以外,还考虑了在IPv4中解决不好的其它问题。IPv6的主要优势体现在以下几方面:扩大地址空间、提高网络的整体吞吐量、改善服务质量(QoS)、安全性有更好的保证、支持即插即用和移动性、更好实现多播功能。
显然,IPv6的优势能够对上述挑战直接或间接地作出贡献。其中最突出的是IPv6大大地扩大了地址空间,恢复了原来因地址受限而失去的端到端连接功能,为互联网的普及与深化发展提供了基本条件。当然,IPv6并非十全十美、一劳永逸,不可能解决所有问题。IPv6只能在发展中不断完善,也不可能在一夜之间发生,过渡需要时间和成本,但从长远看,IPv6有利于互联网的持续和长久发展。
二、IPv6的优势
相比较于IPv4,IPv6的优点主要有:更大的地址空间、更小的路由表、增强的组播和流控制、自动配置和更高的安全性。
1. 巨大的地址空间
由于IPv6具有巨大的地址空间,每个接入设备(数量可达数十亿的移动终端、家用电器等等)都可以拥有一个全球唯一的、可被路由的IP地址。
2. 高效的路由选择
IPv6定义了一种新的分组格式,目的是为了最小化路由器处理的报文首部。由于IPv4报文和IPv6 报文首部有很大不同,因此这两种协议无法互操作。基于结构化的IP地址,核心路由器只需要查看地址域中的一小部分就可以作出路由选择。
IPv4地址的层次结果缺乏统一的分配和管理,多数的地址空间拓扑结构只要两层或者三层,这导致主干路由器中存在大量的路由表项。庞大的路由表项增加了路由查找和存储的开销,成为互联网进一步发展的瓶颈。另外,由于IPv4数据包的包头长度不固定,很难用硬件来提取和分析路由信息,限制了路由器数据吞吐率 的提高。
3. 可靠的安全性
对所有IPv6节点, IPSec是强制实现的,因此当建立一个IPv6的连接时,可以得到一个安全的端到端连接。通过对通信端的验证和对数据的加密保护使得敏感数据可以在IPv6 网络上安全地传输。
IPv4自身缺乏安全机制,传统的安全机制基本都是在应用层或传输层实现,虽然有一些基于IP选项的关于IPv4的安全机制,但在实际应用中并不成功,也就是说目前以IPv4为基础的Internet,在网络层缺少安全保障。
4. 多样化的服务质量
IPv6包头中有一个业务类别域(Traffic Class),利用此域可以实现对关键用户和应用的优先服务。IPv6包头中的流标记域(flow label)为流量工程 (Traffic Engineering) 和负载平衡以及区分端到端的数据流提供了一个强有力的工具。全球唯一的地址可以更详细地区分数据流,而结构化的地址则可以很容易地在边缘网络上实现数据流的聚合。
IPv4协议对所有的数据没有类型区分,都会尽力投递,这样无法为一些新业务提供有效的支持。比如一些实时数据或者多媒体数据,要求有一定的服务质量保证,然而在IPv4协议中缺少良好的服务质量(QoS)机制。
5. 易管理性
结构化的地址加上主机的自动配置,使得网络和路由器的网络重编号得以轻松实现。对ISP和网络管理员而言,这大大减轻了网络管理和用户支持的工作量,地址的自动配置使得主机可以自动获得IPv6连接而无需人工干预。
当连接到IPv6网络上时,IPv6主机可以使用邻居发现协议对自身进行自动配置。当第一次连接到网络上时,主机发送一个链路本地路由器请求(solicitation)多播请求来获取配置参数。路由器使用包含Internet层配置参数的路由器声明(advertisement)报文进行回应。
在不适合使用IPv6无状态地址自动配置的场景下,网络可以使用有状态配置,如DHCPv6,或者使用静态方法手动配置。
6. 与移动的互通性
当移动终端移动到外地时,可以通过地址自动配置得到一个漫游地址,并且用此地址与网络上的节点进行通信。利用移动IPv6和HOME Agent,移动终端可以在保持已有的通信连接不被中断的情况下,在不同的网络间进行漫游,同时还能保持自身的可达性。
三、IPv6基础知识
1. IPv6的层次化设计
大型互联网服务商的IPv6网络采用层次化、结构化的设计,可以把网络分为多个区域(地区),每个区域有多个区域骨干节点,每个骨干节点汇聚多个接入网(站)点,通过接入网点连接终端网点(企业或个人用户)提供服务;一般来说,是一个4个层级的网络模型,而小型互联网服务商则采用1-2层级的网络模型。
2. IPv6地址格式及IPv6地址空间格式
IPv6地址全部长度128位(bit),每16位为一个双字节,用十进制表示值从0到65535,共八段。(IPv4地址长度为32位,可支持232,约43亿个设备直接接入互联网。)其表示方法如下:
A、冒号分隔形式,比如x:x:x:x:x:x:x:x,其中x是16进制数,值从0x0000-0xFFFF。示例:FB21:1233:55B2:AA44:12B8:6761:890F:AB31。
B、同0压缩形式,就是地址中如果出现连续两个或两个以上0时,可以采用压缩表示形式::(双冒号表示),但只能出现一次,因为如果出现两个或以上双冒号,技术上无法识别出实际的地址,比如FB21:0:0:0:12B8:6761:0:0,就可表示成FB21::12B8:6761:0:0,或 FB21:0:0:0:12B8:6761::,不能表示成FB21::12B8:6761::。如果8个段值都是0,可以用::表示。
C、每项数字前导的0可以省略,省略后前导数字仍是0则继续,例如下组IPv6是相等的。如FB21:0233:05B2:AA44:12B8:6761:890F:AB31
C、混合形。如果这个地址实际上是IPv4地址,后32位可以用10进制数表示。如果IPv4的一个地址为135.75.43.52(十六进制为0x874B2B34),它可以被转化为0000:0000:0000:0000:0000:ffff:874B:2B34或者::ffff:874B:2B34。同时,还可以使用混合符号(IPv4-compatible address),则地址可以为::ffff:135.75.43.52。
IPv6地址空间:类似于IPv4中的CDIR表示方法,IPv6用前缀来表示网络地址空间,比如:2001:250:6000::/48 表示前缀为48位的地址空间,其后的80位可分配给网络中的主机,共有2的80次方个地址。
3. IPv6地址分类
IPv6按照传输类型分为单播地址(unicast)、任播地址(anycast)和多播地址(multicast)。
Ø 单播(unicast)地址。单播地址标示一个网络接口。协议会把送往地址的数据包投送给其接口。IPv6的单播地址可以有一个代表特殊地址名字的范畴,如link-local地址和唯一区域地址(ULA,unique local address)。单播地址包括可聚类的全球单播地址、链路本地地址等。
Ø 任播(anycast)地址。Anycast 是 IPv6 特有的数据传送方式,它像是IPv4的Unicast(单点传播)与Broadcast(多点广播)的综合。IPv4 支持单点传播和多点广播,单点广播在来源和目的地间直接进行通信;多点广播存在于单一来源和多个目的地进行通信。 而Anycast则在以上两者之间,它像多点广播(Broadcast)一样,会有一组接收节点的地址栏表,但指定为 Anycast 的数据包,只会传送给距离最近或传送成本最低(根据路由表来判断)的其中一个接收地址,当该接收地址收到数据包并进行回应,且加入后续的传输。该接收列表的其他节点,会知道某个节点地址已经回应了,它们就不再加入后续的传输作业。 以目前的应用为例,Anycast 地址只能分配给路由器,不能分配给电脑使用,而且不能作为发送端的地址。
Ø 多播(multicast)地址。多播地址也称组播地址。多播地址也被指定到一群不同的接口,送到多播地址的数据包会被传送到所有的地址。
3. IPv6地址结构
为了便于路由汇聚和简化网络管理,配置,变更和扩展的工作量,IPv6采用层次化、结构化的地址规划,一般来说,按RFC3177的原则,把128位的IPv6地址分为一个64位的网络标识符和一个64位的节点(主机)标识符,节点(主机)标识符通常根据物理地址自动生成,叫做EUI-64(或者64-位扩展唯一标识);64位的网络标识符又进一步分为全球网络标识符和本地子网标识符,通常全球网络标识符占用48位和本地子网标识符占有16位,如下图所示:
4.IPv6数据包
IPv6数据包由两个主要部分组成:头部和负载。包头是包的前64比特并且包含有源和目的地址,协议版本,通信类别(8位,包优先级),流标记(20比特,QoS服务质量控制),分组长度(16位),下一个头部(用于入栈解码,类似IPv4中的协议号),和跳段数限制(8位,生存时间,相当于IPv4中的TTL)。后面是负载,至少1280字节长,在常见的以太网环境中为1500字节。负载在标准模式下最大可为65535字节,如果扩展报头设置了"jumbo payload"选项,则长度值被置为0。
图2 IPv6数据包的架构说明
三、IPv6推广中存在的问题及解决方案
IPv6仅仅是对IPv4的一种保守扩展,除了嵌入了互联网地址的那些应用协议(如FTP和NTPv3,新地址格式可能会与当前协议的语法冲突)以外,大多数传输层和应用层协议几乎不怎么需要修改就可以工作在IPv6上。虽然如此,但由于IPv6和IPv4的报文商务部有很大的不同,因此这两种协议无法互操作。
IPv6与IPv4不兼容,实际上建成的相当于两张网。对用户来说,IPv4网的资源非常丰富,而IPv6网的内容却很少。虽然标准制定者、研究机构和政府部门大力推广IPv6网络,但由于用户和企业的动力不足,IPv6网络推进缓慢。2010年3月份,专家们表示IPv6信息仅占互联网信息总量的1%。