Configuring Basic Multicast Functionality with PIM-DM
Problem
You want to pass multicast traffic through the router.
Solution
In a small network with few routers and relatively light multicast application bandwidth requirements, the easiest way to implement multicast routing is to use PIM-DM. This example shows the configurations for two routers that are connected through a Serial connection, both with FastEthernet interfaces to represent the LAN connections. It is important to enable multicast routing on all interfaces that connect to other multicast-enabled routers or to multicast user or server segments.
The first router looks like this:
Router1#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router1(config)#ip multicast-routing Router1(config)#interface FastEthernet0/0 Router1(config-if)#ip address 192.168.1.1 255.255.255.0 Router1(config-if)#ip pim dense-mode Router1(config-if)#exit Router1(config)#interface Serial1/0 Router1(config-if)#ip address 192.168.2.5 255.255.255.252 Router1(config-if)#ip pim dense-mode Router1(config-if)#end Router1#
And the second router looks remarkably similar:
Router2#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router2(config)#ip multicast-routing Router2(config)#interface FastEthernet0/0 Router2(config-if)#ip address 192.168.3.1 255.255.255.0 Router2(config-if)#ip pim dense-mode Router2(config-if)#exit Router2(config)#interface Serial1/0 Router2(config-if)#ip address 192.168.2.6 255.255.255.252 Router2(config-if)#ip pim dense-mode Router2(config-if)#end Router2#
Discussion
With this simple configuration, you get all of the basic multicast functionality. The routers will distribute multicast packets properly, they will listen for end devices to join and leave groups with IGMP (Version 1, 2, or 3), and they will update one another with information about what multicast groups are currently in use as well as where the servers and group members are. For many types of multicast applications, this is all you need. But it is important to remember that the PIM-DM protocol is only appropriate for certain types of networks with relatively specific multicast routing requirements.
First, PIM-DM works best in relatively small networks with no more than a few hops between the sender and the most remote receiver. Second, the number of multicast servers should be small, and the receivers should be scattered throughout the network in relatively large numbers. And third, because PIM-DM uses the multicast traffic itself to gather information about where the servers are, it needs a steady flow of traffic. In particular, it's a bad idea to use PIM-DM with multicast applications that can pause more than three minutes between packets because the routers will flush the routing information out of their tables and have to rebuild these tables when the next packet is received.
If one or more of these conditions is not true for any of your multicast applications then you should probably consider one of the other routing protocols, particularly PIM-SM.
One final point to consider in any sort of routing is how the router will switch the packets. As we discussed in Chapter 11, you want to avoid process switching anything unless it's absolutely necessary. Fortunately, multicast packets are fast switched by default. However, in many configurations, it is customary to disable multicast fast switching. So it is a good idea to look at your router configurations and make sure that you don't have any multicast interfaces that include the statement no ip mroute-cache. If any interfaces do have this command, then you should re-enable the preferred default fast switching behavior by using the interface level command ip mroute-cache. This is true regardless of which multicast routing protocol you use.