Skip to main content

2.6. Anycast Addresses (任播地址)

IPv6任播地址是分配给多个接口(通常属于不同节点)的地址,其特性是发送到任播地址的数据包根据路由协议的距离度量被路由到具有该地址的"最近"接口。

任播地址从单播地址空间分配,使用任何已定义的单播地址格式。因此,任播地址在语法上与单播地址无法区分。当单播地址分配给多个接口,从而将其转换为任播地址时,必须明确配置分配了该地址的节点,使其知道这是一个任播地址。

对于任何分配的任播地址,存在该地址的最长前缀P,该前缀标识属于该任播地址的所有接口所在的拓扑区域。在P标识的区域内,任播地址必须在路由系统中作为单独的条目维护(通常称为"主机路由");在P标识的区域外,任播地址可以聚合到前缀P的路由条目中。

注意,在最坏的情况下,任播集的前缀P可能是空前缀,即该集的成员可能没有拓扑局部性。在这种情况下,任播地址必须在整个互联网中作为单独的路由条目维护,这对可以支持多少这样的"全局"任播集提出了严重的扩展限制。因此,预计对全局任播集的支持可能不可用或非常受限。

任播地址的一个预期用途是标识属于提供互联网服务的组织的路由器集。这样的地址可以用作IPv6路由头中的中间地址,以使数据包通过特定服务提供商或服务提供商序列传送。

其他一些可能的用途是标识连接到特定子网的路由器集,或提供进入特定路由域的路由器集。


2.6.1. Required Anycast Address (必需的任播地址)

子网路由器任播地址 (Subnet-Router Anycast Address) 是预定义的。其格式如下:

|                n位                |    128-n位     |
+-----------------------------------+----------------+
| 子网前缀 | 00000000000000 |
+-----------------------------------+----------------+

任播地址中的"子网前缀"是标识特定链路的前缀。此任播地址在语法上与链路上接口的单播地址相同,其接口标识符设置为零。

发送到子网路由器任播地址的数据包将被传送到子网上的一个路由器。所有路由器都必须支持其具有接口的子网的子网路由器任播地址。

子网路由器任播地址旨在用于节点需要与路由器集中的任何一个通信的应用程序。