IP Multicast PIM Sparse Mode (PIM-SM) is under the Protocol Independent Multicast (PIM) family of multicast routing protocols. It was intended for networks with distributed multicast application receivers. However, even if PIM-SM is for the sparsely populated multicast group across the network, it also performs great in densely populated networks.
PIM-SM considers that only if specifically requested, no receivers are interested in IP multicast traffic. Like PIM Dense Mode, another PIM multicast routing protocol, PIM Sparse Mode uses the unicast routing table to execute RPF checks. It is an independent protocol as it does not care which static routes and routing protocols populate the unicast routing table.
How Does Multicast PIM Sparse Mode (PIM-SM) Work?
Before proceeding, please take note of the following key terms:
Rendezvous Point or RP – A router that serves as a point of contact for multicast senders and receivers.
PIM Join Message – A request forwarded by a router to the RP.
Routers will send a PIM join message under the following conditions:
- When a router receives an IGMP join message from a directly connected host.
- When a router receives requests from other routers.
PIM-SM employs an explicit join model in which receivers send an IGMP join to their locally connected router called the Last-Hop Router (LHR). Then, the LHR sends a PIM join in the direction of the root of the tree. With a shared tree (RPT), the PIM join is sent to the RP. With Shortest Path Tree (SPT), it is sent to the First-Hop Router (FHR) where the source transmitting the multicast streams is connected. These explicit joins generate a multicast forwarding state.
Based on the diagram above, here’s a step-by-step process for IP PIM Sparse Mode:
- PC-A wants to receive multicast traffic, so it sends an IGMP membership report to R2.
- R2 will look for the IP address of the RP (R1 in this case) in its unicast routing table. R2 will send a PIM join message to RP.
- Once RP receives a PIM join, it will start sending multicast traffic.
Joining the RP is also referred to as RPT (Root Path Tree) or shared distribution tree. RP is the root of the tree. Therefore, it specifies the destination for multicast traffic. The network may contain multiple RPTs as a result of the fact that the multicast groups may have distinct sources and receivers.
RP discovery is achieved by the concept of a Bootstrap Router (BSR), which knows the information about RPs and provides this information to all other routers. Unless the RP information is configured statically using the command ‘ip pim rp-address x.x.x.x’, each PIM-SM network should have at least one BSR candidate. If there’s a shorter path to the multicast sender, we can switch to that path.
Once the multicast traffic is received through the RP, the source IP address of this Video Server traffic is also learned. Switching to the SPT (Source Path Tree) is now possible. The directly connected router, R2 in this case, can use the shortest path toward the Video Server. R2 will communicate with the source via PIM join messages. R1 will begin forwarding multicast traffic to R2 via the most direct path.
R2 no longer requires multicast traffic from the RP because it is now receiving it via R1. It will send PIM prune messages to RP and inform any routers in the path that they can disable multicast traffic forwarding for this multicast group.
Reverse Path Forwarding (RPF)
Reverse Path Forwarding (RPF) is an algorithm to prevent loops and ensure that multicast packets arrive on the correct interface. RPF functions as follows:
- If a router receives a multicast packet on an interface that it uses to send unicast packets to the source, the packet has arrived on the RPF interface.
- If the packet arrives on the RPF interface, a router forwards the packet out of the interfaces present in the outgoing interface list (OIL) of a multicast routing table entry.
- If the packet does not arrive on the RPF interface, the packet is dropped to avoid loops.
The RPF lookup function determines where it needs to send prunes and joins. PIM utilizes multicast source trees between the source, the LHR, and between the source and the RP. It also uses multicast shared trees between the LHRs and the RP. The RPF check is performed differently as follows:
- If a PIM router has an (S, G) entry in the multicast routing table (an SPT state), the router performs the RPF check against the IP address of the source for the multicast packet.
- It is considered a shared-tree state if a PIM router has no explicit source-tree state. The router runs the RPF check on the RP’s address, which is known when members join the group.
Download our Free CCNA Study Guide PDF for complete notes on all the CCNA 200-301 exam topics in one book.
We recommend the Cisco CCNA Gold Bootcamp as your main CCNA training course. It’s the highest rated Cisco course online with an average rating of 4.8 from over 30,000 public reviews and is the gold standard in CCNA training: