DVMRP Tunnels
Problem
You want to create a DVMRP tunnel to bypass a section of network that doesn't support multicast.
Solution
You can create a DVMRP tunnel from a Cisco router to a nonCisco DVMRP device by using the special DVMRP tunnel mode. This allows you to pass multicast traffic through a section of network that doesn't support multicast routing:
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#ip multicast-routing
Router1(config)#interface Tunnel0
Router1(config-if)#ip unnumbered FastEthernet0/0
Router1(config-if)#ip pim sparse-dense-mode
Router1(config-if)#ip dvmrp unicast-routing
Router1(config-if)#tunnel source FastEthernet0/0
Router1(config-if)#tunnel destination 192.168.99.15
Router1(config-if)#tunnel mode dvmrp
Router1(config-if)#exit
Router1(config)#interface FastEthernet0/0
Router1(config-if)#ip address 192.168.1.1 255.255.255.0
Router1(config-if)#ip pim sparse-dense-mode
Router1(config-if)#end
Router1#
Discussion
There are several important things to remember about DVMRP tunnels. First, you cannot create a DVMRP tunnel between two Cisco routers because neither router will send DVMRP Probe messages. So this feature is only used to create tunnels between Cisco routers and native DVMRP devices such as nonCisco routers or Unix servers running mrouted.
Second, a DVMRP tunnel is essentially just a standard IP-in-IP tunnel. However, it is just used to transmit multicast traffic. Unicast traffic follows the normal network path. This is markedly different from several of the examples of GRE tunneling (a more flexible variant of IP-in-IP tunneling) discussed in Chapter 12, where the tunnel was used to carry unicast traffic.
Third, the device on the other end of this tunnel must also be explicitly configured for this tunnel. The IP address it specifies for the tunnel destination must match the tunnel source address specified on the Cisco router. In this case, the source is the interface FastEthernet0/0, so the device on the other end must specify a tunnel destination address of 192.168.1.1, which is this interface's IP address. Similarly, the address specified as the tunnel source on the other device must match the tunnel destination address on the Cisco end.
Fourth, it is important to notice that both the Tunnel interface and the source interface have PIM enabled. We have used sparse-dense mode for PIM, which is just to cover all of the possibilities. But the router will not route multicast traffic correctly without some form of PIM enabled on these interfaces.
And, finally, if you want to create a PIM tunnel to another Cisco device, the easiest way to do so is to create a GRE tunnel and use a static mroute, as we did in Recipe 23.9. This will ensure that multicast traffic uses the tunnel rather than trying to use the unicast path. A DVMRP tunnel can only connect a Cisco router to a nonCisco native DVMRP device.