In actuality, PIM refers to a family of very similar routing protocols, but which each operate in a different mode. These are:
Router# 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.0.1.40), 00:07:04/00:02:49, RP 2.2.2.2, flags: SJPL Incoming interface: FastEthernet0/0, RPF nbr 10.0.12.2 Outgoing interface list: Null
The first two steps are accomplished with single commands in global configuration on all routers in the multicast domain:
R1(config)# ip multicast-routing R1(config)# ip pim rp-address 172.16.34.1
Note that there exist other means of configuring RP routers, namely Cisco's proprietary Auto-RP and PIMv2's Bootstrap Router (BSR) methods. In our example, only manual configuration is used.
PIM is enabled per interface:
R1(config)# interface f0/0 R1(config-if)# ip pim sparse-mode
Believe it or not, this is all the configuration necessary to get a bare bones multicast network up and running. After enabling PIM, routers will form adjacencies with other PIM routers and multicast routes will be exchanged:
R1# show ip pim neighbor 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.0.12.2 FastEthernet0/0 00:06:39/00:01:30 v2 1 / DR S 10.0.14.4 FastEthernet0/1 00:06:40/00:01:30 v2 1 / DR S