IPv6
IPv6是InternetProtocolVersion6的缩写,其中InternetProtocol译为“互联网协议”。IPv6是IETF(互联网工程任务组,InternetEngineeringTaskForce)设计的用于替代现行版本IP协议(IPv4)的下一代IP协议,号称可以为全世界的每一粒沙子编上一个网址。由于IPv4最大的问题在于网络地址资源有限,严重制约了互联网的应用和发展。IPv6的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍。
中文名:互联网协议第6版
外文名:IPv6
全称:InternetProtocolVersion6
类型:网络协议
地址长度:128位
数量:2^128(约3.4×10^38)
1、发展历史
到1992年初,一些关于互联网地址系统的建议在IETF(互联网工程任务组)上提出,并于1992年底形成白皮书。在1993年9月,IETF建立了一个临时的ad-hoc下一代IP(IPng)领域来专门解决下一代IP的问题。这个新领域由AllisonMankin和ScottBradner领导,成员由15名来自不同工作背景的工程师组成。IETF于1994年7月25日采纳了IPng模型,并形成几个IPng工作组。从1996年开始,一系列用于定义IPv6的RFC发表出来,最初的版本为RFC1883。由于IPv4和IPv6地址格式等不相同,因此在未来的很长一段时间里,互联网中出现IPv4和IPv6长期共存的局面。在IPv4和IPv6共存的网络中,对于仅有IPv4地址,或仅有IPv6地址的端系统,两者无法直接通信的,此时可依靠中间网关或者使用其他过渡机制实现通信。
2003年1月22日,IETF发布了IPv6测试性网络,即6bone网络。它是IETF用于测试IPv6网络而进行的一项IPng工程项目,该工程目的是测试如何将IPv4网络向IPv6网络迁移。作为IPv6问题测试的平台,6bone网络包括协议的实现、IPv4向IPv6迁移等功能。6bone操作建立在IPv6试验地址分配基础上.并采用3FFE::/16的IPv6前缀,为IPv6产品及网络的测试和试商用部署提供测试环境。截至2009年6月,6bone网络技术已经支持了39个国家的260个组织机构。6bone网络被设计成为一个类似于全球性层次化的IPv6网络,同实际的互联网类似,它包括伪*转接提供商、伪次级转接提供商和伪站点级组织机构。由伪*提供商负责连接全球范围的组织机构,伪*提供商之间通过IPv6的lBGP-4扩展来尽力通信,伪次级提供商也通过BGP-4连接到伪区域性*提供商,伪站点级组织机构连接到伪次级提供商。伪站点级组织机构可以通过默认路由或BGP-4连接到其伪提供商。6bone最初开始于虚拟网络,它使用IPv6-over-IPv4隧道过渡技术。因此,它是一个基于IPv4互联网且支持IPv6传输的网络,后来逐渐建立了纯IPv6链接。
从2011年开始,主要用在个人计算机和服务器系统上的操作系统基本上都支持高质量IPv6配置产品。例如,MicrosoftWindows从Windows2000起就开始支持IPv6,到WindowsXP时已经进入了产品完备阶段。而WindowsVista及以后的版本,如Windows7、Windows8等操作系统都已经完全支持IPv6,并对其进行了改进以提高支持度。MacOSXPanther(10.3)、Linux2.6、FreeBSD和Solaris同样支持IPv6的成熟产品。一些应用基于IPv6实现.如BitTorrent点到点文件传输协议等,避免了使用NAT的IPv4私有网络无法正常使用的普遍问题。
中国IPV6主干节点示意图
2012年6月6日,国际互联网协会举行了世界IPv6启动纪念日,这一天,全球IPv6网络正式启动。多家知名网站,如Google、Facebook和Yahoo等,于当天全球标准时间0点(北京时间8点整)开始永久性支持IPv6访问。
根据飓风电子统计,截至2013年9月,互联网318个中的283个*域名支持IPv6接人它们的DNS。约占89.0%,其中276个域名包含IPv6黏附记录,共5,138,365个域名在各自的域内拥有IPv6地址记录。
2、组成结构
表示方法
IPv6的地址长度为128b,是IPv4地址长度的4倍。于是IPv4点分十进制格式不再适用,采用十六进制表示。IPv6有3种表示方法。
IPv6的长分布式结构图
一、冒分十六进制表示法格式为X:X:X:X:X:X:X:X,其中每个X表示地址中的16b,以十六进制表示,例如:ABCD:EF01:2345:6789:ABCD:EF01:2345:6789这种表示法中,每个X的前导0是可以省略的,例如:2001:0DB8:0000:0023:0008:0800:200C:417A→2001:DB8:0:23:8:800:200C:417A
二、0位压缩表示法在某些情况下,一个IPv6地址中问可能包含很长的一段0,可以把连续的一段0压缩为“::”。但为保证地址解析的唯一性,地址中”::”只能出现一次,例如:FF01:0:0:0:0:0:0:1101→FF01::11010:0:0:0:0:0:0:1→::10:0:0:0:0:0:0:0→::
三、内嵌IPv4地址表示法为了实现IPv4-IPv6互通,IPv4地址会嵌入IPv6地址中,此时地址常表示为:X:X:X:X:X:X:d.d.d.d,前96b采用冒分十六进制表示,而最后32b地址则使用IPv4的点分十进制表示,例如::192.168.0.1与::FFFF:192.168.0.1就是两个典型的例子,注意在前96b中,压缩0位的方法依旧适用。
报文内容
IPv6报文的整体结构分为IPv6报头、扩展报头和上层协议数据3部分。IPv6报头是必选报文头部,长度固定为40B,包含该报文的基本信息;扩展报头是可选报头,可能存在0个、1个或多个,IPv6协议通过扩展报头实现各种丰富的功能;上层协议数据是该IPv6报文携带的上层数据,可能是ICMPv6报文、TCP报文、UDP报文或其他可能报文。
3、地址类型
IPv6协议主要定义了三种地址类型:单播地址(UnicastAddress)、组播地址(MulticastAddress)和任播地址(AnycastAddress)。与原来在IPv4地址相比,新增了“任播地址”类型,取消了原来IPv4地址中的广播地址,因为在IPv6中的广播功能是通过组播来完成的。
单播地址:用来唯一标识一个接口,类似于IPv4中的单播地址。发送到单播地址的数据报文将被传送给此地址所标识的一个接口。
组播地址:用来标识一组接口(通常这组接口属于不同的节点),类似于IPv4中的组播地址。发送到组播地址的数据报文被传送给此地址所标识的所有接口。
任播地址:用来标识一组接口(通常这组接口属于不同的节点)。发送到任播地址的数据报文被传送给此地址所标识的一组接口中距离源节点最近(根据使用的路由协议进行度量)的一个接口。
IPv6地址类型是由地址前缀部分来确定,主要地址类型与地址前缀的对应关系如下:
单播地址IPv6单播地址与IPv4单播地址一样,都只标识了一个接口。为了适应负载平衡系统,RFC3513允许多个接口使用同一个地址,只要这些接口作为主机上实现的IPv6的单个接口出现。单播地址包括五个类型:全局单播地址、链路本地地址、站点本地地址、兼容性地址、特殊地址。
一、全局单播地址:等同于IPv4中的公网地址,可以在IPv6Internet上进行全局路由和访问。这种地址类型允许路由前缀的聚合,从而限制了全球路由表项的数量。
链路本地地址和站点本地地址都属于本地单播地址,在IPv6中,本地单播地址就是指本地网络使用的单播地址,也就是IPV4地址中局域网专用地址。每个接口上至少要有一个链路本地单播地址,另外还可分配任何类型(单播、任播和组播)或范围的IPv6地址。
二、链路本地地址:仅用于单个链路(这里的“链路”相当于IPv4中的子网),不能在不同子网中路由。结点使用链路本地地址与同一个链路上的相邻结点进行通信。例如,在没有路由器的单链路IPv6网络上,主机使用链路本地地址与该链路上的其他主机进行通信。
三、站点本地地址:相当于IPv4中的局域网专用地址,仅可在本地局域网中使用。例如,没有与IPv6Internet的直接路由连接的专用Intranet可以使用不会与全局地址冲突的站点本地地址。站点本地地址可以与全局单播地址配合使用,也就是在一个接口上可以同时配置站点本地地址和全局单播地址。但使用站点本地地址作为源或目的地址的数据报文不会被转发到本站(相当于一个私有网络)外的其他站点。
四、兼容性地址:在IPv6的转换机制中还包括了一种通过IPv4路由接口以隧道方式动态传递IPv6包的技术。这样的IPv6结点会被分配一个在低32位中带有全球IPv4单播地址的IPv6全局单播地址。另有一种嵌入IPv4的IPv6地址,用于局域网内部,这类地址用于把IPv4结点当作IPv6结点。此外,还有一种称为“6to4”的IPv6地址,用于在两个通过Internet同时运行IPv4和IPv6的结点之间进行通信。
五、特殊地址:包括未指定地址和环回地址。未指定地址(0:0:0:0:0:0:0:0或::)仅用于表示某个地址不存在。它等价于IPv4未指定地址0.0.0.0。未指定地址通常被用做尝试验证暂定地址唯一性数据包的源地址,并且永远不会指派给某个接口或被用做目标地址。环回地址(0:0:0:0:0:0:0:1或::1)用于标识环回接口,允许节点将数据包发送给自己。它等价于IPv4环回地址127.0.0.1。发送到环回地址的数据包永远不会发送给某个链接,也永远不会通过IPv6路由器转发。
组播地址
IPv6组播地址可识别多个接口,对应于一组接口的地址(通常分属不同节点)。发送到组播地址的数据包被送到由该地址标识的每个接口。使用适当的组播路由拓扑,将向组播地址发送的数据包发送给该地址识别的所有接口。任意位置的IPv6节点可以侦听任意IPv6组播地址上的组播通信。IPv6节点可以同时侦听多个组播地址,也可以随时加入或离开组播组。
IPv6组播地址的最明显特征就是最高的8位固定为11111111。IPv6地址很容易区分组播地址,因为它总是以FF开始的。
任播地址
一个IPv6任播地址与组播地址一样也可以识别多个接口,对应一组接口的地址。大多数情况下,这些接口属于不同的节点。但是,与组播地址不同的是,发送到任播地址的数据包被送到由该地址标识的其中一个接口。
通过合适的路由拓扑,目的地址为任播地址的数据包将被发送到单个接口(该地址识别的最近接口,最近接口定义的根据是因为路由距离最近),而组播地址用于一对多通信,发送到多个接口。一个任播地址必须不能用作IPv6数据包的源地址;也不能分配给IPv6主机,仅可以分配给IPv6路由器。
4、使用协议
地址配置协议
IPv6使用两种地址自动配置协议,分别为无状态地址自动配置协议(SLAAC)和IPv6动态主机配置协议(DHCPv6)。SLAAC不需要服务器对地址进行管理,主机直接根据网络中的路由器通告信息与本机MAC地址结合计算出本机IPv6地址,实现地址自动配置;DHCPv6由DHCPv6服务器管理地址池,用户主机从服务器请求并获取IPv6地址及其他信息,达到地址自动配置的目的。
路由协议
IPv4初期对IP地址规划的不合理,使得网络变得非常复杂,路由表条目繁多。尽管通过划分子网以及路由聚集一定程度上缓解了这个问题,但这个问题依旧存在。因此IPv6设计之初就把地址从用户拥有改成运营商拥有,并在此基础上,路由策略发生了一些变化,加之IPv6地址长度发生了变化,因此路由协议发生了相应的改变。
IPSec机制协议安全的实现
与IPv4相同,IPv6路由协议同样分成内部网关协议(IGP)与外部网关协议(EGP),其中IGP包括由RIP变化而来的RIPng,由OSPF变化而来的OSPFv3,以及IS-IS协议变化而来的IS-ISv6。EGP则主要是由BGP变化而来的BGP4+。
5、过渡技术
IPv6不可能立刻替代IPv4,因此在相当一段时间内IPv4和IPv6会共存在一个环境中。要提供平稳的转换过程,使得对现有的使用者影响最小,就需要有良好的转换机制。这个议题是IETFngtrans工作小组的主要目标,有许多转换机制被提出,部分已被用于6Bone上。IETF推荐了双协议栈、隧道技术以及网络地址转换等转换机制:
隧道技术
6、优势特点
与IPV4相比,IPV6具有以下几个优势:
IPv4和IPv6地址对比
一、IPv6具有更大的地址空间。IPv4中规定IP地址长度为32,最大地址个数为2^32;而IPv6中IP地址的长度为128,即最大地址个数为2^128。与32位地址空间相比,其地址空间增加了2^128-2^32个。
二、IPv6使用更小的路由表。IPv6的地址分配一开始就遵循聚类(Aggregation)的原则,这使得路由器能在路由表中用一条记录(Entry)表示一片子网,大大减小了路由器中路由表的长度,提高了路由器转发数据包的速度。
三、IPv6增加了增强的组播(Multicast)支持以及对流的控制(FlowControl),这使得网络上的多媒体应用有了长足发展的机会,为服务质量(QoS,QualityofService)控制提供了良好的网络平台。
四、IPv6加入了对自动配置(AutoConfiguration)的支持。这是对DHCP协议的改进和扩展,使得网络(尤其是局域网)的管理更加方便和快捷。
五、IPv6具有更高的安全性。在使用IPv6网络中用户可以对网络层的数据进行加密并对IP报文进行校验,在IPV6中的加密与鉴别选项提供了分组的保密性与完整性。极大的增强了网络的安全性。
H3CIPv6网解决方案
六、允许扩充。如果新的技术或应用需要时,IPV6允许协议进行扩充。
七、更好的头部格式。IPV6使用新的头部格式,其选项与基本头部分开,如果需要,可将选项插入到基本头部与上层数据之间。这就简化和加速了路由选择过程,因为大多数的选项不需要由路由选择。
八、新的选项。IPV6有一些新的选项来实现附加的功能。
7、安全性能
原来的Internet安全机制只建立于应用程序级,如E-mail加密、SNMPv2网络管理安全、接入安全(HTTP、SSL)等,无法从IP层来保证Internet的安全。IP级的安全保证分组的鉴权和私密特性,其具体实现主要由IP的AH(AuthenticationHeader)和ESP(EncapsulatingSecurityPayload)标记来实现。IPv6实现了IP级的安全。
一、安全协议套:是发送者和接收者的双向约定,只由目标地址和安全参数索引(SPI)确定。
二、包头认证:提供了数据完整性和分组的鉴权。
三、安全包头封装:ESP根据用户的不同需求,支持IP分组的私密和数据完整性。它既可用于传送层(如TCP、UDP、ICMP)的加密,称传送层模式ESP,同时又可用于整个分组的加密,称隧道模式ESP。
四、ESPDES-CBC方式:ESP处理一般必须执行DES-CBC加密算法,数据分为以64位为单位的块进行处理,解密逻辑的输入是现行数据和先前加密数据块的与或。
五、鉴权加私密方式:根据不同的业务模式,两种IP安全机制可以按一定的顺序结合,从而达到分组传送加密的目的。按顺序的不同,分为鉴权之前加密和加密之前鉴权。
8、应用前景
虽然IPv6在全球范围内还仅仅处于研究阶段,许多技术问题还有待于进一步解决,并且支持IPv6的设备电非常有限。但总体来说,全球IPv6技术的发展不断进行着,并且随着IPv4消耗殆尽,许多国家已经意识到了IPv6技术所带来的优势,特别是中国,通过一些*的项目,推动了IPv6下一代互联网全面部署和大规模商用。随着IPv6的各项技术日趋完美。IPv6成本过高、发展缓慢、支持度不够等问题将很快淡出人们的视野。