PIM
PIM Sparse Mode
To start off, we have PIM Sparse Mode. In sparse mode, we don’t forward any multicast traffic unless someone actually requests it. So when a host wants multicast traffic, how does it know where to get it from? That’s where something called an RP (Rendezvous Point) comes into play. The way it works is that any router receiving multicast traffic from a source will forward it to the RP, and routers that want to receive multicast traffic will also go to the RP. Now you might be wondering, how does a router even know where the RP is? There’s two ways: you can manually configure it, or you can use protocols like Auto-RP or BSR, which I’ll talk about in my next post. Lastly, when a router joins the RP, a shared tree (also called a root path tree) gets built.
PIM Dense Mode
Next is PIM Dense Mode. Sparse Mode is basically the opposite of Dense Mode. In Dense Mode, multicast traffic gets forwarded out all interfaces by default. If a downstream router doesn’t want it, it will send a prune message back upstream asking to stop getting that traffic. By default, this flood and prune behavior happens every 3 minutes.
Bidirectional PIM
Then we have Bidirectional PIM. So earlier I said sparse mode relies on an RP to manage multicast traffic over a shared tree, but the problem is, the tree can get really big when there’s a lot of sources. Bidirectional PIM works differently because there are no source-based trees. Instead, sources send traffic toward the RP and the RP uses a shared tree to send the traffic to receivers. This makes it much more scalable than sparse mode. One thing that’s different is that Bidir-PIM routers don’t do any RPF (Reverse Path Forwarding) checks that normally help prevent loops.
PIM Source-Specific Multicast (SSM)
Next is PIM Source-Specific Multicast, or PIM-SSM. This is based on sparse mode, but there are a few key differences. There is no RP needed, so that means no need for Auto-RP or BSR anymore. One requirement for using PIM-SSM is that you need IGMPv3. There’s also a reserved multicast range for SSM which is 232.0.0.0/8. This doesn’t mean you can’t use other ranges for SSM, but it does mean other types of multicast aren’t supposed to use the 232 range.
Sparse-Dense Mode
Lastly, we have Sparse-Dense Mode. It’s exactly what it sounds like, a mix of Sparse Mode and Dense Mode. If there’s a Rendezvous Point available, it acts like Sparse Mode. If there isn’t one, it acts like Dense Mode. Why would you use this? It gives you flexibility if you’re in a network where not every area has an RP configured yet.
Looking Ahead
In my next post, I plan to dive into Auto-RP and BSR since those are really important topics. The whole goal of this post was to just go over the different flavors of PIM and make it easier to understand.