This document describes the DVMRP (Distance Vector Multicast Routing Protocol). It includes the following sections:
Introduction
DVMRP Modes
DVMRP/MOSPF Interaction
Running DVMRP over MOSPF
Tunnels to Internal MOSPF/OSPF Destinations
Supported and Unsupported DVMRP Features
Displaying the DVMRP Prompts
DVMRP Commands
Introduction
DVMRP is a routing protocol that runs on UNIX" workstations comprising the Multicast Backbone, or MBONE. The resulting UNIX routing daemon is called "mrouted."
DVMRP allows you to do the following:
Use the router in the MBONE in addition to (or instead of) UNIX workstations.
Substitute MOSPF domains for collections of DVMRP tunnels, easing bandwidth demands.
Mode 1 - The router functions as a regular DVMRP router. It acts like a UNIX workstation running the mrouted program. The router can run DVMRP on its LAN interfaces and support tunnels (encapsulated only).
Mode 2 - The router can join a MOSPF domain to the MBONE via one or more (encapsulated) DVMRP tunnels.
In this mode, selected internal MOSPF networks are advertised into the mbone's DVMRP system. A subset of the DVMRP sources are advertised into the MOSPF system as OSPF AS external LSAs.
A MOSPF domain joined to the MBONE in this way receives the benefit of MOSPF's pruning. Therefore, only those multicast datagrams with active group members are forwarded into the MOSPF domain.
Mode 3 - The router runs as an MBONE router using an MOSPF domain as a transit network. In this mode, you run DVMRP over MOSPF, as if the entire MOSPF domain were a single LAN. This mode lets you replace a collection of DVMRP tunnels with an MOSPF domain. This action should result in a decrease in multicast traffic.
For the MBONE to forward multicast datagrams with sources that belong to the MOSPF domain, the router must advertise certain internal MOSPF networks via DVMRP.
To avoid increasing the DVMRP routing table size by advertising all internal networks, only those networks specified as area address ranges in the OSPF add range configuration commands are advertised. In particular, this allows aggregation of sources before advertising to DVMRP.
Note: It is possible to advertise two routes into the MBONE, one route being a subset of the other. However, you should avoid this because mrouted does not handle such routes and non-deterministically discards one of the routes.
Conversely, for the MOSPF domain to forward multicast datagrams that have been sourced from elsewhere in the MBONE, the DVMRP routing information (which consists of a collection of reachable sources), must be leaked automatically into the MOSPF domain in the form of OSPF AS external LSAs. As long as both DVMRP and MOSPF are enabled in the router, this happens automatically and does not need to be configured.The way that the precise set of DVMRP routes is leaked into OSPF is the following:
The router looks at its entire collection of DVMRP sources. If more than half of the sources are reachable through non-MOSPF interfaces or DVMRP tunnels, a multicast default is imported (i.e., an AS external LSA having destination 0.0.0.0 and the MC-bit set in its options field).
If not, each DVMRP source is imported in a separate AS external LSA.
If the router would not otherwise advertise an AS external LSA for the DVMRP source (it is not the best router to use for unicast traffic destined for the source), it specifies a cost of LSInfinity in the AS external LSA.
Note: You should increase the maximum number of external advertisements that you configure in OSPF by the number of DVMRP sources (currently around 500). Do this on all routers, not just the ones running DVMRP.
The router forwards 239.0.0.1 throughout the MOSPF domain, but never forwards 239.0.0.1 over DVMRP interfaces or tunnels. The address 239.0.0.1 has not been registered with the Network Interface Card (NIC).
Tunnels to Internal MOSPF/OSPF Destinations
It is possible to configure DVMRP tunnels to internal OSPF destinations. When this is done, the software assumes that MOSPF connectivity does not exist to the destination. Therefore, the DVMRP tunnel is preferred over the possible MOSPF path. This can be enforced on reception of packets, but not on packet transmission.
Therefore, when MOSPF connectivity does exist to the other end of the DVMRP tunnel, the tunnel endpoint receives multiple copies of all multicast datagrams.
Supported and Unsupported DVMRP Features
By running as a replacement for a UNIX workstation running mrouted, DVMRP supports the following subset of mrouted functionality:
DVMRP can run natively on all LAN interfaces. Tunnels are also supported, although only the encapsulated version. Source routed tunnels are not supported.
MBONE mapping queries are supported. Therefore, the DVMR responds to the UNIX "mrinfo" program. It returns a version of 1.
DVMRP pruning is not supported. However, MOSPF does support pruning. Connecting a MOSPF domain to the MBONE via one or more DVMRP tunnels will produce the desired result.
The rate limiting supplied by mrouted is not supported. However, bandwidth reservation feature (available on serial line) has a class for IP multicast traffic.
Creation of this traffic class lets you limit the amount of forwarded multicast traffic to a fixed percentage of available serial line bandwidth. Conversely, multicast traffic can also be guaranteed a dedicated percentage of the line's resources.
IP filters also apply to multicast traffic. For example, you can set up the router so that it only carries certain vat sessions, and no others.
DVMRP Config> prompt, enter protocol dvmrp at the Config> prompt.To display theConfig>protocol dvmrp
Distance Vector Multicast Routing Protocol config console
DVMRP Config>
DVMRP> prompt, enter protocol dvmrp at the Monitor> prompt. Monitor>protocol dvmrp
DVMRP>
Press Space twice after you type a command to display the available options for each command. Enter help for information about using the command line interface.
[C] means the command is available at the DVMRP Config> prompt.
[M] means the command is available at the DVMRP> prompt.
| Command | Function |
|---|---|
| Dump Routing Tables [C] | Displays the OSPF routes contained in the routing table. |
| DVMRP [C] | Enables or disables DVMRP. |
| Exit [C] [M] | Returns to the previous prompt. |
| IGMP [C] [M] | Displays the IGMP configuration or monitoring prompt. |
| Interface Summary [M] | Displays OSPF interface statistics and parameters. |
| List [M] | Displays the current DVMRP configuration. |
| Mcache [M] | Displays a list of currently active multicast forwarding cache entries. |
| MOSPF [C] | Sets the metric and threshold for the DVMRP interface running over MOSPF. This command also disables the MOSPF VIF. |
| Mstat [M] | Displays various multicast routing statistics. |
| Phyint [C] | Sets the metric and threshold for LAN interfaces associated with DVMRP. This command also deletes LAN interfaces associated with DVMRP |
| Tunnel [C] | Adds or deletes tunnels in a MOSPF/DVMRP configuration. |
Dump Routing Tables [C]
Displays the set of known DVMRP multicast sources. Each source is listed together with the DVMRP router it was learned from, an associated cost, and the number of seconds since the routing table entry was refreshed.
dump
Multicast Routing Table
Type Origin-Subnet From-Gateway Metric Age In Out-Vifs
DVMRP 1.0.0.0 199.94.207.10 9 45 0 1*
DVMRP 4.0.0.0 199.94.207.10 7 45 0 1*
DVMRP 9.0.0.0 199.94.207.10 10 45 0 1*
Group:224.0.1.12 Prune sent lifetime: 0 Graft send in progress:
Group:224.0.1.11 Prune sent lifetime: 0 Graft send in progress:
Group:224.2.100.102 Prune sent lifetime: 4925 Graft send in progress:
Group:224.2.100.100 Prune sent lifetime: 4920 Graft send in progress:
DVMRP [C]
Enables or disables DVMRP on the router.
off
Disables DVMRP on the router.
Exit [C] [M]
Returns to the previous prompt level.
exit
IGMP [C] [M]
Displays the IGMP configuration or monitoring prompt.
For information on the commands available at these prompts, see IGMP
Commands.
igmp
Internet Group Management Protocol Configuration
IGMP Config>
Syntax: interface interface-ip-address
Example:interface
Virtual Interface Table
Vif Local-Address Metric Thresh Flags
0 10.1.153.22 subnet: 10.1.153.0 1 1 querier
1 10.1.154.22 subnet: 10.1.154.0 1 1 down
List [M]
Displays the current DVMRP state (on or off), tunnel configuration information, and MOSPF configuration information.
list
DVMRP on
tunnel 192.190.7.2 192.52.71.21 1 32
MOSPF 1 1
Cache entries are cleared on topology changes (for example, a point-to-point line in the MOSPF system going up or down), and on group membership changes.
Note: The numbers displayed in the legend at the top of the output do NOT refer directly to VIFs, but instead refer to physical interfaces (which may be running either DVMRP or MOSPF) and tunnels.
Syntax: mcache Example:mcache
0: Eth/0 1: TKR/0 2: Internal
3: SL/0 4: 192.35.82.97Source Destination Count Upst Downstream
128.185.146.0 239.0.0.1 1 0 2,4
128.119.0.0 224.2.199.198 9 4 3
128.9.160.0 224.2.127.255 1 4 3
13.2.116.0 224.2.0.1 27 4 3
140.173.8.0 224.2.0.1 31 4 3
128.165.114.0 224.2.0.1 25 4 3
132.160.3.0 224.2.158.99 11 4 3
132.160.3.0 224.2.170.143 56 4 3
131.188.34.0 224.2.0.1 28 4 3
131.188.34.0 224.2.199.198 28 4 3
There is more information in a multicast forwarding cache entry. You can display a cache entry in detail by providing the source and destination of a matching datagram on the command line. If a matching cache entry is not found, one is built. A sample of this command is shown below:
Example: mcache 128.185.182.9 224.0.1.2
source Net: 128.185.182.0
Destination: 224.0.1.2
Use Count: 472
Upstream Type: Transit Net
Upstream ID: 128.185.184.114
Downstream: 128.185.177.11 (TTL = 2)
MOSPF [C]
Sets the metric and threshold for the DVMRP interface running over MOSPF or disables the MOSPF VIF.
When using a MOSPF domain to join DVMRP tunnels, DVMRP actually runs over MOSPF. When this occurs a DVMRP interface named "MOSPF VIF" (VIF or virtual interface) is automatically created. DVMRP tries to run over MOSPF automatically using the MOSPF VIF.
delete
Disables the MOSPF VIF. When MOSPF is enabled, DVMRP tries to run over MOSPF automatically using the MOSPF VIF.
Mstat [M]
Displays various multicast routing statistics. The command indicates whether multicast routing is enabled and whether the router is an inter-area and/or inter-AS multicast forwarder.
mstats
MOSPF forwarding: Enabled
Inter-area forwarding: Enabled
DVMRP forwarding: Enabled
Datagrams received: 164612 Datagrams (ext source): 0
Datagrams fwd (multicast):98807 Datagrams fwd (unicast): 0
Locally delivered: 0 No matching rcv interface: 0
Unreachable source: 0 Unallocated cache entries: 0
Off multicast tree: 77230 Unexpected DL multicast: 0
Buffer alloc failure: 0 TTL scoping: 0
# DVMRP routing entries: 1808 # DVMRP entries freed: 44
# fwd cache alloc: 25659 # fwd cache freed: 25574
# fwd cache GC: 0 # local group DB alloc: 1
# local group DB free: 0
The number of cache hits can be calculated as the number of datagrams received ("Datagrams received") minus the total of datagrams discarded due to "No matching rcv interface," "Unreachable source" and "Unallocated cache entries," and minus "# local group DB alloc." The number of cache misses is "# local group DB alloc."+
Phyint [C]
Sets the metric and threshold for LAN interfaces associated with DVMRP. This command also deletes LAN interfaces associated with DVMRP.
This example shows how to set a metric and threshold that is different from the default.
Example: phyint 128.185.251.1 5 8
This example shows how to delete metric and threshold settings for an interface.
Example: phyint 128.185.251.1 delete
Tunnel [C]
Adds tunnels or deletes tunnels in a MOSPF/DVMRP configuration.
Tunnel source [0.0.0.0]? 133.1.129.10
Tunnel destination [0.0.0.0]? 133.1.165.10
Tunnel source [0.0.0.0]? 133.1.129.10
Tunnel destination [0.0.0.0]? 133.1.165.10 1 32
Tunnel source [0.0.0.0]? 133.1.129.10 133.1.165.10 delete