PIM Source Specific Multicast

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

Note

This feature is supported at and above the license level listed for this feature in the license tables in the ExtremeXOS and Switch Engine 31.7 Feature License Requirements document.
Note

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

Note

IGMPv1 and IGMPv2 hosts can use PIM SSM if IGMP-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:

Table 1. Using PIM-SSM While Sending IGMPV3 Joins (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:

Table 2. Using PIM-SSM While Sending MLDV2 Joins (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.