|
A few notes to clear up the purpose and selection of the PIM DR, IGMP Querying router and PIM Assert. A few show commands are used to support the explanation, they reflect a topology with three routers (R2, R4, R6) connected on a ethernet segment (subnet 10.1.246.0/24) running PIM-DM. PIM Designated Router (DR) DR is a PIM function relevant to SM, used to elect a router on a multi access network responsible for sending register/prune messages towards the RP. The DR is elected by, - The router with the highest priority is elected, or if the priority is equal
- The router with the highest IP address is elected
R2#show ip pim nei PIM Neighbor Table Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority, S - State Refresh Capable Neighbor Interface Uptime/Expires Ver DR Address Prio/Mode 10.1.25.5 Serial2/0.25 00:46:53/00:01:42 v2 1 / S 10.1.246.6 FastEthernet0/0 00:45:03/00:01:26 v2 1 / DR S 10.1.246.4 FastEthernet0/0 00:45:39/00:01:28 v2 1 / S IGMP Querying router The IGMP Querying Router is the router on a multi access network that is responsible for sending IGMP host queries. The IGMP query is used to determine/confirm the need to forward a multicast group to the LAN interface. IGMPv2 uses a election process to determine the querying router, where, - The router with the lowest IP address is elected
R2#sho ip igmp int fa0/0
FastEthernet0/0 is up, line protocol is up Internet address is 10.1.246.2/24 IGMP is enabled on interface Current IGMP host version is 2 Current IGMP router version is 2 IGMP query interval is 60 seconds IGMP querier timeout is 120 seconds IGMP max query response time is 10 seconds Last member query count is 2 Last member query response interval is 1000 ms Inbound IGMP access group is not set IGMP activity: 2 joins, 0 leaves Multicast routing is enabled on interface Multicast TTL threshold is 0 Multicast designated router (DR) is 10.1.246.6 IGMP querying router is 10.1.246.2 (this system) No multicast groups joined by this system
IGMPv1 does not support querying router election, instead inheriting the DR from PIM as the querying router. !You can see this if we change our example to use IGMPv1 on the segment. R2(config)#int fa0/0 R2(config-if)#ip igmp version 1 R4(config)#int fa0/0 R4(config-if)#ip igmp version 1 R6(config)#int fa0/0 R6(config-if)#ip igmp version 1
R2(config-if)#do sho ip igmp int fa0/0 FastEthernet0/0 is up, line protocol is up Internet address is 10.1.246.2/24 IGMP is enabled on interface Current IGMP host version is 1 Current IGMP router version is 1 IGMP query interval is 60 seconds Inbound IGMP access group is not set IGMP activity: 2 joins, 0 leaves Multicast routing is enabled on interface Multicast TTL threshold is 0 Multicast designated router (DR) is 10.1.246.6 IGMP querying router is 10.1.246.6 (this system) No multicast groups joined by this system
PIM Assert When two or more multi-cast routers on a multi-access segment (LAN) have a path (presumably equal, but not neccessarily) to the multi-cast source, both routers would forward traffic to the LAN. This is obviously a waste of resources as only one is neccessary. Routers on the mulit-access segment send a PIM Assert message to claim the right to forward on the segment. Routers compare any recieved Assert messages to their own properties to determine the winner. Comparison is made against, - Admin distance of the routers route to the group source (lowest wins), if a tie
- Routing protocol metric to the group source (lowest wins), if a tie
- The router with the highest IP address wins
In the example output bellow, our routers R2 and R4 have equal cost path to the multicast source 1.1.1.1, and both have Fa0/0 (a common segment) on their outgoing interface list (OIL). As a result they send a PIM Assert, with the election process comming down to the highest IP address. R4 has the highest IP address on the LAN segment. So as seen in the mroute table, R4 is forwarding and R2 sends a prunes to the router upstream and does not forward to the Fa0/0 interface R2#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, 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 Outgoing interface flags: H - Hardware switched, A - Assert winner Timers: Uptime/Expires Interface state: Interface, Next-Hop or VCD, State/Mode
(*, 224.1.1.1), 01:44:59/stopped, RP 0.0.0.0, flags: DC Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: FastEthernet0/0, Forward/Dense, 01:44:59/00:00:00 Serial2/0.25, Forward/Dense, 01:44:59/00:00:00
(1.1.1.1, 224.1.1.1), 00:00:07/00:02:55, flags: PT Incoming interface: Serial2/0.25, RPF nbr 10.1.25.5 Outgoing interface list: FastEthernet0/0, Prune/Dense, 00:00:07/00:02:52
(*, 224.0.1.40), 01:49:09/00:02:21, RP 0.0.0.0, flags: DCL Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: FastEthernet0/0, Forward/Dense, 01:48:03/00:00:00 Serial2/0.25, Forward/Dense, 01:49:09/00:00:00
R2#
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, 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 Outgoing interface flags: H - Hardware switched, A - Assert winner Timers: Uptime/Expires Interface state: Interface, Next-Hop or VCD, State/Mode
(*, 224.1.1.1), 01:48:41/stopped, RP 0.0.0.0, flags: DC Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: FastEthernet0/0, Forward/Dense, 01:48:41/00:00:00 Serial2/0.45, Forward/Dense, 01:48:41/00:00:00
(1.1.1.1, 224.1.1.1), 00:00:09/00:02:54, flags: T Incoming interface: Serial2/0.45, RPF nbr 10.1.45.5 Outgoing interface list: FastEthernet0/0, Forward/Dense, 00:00:09/00:00:00, A
(*, 224.0.1.40), 01:51:58/00:02:43, RP 0.0.0.0, flags: DCL Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: FastEthernet0/0, Forward/Dense, 01:51:45/00:00:00 Serial2/0.45, Forward/Dense, 01:51:58/00:00:00
|