[Contents] [Prev] [Next] [Index] [Report an Error]


DVMRP

The system supports Distance Vector Multicast Routing Protocol (DVMRP) on VRs to forward multicast datagrams through a network. DVMRP is an interior gateway protocol that supports operations within an autonomous system, but not between autonomous systems. The multicast backbone of the Internet, MBONE, uses DVMRP to forward multicast datagrams.

DVMRP is a dense-mode multicasting protocol and therefore uses a broadcast and prune mechanism. The protocol builds an SRT in a similar way to PIM DM (see Figure 4-3). 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:

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

If a host on a previously pruned branch wants 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 4-2 shows an example of the routing table for a DVMRP router.

Table 4-2 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 a (Source, Group) pair table that provides information to the multicast forwarding table. The (Source, Group) pair table is based on:

The (Source, Group) 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 4-3 shows an example of the (Source, Group) pair table for DVMRP.

Table 4-3 Example of DVMRP (Source, Group) 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

1

4/0
143.3.0.0
230.1.2.3
80
3/1
4/0, 4/1

Enabling DVMRP on a VR

By default, DVMRP is enabled on the system. To enable DVMRP on a VR:

  1. Enable multicast routing.
  2. (Optional) Create a VR or access a VR context.


Note: If you do not specify a VR, you can configure DVMRP on the default router.

You must now enable and configure DVMRP on one or more interfaces. See Activating DVMRP on an Interface. You can also set DVMRP limits for the VR. See Configuring DVMRP Limits.

Example

host1(config)#ip multicast-routing
host1(config)#virtual-router boston

Activating DVMRP on an Interface

By default, DVMRP is not activated on an interface. Configuring any DVMRP parameter on an interface automatically activates DVMRP on that interface. You can also activate DVMRP on an interface and use the default parameters.

    ip dvmrp

host1:boston(config-if)#ip dvmrp

Configuring DVMRP Limits

You can configure DVMRP and IGMP on the same interface. If you configure IGMP and DVMRP on an interface, the system considers that DVMRP owns the interface.



Note: You cannot configure DVMRP and PIM on the same interface.

When you have enabled DVMRP processing on a VR, you can configure the following settings for that VR:

    ip dvmrp route-hog-notification

host1:boston(config)#ip dvmrp route-hog-notification 5000

    ip dvmrp route-limit

host1:boston(config)#ip dvmrp route-limit 5000

Filtering DVMRP Reports

You can configure an interface to accept only reports with routes that appear on a standard IP access list. You can refine the set of accepted routes further, by defining a second access list of neighbors who can supply the specified routes.

For example, suppose you define an access list that specifies that the router accepts only reports for the route 172.16.2.0/24. You then define a second access list that specifies that only neighbors 192.168.1.1 and 193.168.1.1 can supply this route. If neighbor 192.168.2.2 supplies the route, the DVMRP router rejects this report.

You can also modify the value (distance) that the router associates with a DVMRP route when it computes the RPF interface for the source of a multicast packet. By default, the router associates a distance of 0 with DVMRP routes; this value indicates that the router should use DVMRP, rather than a unicast routing protocol, to transport multicast datagrams.

However, in a configuration where PIM discovers multicast routes and a unicast routing protocol performs RPF lookups, you can increase the administrative distance to favor the unicast protocol.

For information about defining access lists, see Chapter 1, Configuring Routing Policy.

    ip dvmrp accept-filter

host1:boston(config-if)#ip dvmrp accept-filter boston-list 4 
neighbor-list boston-neighbors

Configuring DVMRP Summary Addresses

You can configure an interface to advertise a summary address with a known metric rather than a more specific route. DVMRP advertises the summary address if the DVMRP routing table contains a more specific route that matches the address and mask of the summary address.

If you want to advertise all routes rather than a summary, disable automatic summarization on the interface. By default, the system automatically summarizes DVMRP routes. DVMRP automatic summarization maps a unicast subnet route to a classful network number route when the subnet has a different network number from the IP address of the interface (or tunnel) over which the advertisement travels. If the interface is unnumbered, the system compares the network number of the numbered interface to the IP address to which the unnumbered interface points.

If you configure a summary address on an interface and do not disable automatic summarization, the interface advertises the least specific address.

    ip dvmrp auto-summary

host1:boston(config-if)#ip dvmrp auto-summary

    ip dvmrp summary-address

host1:boston(config-if)#ip dvmrp summary-address 192.48.1.2 
255.255.255.0 metric 1

Changing the Metric for a Route

The metric for DVMRP is hop count. For example, a route with two hops over a slow serial line is preferable to a route with three hops over a faster optical line.

The system increments DVMRP routes in incoming reports by a default metric of one and in outgoing reports by a default of 0. You can change the metric for an interface to promote or demote the preference for associated routes.

    ip dvmrp metric-offset

host1:boston(config-if)#ip dvmrp metric-offset in 3

Importing Routes from Other Protocols

You can import routing information from other protocols into the DVMRP routing table. Only routes that appear in the RPF table can be imported. To do so:

  1. If you want to use IS-IS, OSPF, or RIP routes, make those routes available to multicasting protocols. See Using Unicast Routes for RPF, earlier in this chapter.
  2. Access Router Configuration mode.
  3. Specify a route map.
  4. Import information from one type of routing domain into another.

    redistribute

host1:boston(config-router)#redistribute bgp 100 route-map 
boston-map

    route-map

host1:boston(config-router)#route-map boston-map atm 3/2

    router dvmrp

host1:boston(config)#router dvmrp

Specifying Routes to Be Advertised

By default, if DVMRP owns an interface, that interface advertises all DVMRP routes it has learned to its neighbors. You can specify the routes that the interface advertises by issuing the ip dvmrp announce-filter command in conjunction with a standard IP access list. The IP access list defines the DVMRP routes that will be advertised.

    ip dvmrp announce-filter

host1:boston(config-if)#ip dvmrp announce-filter boston-list

Preventing Dynamic Route Distribution

By default, if you make changes to a route map, the system dynamically redistributes the routes in DVMRP. To prevent this dynamic redistribution, use the disable-dynamic-redistribute command.

    disable-dynamic-redistribute

host1(config-router)#disable-dynamic-redistribute

Exchanging DVMRP Unicast Routes

DVMRP maintains its own unicast routing table, based on distance vector calculations. The routing table defines the best-known distance to each destination and how to get there. The router updates the tables by exchanging information with its neighbors. The DVMRP routing table is used solely for RPF lookups.

By default, if DVMRP owns an interface, that interface exchanges DVMRP unicast routes with its neighbors, and you cannot disable the exchange of routes. However, you can enable and disable the exchange of DVMRP unicast routes on interfaces that DVMRP does not own.

When an interface exchanges DVMRP routes, the router obtains routes from DVMRP report messages and stores them in its DVMRP routing table. Other multicast protocols, such as PIM, can then use these routes for RPF lookups. With this feature, PIM can use the DVMRP routing table even when the router is not running DVMRP.

All interfaces, including tunnels, support DVMRP unicast routing. DVMRP tunnels use DVMRP multicast routing to support DVMRP unicast routing.

    ip dvmrp unicast-routing

host1:boston(config-if)#ip dvmrp unicast-routing

Disabling and Removing DVMRP

You can disable DVMRP on a VR or an interface without removing the configuration. You can also remove DVMRP from a VR or an interface.

    disable

host1:boston(config-router)#disable

    ip dvmrp disable

host1:boston(config-if)#ip dvmrp disable

    ip dvmrp

host1:boston(config-if)#ip dvmrp

    router dvmrp

host1:boston(config)#router dvmrp

Deleting DVMRP Routes

You can clear one or more routes from the DVMRP routing table. However, if you do so, the routes may reappear in the routing table if they are rediscovered.

    clear ip dvmrp routes

host1:boston#clear ip dvmrp routes

Configuring DVMRP Tunnels

DVMRP tunnels allow the exchange of IP multicast traffic between routers separated by networks that do not support multicast routing. For information about DVMRP tunnels, see Chapter 5, Configuring IP Tunnels.

Monitoring DVMRP

You can establish a reference point for DVMRP statistics by setting the statistics counters to zero.

You can display DVMRP information with the show ip dvmrp commands.

    baseline ip dvmrp

(host1)#baseline ip dvmrp 

    show ip dvmrp

host1:boston>show ip dvmrp
Routing Process DVMRP - Distance Vector Multicast Routing 
Protocol
  Dvmrp Admin State:        Enabled
  Mcast Admin State:        Enabled
  Dvmrp Version:            3.255
  GenerationID:             0x39aa07d3
  NumRoutes:                7
  NumTrigdRts:              0
  ReachableRoutes:          7
  RouteHogNotification:     10000
  RouteLimit:               7000
  Send-S32-Prunes-Only:     false

    show ip dvmrp interface

host1:v3#show ip dvmrp interface
  Interface: atm5/0.14
      SourceAddress:                      14.0.1.1
      Network/Mask:                     14.0.1.1/8
      Received Bad Packets:                      0
      Received Bad Routes:                       0
      Routes Sent:                               2
      Administrative State:                Enabled
      Summary Address(es)
          None Configured
      auto-summary:                        Enabled
      metric-offset in:                          1
      metric-offset out:                         0
      accept-filter(s):            None Configured
host1:boston#show ip dvmrp interface brief
  Interface          SourceAddress   Network/Mask        RBdPk RBdRt SntRt
  atm5/0.14          14.0.1.1        14.0.1.1/8             0     0     2
  atm5/0.15          15.0.1.1        15.0.1.1/8             0     0     2

    show ip dvmrp mroute

host1:boston#show ip dvmrp mroute
IP DVMRP Multicast Routing Table
(40.0.0.0/16,  228.1.1.1)  Uptime: 77
  Upstream Prune: none
  RPF Interface
      atm5/0.40
  Outgoing interface list:
      atm5/0.31 

    show ip dvmrp neighbor

host1:boston#show ip dvmrp neighbor
Neighbor Address:                   14.0.0.1
      Interface:                    atm5/0.14
      Neighbor upTime:                28
      Neighbor Major Version:          3
      Neighbor Minor Version:        255
      Neighbor Capabilities:  Prune  GenerationId  Mtrace  NetMask
      Neighbor State:             Active
      Geneneration ID:        0x3a13fbc2
      Routes Received:                 1
      Bad Routes Received              0
      Bad Packets Received:            0

host1:v3#show ip dvmrp neighbor brief
  Interface          NbrAddress      UpTime Maj Min Cap   
State
  atm5/0.14          14.0.0.1            32   3 255 PGMN  
Active
  atm5/0.15          15.0.0.1            34   3 255 PGMN  
Active

    show ip dvmrp route

host1:boston>show ip dvmrp route
Prefix/Length        usNbr/Owner       Metric ExpireTime UpTime Interface
  14.0.0.0/8         Dvmrp Local          1      Never     18   atm5/0.14
    Downstream Interface(s)
        Interface
        atm5/0.15
  15.0.0.0/8         Dvmrp Local          1      Never     18   atm5/0.15
    Downstream Interface(s)
        None
  25.0.0.0/8         14.0.0.1             2        129     11   atm5/0.14
    Downstream Interface(s)
        Interface
        atm5/0.15

host1:v3#show ip dvmrp route brief
  Prefix/Length      usNbr/Owner       Metric ExpireTime UpTime Interface
  14.0.0.0/8         Dvmrp Local          1      Never     26   atm5/0.14
  15.0.0.0/8         Dvmrp Local          1      Never     26   atm5/0.15
  25.0.0.0/8         14.0.0.1             2        121     19   atm5/0.14

    show ip dvmrp routeNextHop

host1:boston>show ip dvmrp routeNextHop
  addr/mlen          ifIndex  Type
  172.16.0.0/16            4  leaf
  172.17.0.0/16            4  leaf
  172.18.0.0/16            3  leaf
  172.19.0.0/16            3  leaf
  172.19.0.0/16            4  branch

[Contents] [Prev] [Next] [Index] [Report an Error]