Examples: Configuring DVMRP
Understanding DVMRP
Distance Vector Multicast Routing Protocol (DVMRP) was deprecated in Junos OS Release 16.1. Although DVMRP commands continue to be available and configurable in the CLI, they are no longer visible and are scheduled for removal in a subsequent release.
The Distance Vector Multicast Routing Protocol (DVMRP) is a distance-vector routing protocol that provides connectionless datagram delivery to a group of hosts across an internetwork. DVMRP is a distributed protocol that dynamically generates IP multicast delivery trees by using a technique called reverse-path multicasting (RPM) to forward multicast traffic to downstream interfaces. These mechanisms allow the formation of shortest-path trees, which are used to reach all group members from each network source of multicast traffic.
DVMRP is designed to be used as an interior gateway protocol (IGP) within a multicast domain.
Because not all IP routers support native multicast routing, DVMRP includes direct support for tunneling IP multicast datagrams through routers. The IP multicast datagrams are encapsulated in unicast IP packets and addressed to the routers that do support native multicast routing. DVMRP treats tunnel interfaces and physical network interfaces the same way.
DVMRP routers dynamically discover their neighbors by sending neighbor probe messages periodically to an IP multicast group address that is reserved for all DVMRP routers.
Configuring DVMRP
Distance Vector Multicast Routing Protocol (DVMRP) was deprecated in Junos OS Release 16.1. Although DVMRP commands continue to be available and configurable in the CLI, they are no longer visible and are scheduled for removal in a subsequent release.
Distance Vector Multicast Routing Protocol (DVMRP) is the first of the multicast routing protocols and has a number of limitations that make this method unattractive for large-scale Internet use. DVMRP is a dense-mode-only protocol, and uses the flood-and-prune or implicit join method to deliver traffic everywhere and then determine where the uninterested receivers are. DVMRP uses source-based distribution trees in the form (S,G).
To configure the Distance Vector Multicast Routing Protocol
(DVMRP), include the dvmrp
statement:
dvmrp { disable; export [ policy-names ]; import [ policy-names ]; interface interface-name { disable; hold-time seconds; metric metric; mode (forwarding | unicast-routing); } rib-group group-name; traceoptions { file filename <files number> <size size> <world-readable | no-world-readable>; flag flag <flag-modifier> <disable>; } }
You can include this statement at the following hierarchy levels:
[edit protocols]
[edit logical-systems logical-system-name protocols]
By default, DVMRP is disabled.
Example: Configuring DVMRP
This example shows how to use DVMRP to announce routes used for multicast routing as well as multicast data forwarding.
Distance Vector Multicast Routing Protocol (DVMRP) was deprecated in Junos OS Release 16.1. Although DVMRP commands continue to be available and configurable in the CLI, they are no longer visible and are scheduled for removal in a subsequent release.
Requirements
Before you begin:
Configure the router interfaces.
Configure an interior gateway protocol or static routing. See the Junos OS Routing Protocols Library for Routing Devices.
Overview
DVMRP is a distance vector protocol for multicast. It is similar to RIP, in that both RIP and DVMRP have issues with scalability and robustness. PIM domains are more commonly used than DVMRP domains. In some environments, you might need to configure interoperability with DVMRP.
This example includes the following DVMRP settings:
protocols dvmrp rib-group—Associates the dvmrp-rib routing table group with the DVMRP protocol to enable multicast RPF lookup.
protocols dvmrp interface—Configures the DVMRP interface. The interface of a DVMRP router can be either a physical interface to a directly attached subnetwork or a tunnel interface to another multicast-capable area of the Multicast Backbone (MBone). The DVMRP hold-time period is the amount of time that a neighbor is to consider the sending router (this router) to be operative (up). The default hold-time period is 35 seconds.
protocols dvmrp interface hold-time—The DVMRP hold-time period is the amount of time that a neighbor is to consider the sending router (this router) to be operative (up). The default hold-time period is 35 seconds.
protocols dvmrp interface metric—All interfaces can be configured with a metric specifying cost for receiving packets on a given interface. The default metric is 1.
For each source network reported, a route metric is associated with the unicast route being reported. The metric is the sum of the interface metrics between the router originating the report and the source network. A metric of 32 marks the source network as unreachable, thus limiting the breadth of the DVMRP network and placing an upper bound on the DVMRP convergence time.
routing-options rib-groups—Enables DVMRP to access route information from the unicast routing table, inet.0, and from a separate routing table that is reserved for DVMRP. In this example, the first routing table group named ifrg contains local interface routes. This ensures that local interface routes get added to both the inet.0 table for use by unicast protocols and the inet.2 table for multicast RPF check. The second routing table group named dvmrp-rib contains inet.2 routes.
DVMRP needs to access route information from the unicast routing table, inet.0, and from a separate routing table that is reserved for DVMRP. You need to create the routing table for DVMRP and to create groups of routing tables so that the routing protocol process imports and exports routes properly. We recommend that you use routing table inet.2 for DVMRP routing information.
routing-options interface-routes— After defining the ifrg routing table group, use the
interface-routes
statement to insert interface routes into the ifrg group—in other words, into both inet.0 and inet.2. By default, interface routes are imported into routing table inet.0 only.sap—Enables the Session Directory Announcement Protocol (SAP) and the Session Directory Protocol (SDP). Enabling SAP allows the router to receive announcements about multimedia and other multicast sessions.
SAP always listens to the address and port 224.2.127.254:9875 for session advertisements. To add other addresses or pairs of address and port, include one or more
listen
statements.Sessions learned by SDP, SAP's higher-layer protocol, time out after 60 minutes.
Configuration
Procedure
CLI Quick Configuration
To quickly configure this example, copy the
following commands, paste them into a text file, remove any line breaks,
change any details necessary to match your network configuration,
and then copy and paste the commands into the CLI at the [edit]
hierarchy level.
set routing-options interface-routes rib-group inet ifrg set routing-options rib-groups ifrg import-rib inet.0 set routing-options rib-groups ifrg import-rib inet.2 set routing-options rib-groups dvmrp-rib export-rib inet.2 set routing-options rib-groups dvmrp-rib import-rib inet.2 set protocols sap set protocols dvmrp rib-group dvmrp-rib set protocols dvmrp interface ip-0/0/0.0 metric 5 set protocols dvmrp interface ip-0/0/0.0 hold-time 40
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the Junos OS CLI User Guide.
To configure an MSDP routing instance:
Create the routing tables for DVMRP routes.
[edit routing-options] user@host# set interface-routes rib-group inet ifrg user@host# set rib-groups ifrg import-rib [ inet.0 inet.2 ] user@host# set rib-groups dvmrp-rib import-rib inet.2 user@host# set rib-groups dvmrp-rib export-rib inet.2
Configure SAP and SDP.
[edit protocols] user@host# set sap
Enable DVMRP on the router and associate the dvmrp-rib routing table group with DVMRP to enable multicast RPF checks.
[edit protocols] user@host# set dvmrp rib-group dvmrp-rib
Configure the DVMRP interface with a hold-time value and a metric. This example shows an IP-over-IP encapsulation tunnel interface.
[edit protocols] user@host# set dvmrp interface ip–0/0/0.0 user@host# set dvmrp interface ip–0/0/0.0 hold-time 40 user@host# set dvmrp interface ip–0/0/0.0 metric 5
If you are done configuring the device, commit the configuration.
user@host# commit
Results
Confirm your configuration by entering the show
routing-options
command and the show protocols
command
from configuration mode. If the output does not display the intended
configuration, repeat the instructions in this example to correct
the configuration.
user@host# show routing-options interface-routes { rib-group inet ifrg; } rib-groups { ifrg { import-rib [ inet.0 inet.2 ]; } dvmrp-rib { export-rib inet.2; import-rib inet.2; } }
user@host# show protocols sap; dvmrp { rib-group dvmrp-rib; interface ip-0/0/0.0 { metric 5; hold-time 40; } }
Verification
To verify the configuration, run the following commands:
show dvmrp interfaces
show dvmrp neighbors
Example: Configuring DVMRP to Announce Unicast Routes
Distance Vector Multicast Routing Protocol (DVMRP) was deprecated in Junos OS Release 16.1. Although DVMRP commands continue to be available and configurable in the CLI, they are no longer visible and are scheduled for removal in a subsequent release.
This example shows how to use DVMRP to announce unicast routes used solely for multicast reverse-path forwarding (RPF) to set up the multicast control plane.
Requirements
Before you begin:
Configure the router interfaces.
Configure an interior gateway protocol or static routing. See the Junos OS Routing Protocols Library for Routing Devices.
Overview
DVMRP has two modes. Forwarding mode is the default mode. In forwarding mode, DVMRP is responsible for the multicast control plane and multicast data forwarding. In the nondefault mode (which is shown in this example), DVMRP does not forward multicast data traffic. This mode is called unicast routing mode because in this mode DVMRP is only responsible for announcing unicast routes used for multicast RPF—in other words, for establishing the control plane. To forward multicast data, enable Protocol Independent Multicast (PIM) on the interface. If you have configured PIM on the interface, as shown in this example, you can configure DVMRP in unicast-routing mode only. You cannot configure PIM and DVMRP in forwarding mode at the same time.
This example includes the following settings:
policy-statement dvmrp-export—Accepts static default routes.
protocols dvmrp export dvmrp-export—Associates the dvmrp-export policy with the DVMRP protocol.
All routing protocols use the routing table to store the routes that they learn and to determine which routes they advertise in their protocol packets. Routing policy allows you to control which routes the routing protocols store in and retrieve from the routing table. Import and export policies are always from the point of view of the routing table. So the dvmrp-export policy exports static default routes from the routing table and accepts them into DVMRP.
protocols dvmrp interface all mode unicast-routing—Enables all interfaces to announce unicast routes used solely for multicast RPF.
protocols dvmrp rib-group inet dvmrp-rg—Associates the dvmrp-rib routing table group with the DVMRP protocol to enable multicast RPF checks.
protocols pim rib-group inet pim-rg—Associates the pim-rg routing table group with the PIM protocol to enable multicast RPF checks.
routing-options rib inet.2 static route 0.0.0.0/0 discard—Redistributes static routes to all DVMRP neighbors. The inet.2 routing table stores unicast IPv4 routes for multicast RPF lookup. The discard statement silently drops packets without notice.
routing-options rib-groups dvmrp-rg import-rib inet.2—Creates the routing table for DVMRP to ensure that the routing protocol process imports routes properly.
routing-options rib-groups dvmrp-rg export-rib inet.2—Creates the routing table for DVMRP to ensure that the routing protocol process exports routes properly.
routing-options rib-groups pim-rg import-rib inet.2—Enables access to route information from the routing table that stores unicast IPv4 routes for multicast RPF lookup. In this example, the first routing table group named pim-rg contains local interface routes. This ensures that local interface routes get added to the inet.2 table.
Topology
Configuration
Procedure
CLI Quick Configuration
To quickly configure this example, copy the
following commands, paste them into a text file, remove any line breaks,
change any details necessary to match your network configuration,
copy and paste the commands into the CLI at the [edit]
hierarchy
level, and then enter commit
from configuration mode.
set policy-options policy-statement dvmrp-export term 10 from protocol static set policy-options policy-statement dvmrp-export term 10 from route-filter 0.0.0.0/0 exact set policy-options policy-statement dvmrp-export term 10 then accept set protocols dvmrp rib-group inet set protocols dvmrp rib-group dvmrp-rg set protocols dvmrp export dvmrp-export set protocols dvmrp interface all mode unicast-routing set protocols dvmrp interface fxp0.0 disable set protocols pim rib-group inet pim-rg set protocols pim interface all set routing-options rib inet.2 static route 0.0.0.0/0 discard set routing-options rib-groups pim-rg import-rib inet.2 set routing-options rib-groups dvmrp-rg export-rib inet.2 set routing-options rib-groups dvmrp-rg import-rib inet.2
Step-by-Step Procedure
The following example requires you to navigate various levels in the configuration hierarchy. For information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the Junos OS CLI User Guide.
To configure an MSDP routing instance:
Configure the routing options.
[edit routing-options] [edit routing -options] user@host# set rib inet.2 static route 0.0.0.0/0 discard user@host# set rib-groups pim-rg import-rib inet.2 user@host# set rib-groups dvmrp-rg import-rib inet.2 user@host# set rib-groups dvmrp-rg export-rib inet.2
Configure DVMRP.
[edit protocols] user@host# set dvmrp rib-group inet dvmrp-rg user@host# set dvmrp export dvmrp-export user@host# set dvmrp interface all mode unicast-routing user@host# set dvmrp interface fxp0 disable
Configure PIM so that PIM performs multicast data forwarding.
[edit protocols] user@host# set pim rib-group inet pim-rg user@host# set pim interface all
Configure the DVMRP routing policy.
[edit policy-options policy-statement dvmrp-export term 10] user@host# set from protocol static user@host# set from route-filter 0.0.0.0/0 exact user@host# set then accept
If you are done configuring the device, commit the configuration.
user@host# commit
Results
Confirm your configuration by entering the show policy-options command, the show protocols command, and the show routing-options command from configuration mode. If the output does not display the intended configuration, repeat the instructions in this example to correct the configuration.
user@host# show policy-options policy-statement dvmrp-export { term 10 { from { protocol static; route-filter 0.0.0.0/0 exact; } then accept; } }
user@host# show protocols dvmrp { rib-group inet dvmrp-rg; export dvmrp-export; interface all { mode unicast-routing; } interface fxp0.0 { disable; } } pim { rib-group inet pim-rg; interface all; }
user@host# show routing-options rib inet.2 { static { route 0.0.0.0/0 discard; } } rib-groups { pim-rg { import-rib inet.2; } dvmrp-rg { export-rib inet.2; import-rib inet.2; } }
Verification
To verify the configuration, run the following commands:
show dvmrp interfaces
show pim statistics
Tracing DVMRP Protocol Traffic
Distance Vector Multicast Routing Protocol (DVMRP) was deprecated in Junos OS Release 16.1. Although DVMRP commands continue to be available and configurable in the CLI, they are no longer visible and are scheduled for removal in a subsequent release.
Tracing operations record detailed messages about the operation of routing protocols, such as the various types of routing protocol packets sent and received, and routing policy actions. You can specify which trace operations are logged by including specific tracing flags. The following table describes the flags that you can include.
Flag |
Description |
---|---|
all |
Trace all operations. |
general |
Trace general flow. |
graft |
Trace graft messages. |
neighbor |
Trace neighbor probe packets. |
normal |
Trace normal events. |
packets |
Trace all DVMRP packets. |
poison |
Trace poison-route-reverse packets. |
policy |
Trace policy processing. |
probe |
Trace probe packets. |
prune |
Trace prune messages. |
report |
Trace membership report messages. |
route |
Trace routing information. |
state |
Trace state transitions. |
task |
Trace task processing. |
timer |
Trace timer processing. |
In the following example, tracing is enabled for all routing protocol packets. Then tracing is narrowed to focus only on DVMRP packets of a particular type. To configure tracing operations for DVMRP:
See Also
Change History Table
Feature support is determined by the platform and release you are using. Use Feature Explorer to determine if a feature is supported on your platform.