百度文库:http://wenku.baidu.com/view/f3255f641ed9ad51f01df213.html
百度百科:http://baike.baidu.com/view/5228.htm
百科摘要:
IPv6 编址
从IPv4到IPv6最显著的变化就是网络地址的长度。RFC 2373 和RFC 2374定义的IPv6地址,就像下面章节所描述的,有128位长;IPv6地址的表达形式一般采用32个十六进制数。
IPv6中可能的地址有3.4×10^38个。也可以想象为16个因为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
一个IPv6地址可以将一个IPv4地址内嵌进去,并且写成IPv6形式和平常习惯的IPv4形式的混合体。IPv6有两种内嵌IPv4的方式:IPv4映像地址和IPv4兼容地址。
IPv4映像地址有如下格式:::ffff:192.168.89.9
这个地址仍然是一个IPv6地址,只是0000:0000:0000:0000:0000:ffff:c0a8:5909的另外一种写法罢了。IPv4映像地址布局如下:
| 80bits |16 | 32bits |
+—————————- +——–+————————|
0000………………..0000 | FFFF | IPv4 address |
+—————————- +——–+———————– |
IPv4兼容地址写法如下:::192.168.89.9
如同IPv4映像地址,这个地址仍然是一个IPv6地址,只是0000:0000:0000:0000:0000:0000:c0a8:5909的另外一种写法罢了。IPv4兼容地址布局如下:
| 80bits |16 | 32bits |
+—————————- +——–+————————|
0000………………..0000 | 0000 | IPv4 address |
+—————————- +——–+———————– |
IPv4兼容地址已经被舍弃了,所以今后的设备和程序中可能不会支持这种地址格式。