# Overview

| Note: PIM has gained general acceptance among a large number of multicast-enabled networks. We recommend that you use PIM rather than DVMRP for applications that are not otherwise required to run DVMRP.

DVMRP is a dense-mode multicasting protocol and therefore uses a broadcast and prune mechanism. The protocol builds a source-rooted tree (SRT) in a similar way to PIM dense mode. DVMRP routers flood datagrams to all interfaces except the one that provides the shortest unicast route to the source. DVMRP uses pruning to prevent unnecessary sending of multicast messages through the SRT.

A DVMRP router sends prune messages to its neighbors if it discovers that:

- The network to which a host is attached has no active members of the multicast group.
- All neighbors, except the next-hop neighbor connected to the source, have pruned the source and the group.

When a neighbor receives a prune message from a DVMRP router, it removes that neighbor from its (S,G) pair table, which provides information to the multicast forwarding table.

When a host on a previously pruned branch attempts to join a multicast group, it sends an IGMP message to its first-hop router. The first-hop router then sends a graft message upstream.

## Identifying Neighbors

In this implementation of DVMRP, a neighbor is a directly connected DVMRP router. When you enable DVMRP on an interface, the associated VR adds information about local networks to its DVMRP routing table. The VR then sends probe messages periodically to learn about neighbors on each of its interfaces. To ensure compatibility with other DVMRP routers that do not send probe messages, the VR also updates its DVMRP routing table when it receives route report messages from such routers.

## Advertising Routes

As its name suggests, DVMRP uses a distance-vector routing algorithm. Such algorithms require that each router periodically inform its neighbors of its routing table. DVMRP routers advertise routes by sending DVMRP report messages. For each network path, the receiving router picks the neighbor advertising the lowest cost and adds that entry to its routing table for future advertisement.

The cost, or metric, for this routing protocol is the hop count back to the source. The hop count for a network device is the number of routers on the route between the source and that network device.

Table 6 shows an example of the routing table for a DVMRP router.

Table 6: Sample Routing Table for a DVMRP Router

Source Subnet | Subnet Mask | From Router | Metric | Time Before Entry Is Deleted from Routing Table | Input Port | Output Port
--- | --- | --- | --- | --- | --- | ---
143.2.0.0 | 255.255.0.0 | 143.32.44.12 | 4 | 85 | 3/0 | 4/0, 4/1
143.3.0.0 | 255.255.0.0 | 143.2.55.23 | 2 | 80 | 3/1 | 4/0, 4/1
143.4.0.0 | 255.255.0.0 | 143.78.6.43 | 3 | 120 | 3/1 | 4/0, 4/1

The DVMRP router maintains an (S,G) pair table that provides information to the multicast forwarding table. The (S,G) pair table is based on:

- Information from the DVMRP routing table
- Information learned from prune messages
- If IGMP and DVMRP are on the same interface, group information learned from IGMP

The (S,G) pair table includes a route from each subnetwork that contains a source to each multicast group of which that source is a member. These routes can be static or learned routes. Table 7 shows an example of the (S,G) pair table for DVMRP. A dash (–) in the Input Port column indicates that the interface is associated with a protocol other than DVMRP.

Table 7: Sample DVMRP (S,G) Pair Table

Source Subnet | Multicast Group | Time Before Entry Is Deleted from Routing Table | Input Port | Output Port
--- | --- | --- | --- | ---
143.2.0.0 | 230.1.2.3 | 85 | 3/0 | 4/0, 4/1
| 230.2.3.4 | 75 | 3/0 | 4/0, 4/1
| 230.3.4.5 | 60 | 3/0 | 4/1
| 230.4.5.6 | 90 | — | 4/0
143.3.0.0 | 230.1.2.3 | 80 | 3/1 | 4/0, 4/1