You want to override the dynamic multicast routing and group membership with static entries.
By default, PIM will use the same dynamic routing table learned by the unicast routing protocol. However, in some cases you don't want to use these routes. For example, you might have to send multicast traffic through a tunnel to bypass a section of network that doesn't support multicast routing. In this case, the unicast routing table is clearly the wrong path for multicast traffic. So you need to specify a different route for multicast traffic to use:
Router1#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router1(config)#ip multicast-routing Router1(config)#ip mroute 192.168.15.0 255.255.255.0 192.168.98.6 Router1(config)#interface Tunnel0 Router1(config-if)#ip address 192.168.98.5 255.255.255.252 Router1(config-if)#ip pim sparse-dense-mode Router1(config-if)#tunnel mode gre ip Router1(config-if)#end Router1#
You can specify a static IGMP Join to ensure that the router always thinks that there are group members on an interface:
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 pim sparse-dense-mode
Router1(config-if)#ip igmp join-group 239.5.5.55
Router1(config-if)#end
Router1#
The static mroute command is used only to describe the Reverse Path Forwarding (RPF) the multicast traffic should take. PIM doesn't redistribute this information, but all devices on the internal network need to know that this router is the gateway to this particular external network so that they can also build their SPT trees appropriately. It is likely that other routers will also need static mroutes if you are using tunnels like this.
Static multicast routes are most frequently used when the unicast network doesn't have the same topology as the multicast network. There are two main reasons why this might be the case. The recipe example suggests one of these reasons: there may be tunnels that bypass non-multicast sections of the network.
The other common reason for using a static multicast route is to force multicast traffic to take a different path than unicast traffic. For example you might have a separate network link for multicast traffic. As with all static routing, doing this creates administrative problems because it is very difficult to construct static routes that adapt to network failures.
The static IGMP Join example is most useful when there are devices on the segment that may have poor IGMP implementations or when they Join and Leave extremely rapidly. Alternatively, as in Recipe 23.14, the receiving devices may not know that this is a multicast application. A static IGMP statement ensures that the router always thinks that there are group members on this interface.
You should be careful about using this command on any links that contain other routers because it may lead to multicast routing loops. This is because the router will always forward packets for this group out this interface, even if PIM would normally prune this link from the tree.
Top |