|
|
|
一个32位的IPv4地址以8个位为一段分成4段,每段之间用点(.)分开。而IPv6地址的128位是以16位为一段,共分为8段,每段的16位转换为一个4位的十六进制数字,每段之间用冒号(:)分开。
|
|
|
|
|
|
如RFC 2373所定义,有3种格式表示IPv6地址。首选格式是最长的表示方法,由所有的32个十六进制字符组成。例如,下面这个128位的IPv6地址用二进制表示为:
|
|
|
|
00100000000000010000110110101000110100000000000100000000000000010000000000000000000000000000000000000000000000001100111011001101
|
|
|
|
|
|
00100000000000010000110110101000110100000000000100000000000000010000000000000000000000000000000000000000000000001100111011001101
|
|
|
|
把每16位一段转换为4个字符表示的十六进制,然后以冒号隔开,可以得到如下表示形式:
|
|
|
|
2001:0da8:d001:0001:0000:0000:0000:0001
|
|
|
|
上面这个地址就是首选格式,是一个适合于计算机“思维”的表示法。
|
|
|
|
|
|
在IPv6中,常见到使用包含一长串0的地址,为了方便书写,对于每一段中的前导0可以进行省略。如前面的首选格式地址经过一次压缩,可以得到:
|
|
|
|
|
|
对于连续两段以上都为0的字段,可以使用“::”(两个冒号)来表示,这样再次压缩,变成:
|
|
|
|
|
|
这就是IPv6地址的压缩表示法。注意,每个IPv6地址只允许有一个“::”。
|
|
|
|
|
|
还有一种表示法就是在IPv6地址中使用内嵌的IPv4地址。这种表示法的地址的第一部分使用十六进制表示,而IPv4部分采用十进制。这是过渡机制所用的IPv6地址特有的表示法。例如,fe80::200:5efe:58.20.27.60,这个IPv6地址的后半部分就是一个IPv4地址。
|
|
|
|
|
|
IPv6前缀是地址中具有固定值的位数部分或表示网络标识的位数部分。IPv6的子网标识、路由器和地址范围前缀表示法与IPv4采用的CIDR标记法相同,其前缀可书写为:地址/前缀长度。例如21DB:D3::/48是一个路由器前缀,而21DB:D3:0:2F3B::/64是一个子网前缀。具体解释如下表所示。
|
|
|
|
|
|
|
|
|
|
IPv4有单播、广播和组播地址类型,在IPv6里面,广播已经不再使用了,这对网络管理员来说,应该是个好消息,因为在传统的IP网络中,出现的很多问题都是由于广播引起的。IPv6仍有3种地址类型,分别是单播、多播(也称作组播)、泛播(也称作任意播)。
|
|
|
|
(1)单播IPv6地址:单播地址唯一标识一个IPv6节点的接口。发送往单播地址的数据包最终传递给这个地址所标识的接口。为适应负载均衡,IPv6协议允许多个接口使用相同的IPv6地址,只要它们对于主机上的IPv6协议表现为一个接口。
|
|
|
|
(2)多播IPv6地址:多播地址标识一组IPv6节点的接口。发送往多播地址的数据包会被该多播组所有的成员处理。
|
|
|
|
(3)泛播IPv6地址:泛播地址指派给多个节点的接口。发送往泛播地址的数据包只会传递给其中的一个接口,一般是隔得最近的一个接口。
|
|
|