Designated Forwarder (DF) and PIM Assert Mechanism Explained
On a subnet with multiple multicast routers, duplicate multicast packets might be forwarded to the RP. To address this issue, BIDIR-PIM uses a designated forwarder (DF) election mechanism to elect a DF for each RP on a subnet. Only the DFs can forward multicast data to the RP.
With the DF election mechanism, once receiving the RP information, Router R1 and Router R4 multicast a DF election message to all PIM routers (224.0.0.13) to initiate a DF election process. The election message carries the RP’s address, and the metric preference and metric of the unicast route or static multicast route to the RP. A DF is elected as follows:
- The router with a higher metric preference becomes the DF.
- If the routers have the same metric preference, the router with a lower metric becomes the DF.
- If the routers have the same metric, the router with a higher IP address becomes the DF.
R1:
interface FastEthernet0/0
ip address 192.168.1.1 255.255.255.0
ip pim sparse-mode
duplex full
R1#show ip route
2.0.0.0/32 is subnetted, 1 subnets
O 2.2.2.2 [110/11] via 172.30.2.2, 00:41:12, Ethernet1/2
R4:
interface FastEthernet0/0
ip address 192.168.1.2 255.255.255.0
ip pim sparse-mode
speed auto
duplex auto
R4#show ip route
2.0.0.0/32 is subnetted, 1 subnets
O 2.2.2.2 [110/2] via 172.40.2.2, 00:57:06, FastEthernet0/1
PIM Assert Mechanism
These Assert Messages are used to elect the PIM forwarder using the following three rules:
- The router generating an Assert with the lowest Administrative distance is elected the forwarder. The AD would only differ if the routes to R4 where from different routing protocols. If the Administrative Distances are the same then we move to step 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.
- 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.
- R1:
R1#show ip mroute
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
L - Local, P - Pruned, R - RP-bit set, F - Register flag,
T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
U - URD, I - Received Source Specific Host Report,
Z - Multicast Tunnel, z - MDT-data group sender,
Y - Joined MDT-data group, y - Sending to MDT-data group,
G - Received BGP C-Mroute, g - Sent BGP C-Mroute,
Q - Received BGP S-A Route, q - Sent BGP S-A Route,
V - RD & Vector, v - Vector
Outgoing interface flags: H - Hardware switched, A - Assert winner
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(*,224.0.0.0/4), 00:41:57/-, RP 2.2.2.2, flags: B
Bidir-Upstream: Ethernet1/2, RPF nbr: 172.30.2.2
Incoming interface list:
Ethernet1/1, Accepting/Sparse
Ethernet1/2, Accepting/Sparse
(*, 239.5.5.5), 00:37:53/00:02:06, RP 2.2.2.2, flags: BP
Bidir-Upstream: Ethernet1/2, RPF nbr 172.30.2.2
Outgoing interface list:
Ethernet1/2, Bidir-Upstream/Sparse, 00:37:53/stopped
- R4:
R4#show ip mroute
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
L - Local, P - Pruned, R - RP-bit set, F - Register flag,
T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
U - URD, I - Received Source Specific Host Report,
Z - Multicast Tunnel, z - MDT-data group sender,
Y - Joined MDT-data group, y - Sending to MDT-data group,
G - Received BGP C-Mroute, g - Sent BGP C-Mroute,
Q - Received BGP S-A Route, q - Sent BGP S-A Route,
V - RD & Vector, v - Vector
Outgoing interface flags: H - Hardware switched, A - Assert winner
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(*,224.0.0.0/4), 00:53:17/-, RP 2.2.2.2, flags: B
Bidir-Upstream: FastEthernet0/1, RPF nbr: 172.40.2.2
Incoming interface list:
FastEthernet0/0, Accepting/Sparse
FastEthernet0/1, Accepting/Sparse
(*, 239.5.5.5), 00:53:11/00:01:42, RP 2.2.2.2, flags: BC
Bidir-Upstream: FastEthernet0/1, RPF nbr 0.0.0.0
Outgoing interface list:
FastEthernet0/0, Forward/Sparse, 00:53:11/00:01:42
FastEthernet0/1, Bidir-Upstream/Sparse, 00:53:11/stopped
\
Ref:
https://techhub.hpe.com/eginfolib/networking/docs/switches/5930/5200-4573_ip-multi_cg/content/491335989.htm
https://ine.com/blog/2010-03-20-multicast-pim-assert-mechanism