We have talked about PIM Dense Mode, PIM Sparse Mode and PIM SSM before. In this PIM lesson, we will go through an enhancement to PIM and we will learn Bidirectional PIM. We will learn what is Bidirectional PIM and why we use this enhancement on multicast networks? So, let’s start!
Table of Contents
Bidirectional PIM is basically an enhancement to Protocol Independent Multicast. With this enhancement an efficient communication is provided in PIM domain. Basically, traffic flow can be in both directions in Bidirectional PIM. All sources are also receivers potentially.
In previous PIM modes, for example in PIM Sparse Mode, communication between source, Randevous point and receivers is not too efficient. Especially if you have too much multicast sources and resources like gaming, video conferencing, then you need more system resources. And using PIM-DM and PIM-SM consumes a lot of system resources. To overcome this issue, Bidirectional PIM has developed.
If you use PIM-DM or PIM-SM only, each router along the SPT must create a Source Tree (S, G) entry for each multicast source. And in PIM-SM, Shared Trees (*, G) are also used. In Bidirectional PIM only Shared Trees (*, G) are used. This mechanism decreases the used resources for PIM communication.
BIDIR-PIM builds bidirectional RPT. This RPT connects multicast sources and multicast receivers. Each router along the Bidirectional RPT needs to maintain only one Shared Tree (*, G). Here, multicast groups are carried across the network on Bidirectional Shared Trees.
Again, unlike PIM Sparse mode, the communication direction is different with Bidirectional PIM. In Sparse mode, the multicast traffic is sent through downward on shared tree. In other words, it the traffic is sent from Randevous point to the receivers. Because, we need PIM registration and register stop messages for this communication in PIM Sparse mode. But in Bidirectional PIM, we do not need these messages. Any receiver can receive traffic from Randevous-Point and it also sent traffic to Randevous point any time.
Another different mechanism in Bidirectional PIM is about RPF Check. We have discussed RPF Check in another lesson. As you know, we use RPF Check mechanism for loop prevention. There is no RPF Check in Bidirectional PIM. Instead of this mechanism, we use DF (Designated Forwarder) for loop prevention. So, what is DF (Designated Forwarder)?
On a subnet there can be multiple multicast routers and duplicate packets can be sent to the randevous Point. To overcome this issue, DF (Designated Forwarder) is used. On the subnet, a DF is elected for every RP and DF (Designated Forwarder) is the only router which can send multicast traffic towards this Randevous-point.
How is DF election? There are two parameters for DF election. To elect it, firstly, the metric value to the Randevous-point is determined. The router that has the lowest metric to the RP, is elected as Designated Forwarder. If the metrics are same, there is a tiebreaker. This is the ip address of the router. The highest IP address win this election and elected as DF.
You can test your IP Multicast Knowledge with Multicast Questions!
In Bidirectional PIM, we can divide RPT building into two parts. The first part is the receiver side and the other one is source part. Both parts are built differently. Let’s start with receiver side RPT building and learn it step by step.
Firstly, receiver informs its directly connected router with IGMP message. This message informs the router about the group from which receiver want to get multicast traffic.
When the router receives this IGMP message, it sends a Join Message hop by hop to Randevous-Point (RP). Each router on the way to RP, receives this message and forward it to RP.
From the receiver’s directly connected router to Randevous-Point (RP), RPT is built. Every router from this router to RP, adds (*, G) to their forwarding table.
Now, let’s explain the steps of source side RPT building. In source side, firstly, multicast source sends multicast packets to Multicast group.
DF (Designated Forwarder) on each segment forwards these packets to Randevous Point (RP). AS you remember, on each segment a DF is elected. This is the router which has the lowest metric to RP (If metrics are equal, the router that has the highest IP address become DF).
The source RPT is built and each router from source to randevous-point add (*, G) entry to their forwarding table.
After this process, source sends multicast traffic to RP through source side RPT and RP forwards this traffic through receiver side RPT.