互联网协议 IPv6

IPv6是互联网协议的第六版;最初它在IETF"s IPng选取过程中胜出时称为互联网下一代协议(IPng) 。IPv6预备取代现有 标准,IPv4 。IPv4只支持大概40亿(4 × 109)个网络地址,而IPv6支持3.4 × 1038个 。这等价于在地球上每平方英寸有4.3 × 1020地址(6.7 × 1017地址/平方米) 。预计在2025年以前IPv4都会被支持,以便给新协议的修正留下足够的时间 。促使Ipv6形成的主要原因是网络空间的匮乏,尤其是在高速发展的亚洲国家例如印度和中国 。参考IPv4 address exhaustion这篇文章了解更多这方面的内容 。但随着NAT的引入这已经不是很大的问题 。现在推动IPv6发展的主要动力是 新的用途,像移动性,服务质量,机密性的扩展等 。IPv6是被正式广泛使用的第二版互联网协议 。(IPv5不是IPv4的继续,而是实验性的面向流的数据流协议,用来对声 音,图像等提供支持 。) IPv6的计划是建立未来互联网扩充的基础 。虽然IPv6十年前就已被IETF指定作为IPv4的下一代(在1994年),在世界范围 内使用IPv6部署的公众网与IPv4相比还非常的少 。
IPv6 编址
从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地址表示
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进制数表示;因此:
ffff:192.168.89.9 等价于 ::ffff:c0a8:5909, 但不等价于 ::192.168.89.9 和 ::c0a8:5909 。
ffff:1.2.3.4格式叫做IPv4映射地址,是不建议使用的 。而::1.2.3.4格式叫做IPv4一致地址 。
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 封包
IPv6封包由两个主要部分组成:头部和负载 。
包头是包的前40字节并且包含有源和目的地址,协议版本,通信类别(8位,包优先级),流标记(20位,QoS服务质量 控制),负载长度(16位),下一个头部(用于向后兼容性),和跳段数限制(8位,生存时间) 。后面是负载,至少1280字节长 ,或者在可变MTU(最大传输单元)大小环境中这个值为1500字节 。负载在标准模式下最大可为65535字节,或者在扩展 包头的"jumbo payload"选项进行设置 。IPv6曾有两个有着细微差别的版本; 在RFC 1883中定义的原始版本(现在废弃)和RFC 2460中描述的现在提议 的标准版本 。两者主要在通信类别这个选项上有所不同,它的位数由4位变为了8位 。其他的区别都是微不足道的 。分段(Fragmentation)只在IPv6的主机中被处理 。在IPv6中,可选项都被从标准头部中移出并在协议字段中指定,类 似于IPv4的协议字段功能 。

推荐阅读