LAB: Multicast PIM Dense-Spare Mode

Multicast, one of the most interesting topics and for me one of the most challenging topics

In this lab, I am going to use PIM with Dense & Spare mode to achieve successful join for the multicast ip 239.5.5.5

The network has the basic:

  1. Interfaces configurations
  2. OSPF to ping any interface from any router
  3. loopback for each router

multicast

Dense mode

configurations for this mode are quite simple and includes two steps (For each router)

  1. Define the multicast globally
  2. Enable the dense mode for each physical interface that will use it

Router1(config)#ip multicast-routing

Router3(config)#int e 0/1

Router3(config-if)#ip pim dense-mode
Router3(config-if)#end
*Dec 24 18:24:35.925: %PIM-5-DRCHG: DR change from neighbor 0.0.0.0 to 192.168.3.1 on interface Ethernet0/1

Now to test, I want router 3 to join the IP 239.5.5.5 (using loopback) and will ping this address from router 1 where the PC is connected

Router3(config)#int loopback 30
Router3(config-if)#ip igmp join-group 239.5.5.5

Multicast has neighbors and table, just like anything else in routers ๐Ÿ˜‰

Router2#show ip pim neighbor
PIM Neighbor Table
Mode: B – Bidir Capable, DR – Designated Router, N – Default DR Priority,
P – Proxy Capable, S – State Refresh Capable, G – GenID Capable
Neighbor Interface Uptime/Expires Ver DR
Address Prio/Mode
192.168.2.1 Ethernet0/1 00:00:24/00:01:20 v2 1 / S P G
192.168.3.1 Ethernet0/2 00:00:53/00:01:21 v2 1 / S P G
Router3#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,
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.5.5.5), 00:05:05/stopped, RP 0.0.0.0, flags: DCL
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Ethernet0/1, Forward/Dense, 00:02:38/stopped
Loopback30, Forward/Dense, 00:05:05/stopped

(192.168.10.1, 239.5.5.5), 00:00:40/00:02:19, flags: LT
Incoming interface: Ethernet0/1, RPF nbr 192.168.3.2
Outgoing interface list:
Loopback30, Forward/Dense, 00:00:40/stopped

(192.168.2.1, 239.5.5.5), 00:00:40/00:02:19, flags: LT
Incoming interface: Ethernet0/1, RPF nbr 192.168.3.2
Outgoing interface list:
Loopback30, Forward/Dense, 00:00:40/stopped

(*, 224.0.1.40), 00:08:50/00:02:10, RP 0.0.0.0, flags: DCL
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Ethernet0/1, Forward/Dense, 00:02:38/stopped
Loopback30, Forward/Dense, 00:08:50/stopped

Router3#

Now ping from Router 1 where the PC is connected

Router1#ping 239.5.5.5 source e 0/2
Type escape sequence to abort.
Sending 1, 100-byte ICMP Echos to 239.5.5.5, timeout is 2 seconds:
Packet sent with a source address of 192.168.40.1

Reply to request 0 from 192.168.30.1, 42 ms

Awesome ๐Ÿ™‚ Getting a reply form Router 3 loopback IP (which joined this mutlicast IP)

Sparse mode:

Now, I want to remove the configurations for dense in each physical interface and add spare mode instead – for all routers

Router2(config)#int range e 0/1 – 2
Router2(config-if-range)#no ip pim dense-mode
*Dec 24 18:37:12.366: %PIM-5-NBRCHG: neighbor 192.168.2.1 DOWN on interface Ethernet0/1 non DR
*Dec 24 18:37:12.392: %PIM-5-NBRCHG: neighbor 192.168.3.1 DOWN on interface Ethernet0/2 non DR
Router2(config-if-range)#ip pim sparse-mode
Router2(config-if-range)#
*Dec 24 18:37:20.041: %PIM-5-NBRCHG: neighbor 192.168.3.1 UP on interface Ethernet0/2
*Dec 24 18:37:20.055: %PIM-5-NBRCHG: neighbor 192.168.2.1 UP on interface Ethernet0/1
*Dec 24 18:37:21.047: %PIM-5-DRCHG: DR change from neighbor 0.0.0.0 to 192.168.2.2 on interface Ethernet0/1
*Dec 24 18:37:21.048: %PIM-5-DRCHG: DR change from neighbor 0.0.0.0 to 192.168.3.2 on interface Ethernet0/2

Let us try to see, what if I ping like dense mode

Router1#ping 239.5.5.5
Type escape sequence to abort.
Sending 1, 100-byte ICMP Echos to 239.5.5.5, timeout is 2 seconds:
.

The ping failed as I haven’t created RP .. all what I need to do is to create the RP and manually enter it for all other routers in the network

Router2(config)#ip pim rp-address 192.168.20.1
Router2(config)#
*Dec 24 18:40:56.086: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel0, changed state to up
*Dec 24 18:40:56.086: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel1, changed state to up

Test with the ping, and its working … and just for fun, I added loopback 20 (Router 2) to join the same multicast group so we can see multiple replies

Router1#ping 239.5.5.5 source e 0/2
Type escape sequence to abort.
Sending 1, 100-byte ICMP Echos to 239.5.5.5, timeout is 2 seconds:
Packet sent with a source address of 192.168.40.1

Reply to request 0 from 192.168.20.1, 8 ms
Reply to request 0 from 192.168.30.1, 9 ms
Reply to request 0 from 192.168.20.1, 8 ms
Reply to request 0 from 192.168.30.1, 8 ms

These are basic configurations to run PIM in both modes ๐Ÿ™‚

This entry was posted in Cisco- R&S and tagged , , , , , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s