Random networking related stuff.

Cisco multicast configuration – PIM-SM and Static RP

This article is the first of series on multicast routing.
The first describes an IP multicast routing configuration with a static RP. The next will go through dynamic RP propagation as well as inter-AS multicast.

<h1 class=”symple-heading symple-heading- text-align-left “style=”color: undefined;margin-bottom: 30px;margin-top: 30px;”> Unicast forwarding Plane </h1>

Here is the topology for this first article. It is quite simple, made of 3 routers. OSPF process is used to create the IP unicast plane necessary to multicast operations.


router ospf 1
 network area 0

Without a unicast plane, multicast cannot operate as it relies on the unicast routing table to:
– locate the rendez-vous point
– perform RPF (Reverse Path Forwarding) checks

The RPF checks are essential to multicast as they prevent packet loops in the network. Packets are expected to be received from the interface where they are routed to in the unicast routing table (which is the best path).
Note that in specific cases, you may need to override the RPF checks / routing table. For that purpose you can define static mroutes. We will probably see them in a another article.

Multicast activation and PIM-SM configuration

ip multicast-routing

int eX/X
 ip pim sparse-mode

<h1 class=”symple-heading symple-heading- text-align-left “style=”color: undefined;margin-bottom: 30px;margin-top: 30px;”> Static RP </h1>

The multicast rendez vous point, which is used in ASM (Any Source Multicast) to create source trees (SPT) from inital shared trees is defined statically in the present case. This is the most basic RP configuration you can use as it only relies on local configuration on each network devices. This can be limited in larger networks with redundancy needs, yet you can configure multiple RPs for multiple different groups.
Static RP definition can be used when working with Anycast RP, you can check my NX-OS Anycast RP PIM article to learn more about it.

R1(config)#ip pim rp-address

R2(config)#ip pim rp-address

R3(config)#ip pim rp-address

In order to test our multicast configuration, a receiver is simulated on R1.

R1(config)#do sh run int e0/1
interface Ethernet0/1
 no switchport
 ip address
 ip pim sparse-mode
 ip igmp join-group
 duplex auto

And then the multicast address is pinged successfully:

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

Reply to request 0 from, 29 ms
Reply to request 0 from, 29 ms

The next article will come soon and will bring more details on the registration process as well as dynamic RP propagation methods.