Table of contents
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.
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:
- 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.
- 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.
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.
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.)
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.
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.