Possible Solutions for Implementing SSM
The following sections discuss three possible solutions for implementing SSM with Cisco IOS software:
Solution 1: IGMPv3 Host Signaling
Solution 2: IGMP v3lite Host Signaling
Solution 3: URD Host Signaling
Solution 1: IGMPv3 Host Signaling
IGMPv3 is the third version of the Internet Engineering Task Force (IETF) standards track protocol used by hosts to signal membership to last hop routers of multicast groups. IGMPv3 introduces the ability for hosts to signal group membership with filtering capabilities with respect to sources, which is required for SSM. A host can either signal that it wants to receive traffic from all sources sending to a group except for some specific sources (called EXCLUDE mode), or that it wants to receive traffic only from some specific sources sending to the group (called INCLUDE mode).
IGMPv3 can operate with both ISM and SSM. In ISM, the last hop router accepts both EXCLUDE and INCLUDE mode reports. In SSM, the last hop router accepts only INCLUDE mode reports, but ignores EXCLUDE mode reports. For more information on IGMPv3, refer to the Cisco IOS Software Release 12.1(5)T IGMP Version 3 feature module.
Solution 2: IGMP v3lite Host Signaling
IGMP v3lite is a Cisco-developed transitional solution that enables you to write and run SSM applications on hosts that do not yet support IGMPv3 in their operating system kernel. IGMP v3lite allows immediate development of SSM receiver applications and switches to IGMPv3 as soon as it becomes available.
You must compile applications with the Host Side IGMP Library (HSIL) for IGMP v3lite. This software provides a subset of the IGMPv3 applications programming interface (API) that is required to write SSM-aware applications. HSIL was developed for Cisco by Talarian and is available on the following web site:
www.talarianmulticast.com/cgi-bin/igmpdownld
One part of the HSIL is a client library linked to the SSM application. It provides the SSM subset of the IGMPv3 API to the SSM application. If possible, the library checks whether the operating system kernel supports IGMPv3. If it does, the API calls are passed through to the kernel. If the kernel does not support IGMPv3, the library uses the IGMP v3lite mechanism.
When using the IGMP v3lite mechanism, the library tells the operating system kernel to join to the whole multicast group. Joining to the whole group is the only method for the application to receive traffic for that multicast group (if the operating system kernel supports only IGMPv1 or IGMPv2). In addition, the library signals the (S, G) channel subscriptions to an IGMP v3lite server process, which is also part of the HSIL. A server process is needed because multiple SSM applications might be on the same host. This server process sends IGMP v3lite-specific (S, G) channel subscriptions to the last hop Cisco IOS router, which must be enabled for IGMP v3lite. The Cisco IOS router sees both the IGMPv1 or IGMPv2 group membership reports from the operating system kernel and the (S, G) channel subscription from the HSIL server process. If the router sees both of these messages, it will interpret them as an SSM (S, G) channel subscription and join to the channel through PIM-SSM.
NOTE
Refer to the documentation accompanying the HSIL software for more information about how to use IGMP v3lite with your application.
Solution 3: URD Host Signaling
URD is a Cisco-developed transitional solution that enables the deployment of SSM with existing IP multicast receiver applications that do not support IGMPv3. The software on the end-user systems running the application do not need to be updated. URD is a content provider solution in which receiver applications can be started or controlled through a web browser.
The next section explains URD Host Signaling in more detail.