Even though this is a deep dive on PIM and not by IGMP or MLD,
we need to understand how inextricably linked the two
signaling protocols are to PIM SSM specifically.
While we talked about some ways to use previous versions of IGMP and
MLD to still get PIM SSM to work, it's really a workaround and
migration strategy than it is a long‑term solution.
Look at the IGMPv3 packet here.
What's immediately interesting is that the IGMPv3 packet is sent
with the Router Alert option in the IPv4 header.
The reason this option exists is to instruct the router to process the packet
even though it's not directly addressed to the router itself.
In this case, notice the actual destination is the multicast group 224.0.0.22,
which is the ALL‑IGMPv3‑ROUTERS group on the local link.
Moving on, this is a membership report, meaning,
the receiver is requesting a multicast source and group to be delivered.
In this case, it's only a request for one group.
The group record is an Include request for the source
10.99.1.100 sending to 232.3.2.1, which is an SSM group.
Let's see that converted to a PIM join.
This PIM join is from the last‑hop router where it converted
the IGMPv3 report into a source‑free join.
Honestly,
there's nothing really different by this point of the PIM SSM process
compared to optimal source tree building in other PIM implementations. The
Upstream neighbor is the designated router on the link,
and the PIM join requests a group of 232.3.2.1 with a source of 10.99.1.100,
just like the IGMPv3 report.
PIM SSM leverages the sparse mode model rather than flooding because
there's no need to inform the routers of the source.
The receiver already knows what sources it wants to subscribe to,
and the PIM routers just need to resolve the path to
it using the Unicast best path.
In this module, we've discussed the operation of PIM SSM,
which is somewhat similar,
but still different than PIM ASM; we've spent time
demonstrating how it's different,
especially from a multicast flow perspective; and lastly,
we dove deep into the IGMPv3 and PIM join packets to see how it looks on the wire.