[Top] [Prev] [Next] [Bottom]

Using the DVMRP Protocol


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:

DVMRP Modes

You can run DVMRP/MOSPF in one of the following three modes. The modes are listed in order of increasing functionality.

DVMRP/MOSPF Interaction

You can use the router to join a MOSPF domain to the MBONE (see Mode 1 above), or to allow a MOSPF domain to glue together pieces of the MBONE (see Mode 2 above). The router does this by allowing a limited exchange of information between DVMRP and MOSPF.

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:

Running DVMRP over MOSPF

When using a MOSPF domain to join DVMRP tunnels, DVMRP actually runs over MOSPF. In this case, a DVMRP interface (VIF) named MOSPF is automatically created and DVMRP probes and updates are sent to the multicast address 239.0.0.1 (a group that all routers simultaneously running DVMRP and MOSPF join).

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:

Displaying the DVMRP Prompts

To display the DVMRP Config> prompt, enter protocol dvmrp at the Config> prompt.

Config>protocol dvmrp
Distance Vector Multicast Routing Protocol config console
DVMRP Config>

To display the DVMRP> prompt, enter protocol dvmrp at the + prompt.

+protocol dvmrp
DVMRP>

DVMRP Commands

This section describes the DVMRP commands.

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.

Table 1 DVMRP Commands

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.

Syntax: dump

Example: 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:

Type

Type of multicast sources (DVMRP)

Origin-Subnet

IP address of the originating subnet.

From-Gateway

IP address of the gateway from which the entry came.

Metric

Associated cost of that route.

Age

Age of routing table entry as the number of seconds since the routing table entry was refreshed.

In

DVMRP VIF that multicast datagram from the source must be received on.

Out-Vifs

VIF that sends the multicast datagrams. VIFs marked with an asterisk indicate that a datagram is only forwarded if there are group members on the attached network.

DVMRP [C]

Enables or disables DVMRP on the router.

Syntax: dvmrp

on
off

on

Enables DVMRP. Enabling DVMRP automatically assigns DVMRP to all LAN interfaces that are not running MOSPF.

Example: dvmrp on

off

Disables DVMRP on the router.

Example: dvmrp off

Exit [C] [M]

Returns to the previous prompt level.

Syntax: exit

Example: exit

IGMP [C] [M]

Displays the IGMP configuration or monitoring prompt. For information on the commands available at these prompts, see IGMP Commands.

Syntax: igmp

Example: igmp

Internet Group Management Protocol Configuration
IGMP Config>

Interface Summary [M]

Displays current list of DVMRP interfaces (or VIFs).

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

Vif

Number assigned to DVMRP interfaces (or VIFs) command. Each VIF is assigned a number, which is used to identify the VIF in other commands

Local Address

Local IP address of the DVMRP interface.

Metric

The metric configured on this interface

Threshold

The threshold configured on this interface

Flags

Displays whether the VIF is down or that the router is the querier (sender of IGMP Host Membership Queries) on the interface.

List [M]

Displays the current DVMRP state (on or off), tunnel configuration information, and MOSPF configuration information.

Syntax: list

Example: list

DVMRP on
tunnel 192.190.7.2 192.52.71.21 1 32
MOSPF 1 1

Mcache [M]

Displays a list of currently active multicast cache entries. Multicast cache entries are built on demand, whenever the first matching multicast datagram is received. There is a separate cache entry (and therefore a separate route) for each datagram source network and destination group combination.

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.97

Source 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

Source

Source network/subnet of matching datagrams.

Destination

Destination group of matching datagrams.

Count

Number of entries processed for that multicast group.

Upstream

Neighboring network/router from which the datagram must be received in order to be forwarded. When this is "none," the datagram is never forwarded.

Downstream

Downstream interfaces/neighbors to which the datagram is forwarded. When this is 0, the datagram is not forwarded.

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)

In addition to the information shown in the short form of the mcache command, the following fields are displayed:
Upstream Type

The type of node from which the datagram must be received to be forwarded. Possible values are

none— The datagram is not forwarded.

router— The datagram must be received over a point-to-point connection.

transit network, stub network, or external— the datagram is expected to be received from another Autonomous System.

Downstream

Prints a separate line for each interface or neighbor to which the datagram is sent. A TTL value is also given, indicating that datagrams forwarded out of or to this interface must have at least the specified TTL value in their IP header. When the router is itself a member of the multicast group, a line specifying internal Application appears as one of the downstream interfaces/neighbors.

MOSPF [C]

Sets the metric and threshold for the DVMRP interface running over MOSPF or disables the MOSPF VIF.

Syntax: mospf

metric threshold
delete

metric threshold

Sets the metric and threshold for the MOSPF VIF. Default values for the metric and threshold parameters are 1.

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.

Example: mospf 1 1

delete

Disables the MOSPF VIF. When MOSPF is enabled, DVMRP tries to run over MOSPF automatically using the MOSPF VIF.

Example: mospf delete

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.

Syntax: mstats

Example: 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

MOSPF forwarding

Displays whether the router forwards IP multicast datagrams.

Inter-area multicast

Displays whether the router forwards IP multicast datagrams between areas.

DVMRP multicast

Displays whether the router forwards IP multicast datagrams between DVMRP enabled router interfaces.

Datagrams received

Multicast datagrams received (datagrams whose destination group lies in the range 224.0.0.1 - 224.0.0.255 are not included in this total).

Datagrams (ext source)

Datagrams received whose source is outside the AS.

Datagrams fwd (multicast)

Datagrams that have been forwarded as data-link multicasts (this includes packet replications, when necessary, so this count could be greater than the number received).

Datagrams fwd (unicast)

Datagrams forwarded as data-link unicasts.

Locally delivered

Datagrams forwarded to internal applications.

No matching rcv interface

Datagrams received by a non-inter-AS multicast forwarder on a non-MOSPF interface.

Unreachable source

Datagrams whose source address was unreachable.

Unallocated cache entries

Datagrams whose cache entries could not be created due to resource shortages.

Off multicast tree

Datagrams that were not forwarded either because there was no upstream neighbor or no downstream interfaces/neighbors in the matching cache entry.

Unexpected DL multicast

Datagrams received as data-link multicasts on interfaces configured for data-link unicast.

Buffer alloc failure

Datagrams that could not be replicated because of buffer shortages.

TTL scoping

Datagrams not forwarded because their TTL indicated that they could never reach a group member.

# fwd cache alloc

Cache entries allocated. The current forwarding cache size is the number of entries allocated ("# fwd cache alloc") minus the number of cache entries freed ("# fwd cache freed").

# fwd cache freed

Cache entries freed. The current forwarding cache size is the number of entries allocated ("# fwd cache alloc") minus the number of cache entries freed ("# fwd cache freed").

# fwd cache GC

Cache entries were cleared because they were not recently used and the cache overflowed.

# local group DB alloc

Local group database entries allocated. The number allocated ("# local group DB alloc") minus the number freed ("# local group DB free") equals the current size of the local group database.

# local group DB free

Local group database entries freed. The number allocated ("# local group DB alloc") minus the number freed ("# local group DB free") equals the current size of the local group database.

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.

Syntax: phyint

interface address metric threshold
interface address delete
Sets the metric and threshold for LAN interfaces associated with DVMRP. Default values for the metric and threshold parameters are 1. This example shows how to add default metric and thresholds to an interface.

Example: phyint 128.185.251.1

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.

Syntax: tunnel

source-adr destination-addr metric threshold
source-addr destination-addr delete
When you add a tunnel, the metric and threshold default to 1 unless you specify a different metric or threshold. This example shows how to add a tunnel using the default metric and threshold.

Example: tunnel

Tunnel source [0.0.0.0]? 133.1.129.10
Tunnel destination [0.0.0.0]? 133.1.165.10

This example shows how to add a tunnel that has a metric and threshold other than the default. Enter the metric and threshold after the tunnel destination address.

Example: tunnel

Tunnel source [0.0.0.0]? 133.1.129.10
Tunnel destination [0.0.0.0]? 133.1.165.10 1 32

This example shows how to delete a tunnel. Enter delete after the tunnel destination address. Note that to delete a tunnel, you must enter the entire command on one line.

Example: tunnel

Tunnel source [0.0.0.0]? 133.1.129.10 133.1.165.10 delete



[Top] [Prev] [Next] [Bottom]

docs@openroute.com
Copyright © 1998, OpenROUTE Networks, Inc. All rights reserved.