IPv6是互联网协议的第六版;最初它在IETF的 IPng选取过程中胜出时称为互联网新一代网际协议(IPng),IPv6是被正式广泛使用的第二版互联网协议。
现有标准IPv4只支持大概40亿(4×109)个网络地址,而IPv6支持3.4 ×1038个,这等价于在地球上每平方英寸有4.3×1020地址(6.7×1017地址/mm2)。(IPv5不是IPv4的继承,而是实验性的面向流的数据流协议,用来对声音,图像等提供支持。)
目录[隐藏] |
促使IPv6形成的主要原因是网络空间的匮乏。从1990年开始,因特网工程任务小组(Internet Engineering Task Force,简称IETF)开始规划IPv4的下一代协议,除要解决即将遇到的IP地址短缺问题外,还要发展更多的扩充功能,为此IETF小组创建IPng,以让后续工作顺利进行。1994年,各IPng领域的代表们于多伦多举办的IETF会议中正式提议IPv6发展计划,该提议直到同年的11月17日才被认可,并于1998年8月10日成为IETF的草案标准。
IPv6的计划是建立未来互联网扩充的基础,其目标是取代IPv4,预计在2025年以前IPv4仍会被支持,以便给新协议的修正留下足够的时间。
虽然IPv6在1994年就已被IETF指定作为IPv4的下一代标准,然而在世界范围内使用IPv6部署的公众网[1]与IPv4相比还非常的少[2]。
从IPv4到IPv6最显着的变化就是网络地址的长度。RFC 2373 和RFC 2374定义的IPv6地址,就像下面章节所描述的,有128位长;IPv6地址的表达形式一般采用32个十六进制数。
IPv6中可能的地址有2128 ≈ 3.4×1038个.也可以想象为1632个因为32位地址每位可以取16个不同的值(参考组合数学)。
在很多场合,IPv6地址由两个逻辑部分组成:一个64位的网络前缀和一个64位的主机地址,主机地址通常根据物理地址自动生成,叫做EUI-64(或者64-位扩展唯一标识)
IPv6地址为128位长但通常写作8组每组四个十六进制数的形式。例如:
2001:0db8:85a3:08d3:1319:8a2e:0370:7344
是一个合法的IPv6地址。
如果四个数字都是零,可以被省略。例如:
2001:0db8:85a3:0000:1319:8a2e:0370:7344
等价于
2001:0db8:85a3::1319:8a2e:0370:7344
遵从这些规则,如果因为省略而出现了两个以上的冒号的话,可以压缩为一个,但这种零压缩在地址中只能出现一次。因此:
2001:0DB8:0000:0000:0000:0000:1428:57ab 2001:0DB8:0000:0000:0000::1428:57ab 2001:0DB8:0:0:0:0:1428:57ab 2001:0DB8:0::0:1428:57ab 2001:0DB8::1428:57ab
都使合法的地址,并且他们是等价的。但
2001::25de::cade
是非法的。(因为这样会使得搞不清楚每个压缩中有几个全零的分组)
同时前导的零可以省略,因此:
2001:0DB8:02de::0e13
等价于
2001:DB8:2de::e13
如果这个地址实际上是IPv4的地址,后32位可以用10进制数表示;因此:
IPv4 地址可以很容易的转化为IPv6格式。举例来说,如果IPv4的一个地址为135.75.43.52(十六进制为0x874B2B34),它可以被转化为0000:0000:0000:0000:0000:0000:874B:2B34或者::874B:2B34。同时,还可以使用混合符号(IPv4-compatible address),则地址可以为::135.75.43.52。
IPv6封包由两个主要部分组成:头部和负载。
包头是包的前40字节并且包含有源和目的地址,协议版本,通信类别(8位,包优先级),流标记(20位,QoS服务质量控制),负载长度(16位),下一个头部(用于向后兼容性),和跳段数限制(8位,生存时间)。后面是负载,至少1280字节长,或者在可变MTU(最大传输单元)大小环境中这个值为1500字节。负载在标准模式下最大可为65535字节,或者在扩展包头的"jumbo payload"选项进行设置。
IPv6曾有两个有着细微差别的版本; 在RFC 1883中定义的原始版本(现在废弃)和RFC 2460中描述的现在提议的标准版本。两者主要在通信类别这个选项上有所不同,它的位数由4位变为了8位。其它的区别都是微不足道的。
分段(Fragmentation)只在IPv6的主机中被处理。在IPv6中,可选项都被从标准头部中移出并在协议字段中指定,类似于IPv4的协议字段功能。
IPv6地址在-{域名}-系统中为执行正向解析表示为AAAA记录(所谓4A记录)(类似的IPv4表示为A记录A records) ;反向解析在ip6.arpa (原先ip6.int)下进行,在这里地址空间为半字节16进制数字格式。这种模式在RFC 3596给与了定义。
AAAA模式是IPv6结构设计时的两种提议之一。另外一种正向解析为A6记录并且有一些其它的创新像二进制串标签和DNAME记录等。RFC 2874和它的一些引用中定义了这种模式。
AAAA模式只是IPv6域名系统的简单概括,A6模式使域名系统中检查更全面,也因此更复杂:
2002年8月的RFC 3363中对AAAA模式给与了有效的标准化(在RFC 3364有着对于两种模式优缺点的更深入的讨论)。
2004年七月的ICANN声称互联网的根域名服务器已经经过改进同时支持IPv6和IPv4[3]。
缺点:
工作:
直到IPv6获得广泛的使用和路由下部构造的支持之前,还是需要一种机制来在IPv4网中使用IPv6。需要做的是:
这些隧道通过将IPv6包包装在IPv4包中,这些包头的协议字段值为41,因此叫做proto-41。类似的,ISATAP允许IPv6包在下层组织都是IPv4的网络中传输。它也使用协议号41。
当使用NAT(网络地址转换)设备的网络使用IPv6时,大多数并没有对proto-41进行正确的转发,可以使用Teredo协议在IPv4中基于UDP包装IPv6。还可以使用IPv6-to-IPv4和IPv6-to-IPv6代理,尽管它是在应用层的(例如HTTP)。