Distance Vector Multicast Routing Protocol (DVMRP)
Distance Vector Multicast Routing Protocol (DVMRP) Overview
DVMRP is the original IP multicast routing protocol. It was designed to run over both multicast capable LANs (like Ethernet) as well as through non-multicast capable routers. In the case of non-multicast capable routers, the IP multicast packets are "tunneled" through the routers as unicast packets. Because DVMRP replicates the packets, it has an effect on performance, but has provided an intermediate solution for IP multicast routing on the Internet while router vendors decide to support native IP multicast routing.
When configured, DVMRP defaults to enabling all interfaces that are multicast capable.
ip dvmrp
Name
ip dvmrp - enables the DVMRP protocol
Syntax
ip dvmrp
no ip dvmrp
Mode
Interface Configuration
Parameters
none
Description
The ip dvmrp command enables the DVMRP protocol on the referenced interface. This command turns on both DVMRP tree-building operations and DVMRP routing. The command turns off both DVMRP tree building and routing.
Default
By default, DVMRP is not enabled on an interface.
Command History
NGC 2.2 - This command was introduced.
Examples
The following example enables DVMRP on interfaces eth0 and eth1.
(config)# interface eth0
(config-if)# ip dvmrp
(config-if)# exit
(config)# interface eth1
(config-if)# ip dvmrp
(config-if)# exit
(config)#
ip dvmrp distance
Name
ip dvmrp distance - configures the value that Advanced Routing Suite uses for DVMRP routes in the active route selection process
Syntax
ip dvmrp distance pref
no ip dvmrp distance pref?
Mode
Global Configuration
Parameters
pref - an integer between 0 and 255, inclusive
Description
The ip dvmrp distance command specifies how active routes that are learned from DVMRP will be selected, compared to other protocols. When a route has been learned from more than one protocol, the active route will be selected from the protocol with the lowest distance. This value applies to all interfaces on which DVMRP is running.
The negative form of this command, no ip dvmrp distance , removes the configured value and returns this to its default value of 70. Note: Specifying a value for pref in the no form has no effect on the configuration. Thus, it is displayed above as optional.
Default
If ip dvmrp distance is not specified, it is the same as if the user had specified the following:
(config)# ip dvmrp distance 70
Command History
NGC 2.2 - This command was introduced.
Examples
The following example configures the administrative distance for DVMRP to be 40.
(config)# ip dvmrp distance 40
ip dvmrp default-metric
Name
ip dvmrp default-metric - specifies the default value for the interface metric
Syntax
ip dvmrp default-metric value
no ip dvmrp default-metric value?
Mode
Global Configuration
Parameters
value - an integer ranging from 1 to 32, inclusive
Description
The ip dvmrp default-metric command specifies the default metric applied to all interfaces on which DVMRP is running. This value can be overridden at the interface level. (See "ip dvmrp metric-offset".)
The negative form of this command, no ip dvmrp default-metric , removes the configured value and returns this to its default value of 1. Note: Specifying a value for value in the no form has no effect on the configuration. Thus, it is displayed above as optional.
Default
If ip dvmrp default-metric is not specified, it is the same as if the user had specified the following:
(config)# ip dvmrp default-metric 1
Command History
NGC 2.2 - This command was introduced.
Examples
The following example configures a default metric of 10.
(config)# ip dvmrp default-metric 10
ip dvmrp disable
Name
ip dvmrp disable - disables DVMRP on an interface
Syntax
ip dvmrp disable
no ip dvmrp disable
Mode
Interface Configuration
Parameters
none
Description
The ip dvmrp disable command specifies that DVMRP messages received on the current interface must be ignored. The negative form of this command, no ip dvmrp disable , re-enables DVMRP on an interface.
Default
DVMRP runs on all interfaces by default.
Command History
NGC 2.2 - This command was introduced.
Examples
The following example disables DVMRP on interface fxp1.
(config)# interface fxp1
(config-if)# ip dvmrp disable
(config-if)# exit
(config)#
ip dvmrp metric-offset
Name
ip dvmrp metric-offset - specifies the default value for the interface metric
Syntax
ip dvmrp metric-offset in metric
no ip dvmrp metric-offset in metric?
Mode
Interface Configuration
Parameters
in - specify that this metric applies to the incoming interface
metric - an integer value ranging from 1 to 32, inclusive
Description
The ip dvmrp metric-offset command sets the metric to add to all routes learned from neighbors reached through this interface. The negative form of this command, no ip dvmrp metric-offset , removes the configured value and re-sets this to its default value of 1. Note: Specifying a value for metric in the no form has no effect on the configuration. Thus, it is displayed above as optional.
Default
If ip dvmrp metric-offset is not specified, it is the same as if the user had specified the following:
(config-if)# ip dvmrp metric-offset in 1
Command History
NGC 2.2 - This command was introduced.
Examples
Example 1
In the following example, a metric of 5 is added to the route metric for each route learned from neighbors reached through interface eth0.
(config)# interface eth0
(config-if)# ip dvmrp metric-offset in 5
(config-if)# exit
(config)#
Example 2
In the following example, a metric of 8 is added to the route metric for each route learned from neighbors reached through interface eth1.
(config)# interface eth1
(config-if)# ip dvmrp metric-offset in 8
(config-if)# exit
(config)#
ip dvmrp nodvmrpout
Name
ip dvmrp nodvmrpout - tells DVMRP to only listen on an interface
Syntax
ip dvmrp nodvmrpout
no ip dvmrp nodvmrpout
Mode
Interface Configuration
Parameters
none
Description
The ip dvmrp nodvmrpout command disables DVMRP as a speaker on an interface, although it will continue to listen and accept routes.
Default
By default, DVMRP acts as a speaker. Therefore, if ip dvmrp nodvmrpout is not specified, it is the same as if the user had specified the following:
(config-if)# no ip dvmrp nodvmrpout
Command History
NGC 2.2 - This command was introduced.
Examples
The following example causes interface eth0 to listen and accept routes, but not to act as a speaker.
(config)# interface eth0
(config-if)# ip dvmrp nodvmrpout
(config-if)# exit
(config)#
ip dvmrp noretransmit
Name
ip dvmrp noretransmit - specifies to refrain from re-sending DVMRP prune packets
Syntax
ip dvmrp noretransmit
no ip dvmrp noretransmit
Mode
Interface Configuration
Parameters
none
Description
The ip dvmrp noretransmit command configures Advanced Routing Suite to not perform the exponential backoff prune retransmission. After the transmission of the first prune, no additional prunes will be transmitted on reception of data until the prune lifetime has expired.
Default
The exponential backoff mechanism is performed by default. Therefore, if ip dvmrp noretransmit is not specified, it is the same as if the user had specified the following:
(config-if)# no ip dvmrp noretransmit
Command History
NGC 2.2 - This command was introduced.
Examples
The following example configures interface eth1 to not perform the exponential prune backoff mechanism.
(config)# interface eth1
(config-if)# ip dvmrp noretransmit
(config-if)# exit
(config)#
ip dvmrp prune-lifetime
Name
ip dvmrp prune-lifetime - specifies the maximum default lifetime of prunes in seconds
Syntax
ip dvmrp prune-lifetime time-seconds
no ip dvmrp prune-lifetime time-seconds?
Mode
Global Configuration
Parameters
time-seconds - an integer value representing a number of seconds ranging from 0 to 2,147,483,648, inclusive
Description
The ip dvmrp prune-lifetime command configures the maximum value to be placed into a prune message. The actual lifetime value is the minimum of all the downstream prunes for the source and a randomized value that falls between one-half the prune lifetime and the prune lifetime. The value is in seconds.
The negative form of this command, no dvmrp prune-lifetime , removes the configured time-seconds value and returns this to its default value of 7200 seconds for neighbors that support Generation ID and 300 seconds for neighbors that do not support Generation ID.
Note: Specifying a value for time-seconds in the no form has no effect on the configuration. Thus, it is displayed above as optional.
Default
If ip dvmrp prune-lifetime is not specified, it is the same as if the user had specified the following for neighbors that support Generation ID:
(config)# ip dvmrp prune-lifetime 7200
If ip dvmrp prune-lifetime is not specified, it is the same as if the user had specified the following for neighbors that do not support Generation ID:
(config)# ip dvmrp prune-lifetime 300
Command History
NGC 2.2 - This command was introduced.
Examples
The following example configures the prune lifetime to be 7000 seconds.
(config)# ip dvmrp prune-lifetime 7000
ip dvmrp trace file
Name
ip dvmrp trace file - specifies the file to receive tracing information, the size of the file, whether to overwrite existing files, and the maximum number of files allowed
Syntax
ip dvmrp trace file file_name [no-timestamp || overwrite]?
no ip dvmrp trace [no-timestamp || overwrite]?
Mode
Global Configuration
Parameters
file_name - specifies the name of the file to receive the tracing information. Note that the file name is not specified in quotes.
no-timestamp - specifies that a timestamp should not be prepended to all trace lines
overwrite - specifies to begin tracing by appending or truncating an existing file
Description
The trace file command is associated with each protocol, so that information pertaining to a single protocol can be written to its own file. For DVMRP, the ip dvmrp trace file command specifies a file for tracing of all DVMRP events. The negative form of this command disables this tracing. The specific events that are traced are controlled by the ip dvmrp trace flag command.
The no-timestamp option disables the pre-pending of a timestamp to all lines written to the trace file. The default is to prepend a timestamp to all lines written to a trace file.
The overwrite option specifies whether to start tracing by truncating or appending to an existing file.
Note: These options are not cumulative across multiple commands. Consider the following example:
(config)# ip dvmrp trace file /var/log/dvmrp.log no-timestamp
(config)# ip dvmrp trace file /var/log/dvmrp.log
The option given in the second command completely replaces that given in the first. In order to specify both no-timestamp and max-files 10 , they must be entered on the same line as follows.
(config)# ip dvmrp trace file /var/log/dvmrp.log no-timestamp
Default
DVMRP tracing is turned off by default.
Command History
NGC 2.2 - This command was introduced.
Examples
In the following example, DVMRP tracing is written to the file "/var/tmp/dvmrp.log". No timestamp will display at the beginning of the trace lines.
(config)# ip dvmrp trace file /var/tmp/dvmrp.log no-timestamp
ip dvmrp trace flag
Name
ip dvmrp trace flag - specifies DVMRP-specific tracing options as well as options that are common across all protocols
Syntax
ip dvmrp trace flag ( [ route | normal | state | policy |
task | timer | all ] ) | ( [ packets | probe |
report | prune | graft ] [ send | receive |
send-receive ]? [detail?] )
no ip dvmrp trace flag ( [ route | normal | state |
policy | task | timer | all ] ) | ( [ packets |
probe | report | prune | graft ] [ send |
receive | send-receive ]? [detail?] )
Mode
Global Configuration
Parameters
Flags common to all protocols:
[ route | normal | state | policy | task | timer | all ] - These tracing flags are common to all protocols. They cannot be associated with a send, receive, or send-receive action item. Similarly, you cannot specify to show detailed information when tracing these flags. These flags are defined as follows:
route - trace routing table changes for routes installed by this protocol or peernormal - trace normal protocol occurrences. Note: Abnormal protocol occurrences are always traced.state - trace state machine transition in the protocolpolicy - trace the application of protocol and user-specified policy to routes being imported or exportedtask - trace system interface and processing associated with this protocoltimer - trace timer usage by this protocolall - turns on all trace flags
DVMRP-specific flags:
[ packets | probe | report | prune | graft ] - These DVMRP-specific flags can be associated with the send, receive, or send-receive action items. These flags are defined as follows:
packets - trace all DVMRP packet typesprobe - trace DVMRP probe packetsreport - trace DVMRP report packetsprune - trace DVMRP prune packetsgraft - trace DVMRP graft packets
[send | receive | send-receive ]? - optionally specify whether to limit the tracing to packets sent, received, or both
[detail?] - optionally specify to use a more verbose format when displaying information about the contents of packets instead of one or two lines
Description
Use the ip dvmrp trace flag command to specify tracing flags for DVMRP tracing. Each flag must reside on its own configuration line. For example, you cannot specify to trace both probe and prune packets in the same command.
Default
The default is for no flags to be explicitly configured.
Command History
NGC 2.2 - This command was introduced.
Examples
In the following example, trace flags specify that both the sent and received prune and graft messages are traced in detail. This tracing information will be written to the file /var/tmp/dvmrp.log.
(config)# ip dvmrp trace file /var/tmp/dvmrp.log
(config)# ip dvmrp trace flag graft send-receive detail
(config)# ip dvmrp trace flag prune send-receive detail
ip dvmrp unicast-routing
Name
ip dvmrp unicast-routing - configures the interfaces to perform only DVMRP route exchange
Syntax
ip dvmrp unicast-routing
no ip dvmrp unicast-routing
Mode
Interface Configuration
Parameters
none
Description
The ip dvmrp unicast-routing command configures the specified interfaces to perform only DVMRP route exchange. This is different than the "ip dvmrp" command, which enables both tree-building operations and routing. When ip dvmrp unicast-routing is configured, the DVMRP multicast delivery tree-building operations will not be performed on the interface. The negative form of this command, no ip dvmrp unicast-routing , effectively disables DVMRP, as DVMRP tree-building operations require DVMRP routing functionality.
Default
Multicast delivery tree-building operations are performed by default. Therefore, if ip dvmrp unicast-routing is not specified, it is the same as if the user had specified the following:
(config-if)# ip-dvmrp unicast-routing
Command History
NGC 2.2 - This command was introduced.
Examples
Example 1
This command turns on DVMRP routing.
(config)# interface fxp0
(config-if)# ip dvmrp unicast-routing
(config-if)# exit
(config)#
Example 2
The following example turns on DVMRP routing (no tree building) on the interface. Note what the ip dvmrp command does: ip dvmrp turns on both DVMRP tree-building and routing. no ip dvmrp will turn off BOTH DVMRP tree-building and DVMRP routing.
The following sequence of commands can be used to go from BOTH tree-building and routing to just routing.
(config)# interface fxp0
(config-if)# ip dvmrp
(config-if)# end
Both DVMRP tree-building and routing are on as a result of the above commands. Now to migrate to just routing.
(config)# interface fxp0
(config-if)# no ip dvmrp
(config-if)# ip dvmrp unicast-routing
(config-if)# end
show ip dvmrp interfaces
Name
show ip dvmrp interfaces - displays information about the interfaces on which DVMRP is enabled
Syntax
show ip dvmrp interfaces
Mode
User Execution
Parameters
none
Description
The show ip dvmrp interfaces query displays information about all interfaces on which DVMRP is running.
Command History
NGC 2.2 - This command was introduced.
Examples
The following example returns information about all interfaces on which DVMRP is enabled.
> show ip dvmrp interfaces
eth1, 192.168.10.1, vif 1, with 3 DVMRP neighbors
5 bad DVMRP packets received, 2 bad DVMRP routes
received
eth2, 192.168.100.1, vif 2, with 1 DVMRP neighbor
0 bad DVMRP packets received, 0 bad DVMRP routes
received
Field Descriptions
The following table describes the fields that appear in the DVMRP Interfaces Query.
Field
|
Description
|
eth1
|
The physical interface name
|
192.168.10.1
|
The IPv4 address used on the interface by the DVMRP protocol
|
vif
|
The Vif number used to represent this interface to the kernel
|
DVMRP neighbors
|
The number of DVMRP neighbors reachable on the interface
|
packets
|
The number of bad DVMRP packets received on the interface
|
routes
|
The number of bad DVMRP routes received on the interface
|
show ip dvmrp neighbors
Name
show ip dvmrp neighbors - displays information about this router’s DVMRP neighbors
Syntax
show ip dvmrp neighbors
Mode
User Execution
Parameters
none
Description
The show ip dvmrp neighbors query displays information about all of this router’s DVMRP neighbors.
Command History
NGC 2.2 - This command was introduced.
Examples
The following example shows information returned for all DVMRP neighbors.
> show ip dvmrp neighbors
192.168.10.1 uptime 01:10:55, expires 00:00:25
via eth0, [version 3.255] [flags: GPM]
192.168.10.2 uptime 01:10:52, expires 00:00:21
via eth0, [version 3.255] [flags: GPM]
192.168.100.1 uptime 02:01:25, expires 00:00:19
via eth1, [version 3.255] [flags: GPM]
Field Descriptions
The following table describes the fields that appear in the DVMRP Neighbors Query.
Field
|
Description
|
192.168.10.1
|
The DVMRP neighbor address
|
uptime
|
Length of time the neighbor has been known. Expressed in hours:minutes:seconds.
|
expires
|
The length of time until the neighbor will be removed unless refreshed. Expressed in hours:minutes:seconds.
|
via
|
The interface through which the neighbor can be reached
|
version
|
The DVMRP version of the neighbor router
|
flags
|
The capabilities of the neighbor router
G: Neighbor supports GenID
P: Neighbor supports prune mechanism
M: Neighbors supports mtrace
|
show ip dvmrp route
Name
show ip dvmrp route - displays information about the routes in the DVMRP routing table
Syntax
show ip dvmrp route [ipv4-address | interface-name]?
Mode
User Execution
Parameters
ipv4-address - optionally specify a valid IPv4 address in dotted-quad notation
interface-name - optionally specify a physical interface name
Description
The show ip dvmrp route query displays information about the routes in the DVMRP routing table. When no parameter is given, then information about all DVMRP routes is displayed. When an IPv4 address is given, then information about the best match route is displayed. When a physical interface name is given, then information about only those reached through that interface are displayed.
Command History
NGC 2.2 - This command was introduced.
Examples
Example 1
The following example returns information about all DVMRP routes.
> show ip dvmrp route
10.5.0.0/16 [70/10] uptime 00:5:45, expires 00:01:10
via 192.168.20.1, fxp3
192.168.10.0/25 [70/5] uptime 01:23:55, expires 00:02:24
via 172.0.0.10, fxp0
192.168.10.1/25 [70/5] uptime 01:23:55, expires 00:02:24
via 172.0.0.20, fxp0
Example 2
The following example returns information for the best match routes to 192.168.10.1.
> show ip dvmrp route 192.168.10.1
DVMRP Routing Table - 1 Entry
192.168.10.0/25 [70/5] uptime 01:23:55, expires 00:02:24
via 172.0.0.10, fxp0
Example 3
The following example returns information about destinations reached through interface fxp0.
> show ip dvmrp route fxp0
DVMRP Routing Table - 1 Entry
192.168.10.0/25 [70/5] uptime 01:23:55, expires 00:02:24
via 172.0.0.10, fxp0
192.168.10.1/25 [70/5] uptime 01:23:55, expires 00:02:24
via 172.0.0.20, fxp0
Field Descriptions
The following table describes the fields that appear in the DVMRP Route to Source Query.
Field
|
Description
|
192.168.10.0/25
|
The source network
|
[70/5]
|
Preference/metric of a route
|
uptime
|
Length of time the route has been in the routing table. This is expressed in hours:minutes:seconds
|
expires
|
Length of time until the route will be removed, unless refreshed. This is expressed in hours:minutes:seconds
|
via
|
The nexthop router to source network
|
fxp0
|
The interface toward the source network
|
tunnel mode dvmrp
Name
tunnel mode dvmrp - configures Advanced Routing Suite to perform old-style DVMRP tunnel encapsulation
Syntax
tunnel mode dvmrp
no tunnel mode dvmrp
Mode
Interface Configuration
Parameters
none
Description
The tunnel mode dvmrp command configures Advanced Routing Suite to perform old-style DVMRP tunnel encapsulation. In old-style tunnel encapsulation, DVMRP control messages are non ip-ip encapsulated, but merely unicasted to the tunnel endpoint.
Default
If tunnel mode dvmrp is not specified, it is the same as if the user had specified the following:
(config-if)# no tunnel mode dvmrp
Command History
NGC 2.2 - This command was introduced.
Examples
In the following example, a tunnel is configured on logical interface 192.168.15.1 with a remote end point of 192.168.10.1. DVMRP tunnel mode is then enabled on the tunnel.
(config)# ipip-tunnel 192.168.15.1 192.168.10.1
(config)# interface 192.168.10.1
(config-if)# tunnel mode dvmrp
(config-if)# exit
(config)#
|