4.3. 源特定组播地址分配
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 地址时, 主机或主机操作系统不得从第一个允许的地址开始顺序分配.推荐随机地将 SSM 地址分配给应用, 同时确保已分配地址不会同时提供给多个应用, 并避免使用保留地址. 对于 IPv6, 随机化应应用于地址的最低 31 位.
如第 6 节所述, 将带有 SSM 目的地址的 IP 数据包映射到链路层组播地址时, 不会考虑数据报的源 IP 地址, 这适用于以太网等常用链路层. 如果所有主机都从第一个允许的地址开始分配, 则共享介质 LAN 上的许多源特定信道很可能会使用相同的链路层组播地址. 结果, 发往某个信道订阅者的流量会被递送到另一个订阅者的 IP 模块, 后者随后不得不丢弃该数据报.
主机操作系统应该提供一个接口, 允许应用在会话开始前请求唯一分配某个信道目的地址, 并且该分配数据库应该在主机重启后保持持久. 通过提供持久分配, 主机应用可以在会话开始时间之前, 在网页或其他目录中公告该会话. 需要注意, 这个问题并非 SSM 应用所特有, ASM 也存在相同问题.
本文档既不定义请求或归还地址的接口, 也不规定主机用于存储这些分配的算法. RFC 2771 [RFC2771] 定义了一个可行的抽象 API. 注意, RFC 2771 允许应用在特定地址范围内请求地址. 如果使用该接口, 范围的起始地址应该由应用随机选择.
对于 IPv6, 可通过为 SSM 目的地址选择适当的作用域标识符来创建管理范围内的 SSM 信道地址. 常规 IPv6 组播作用域边界 [SCOPINGv6] 会应用于发送到 SSM 目的地址的流量, 包括同时应用于源地址和目的地址的任何相关边界.
目前尚未为 IPv4 源特定组播定义全球一致认可的管理范围地址范围 [ADMIN-SCOPE]. 对于 IPv4, 可以在管理域的边界路由器处过滤发往范围地址的出站 SSM 流量, 从而在该管理域内实现 SSM 地址的管理范围.