跳到主要内容

2.6. Anycast Addresses (任播地址)

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 |
+------------------------------------------------+----------------+

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

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

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