近期互联网编号分配机构(IANA)宣布IPv4已经分配枯竭,将慢慢过渡到IPv6,微软也在第一时间宣布今年6月份将对Bing试运用IPv6,并进行相应测试,可以看出,IPv4已经慢慢退出舞台,IPv6必将是未来互联网开发行业的方向!后面我将结合《IPv6详解 卷1》进行说明,希望给大家一个很好的学习资料以供参考!
一 、IPv6地址
IPv6地址是一个128位的无符号整数,用来标识一个或多个网络接口。IPv6地址分为下列3种类型。
◆单播(unicast)。一个单播IPv6地址标识一个网络接口。目标为一个单播地址的分组会被传送到一个网络接口上去。
◆任播(anycast)。任播IPv6地址标识一组网络接口,,但目标为一个任播地址的分组只会被送到那个组中的一个接口中去。IPv6任播地址的语法和单播IPv6地址是一样的,但它们具有不同的语义。由于缺乏足够的、在全球因特网中使用任播的操作经验,设置了几条限制:
1、不能将任播地址作为任意分组的源地址使用。
2、任播地址只能分配给路由器,不能分配给主机。
◆多播(multicast)。IPv6多播地址标识一组网络接口。这些接口可能属于不同的节点。目标为多播地址的分组会被传送给那个组中所有的成员。IPv6多播地址是由它的前8个比特标识的:前8个比特为全1的地址就是多播地址。
需要注意的是:IPv6与IPv4不同,它没有广播地址,做出这样的设计决定原因之一是:网络层的广播地址通常会造成链路级的广播,这会影响到附属链路中的所有设备,甚至包括那些根本不支持特定网络协议的设备。而IPv6网络层的“广播”是通过多播来实现的。
二、IPv6地址的文本表示
IPv6地址传统的文本表示是以十六进制值书写的
如:x0:x1:x2:x3:x4:x5:x6:x7
用":"分隔的8个16比特段来表示。典型的例子如下:
2001 : 0DB8 : 0123 : 4567 : 89AB : CDEF : 0123 : 4567
x0 x1 x2 x3 x4 x5 x6 x7
每个十六进制值都是大小写无关的。
从0x到07的每个16比特字段中至少要有一个十六进制数字。字段中不需要写出前导的0.如下:
2001 : DB8 : 123 : 1 : 0 : 0 : 0 : 1
x0 x1 x2 x3 x4 x5 x6 x7
如上所示,字段x1到x7的每个16比特的前导0都没有写出。字段x4、x5和x6为全零,通常可以将连续的全零字段合并,写成压缩的"::"形式。为避免二义性,压缩的"::"字段只能出现一次。这样,通过压缩字段x4、x5和x6可以写成下面这样:
2001:db8:123:1::1
IPv6网络前缀的文本表示为IPv6地址/前缀长度。前缀长度是一个十进制值,用来标识前缀的前导比特长度。例如用上面的地址和前缀长度64表示的网络前缀可以写成下列这样: