IPv6

来源:互联网 发布:vc下socket编程 编辑:程序博客网 时间:2024/05/17 07:29
IPv6地址表示
IPv6地址为128位长,但通常写作8组,每组为四个十六进制数的形式。例如:
FE80:0000:0000:0000:AAAA:0000:00C2:0002 是一个合法的IPv6地址。

 IPv6 网络地址和IPv4网络地址的转化关系

要是嫌这个地址看起来还是太长,这里还有种办法来缩减其长度,叫做零压缩法。如果几个连续段位的值都是0,那么这些0就可以简单的以::来表示,上述地址就可以写成FE80::AAAA:0000:00C2:0002。这里要注意的是只能简化连续的段位的0,其前后的0都要保留,比如FE80的最后的这个0,不能被简化。还有这个只能用一次,在上例中的AAAA后面的0000就不能再次简化。当然也可以在AAAA后面使用::,这样的话前面的12个0就不能压缩了。这个限制的目的是为了能准确还原被压缩的0.不然就无法确定每个::代表了多少个0.
2001:0DB8:0000:0000:0000:0000:1428:0000
2001:0DB8:0000:0000:0000::1428:0000
2001:0DB8:0:0:0:0:1428:0000
2001:0DB8:0::0:0:1428:0000
2001:0DB8::1428:0000都是合法的地址,并且他们是等价的。但
2001:0DB8::1428::是非法的。(因为这样会使得搞不清楚每个压缩中有几个全零的分组)
同时前导的零可以省略,因此:
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兼容地址已经被舍弃了,所以今后的设备和程序中可能不会支持这种地址格式。
为了便于大家对IPv6的理解,下面以表的形式把现在的IPv4与IPv6中的一些关键项进行对比,参见表[9]3。

 IPv4和IPv6地址对比[9]

私有IP地址范围:
A: 10.0.0.0~10.255.255.255 即10.0.0.0/8
B:172.16.0.0~172.31.255.255即172.16.0.0/12
C:192.168.0.0~192.168.255.255 即192.168.0.0/16

 

 

 

 

原创粉丝点击