PIM-SM works well in many-to-many multicasting situations. For example, in video conferencing, each participating site multicasts a stream that is sent to all the other participating sites. However, PIM-SM is overly complex for one-to-many multicast situations, such as multimedia content distribution or streaming stock quotes. In these and similar applications, the listener is silent and can know the source of the multicast in advance, or can obtain it. In these situations, there is no need to join an RP, as the join request can be made directly towards the source.
Note
This feature is supported at and above the license level listed for this feature in the license tables in the ExtremeXOS 22.6 Feature License Requirements document.Note
(*;G)s are created for groups inside the SSM range if SSM is not enabled.PIM Source Specific Multicast (PIM-SSM) is a special case of PIM-SM, in which a host explicitly sends a request to receive a stream from a specific source, rather than from any source.
IGMPv3 hosts can use PIM SSM directly, because the ability to request a stream from a specific source first became available with IGMPv3. The PIM-SSM capable router interprets the IGMPv3 message to initiate a PIM-SM join towards the source.
Note
IGMPv1 and IGMPv2 hosts can use PIM SSM if IGMP (Internet Group Management Protocol)-SSM mapping is enabled and configured on the ExtremeXOS switch. For more information, see Using IGMP-SSM Mapping.Using PIM-SSM While Sending IGMPV3 Joins (IPv4) describes PIM-SSM behavior while sending IGMPV3 joins in the SSM range and outside the SSM range for IPv4:
ExtremeXOS 15.4 | ExtremeXOS 15.5 | ||||||
---|---|---|---|---|---|---|---|
SSM Enabled | SSM range | Mode | Include Src | Action | Observation | Action | Observation |
No | Yes | Incl | Yes | Send IGMPv3 join in SSM range | -the group is learned -(*;G) is not created | Send IGMPv3 join in SSM range | -the group is learned - (*;G) is created |
No | Yes | Incl | Yes | Send IGMPv3 out of SSM range | -the group is learned -no (*;G) is created | Send IGMPv3 out of SSM range | -the group is learned - (*;G) is created |
No | Yes | Excl | No | Send IGMPv3 join in SSM range | -the group is not learned (PD4-3138792131) -no (*;G) is created | Send IGMPv3 join in SSM range | -the group is not learned (PD4-3138792131) -no (*;G) is created |
No | Yes | Excl | No | Send IGMPv3 join out of SSM range | -the group is learned - (*;G) is created | Send IGMPv3 join out of SSM range | -the group is learned - (*;G) is created |
No | Yes | Excl | Yes | Send IGMPv3 join in SSM range | -the group is not learned -no (*;G) is created | Send IGMPv3 join in SSM range | -the group is not learned -no (*;G) is created |
No | Yes | Excl | Yes | Send IGMPv3 join out SSM range | -the group is learned -no (*;G) is created | Send IGMPv3 join out SSM range | -the group is learned -no (*;G) is created |
No | No | Incl | Yes | Send IGMPv3 join | -the group is learned -no (*;G) is created | Send IGMPv3 join | -the group is learned -(*;G) is created |
No | No | Excl | No | Send IGMPv3 join | -the group is learnt - (*;G) is created | Send IGMPv3 join | -the group is learnt - (*;G) is created |
No | No | Excl | Yes | Send IGMPv3 join | -the group is learned -no (*;G) is created | Send IGMPv3 join | -the group is learned -no (*;G) is created |
Yes | Yes | Incl | Yes | Send IGMPv3 join in SSM range | -the group is learned -(S;G) is created | Send IGMPv3 join in SSM range | -the group is learned -(S;G) is created |
Yes | Yes | Incl | Yes | Send IGMPv3 out of SSM range | -the group is learned -no (*;G) is created | Send IGMPv3 out of SSM range | -the group is learned - (*;G) is created |
Yes | Yes | Excl | No | Send IGMPv3 join in SSM range | -the group is not learned -no (*;G) is created | Send IGMPv3 join in SSM range | -the group is not learned -no (*;G) is created |
Yes | Yes | Excl | No | Send IGMPv3 join out of SSM range | -the group is learned - (*;G) is created | Send IGMPv3 join out of SSM range | -the group is learned - (*;G) is created |
Yes | Yes | Excl | Yes | Send IGMPv3 join in SSM range | -the group is not learned -no (*;G) is created | Send IGMPv3 join in SSM range | -the group is not learned -no (*;G) is created |
Yes | Yes | Excl | Yes | Send IGMPv3 join out SSM range | -the group is learned -no (*;G) is created | Send IGMPv3 join out SSM range | -the group is learned -no (*;G) is created |
Yes | No | Incl | Yes | Send IGMPv3 join | -the group is learned -no (*;G) is created | Send IGMPv3 join | -the group is learned -(*;G) is created |
Yes | No | Excl | No | Send IGMPv3 join | -the group is learned - (*;G) is created | Send IGMPv3 join | -the group is learned - (*;G) is created |
Yes | No | Excl | Yes | Send IGMPv3 join | -the group is learned -no (*;G) is created | Send IGMPv3 join | -the group is learned -no (*;G) is created |
Using PIM-SSM While Sending MLDV2 Joins (IPv6) describes PIM-SSM behavior while sending MLDV2 joins in the SSM range and outside the SSM range for IPv6:
ExtremeXOS 15.4 | ExtremeXOS 15.5 | ||||||
---|---|---|---|---|---|---|---|
SSM Enabled | SSM range | Mode | Include Src | Action | Observation | Action | Observation |
No | Yes | Incl | Yes | Send MLDv2 join in SSM range | -the group is learned - no (*;G) is created | Send MLDv2 join in SSM range | -the group is learned -(*;G) is created |
No | Yes | Incl | Yes | Send MLDv2 out of SSM range | -the group is learned - no (*;G) is created - (S;G) is created | Send MLDv2 out of SSM range | -the group is learned -(*;G) is created |
No | Yes | Excl | No | Send MLDv2 join in SSM range | -the group is learned -(*;G) is created | Send MLDv2 join in SSM range | -the group is not learned - no (*;G) is created |
No | Yes | Excl | No | Send MLDv2 join out of SSM range | -the group is learned -(*;G) is created | Send MLDv2 join out of SSM range | -the group is learned -(*;G) is created |
No | Yes | Excl | Yes | Send MLDv2 join in SSM range | -the group is learned -(*;G) is created | Send MLDv2 join in SSM range | -the group is not learned - no (*;G) is created |
No | Yes | Excl | Yes | Send MLDv2 join out SSM range | -the group is learned -(*;G) is created | Send MLDv2 join out SSM range | -the group is learned -(*;G) is created |
No | No | Incl | Yes | Send MLDv2 join | -the group is learned - (S;G) is created | Send MLDv2 join | -the group is learned - (*;G) is created |
No | No | Excl | No | Send MLDv2 join | -the group is learned -(*;G) is created | Send MLDv2 join | -the group is learned -(*;G) is created |
No | No | Excl | Yes | Send MLDv2 join | -the group is learned -(*;G) is created | Send MLDv2 join | -the group is learned -(*;G) is created |
Yes | Yes | Incl | Yes | Send MLDv2 join in SSM range | -the group is learned - (S;G) is created | Send MLDv2 join in SSM range | -the group is learned - (S;G) is created |
Yes | Yes | Incl | Yes | Send MLDv2 out of SSM range | -the group is learned - no (*;G) is created - (S;G) is created | Send MLDv2 out of SSM range | -the group is learned -(*;G) is created |
Yes | Yes | Excl | No | Send MLDv2 join in SSM range | -the group is learned -(*;G) is created | Send MLDv2 join in SSM range | -the group is not learned - no (*;G) is created |
Yes | Yes | Excl | No | Send MLDv2 join out of SSM range | -the group is learned -(*;G) is created | Send MLDv2 join out of SSM range | -the group is learned -(*;G) is created |
Yes | Yes | Excl | Yes | Send MLDv2 join in SSM range | -the group is learned -(*;G) is created | Send MLDv2 join in SSM range | -the group is not learned - no (*;G) is created |
Yes | Yes | Excl | Yes | Send MLDv2 join out SSM range | -the group is learned -(*;G) is created | Send MLDv2 join out SSM range | -the group is learned -(*;G) is created |
Yes | No | Incl | Yes | Send MLDv2 join | -the group is learned - (S;G) is created | Send MLDv2 join | -the group is learned - (*;G) is created |
Yes | No | Excl | No | Send MLDv2 join | -the group is learned -(*;G) is created | Send MLDv2 join | -the group is learned -(*;G) is created |
Yes | No | Excl | Yes | Send MLDv2 join | -the group is learned -(*;G) is created | Send MLDv2 join | -the group is learned -(*;G) is created |
PIM-SSM has the following advantages:
PIM-SSM has the following requirements:
PIM-SSM is designed as a subset of PIM-SM and all messages are compliant with PIM-SM. PIM-SSM and PIM-SM can coexist in a PIM network; only the last hop router need to be configured for PIM-SSM if both source and receivers are present all the time. However, to avoid any JOIN delay, it is recommended that you enable all routers along the (s,g) path for PIM-SSM.