简说IPv6
上QQ阅读APP看书,第一时间看更新

3.1.2 IPv6地址分类

总的来说IPv6地址可以分为三类:单播地址、多播地址和任播地址。

1.单播地址

单播地址(Unicast Address)是IP网络中最常见的,它指的是主机之间“一对一”的通信方式。它标识了一个单独的IPv6接口,每个接口必须有一个与之对应的单播地址。IPv6单播地址功能与IPv4地址一样受制于CIDR,由两部分组成,一部分用来标识网络,一部分用来标识接口。在特定边界上将地址分为两部分,地址高位部分包含路由前缀,地址低位部分包含网络接口标识符。

单播地址包含四种类型:全球单播地址、本地单播地址、兼容性地址、特殊地址。全球单播地址的一般格式如图3-2所示。

图3-2 全球单播地址的一般格式

·全球路由前缀(global routing prefix):这是第一级地址,占48位,分配给各公司和机构,用于Internet中路由器的路由选择。

·子网ID(subnet ID):这是第二级地址,占16位,用于各公司和机构创建自己的子网。

·接口ID(interface ID):这是第三级地址,占64位,用于指明主机或路由器单个网络接口,这在同一子网内是唯一的。


现阶段,IPv4与IPv6需要共存,在IPv6的传输机制中包含一项可以在IPv4网络上传输IPv6数据报的技术,这些路由器既可以支持IPv4,也可以支持IPv6。如果要使用这项技术,就需要给IPv6的节点分配一个嵌入IPv4地址的IPv6地址,这被称作IPv4兼容地址。该地址的前80位都是0,第81~96位是0000,最后32位是IPv4地址。具体格式如图3-3所示。

图3-3 IPv4兼容地址的格式

注意:这里使用的IPv4地址必须是全球唯一的IPv4单播地址。还有一种和IPv4兼容地址很相似,也是嵌入IPv4地址的IPv6地址,叫作IPv4映射地址。它可以把IPv4地址映射为IPv6地址。只是格式上有些略微不同,第81~96位是ffff。具体格式如图3-4所示。

图3-4 IPv4映射地址的格式

本地单播地址:链路本地地址和唯一本地地址都属于本地单播地址。在IPv6中,本地单播地址就是指本地网络使用的单播地址,也就是IPv4地址中的局域网专用地址。每个接口上至少要有一个链路本地地址,另外还可分配任何类型(单播、任播和组播)或范围的IPv6地址。

特殊地址:包括未指定地址和环回地址。未指定地址(0:0:0:0:0:0:0:0或::)仅用于表示某个地址不存在。它等价于IPv4未指定地址0.0.0.0。未指定地址通常被用作尝实验证暂定地址唯一性数据包的源地址,并且永远不会指派给某个接口或被用作目标地址。环回地址(0:0:0:0:0:0:0:1或::1)用于标识环回接口,允许节点将数据包发送给自己。它等价于IPv4环回地址127.0.0.1。发送到环回地址的数据包永远不会发送给某个链接,也永远不会通过IPv6路由器转发。

2.多播地址

多播地址(Multicast Address)也叫组播、多点广播或群播,指把信息同时传递给一组目的地址。它的使用策略是最高效的,因为消息在每条网络链路上只传递一次,而且只有在链路分叉的时候,消息才会被复制。多播地址格式以11111111开头,即ff为前缀,4b的标志位,4b组播范围和112b多播组标识符(组ID)组成。例如,ff23::c156:67de:788b:cf9b表示的就是一个多播地址。多播地址的格式如图3-5所示。

图3-5 多播地址的格式

·标志字段:4b,该字段用于说明组播地址是“永久性(由IANA指定的一个地址)”的,还是“临时性”的。其高3b位为0,剩下的低1b位用于判断多播地址是“永久性”还是“临时性”的。如果低1b位为0,则表示为“永久性多播地址”,也就是一个众所周知的多播地址。

·范围字段:4b,用于定义组播地址的范围类型,包括本地接口范围、本地链路范围、本地子网范围、本地管理范围、本地站点范围等。具体如下:


0—保留

1—本地接口范围

2—本地链路范围

3—保留

4—本地管理范围

5—本地站点范围

8—机构本地范围

14—全球范围

15—保留

其他—未分配

例如:ff02::1:3表示的是链路本地范围内的所有DHCPv6服务器。

3.任播地址

任播地址(Anycast Address)是一种网络寻址和路由的策略,使得数据可以根据路由拓扑来决定送到“最近”或“最好”的目的地。如何确定这个“最近”的接口,由路由选择协议确定。在任播中,在网络地址和网络节点之间存在一对多的关系:每一个地址对应一群接收节点,但在任何给定时间,只有其中之一可以接收到发送端来的信息。在互联网中,通常使用边界网关协议(Border Gateway Protocol,BGP)来实现任播。