Source Specific Multicast(SSM)

概述

在组播树中,被记录为(*,G)的组条目表示对于一个特定的组G,任何主机都可以向该组发起组播流量,也就是说,一个组可以拥有多个组播源,任何组播源都可以发送组播流量,这样的组播被称为任意源组播Any Source Multicast (ASM)。

因为一个组一般表示一个应用,如果网络中两个应用使用了同一个组地址,这样就会造成组成员将两个不同应用的流量误当作同一个应用来处理,就会造成数据的混乱或错误,所以当两个应用不小心使用了同一个组地址,这样会给应用带来问题。

如果一个组成员想要接收某个组的组播流量,可以通过IGMP向路由器报告,例如IGMP ver1,IGMP ver2,报告中指出了组成员想要接受的组地址,当路由器收到IGMP报告之后,就会将发往相应组地址的流量转发到组成员。

正因为路由器会将任何组播源发到同一个组的流量转发给相同组成员,所以可能会造成多个应用使用同一个组地址时,不能只将组成员想要接收的流量发到组成员。如果要实现只将特定组播源发来的流量转发给相应的组成员,那么这样的组播机制,被称为特定源组播Source Specific Multicast(SSM)。

因为特定源组播(SSM)只将特定的组播源发来的流量,而不是任何源发来的流量转发给组成员,所以组成员在向路由器报告自己想要接受的组播流量时,除了明确指出组地址之外,还必须指出组播源地址,而这样的IGMP报告,需要IGMP ver3来支持。

并且可以想象,如果多个应用程序在同一个源,那么就要多个组,但如果多个应用在不同源,那么组地址就可以相同,也可以不同,因为SSM可以根据源地址区分出不同的应用程序。

在运行SSM时,需要两个组件

  • Protocol Independent Multicast source-specific mode (PIM-SSM)
  • Internet Group Management Protocol Version 3 (IGMPv3)

其中IGMP ver3可以代替ver 1和ver 2的功能,但是与ver 1和ver 2不同之处在于,IGMP ver 3支持对源地址的过滤,IGMP ver 3 在报告中,会明确指出想要接收的组播源地址。

SSM基于(S, G) 传输, 但SSM也可以和其它组播树共存,只要配好自己的组地址范围即可,为SSM保留地址范围是:

232.0.0.0 - 232.255.255.255 (232.0.0.0/8)但思科IOS可任意配地址范围。

虽然如此,要先有PIM SM,才能有SSM,但SSM也可以独立存在。
如果已经有了PIM-SM,那么只有最后一跳路由器需要开启SSM即可,也就是说只需要直接连接着组成员,直接接收组成员IGMP数据包的路由器需要开启SSM。

注:SSM不需要RP,当最后一跳路由器开启SSM后,正常的PIM-SM就失去意义了。

配置SSM

只在直接连接着组成员,直接接收组成员IGMP数据包的路由器 上开启SSM

1.全局开启组播

  • 全局开启组播路由功能
Router(config)#ip multicast-routing

2.配置SSM组地址范围

  • 配置默认的SSM组地址范围
Router(config)#ip pim ssm default

说明:配置此命令后,默认的SSM组地址范围为:232.0.0.0 - 232.255.255.255

  • 配置SSM组地址为232.1.1.1
Router(config)#access-list 1 permit 232.1.1.1
Router(config)#ip pim ssm range 1

说明:ACL 1所匹配的地址即为SSM的组地址范围。

3.在接口开启SSM

  • 在接口开启PIM
Router(config-if)#ip pim sparse-mode

说明:必须在接口开启sparse-mode或sparse-dense-mode

  • 在接口开启IGMP ver 3
Router(config-if)#ip igmp version 3

说明:默认为IGMP ver 2.

  • SSM查看命令
Router# show ip igmp groups 
Router# show ip mroute

你可能感兴趣的:(Source Specific Multicast(SSM))