All things geeky

Multicast - Querying router, DR and Assert PDF Print E-mail
Written by Jason Neatherway   
Sunday, 12 April 2009 03:19

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

 

Last Updated on Sunday, 12 April 2009 04:04