Overview

PIM - Sparse Mode uses a Shared Distribution Tree - also known as a Rendezvous Point Tree (RPT). This multicast tree goes from the source router to the Rendezvous Point and then is shared by all interested in the multicast.

Rendezvous Point (RP)

The Rendezvous Point (RP) distributes the multicast to routers that have requested this specific multicast with PIM. All traffic for the specified multicast group must go through the RP.

PIM - Sparse Mode
PIM - Sparse Mode

Shortest Path Tree Switchover

While PIM-Sparse Mode’s Shared Distribution Tree has an easy and clean setup, receiving the multicast traffic through the RP may not be the optimal path as is the case in this example. The multicast routers can adjust by using Shortest Path Tree Switchover so they do have the optimal path to the multicast server.

Let’s take a closer look at how PIM-SM and Shortest Path Tree works:

  1. When the receiver wants to join the multicast group it will send an MLD Report message to the router on the link for the specified multicast. In this example it’s R3.
  2. R3 will send a (*,G) Report message to R2. A shared tree is annotated as (*,G) where * is the Unspecified Source and G is the multicast Group we want to join. The source has a wildcard (*) because the host doesn’t care about the source of the multicast – this is the RP’s job.

PIM-SM RP Join
PIM-SM - Shortest Path Tree

Because R1, R2 and R3 have already been configured as multicast routers with R2 being the RP, R3 knows that R2 is the RP.

So now the path from the sender to the receiver is R1>R2>R3.

PIM-SM Sub-Optimal

By using PIM-SM’s RP, we have a simple way to join the multicast group. However, we are not using the shortest path. R1>R2>R3 is two hops. R1>R3 is one hop. In this example, there’s only a difference of one hop because I want to use an easy to understand example. But we always need to consider scaling and future growth. what if we had many routers and Listeners?

Shortest Path Tree Switchover will allow us to use Sparse-Mode for the initial setup, but then adjust to an optimal path to the sender if the initial setup with Sparse-Mode is sub-optimal.

In this example, R3 will learn that the path to the Source Router is sub-optimal when it looks at its unicast routing table and sees that R1 is a better path than R2. It will then send an (S,G) Join message to R1. (We can now specify the Source because we have learned it from the RP. S= Source, G = multicast Group.)

PIM-SM SG Join
PIM-SM SG Join

After the initial setup through the RP, R3 is able to re-route to the optimal path because it has learned the sources IPv6 address.

After R1 processes the (S,G) Join request, it sends traffic directly to R3. To ensure multicast delivery during the transition, it will also send copies of multicast packets to the receiver via R2. This means that R3 will receive duplicate copies of the multicast – one directly from the newly joined R1 and one from the previously joined R2. R3 now knows it can prune from R2 without multicast disruption.

Conclusion

PIM-SM is an easy way to setup multicast. The Listener’s route goes directly to the RP and the RP connects to the root of the multicast. If the route through the RP is sub-optimal, Shortest Path Tree Switchover is used to seamlessly changed to route to an optimal path from sender to receiver.

RFC 7761: Protocol Independent Multicast - Sparse Mode (PIM-SM): Protocol Specification (Revised)

To continue reading, please login or become a member for full access...