Multicast routing is an important aspect of IP routing. It can be used to distribute data (for example, audio/video streaming broadcasts) to multiple recipients in a very efficient way.
Two key protocols of multicast routing
Multicast Group Membership Discovery protocol: used by clients (receivers) to advertise their group membership to a local multicast router so that they can join and leave multicast groups. The main Multicast Group Membership Discovery protocols are Internet Group Management Protocol (IGMP) for IPv4 and Multicast Listener Discovery (MLD) for IPv6.
Multicast Routing Protocol: used to communicate between multicast routers and enables them to calculate the multicast distribution tree of clients. Protocol Independent Multicast (PIM) is the most important Multicast Routing Protocol. It operates three different modes: dense, sparse and sparse-dense.
IPV4 Multicast address
The “classful” IP addressing scheme sets aside a full one-sixteenth of the address space for multicast addresses: Class D. Multicast addresses are identified by the pattern “1110” in the first four bits, which corresponds to a first octet of 224 to 239. So, the full range of multicast addresses is from 224.0.0.0 to 239.255.255.255. See below diagram for further classification:
Below are examples of using IGMP and PIM (under three different modes) to enable muticast routing.
A simple multicast IP Network Topology
There are three routers (R1, R2, R3), plus one Multicast sender and one Muticast client/receiver.
For convience, I use Cisco IOL image. The basic underlying routing is static route:
Muticast Sender: interface and basic routing
Mcast-Snd#show ip interface brief
Interface IP-Address OK? Method Status Protocol
Ethernet0/0 10.1.1.10 YES TFTP up up
Mcast-Snd#
Mcast-Snd#show ip route
Codes: L - local , C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
+ - replicated route, % - next hop override
Gateway of last resort is not set
10.0.0.0/8 is variably subnetted, 3 subnets, 3 masks
S 10.0.0.0/8 [ 1/0] via 10.1.1.1
C 10.1.1.0/24 is directly connected, Ethernet0/0
L 10.1.1.10/32 is directly connected, Ethernet0/0
Mcast-Snd#
Muticast Receiver: interface and basic routing
Mcast-Rcv#show ip interface brief
Interface IP-Address OK? Method Status Protocol
Ethernet0/0 10.1.5.100 YES TFTP up up
Mcast-Rcv#show ip route
Codes: L - local , C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
+ - replicated route, % - next hop override
Gateway of last resort is not set
10.0.0.0/8 is variably subnetted, 3 subnets, 3 masks
S 10.0.0.0/8 [ 1/0] via 10.1.5.3
C 10.1.5.0/24 is directly connected, Ethernet0/0
L 10.1.5.100/32 is directly connected, Ethernet0/0
Mcast-Rcv#
Muticast Router #1: interface and basic routing
R1#show ip interface brief
Interface IP-Address OK? Method Status Protocol
Ethernet0/0 10.1.1.1 YES TFTP up up
Ethernet1/0 10.1.2.1 YES TFTP up up
Ethernet2/0 10.1.3.1 YES TFTP up up
R1#show ip route
Codes: L - local , C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
+ - replicated route, % - next hop override
Gateway of last resort is not set
10.0.0.0/8 is variably subnetted, 8 subnets, 2 masks
C 10.1.1.0/24 is directly connected, Ethernet0/0
L 10.1.1.1/32 is directly connected, Ethernet0/0
C 10.1.2.0/24 is directly connected, Ethernet1/0
L 10.1.2.1/32 is directly connected, Ethernet1/0
C 10.1.3.0/24 is directly connected, Ethernet2/0
L 10.1.3.1/32 is directly connected, Ethernet2/0
S 10.1.4.0/24 [ 1/0] via 10.1.3.3
S 10.1.5.0/24 [ 1/0] via 10.1.3.3
R1#
Muticast Router #2: interface and basic routing
R2#show ip interface brief
Interface IP-Address OK? Method Status Protocol
Ethernet0/0 10.1.2.2 YES TFTP up up
Ethernet1/0 10.1.4.2 YES TFTP up up
R2#show ip route
Codes: L - local , C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
+ - replicated route, % - next hop override
Gateway of last resort is not set
10.0.0.0/8 is variably subnetted, 7 subnets, 2 masks
S 10.1.1.0/24 [ 1/0] via 10.1.2.1
C 10.1.2.0/24 is directly connected, Ethernet0/0
L 10.1.2.2/32 is directly connected, Ethernet0/0
S 10.1.3.0/24 [ 1/0] via 10.1.2.1
C 10.1.4.0/24 is directly connected, Ethernet1/0
L 10.1.4.2/32 is directly connected, Ethernet1/0
S 10.1.5.0/24 [ 1/0] via 10.1.4.3
R2#
Muticast Router #3: interface and basic routing
R3#show ip interface brief
Interface IP-Address OK? Method Status Protocol
Ethernet0/0 10.1.3.3 YES TFTP up up
Ethernet1/0 10.1.4.3 YES TFTP up up
Ethernet2/0 10.1.5.3 YES TFTP up up
R3#show ip route
Codes: L - local , C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
+ - replicated route, % - next hop override
Gateway of last resort is not set
10.0.0.0/8 is variably subnetted, 8 subnets, 2 masks
S 10.1.1.0/24 [ 1/0] via 10.1.3.1
S 10.1.2.0/24 [ 1/0] via 10.1.3.1
C 10.1.3.0/24 is directly connected, Ethernet0/0
L 10.1.3.3/32 is directly connected, Ethernet0/0
C 10.1.4.0/24 is directly connected, Ethernet1/0
L 10.1.4.3/32 is directly connected, Ethernet1/0
C 10.1.5.0/24 is directly connected, Ethernet2/0
L 10.1.5.3/32 is directly connected, Ethernet2/0
R3#
Configuration of dense mode
R1#show run
Building configuration...
...
!
ip multicast-routing
ip cef
no ipv6 cef
!
interface Ethernet0/0
ip address 10.1.1.1 255.255.255.0
ip pim dense-mode
!
interface Ethernet1/0
ip address 10.1.2.1 255.255.255.0
ip pim dense-mode
!
interface Ethernet2/0
ip address 10.1.3.1 255.255.255.0
ip pim dense-mode
!
!
ip forward-protocol nd
!
!
no ip http server
ip route 10.1.4.0 255.255.255.0 10.1.3.3
ip route 10.1.5.0 255.255.255.0 10.1.3.3
...
Router R2:
R2#show running-config
Building configuration...
...
!
ip multicast-routing
ip cef
...
!
interface Ethernet0/0
ip address 10.1.2.2 255.255.255.0
ip pim dense-mode
!
interface Ethernet1/0
ip address 10.1.4.2 255.255.255.0
ip pim dense-mode
!
!
ip forward-protocol nd
!
ip route 10.1.1.0 255.255.255.0 10.1.2.1
ip route 10.1.3.0 255.255.255.0 10.1.2.1
ip route 10.1.4.0 255.255.255.0 Ethernet1/0
ip route 10.1.5.0 255.255.255.0 10.1.4.3
!
Router R3:
R3#show running-config
Building configuration...
Current configuration : 1576 bytes
...
!
ip multicast-routing
ip cef
...
!
interface Ethernet0/0
ip address 10.1.3.3 255.255.255.0
ip pim dense-mode
!
interface Ethernet1/0
ip address 10.1.4.3 255.255.255.0
ip pim dense-mode
!
!
interface Ethernet2/0
ip address 10.1.5.3 255.255.255.0
ip pim dense-mode
!
!
ip forward-protocol nd
!
no ip http server
ip route 10.1.1.0 255.255.255.0 10.1.3.1
ip route 10.1.2.0 255.255.255.0 10.1.3.1
ip route 10.1.4.0 255.255.255.0 Ethernet1/0
!
...
Multicast Receiver/Client to register into a multicast group, in this case to join 239.1.1.1:
Mcast-Rcv#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Mcast-Rcv( config) #interface Ethernet0/0
Mcast-Rcv( config-if) #ip igmp join-group 239.1.1.1
Mcast-Rcv( config-if) #
Multicast Sender can ping to receiver with 239.1.1.1
Mcast-Snd#ping 239.1.1.1 repeat 1000
Type escape sequence to abort.
Sending 3, 100-byte ICMP Echos to 239.1.1.1, timeout is 2 seconds:
Reply to request 0 from 10.1.5.100, 1 ms
Reply to request 1 from 10.1.5.100, 1 ms
Reply to request 2 from 10.1.5.100, 4 ms
...
Now we can check the multicast routing table of each router
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
( * , 239.1.1.1) , 00:02:09/stopped, RP 0.0.0.0, flags: D
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Ethernet2/0, Forward/Dense, 00:02:09/stopped
Ethernet1/0, Forward/Dense, 00:02:09/stopped
Ethernet0/0, Forward/Dense, 00:02:09/stopped
( 10.1.1.10, 239.1.1.1) , 00:02:09/00:00:50, flags: T
Incoming interface: Ethernet0/0, RPF nbr 10.1.1.10
Outgoing interface list:
Ethernet1/0, Prune/Dense, 00:02:09/00:00:50
Ethernet2/0, Forward/Dense, 00:02:09/stopped
( * , 224.0.1.40) , 04:53:49/00:02:28, RP 0.0.0.0, flags: DCL
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Ethernet2/0, Forward/Dense, 04:52:57/stopped
Ethernet1/0, Forward/Dense, 04:53:17/stopped
Ethernet0/0, Forward/Dense, 04:53:49/stopped
Note: From the above output of ( 10.1.1.10, 239.1.1.1) , it is shown that packet comes in
from Ethernet0/0, outgoing interface is Ethernet2/0, which is in Forward state.
Ethernet1/0 is pruned.
R1#
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, 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
( * , 239.1.1.1) , 00:02:43/stopped, RP 0.0.0.0, flags: D
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Ethernet1/0, Forward/Dense, 00:02:43/stopped
Ethernet0/0, Forward/Dense, 00:02:43/stopped
( 10.1.1.10, 239.1.1.1) , 00:02:43/00:00:16, flags: PT
Incoming interface: Ethernet0/0, RPF nbr 10.1.2.1
Outgoing interface list:
Ethernet1/0, Prune/Dense, 00:02:43/00:00:16
( * , 224.0.1.40) , 04:53:51/00:02:54, RP 0.0.0.0, flags: DCL
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Ethernet1/0, Forward/Dense, 04:53:28/stopped
Ethernet0/0, Forward/Dense, 04:53:51/stopped
R2#
R3#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
( * , 239.1.1.1) , 04:48:33/stopped, RP 0.0.0.0, flags: DC
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Ethernet2/0, Forward/Dense, 04:48:33/stopped
Ethernet1/0, Forward/Dense, 04:48:33/stopped
Ethernet0/0, Forward/Dense, 04:48:33/stopped
( 10.1.1.10, 239.1.1.1) , 00:03:14/00:02:45, flags: T
Incoming interface: Ethernet0/0, RPF nbr 10.1.3.1
Outgoing interface list:
Ethernet1/0, Prune/Dense, 00:00:05/00:02:54, A
Ethernet2/0, Forward/Dense, 00:03:14/stopped
( * , 224.0.1.40) , 04:54:02/00:02:28, RP 0.0.0.0, flags: DCL
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Ethernet1/0, Forward/Dense, 04:53:59/stopped
Ethernet0/0, Forward/Dense, 04:54:02/stopped
R3#
Note: From entry of ( 10.1.1.10, 239.1.1.1) , the packet comes in from Ethernet0/0,
forward to Ethernet2/0, which is connected to Multicast Receiver, which requests
to join multicast group 239.1.1.1.
Dense mode works in a flood and prune mode, which can cause a lot traffic in the network.
Next, let check sparse mode of PIM.
Configuration of sparse mode
PIM sparse mode works through a Rendezvous Point (RP), which is a router in a multicast network domain that acts as a shared root for a multicast shared tree. In sparse mode only, RP needs to be configured in each muticast router manually. In our case, Router 2 is used as RP, using its loopback 0 IP address 2.2.2.2.
R2#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R2( config) #interface loopback 0
R2( config-if) #ip address 2.2.2.2 255.255.255.255
R2( config-if) #exit
R2( config) #ip pim rp-address 2.2.2.2
R2( config) #interface Ethernet0/0
R2( config-if) #ip pim sparse-mode
R2( config-if) #interface Ethernet1/0
R2( config-if) #ip pim sparse-mode
R2( config-if) #interface loopback 0
R2( config-if) #ip pim sparse-mode
R2( config-if) #end
R2#
R1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R1( config) #ip route 2.2.2.2 255.255.255.255 10.1.2.2
R1( config) #ip pim rp-address 2.2.2.2
R1( config) #
R1( config) #interface Ethernet 0/0
R1( config-if) #ip pim sparse-mode
R1( config-if) #interface Ethernet 1/0
R1( config-if) #ip pim sparse-mode
R1( config-if) #interface Ethernet 2/0
R1( config-if) #ip pim sparse-mode
R1( config-if) #end
R1#
R3#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R3( config) #ip route 2.2.2.2 255.255.255.255 10.1.4.2
R3( config) #interface Ethernet 0/0
R3( config-if) #ip pim sparse-mode
R3( config-if) #interface Ethernet 1/0
R3( config-if) #ip pim sparse-mode
R3( config-if) #interface Ethernet 2/0
R3( config-if) #ip pim sparse-mode
R3( config-if) #end
R3#
Configuration of sparse-dense mode
When the number of multicast router is large, it is not easy to configue RP node for every router. There is easier way to do so, which is let router auto discovery RP by running sparse-dense mode. This essentially means that use dense mode to discover RP, but return to sparse mode to establish distribution tree.
R1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R1( config) #no ip pim rp-address 2.2.2.2
R1( config) #interface Ethernet 0/0
R1( config-if) #ip pim sparse-dense-mode
R1( config-if) #interface Ethernet 1/0
R1( config-if) #ip pim sparse-dense-mode
R1( config-if) #interface Ethernet 2/0
R1( config-if) #ip pim sparse-dense-mode
R1( config-if) #end
R1#
R3#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R3( config) #no ip pim rp-address 2.2.2.2
R3( config) #interface Ethernet 0/0
R3( config-if) #ip pim sparse-dense-mode
R3( config-if) #interface Ethernet 1/0
R3( config-if) #ip pim sparse-dense-mode
R3( config-if) #interface Ethernet 2/0
R3( config-if) #ip pim sparse-dense-mode
R3( config-if) #end
R3#
In Router #2, we will configure it as RP by announce and discover.
R2#conf t
R2( config) #no ip pim rp-address 2.2.2.2
R2( config) #interface Ethernet 0/0
R2( config-if) #ip pim sparse-dense-mode
R2( config-if) #interface Ethernet 1/0
R2( config-if) #ip pim sparse-dense-mode
R2( config-if) #interface loopback 0
R2( config-if) #ip pim sparse-dense-mode
R2( config-if) #exit
R2( config) #ip pim send-rp-announce lo 0 scope 16
R2( config) #ip pim send-rp-discovery scope 16
With above configuration, we can check each router’s multicast routing tabl
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
( * , 239.1.1.1) , 00:02:52/stopped, RP 2.2.2.2, flags: SPF
Incoming interface: Ethernet1/0, RPF nbr 10.1.2.2
Outgoing interface list: Null
( 10.1.1.10, 239.1.1.1) , 00:02:52/00:00:07, flags: FT
Incoming interface: Ethernet0/0, RPF nbr 0.0.0.0, Registering
Outgoing interface list:
Ethernet2/0, Forward/Sparse-Dense, 00:02:52/00:02:36
Ethernet1/0, Forward/Sparse-Dense, 00:02:52/00:02:36
( * , 224.0.1.39) , 00:06:48/stopped, RP 0.0.0.0, flags: DC
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Ethernet2/0, Forward/Sparse-Dense, 00:06:48/stopped
Ethernet1/0, Forward/Sparse-Dense, 00:06:48/stopped
( 2.2.2.2, 224.0.1.39) , 00:06:48/00:02:00, flags: PT
Incoming interface: Ethernet1/0, RPF nbr 10.1.2.2
Outgoing interface list:
Ethernet2/0, Prune/Sparse-Dense, 00:02:48/00:00:13
( * , 224.0.1.40) , 00:11:54/stopped, RP 0.0.0.0, flags: DCL
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Ethernet1/0, Forward/Sparse-Dense, 00:11:04/stopped
Ethernet2/0, Forward/Sparse-Dense, 00:11:05/stopped
Ethernet0/0, Forward/Sparse-Dense, 00:11:54/stopped
( 10.1.4.2, 224.0.1.40) , 00:05:48/00:02:09, flags: LT
Incoming interface: Ethernet2/0, RPF nbr 10.1.3.3
Outgoing interface list:
Ethernet0/0, Forward/Sparse-Dense, 00:05:48/stopped
Ethernet1/0, Prune/Sparse-Dense, 00:01:50/00:01:09
( 10.1.2.2, 224.0.1.40) , 00:05:48/00:02:09, flags: LT
Incoming interface: Ethernet1/0, RPF nbr 10.1.2.2
Outgoing interface list:
Ethernet0/0, Forward/Sparse-Dense, 00:05:48/stopped
Ethernet2/0, Forward/Sparse-Dense, 00:05:48/stopped
R1#
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, 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
( * , 239.1.1.1) , 00:05:05/00:03:20, RP 2.2.2.2, flags: S
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Ethernet1/0, Forward/Sparse-Dense, 00:05:05/00:03:20
( 10.1.1.10, 239.1.1.1) , 00:02:09/00:00:50, flags:
Incoming interface: Ethernet0/0, RPF nbr 10.1.2.1
Outgoing interface list:
Ethernet1/0, Forward/Sparse-Dense, 00:02:09/00:03:20
( * , 224.0.1.39) , 00:06:05/stopped, RP 0.0.0.0, flags: DCL
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Loopback0, Forward/Sparse-Dense, 00:05:42/stopped
Ethernet1/0, Forward/Sparse-Dense, 00:06:05/stopped
Ethernet0/0, Forward/Sparse-Dense, 00:06:05/stopped
( 2.2.2.2, 224.0.1.39) , 00:06:05/00:02:54, flags: LT
Incoming interface: Loopback0, RPF nbr 0.0.0.0
Outgoing interface list:
Ethernet0/0, Forward/Sparse-Dense, 00:05:42/stopped
Ethernet1/0, Forward/Sparse-Dense, 00:05:42/stopped
( * , 224.0.1.40) , 00:08:46/stopped, RP 0.0.0.0, flags: DCL
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Ethernet0/0, Forward/Sparse-Dense, 00:08:46/stopped
( 10.1.4.2, 224.0.1.40) , 00:01:07/00:01:52, flags: LT
Incoming interface: Ethernet1/0, RPF nbr 0.0.0.0
Outgoing interface list:
Ethernet0/0, Forward/Sparse-Dense, 00:01:07/stopped, A
( 10.1.2.2, 224.0.1.40) , 00:05:05/00:01:48, flags: PLT
Incoming interface: Ethernet0/0, RPF nbr 0.0.0.0
Outgoing interface list: Null
R2#
R3#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
( * , 239.1.1.1) , 00:08:41/stopped, RP 2.2.2.2, flags: SJC
Incoming interface: Ethernet1/0, RPF nbr 10.1.4.2
Outgoing interface list:
Ethernet2/0, Forward/Sparse-Dense, 00:08:41/00:02:21
( 10.1.1.10, 239.1.1.1) , 00:01:21/00:01:38, flags: J
Incoming interface: Ethernet0/0, RPF nbr 10.1.3.1
Outgoing interface list:
Ethernet2/0, Forward/Sparse-Dense, 00:01:21/00:02:21
( * , 224.0.1.39) , 00:05:17/stopped, RP 0.0.0.0, flags: DC
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Ethernet1/0, Forward/Sparse-Dense, 00:05:17/stopped
Ethernet0/0, Forward/Sparse-Dense, 00:05:17/stopped
( 2.2.2.2, 224.0.1.39) , 00:05:17/00:01:47, flags: PTX
Incoming interface: Ethernet1/0, RPF nbr 10.1.4.2
Outgoing interface list:
Ethernet0/0, Prune/Sparse-Dense, 00:01:17/00:01:44, A
( * , 224.0.1.40) , 05:58:01/stopped, RP 0.0.0.0, flags: DCL
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Ethernet1/0, Forward/Sparse-Dense, 05:57:57/stopped
Ethernet0/0, Forward/Sparse-Dense, 05:58:01/stopped
( 10.1.2.2, 224.0.1.40) , 00:04:17/00:02:40, flags: LT
Incoming interface: Ethernet0/0, RPF nbr 10.1.3.1
Outgoing interface list:
Ethernet1/0, Forward/Sparse-Dense, 00:04:17/stopped
( 10.1.4.2, 224.0.1.40) , 00:04:17/00:02:40, flags: LT
Incoming interface: Ethernet1/0, RPF nbr 10.1.4.2
Outgoing interface list:
Ethernet0/0, Forward/Sparse-Dense, 00:04:17/stopped
R3#
Mcast-Snd#ping 239.1.1.1
Type escape sequence to abort.
Sending 1, 100-byte ICMP Echos to 239.1.1.1, timeout is 2 seconds:
Reply to request 0 from 10.1.5.100, 28 ms
Mcast-Snd#ping 239.1.1.1 repeat 10
Type escape sequence to abort.
Sending 10, 100-byte ICMP Echos to 239.1.1.1, timeout is 2 seconds:
Reply to request 0 from 10.1.5.100, 28 ms
Reply to request 1 from 10.1.5.100, 1 ms
The above lab is based on below excellent youtube video:
Multicast from Kevin Wallace