Skip to main content

4.3. Allocation of Source-Specific Multicast Addresses

4.3. 源特定组播地址分配

SSM目标地址232.0.0.0是保留的,不得用作目标地址。同样,FF3x::4000:0000也是保留的。保留这两个地址的目的是为IPv4和IPv6保留一个无效的SSM目标地址,这在实现中作为空值可能很有用。地址范围232.0.0.1 - 232.0.0.255目前保留给IANA分配。FF3x::4000:0001到FF3x::7FFF:FFFF范围内的SSM目标地址同样保留给IANA分配[IPv6-MALLOC]。保留这些地址的动机在下面的第9节"IANA考虑"中概述。

将其余SSM地址分配给发送应用程序的策略严格由发送主机本地确定。

在动态分配SSM地址时,主机或主机操作系统不得(MUST NOT)从第一个允许的地址开始顺序分配。建议(RECOMMENDED)随机地将SSM地址分配给应用程序,同时确保已分配的地址不会同时提供给多个应用程序(并避免保留地址)。对于IPv6,随机化应应用于地址的最低31位。

如第6节所述,将具有SSM目标地址的IP数据包映射到链路层组播地址时,不考虑数据报的源IP地址(在以太网等常用的链路层上)。如果所有主机都从第一个允许的地址开始,那么很可能共享介质局域网上的许多源特定信道将使用相同的链路层组播地址。结果,目标为一个信道订阅者的流量将被传送到另一个的IP模块,然后该模块将不得不丢弃该数据报。

主机操作系统应该(SHOULD)提供一个接口,允许应用程序在会话开始之前请求信道目标地址的唯一分配,并且这个分配数据库应该(SHOULD)在主机重启后持久存在。通过提供持久分配,主机应用程序可以在会话开始之前在网页或另一个目录中公告会话。(我们注意到这个问题并非特定于SSM应用程序——ASM也存在相同的问题。)

本文档既不定义用于请求或返回地址的接口,也不指定用于存储这些分配的主机算法。RFC 2771 [RFC2771]中定义了一个合理的抽象API。请注意,RFC 2771允许应用程序在特定地址范围内请求地址。如果使用此接口,范围的起始地址应该(SHOULD)由应用程序随机选择。

对于IPv6,通过为SSM目标地址选择适当的作用域标识符来创建管理范围的SSM信道地址。正常的IPv6组播作用域边界[SCOPINGv6]应用于发送到SSM目标地址的流量,包括应用于源地址和目标地址的任何相关边界。

目前尚未为IPv4源特定组播定义全球一致的管理范围地址范围[ADMIN-SCOPE]。对于IPv4,可以通过在域的边界路由器处过滤发送到范围地址的传出SSM流量,在管理域内实现SSM地址的管理范围。