Multicast Bidirectional PIM

Hello Muhammad

Yes, you are correct. I will let @ReneMolenaar know to make the necessary modifications.

Thanks!

Laz

Hi,
Can someone please explain the difference between designated forwarder (which is used in bidir) and designated router (used in sparse mode)?

Hello Nipun

The designated router is the router that will forward the PIM join message from the receiver to the RP.

The designated forwarder in BDIR is the router that will forward multicast traffic to the RP.

Notice that the designated router forwards control messages (PIM join) while the designated forward forwards actually multicast (user) traffic. Another way to say it is that the designated router functions on the control plane while the designated forwarder operates on the user plane.

For a more detailed explanation of the designated router and its function, take a look at this lesson:

I hope this has been helpful!

Laz

1 Like

Really helpful @lagapidis Thanks a lot.
I have another question.
How to configure PIM Bidir in bsr mode? I couldn’t add the bidr keyword in bsr commands.

Hello Nipun

In the Cisco IOS implementation of PIM, each multicast group individually operates in one of the following modes: dense mode, sparse mode, or bidirectional mode. Groups in sparse mode (PIM-SM) or bidirectional mode (bidir-PIM) use RPs to connect sources and receivers. All routers in a PIM domain need to have a consistent configuration for the mode and RP addresses of the multicast groups.

The Cisco IOS software learns the mode and RP addresses of multicast groups through the following three mechanisms: static group-to-RP mapping configurations, Auto-RP, and bootstrap router (BSR). By default, groups will operate in dense mode. No commands explicitly define groups to operate in dense mode.

The above is taken from this Cisco command reference for the ip pim rp-addresscommand.

Therefore, BSR should be capable of informing neighboring routers of the BIDIR mode when using BSR.

In the lesson, the RP was defined statically, and the bidir keyword was available. I went into the lab to check this out fpr BSR, and found that I had the bidir keyword available. Specifically:

R1(config)#ip pim rp-candidate gigabitEthernet 0/0 ?
  bidir       Group range treated in bidirectional shared-tree mode
  group-list  group-list
  interval    RP candidate advertisement interval
  priority    RP candidate priority
  <cr>        <cr>

The rp-candidate keyword is that used to indicate that BSR is employed.

Similarly, if you were to employ AutoRP, you have the bidir option available too.

R1(config)#ip pim send-rp-announce gigabitEthernet 0/0 scope 10 ?
  bidir       Group range treated in bidirectional shared-tree mode
  group-list  Group access-list
  interval    RP announcement interval
  <cr>        <cr>

Keep in mind that the bidir keyword is only available if BIDIR-PIM is enabled using the global ip pim bidir-enable command.

I hope this has been helpful!

Laz

Thanks.this helps @lagapidis

1 Like

Hello!
I am still confused with the “PIM Sparse mode can only go downstream”. Is this statement correct:
Bidir-PIM is bidirectional because the Reverse Path Forwarding interface (RFP), the one that is the closest to the RP, is used to both send and receive traffic to and from the Redezvous Point. While in PIM-ASM such interface can only receive traffic from the RP to that given tree.
Following this image that you provided:
image
None of the routers are the RP? Could I also achieve redundancy with Auto-RP? So I can assign the RP IP address to a loopback or to an IP that no router uses in a subnet but that is routable?
The more a dig in this, the more complex it gets…

Hello Lucas

In PIM Sparse Mode (PIM-SM), the traffic flow is unidirectional - from the Rendezvous Point (RP) towards the receivers. The RP acts as a central point for multicast group registration and request processing. The multicast traffic is initially sent to the RP, which then forwards the traffic down the multicast distribution tree to the receivers. This is why it’s often said that “PIM Sparse mode can only go downstream”.

For the most part yes. Bidirectional PIM (Bidir-PIM) does not have a concept of a source-specific tree. It uses a shared tree that is rooted at the RP for both sending and receiving multicast traffic. Hence, it’s ‘bidirectional’. The RPF interface in Bidir-PIM is used for both sending and receiving multicast traffic to and from the RP.

So, to sum up: Yes, the Bidir-PIM is bidirectional because the RPF interface is used to both send and receive traffic to and from the RP. While in PIM-SM, this interface can only receive traffic from the RP to that given tree.

It states in the diagram that the 1.1.1.1 IP address on the E0/0 interface of the router on the left (core1) is the RP. You can also see it in the output shown on core1.

Auto-RP does provide a level of redundancy. If the RP fails, another RP is automatically chosen. Take a look at this lesson to learn more about Auto-RP:

Yes, as long as it is routable, and the address is not being used elsewhere.

Multicast can be difficult to get your head around. I believe that labbing these topologies will be the most beneficial, so that you can see first hand the behavior of the protocol.

I hope this has been helpful!

Laz

Hi, thanks for the helpful articles.

If a multicast receiver is in the path between the source and the RP, does that receiver end up getting a duplicate copy of all multicast packets (one from the upstream and one from downstream)?

-Peter

Hello Peter

In bidirectional PIM, the concepts of upstream and downstream are always relative to the RP. A receiver close to the RP (or between the source and the RP) would be considered downstream of the source but upstream of the RP.

The concept of a bidirectional tree doesn’t mean that multicast traffic flows from source to receiver and from receiver to source. The initial communication is still Source → RP → Reciever, regardless of where each of these devices is located.

The bidirectional nature of the tree simply means that the flow of multicast traffic can traverse that single tree both towards and away from the RP. Whenever it is towards the RP, it always comes from a multicast source. Whenever it flows away from the RP, it always is destined for a multicast receiver.

So there aren’t two trees (one or each direction), but only one. And this one tree is rooted at the RP. Does that make sense?

I hope this has been helpful!

Laz