Mar
20

A pretty important topic that is very easy to overlook when studying multicast is the PIM Assert Mechanism.  After working with the TechEdit Team in the IEOC it is obvious that more than just a handful of students are confused about what this mechanism does and how it works. In this blog post (the first of many dedicated to multicasting), we will examine the PIM Assert mechanism and put this topic behind us in our preparation in mastering multicast.

In Figure 1, R1 and R4 have a route to the source 150.1.5.5 (the multicast source), and share a multi-access connection to R6. R6’s FastEthernet0/0 interface has joined the multicast group 239.6.6.6.

Figure 1

Both R1 and R4 are receiving copies of the same multicast packets from the source (illustrated by the yellow arrows), but it’s not very efficient for both routers to forward the packets onto the same network segment.  This would result in duplicate traffic and a waste of bandwidth and processing power.

To stop this duplication of shared traffic, PIM routers connected to a shared segment will elect a single forwarder for that particular segment.  Since PIM does not have its own routing protocol that could be used to determine the best path to send data across, it relies on a special process called the PIM Assert Mechanism to make this determination.

This mechanism tells a router that when it receives a multicast packet from a particular source on an interface that is already listed in its own Outbound Interface List (OIL) for the same (S,G) pair, that it needs to send an Assert Message.  Assert Messages contain the metric of the unicast route to the source in question, the Administrative Distance of the protocol that discovered the route, the multicast source and the group itself, and are used to elect what is called the PIM Forwarder.

In the scenario in figure 1, both R1 and R4 will send the same multicast stream to R6.  This means they will put their VLAN 146 interfaces into the OIL for the (S,G) pair (150.1.5.5, 239.6.6.6) and because this is a LAN segment  each device will see each the others stream.  This condition, each router producing duplicate packets on the segment, will trigger the Assert Mechanism.

These Assert Messages are used to elect the PIM forwarder using the following three rules:

  1. The router generating an Assert with the lowest Administrative distance is elected the forwarder.  The AD would only differ if the routes to R5 where from different routing protocols.  If the Administrative Distances are the same then we move to step 2.
  2. The best unicast routing metric is used to break a tie if the Administrative Distances are the same.  The combination of AD and the unicast routing metric is referred to as a “tuple”. If metrics are the same them we move on to step 3.
  3. The device with the highest IP Address will be elected as the PIM Forwarder.

When a device is elected to be the PIM Forwarder it will continue to send the multicast stream while the other device stops forwarding that group's traffic.  Furthermore, the “Assert Loser” will prune its physical interface connected to the shared media.

Using the following show commands we can see the outcome of the election.  R4 shows that it won the election by displaying the “A” associated with the interface that is forwarding multicasts, and R1 prunes its interface exactly as we discussed.

R4#show ip mroute 239.6.6.6
<output omitted for clarity>
(150.1.5.5, 239.6.6.6), 00:01:04/00:01:12, flags: T
Incoming interface: Serial0/1/0, RPF nbr 155.1.45.5
Outgoing interface list:
FastEthernet0/0, Forward/Sparse-Dense, 00:00:39/00:00:00, A
R1#show ip mroute 239.6.6.6
<output omitted for clarity>
(150.1.5.5, 239.6.6.6), 00:01:15/00:01:24, flags: PT
Incoming interface: Serial0/0.1, RPF nbr 155.1.0.5
Outgoing interface list:
FastEthernet0/0, Prune/Sparse-Dense, 00:01:27/00:01:32

Do not confuse the PIM forwarder with the Designated Router, the PIM forwarder’s job is simply to forward multicast traffic onto a shared segment. We will cover the Designated Router in another blog post.  For a more detailed explanation of this process and its application please check out the newly revised Multicast section of our Volume 1 Workbook.

INE Instructor
About INE Instructor

Subscribe to INE Blog Updates

New Blog Posts!