Hour 375: Multicast PIM DR vs PIM Assert

I know I haven’t posted in a while but I have been busy completing the first IPexpert CCIE Workbook. I’ll finish the last Labs this next weekend and I will start doing full 8 Hour Mock Labs. Also, I have been working with and implementing multicast recently as it is a big part of the trading/financial industry. For this reason, I’d like to dedicate a couple of posts to go over some of the more obscure parts of multicast.

A big source of confusion in multicast is the difference between the PIM DR and the PIM assert and what exactly they are used for. I won’t lie, the first time I was asked in an interview what was the DR in multicast and what it was used for, I had no clue. Thankfully today, that time has passed and I’ll be explaining to you guys the difference between both of these. Let’s start with the PIM DR first.

If you have read or recollect my other thread on PIM Dense-mode vs PIM Sparse-mode, I explained that “In a multi-access network, similarly to OSPF, if multiple PIM routers are attached to the same segment a Designated Router (DR) will be elected. The same election rules that OSPF uses apply to PIM. In PIM-SM the DR is used to forward the PIM join message from the receiver to the RP. By default the highest IP address determines who will become the DR. You can set the priority of the DR using the [(INT)ip pim dr-priority <#>] (default is 1) where the highest priority becomes the DR. As stated before, PIM-DM does not use the DR because it doesn’t have a RP.”

This explains pretty clearly what the PIM DR is. One thing I did not mention is that the PIM DR is also used to forward the PIM register on behalf of the source. If there is only one thing you have to remember out of this is that the PIM DR purpose is to forward the PIM register on behalf of the source AND Join/Prune messages from the receiver to the RP. Not multicast traffic, just the PIM Register and the PIM Join/Prune. Another point to mention is that by default, if you have a FHRP as in HSRP/VRRP, the highest IP SVI interface will be the DR; NOT THE Virtual IP(VIP). To make the the SVI the DR, you must make it PIM Aware. For HSRP this is done my configuring the [(INT)ip pim redundancy <HSRP_NAME> dr-priority <#>]. This can be useful if you are using track commands and want the VIP to switch automatically dr-priority if an SLA or an interface changes.

What about the PIM Assert? Well the PIM Assert is pretty straightforward, it is used again in a multi-access network but this time to forward the multicast traffic when 2 routers receive the same multicast packets from the same source. Receiving the same multicast traffic goes against everything multicast was designed for; efficiency in bandwidth. For this purpose, a PIM assert forwarder will be elected on the network segment to avoid duplicate traffic. The way a router detects duplicate multicast traffic is that if it sees in its Outbound Interface List (OIL) the same (S,G) pair, it starts to send Assert Messages. Assert Messages contain the metric of the unicast route to the source in question, the Administrative Distance of the protocol that discovered the route and the multicast source and the group itself. Once it knows that it needs to elect an assert forwarder, the election goes this way:

  1. The router generating an Assert with the lowest Administrative distance
  2. The best unicast routing metric is used to break a tie if the Administrative Distances are the same.
  3. The device with the highest IP Address will be elected as the PIM Forwarder.

Once one of the routers is elected to be the PIM Assert it will continue to send the multicast stream while the other device stops forwarding that group’s traffic.  Furthermore, the assert router that is not sending traffic anymore will prune its physical interface connected to the shared media. So again, if you only have one thing to remember of the PIM Assert purpose is to forward multicast traffic in a multi-access network when 2 routers receive the same multicast packets from the same source.

 

Conclusion:

The PIM DR purpose is to forward the PIM register on behalf of the source and Join/Prune messages from the receiver to the RP.

Vs

The PIM Assert purpose is to forward multicast traffic in a multi-access network when 2 routers receive the same multicast packets from the same source.

I hope this was helpful. Next topic will be the multicast RPF check; how to detect it and different ways to fix it.

Advertisements

4 thoughts on “Hour 375: Multicast PIM DR vs PIM Assert

  1. Question: what happens if the DR sends PIM join messages, yet it’s the other neighbor that wins the Assert election? The RP would send packets to the DR, but the DR can’t sent packets on the link because it has lost the assert election.

    • Sorry, couldn’t get back to you sooner. To answer your question it’s important to understand that the DR election only acts on the control-plane traffic to build the multicast tree and that the Assert election acts on the data-plane traffic for an S,G entry. In your example, how the DR chooses to sends PIM join/prunes and Register messages on the network is unrelated to how the assert forwarder will send traffic. This said, in general it is best practice to design the core of your network with point-to-point interfaces to avoid temporary routing loops or sub optimal routing of multicast traffic that can be caused by the assert behavior.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s