7.1 多播定界
在处理大规模多播域时的主要考虑点是如何控制多播域的范围。第5章中曾经提到,目前存在如下两种多播域定界方法。
• TTL定界
• 管理性定界
对TTL定界来说,就是设置多播包的TTL值,在TTL递减到0之前可以一直向外传送多播包,待TTL递减为0时就丢弃该多播包。可以利用命令ip multicast ttl-threshold在接口上设置阈值边界,以便对这种粗放的控制方法实施精细化控制。例如,如果在某接口上配置了语句ip multicast ttl-threshold 5,那么只有TTL值大于5的多播包才会从该接口上转发出去,任何TTL值小于等于5的多播包都会被丢弃。表7-1列出了各种TTL定界值示例(与表5-6完全相同),表中所列TTL值都是MBone建议使用的TTL值。
在第6章中已经涉及了一些用于TTL定界而设置协议消息TTL值的命令,如启用Auto-RP C-RP和映射代理的命令等,本章还将出现更多的提供类似功能的命令。但是如第5章所述,由于在某个接口上设置的TTL边界会应用于所有多播包,因而TTL定界缺乏灵活性,虽然这对绝对的边界来说很好,但有时可能希望只阻塞某些多播包,而继续转发其他多播包。
为此,管理性定界提供了更好的灵活性能力。管理性定界实质上就是将多播组地址区间224.0.0.0〜239.255.255.255进行分区,让部分地址区间落入某范围内,然后通过过滤这些地址区间即可创建不同的域边界。有关管理性定界的描述请参见RFC 2365,表7-2列出了该RFC所建议的分区情况。读者已经看见了如何使用224.0.0.0/24的链路本地(link-local)范围,路由器从不转发多播地址位于该区间内的多播包,如IGMP(224.0.0.1和224.0.0.2)、OSPF(224.0.0.5和224.0.0.6)、EIGRP(224.0.0.10)和PIM(224.0.0.13),因而将这些多播包限制在发起这些多播包的数据链路范围之内。
只要在接口上应用命令ip multicast boundary即可创建一个管理性边界。该命令只引用IP访问列表,由该访问列表来指定该接口所允许或拒绝的多播组地址区间(如例7-1所示)。
例7-1:在接口上应用命令ip multicast boundary以创建管理性边界。
其中的接口E0被标记了一个边界,所有组织机构本地(organization-local)范围内的多播包都会被阻塞,而全局(global)范围内的多播包都可以通过。接口E1上的边界则仅允许所有目的地址位于239.135.0.0/16区间内的多播包通过(而拒绝其他多播包),由于该地址区间位于表7-2的未定义区间,因而可以由本地网络管理员赋予其特殊的含义。