IGMP SSM Mapping
在SSM中,要求路由器能了解成员主机加入组播组时所指定的组播源。如果成员主机上运行IGMPv3,可以在IGMPv3报告报文中直接指定组播源地址。但是某些情况下,用户主机只能运行IGMPv1或IGMPv2,为了使其也能够使用SSM服务,路由器上需要提供IGMP SSM Mapping功能。但 IGMP SSM Mapping不处理 IGMPv3的报告报文。
SSM Mapping的机制是:通过在路由器上静态配置SSM地址的映射规则,将IGMPv1和IGMPv2报告报文中的(*,G)信息转化为对应的(S,G)信息,以提供SSM组播服务。缺省情况下,SSM组播组的组播IP地址范围为232.0.0.0~232.255.255.255。
配置了SSM Mapping规则后,当路由器收到来自成员主机的 IGMPv1或 IGMPv2报告报文时,首先检查该报文中所携带的组播组地址G,然后根据检查结果的不同分别进行处理。
(1)如果G在ASM(Any-Source Multicast,任意源组播)范围内,则只提供ASM服务。
(2)如果G在SSM组地址范围内,而路由器上又没有G对应的SSM Mapping规则,则无法提供SSM服务,丢弃该报文。
(3)如果G在SSM组地址范围内,路由器上有G对应的SSM Mapping规则,则依据规则将报告报文中所包含的(*,G)信息映射为(S,G)信息,提供SSM服务。
实例讲解
1、拓扑图
本示例拓扑结构如下图所示,同时采用ASM和SSM模式提供组播服务。
由于与组播组成员相连的R2-e0/0/0接口上运行IGMPv3,组播组成员主机上运行的是IGMPv2,且不能升级到IGMPv3,因此,该主机在加入组播组时无法指定组播源,必须依靠SSM Mapping来实现。当前网络中的SSM组播组地址范围是232.1.1.0/24,Source1、Source2和Source3都向该范围内的组播组发送组播数据,而组播组成员只想接收来自 Source1 的组播数据。
2、配置思路
1、IP配置
2、路由打通
3、所有路由器的所有接口使能pim sm
4、R2上e0/0/0使能IGMPv3
5、配置R2的pim c-bsr 和 c-rp为g0/0/0接口
6、在连接组播成员的设备上配置igmp中的ssm-mapping功能(本实例为R2)
3、组播源运行组播业务
4、PC以IGMPv2加入组播组
可以看到,PC成功加入S1的组播组。
5、查看R2的pim路由
6、查看R2的IGMP SSM Mapping信息
7、限定组播数据发送
在一个组播域中如果存在多个仅支持IGMPv1、IGMPv2的主机要加入不同的组播源,需要在域中所有参与组播数据转发的设备上配置ACL并应用到ssm-policy 中,该配置同时也可以避免组播数据流发送到其他不相关的组播源处。
本例子中在R1、R2上配置:
acl 2000
rule permit source 232.1.1.0 0.0.0.255
quit
pim
ssm-policy 2000
quit