OcNOS DC : Multicast Guide : Multicast Configuration Guide : PIM Dense Mode Configuration
PIM Dense Mode Configuration
Protocol Independent Multicast - Dense Mode (PIM-DM) is a data-driven multicast routing protocol that builds source-based multicast distribution trees that operate on the flood-and-prune principle. PIM-DM requires unicast-reachability information, but it does not depend on a specific unicast routing protocol.
Terminology
Following is a brief description of terms and concepts used to describe the PIM-DM protocol:
Reverse Path Forwarding
Reverse Path Forwarding (RPF) is an optimized form of flooding, in which the router accepts a packet from SourceA through Interface IF1, only when IF1 is the interface the router would use in order to reach SourceA. It determines whether the interface is correct by consulting its unicast routing tables. The packet that arrives through interface IF1 is forwarded because the routing table lists this interface as the shortest path to the network. The router's unicast routing table determines the shortest path for the multicast packets. Because a router accepts a packet from only one neighbor, it floods the packet only once, meaning that (assuming point-to-point links) each packet is transmitted over each link once in each direction.
Forwarding Multicast Packets
PIM-DM routers forward multicast traffic to all interfaces that lead to receivers that have explicitly joined a multicast group. Messages are sent to a group address in the local subnetwork. The router performs an RPF check, and forwards the packet. Traffic that arrives on the correct interface is sent to all outgoing interfaces that lead to downstream receivers, if the downstream router is a member of this group.
Upstream
Upstream traffic is traffic that is going towards the source.
Downstream
Downstream traffic is anything other than the upstream interface for that group.
Nexthop
PIM-DM does periodic lookups for prefixes to check router reachability. The nexthop lookup mechanism avoids periodic lookup. During start-up, PIM-DM notifies NSM (Network Services Manager) about the prefixes that pertain to them. NSM notifies the protocols if a better nexthop is available, or if a nexthop becomes unavailable. In this way, PIM-DM does not expend resources to do periodic lookups, because NSM is proactive in their maintenance.
Configuration
Configuring PIM-DM requires the following steps:
Enable IP multicast on each PIM router (see Enabling IP Multicast Routing)
Enable PIM-DM on the desired interfaces (see Enabling PIM-DM)
This section provides the configuration steps for configuring PIM-DM and examples for a relevant scenario.
Topology
In this network topology, the Source_1 address is 10.10.1.52 and the group address is set to 224.0.1.3.
PIM-DM Configuration Topology
In this example, all routers are running PIM-DM.
1. Host_1 sends an IGMP membership report to Subnet 1.
2. After Router_C receives this report, it associates its receiving interface, eth1, with the group reported in the IGMP message, for example, group1.
3. Source_1 then sends a data packet for group1.
4. Every router creates an (S,G) entry in the multicast routing table.
5. When the data packet reaches Router_C, it forwards via the interface, eth1, because there is a local member on this interface for this group. Router_C has a downstream receiver, so it does not send a prune message to its upstream neighbor router, Router_B.
Enabling IP Multicast Routing
Enable IP multicast routing on all of the PIM routers inside the PIM domain:
 
#configure terminal
Enter configure mode.
(config)#ip multicast-routing
Enable IP multicast routing.
(config)#exit
Exit Configure mode.
Enabling PIM-DM
Enable PIM-DM on all participating interfaces within each of routers inside the PIM domain on which you want to run PIM.
 
#configure terminal
Enter configure mode.
(config)#interface eth1
Enter interface mode.
(config-if)#ip address 10.10.15.12/24
Configure the IP address for eth1.
(config-if)#ip pim dense-mode
Enable PIM dense mode on the interface.
(config-if)#exit
Exit interface mode.
(config)#interface eth2
Enter interface mode.
(config-if)#ip address 10.10.14.12/24
Configure the IP address for eth1.
(config-if)#ip pim dense-mode
Enable PIM dense mode on the interface.
(config-if)#exit
Exit interface mode.
The following is a sample configuration for Router_C:
hostname Router_C
!
interface eth0
!
interface eth1
ip pim dense-mode
!
interface eth2
ip pim dense-mode
!
interface lo
!
!
ip multicast-routing
!
Validation
The show ip pim interface command displays the interface details for Router_C.
Router_C#show ip pim interface
Address Interface VIFindex Ver/ Nbr DR
Mode Count prior
192.168.1.10 eth1 0 v2/D 0 1
172.16.1.10 eth2 2 v2/D 1 1
The show ip mroute command displays the IP multicast routing table.
Router_C#show ip mroute
IP Multicast Routing Table
Flags: I - Immediate Stat, T - Timed Stat, F - Forwarder installed
Timers: Uptime/Stat Expiry
Interface State: Interface (TTL)
(10.10.1.52, 224.0.1.3), uptime 00:00:15
Owner PIM-DM, Flags: F
Incoming interface: eth2
Outgoing interface list:
eth1 (1)
The show ip pim mroute displays the IP PIM-DM multicast routing table.
Router_C#show ip pim mroute
PIM-DM Multicast Routing Table
(10.10.1.52, 224.0.1.3)
RPF Neighbor: 172.16.1.2, Nexthop: 172.16.1.2, eth2
Upstream IF: eth2
Upstream State: Forwarding
Assert State: NoInfo
Downstream IF List:
eth1, in 'olist':
Downstream State: NoInfo
Assert State: NoInfo