DVMRP


The Distance Vector Multicast Routing Protocol (DVMRP) provides connectionless datagram delivery to a group of hosts across an internetwork. DVMRP is a distributed protocol that dynamically generates IP multicast delivery trees 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 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. 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. Table 9.8 lists the DVMRP standard supported by the JUNOS software.

Table 9.8. DVMRP Standard Supported by JUNOS Software
Standard Title
IETF draft draft-ietf-idmr-dvmrp-v3-10.txt Distance Vector Multicast Routing Protocol

DVMRP Packet Formats

All DVMRP packets have a common 4-byte header that consists of the following fields:

  • Type ”IGMP packet type, which is always 0x13

  • Code ”DVMRP packet type

  • Checksum ”Standard IP checksum

  • Minor version ”DVMRP minor version, which is always 0xFF

  • Major version ”DVMRP major version, which is always 3

When a DVMRP router is configured to run on an interface, it multicasts probe messages to inform other DVMRP routers that it is operational. These messages allow the routers to locate each other and to determine their capabilities, and they provide a keepalive function. Probe messages consist of the DVMRP header plus the following fields:

  • Capabilities ”Router capabilities

  • Generation ID ”Indication of the age of prune information

  • Neighbor addresses ”Addresses of neighbors as determined from prune messages

Route report messages contain routing information that is used to determine the reverse path neighbor back to the source of the multicast traffic. These messages consist of the DVMRP header plus the following fields:

  • Mask ”Mask value of the source network

  • Source network ”Source network addresses

  • Metric ”Metric associated with the route

When the routers at the leaves of the multicast tree begin to receive unwanted multicast traffic, they send prune messages upstream toward the source. These messages consist of the DVMRP header plus the following fields:

  • Source host address ”IP address of the source of the datagram that triggered the prune

  • Group address ”IP address of the destination group of the datagram that triggered the prune

  • Prune lifetime ”Number of seconds the upstream neighbor should keep the prune active

  • Source network mask ”Network mask of the route to which this prune applies

After a multicast delivery tree has been pruned back, DVMRP sends graft messages to join new receivers onto the multicast tree. These messages consist of the DVMRP header plus the following fields:

  • Source host address ”IP address of the source host or network to graft

  • Group address ”IP address of the destination group to graft

  • Source network mask ”Network mask of the route to which this graft applies

DVMRP sends graft acknowledgment packets to ensure that the information in graft messages is correct. These messages consist of the DVMRP header plus the following fields:

  • Source host address ”IP address of the source host received in the graft message

  • Group address ”IP address of the destination group received in the graft message

  • Source network mask ”Network mask of the route to which this graft applies

Configuring DVMRP

For DVMRP to operate on an interface, you must configure it by including the following statements:

 [edit protocols] dvmrp {   disable;   export [  policy-names  ];   import [  policy-names  ];   interface  interface-name  {     disable;     hello-interval  seconds  ;     metric  metric  ;     mode (forwarding  unicast-routing);   }   rib-group  group-name2  ;   traceoptions {     file  name  <replace> <size  size  > <files  number  > <no-stamp> <(world-readable  no-world-readable)>;     flag  flag  <  flag-modifier  > <disable>;   } } routing-options {   interface-routes {     rib-group  group-name1  ;   }   rib-groups {  group-name1  {       import-rib [ inet.0 inet.2 ];     }     group-name2 {       import-rib inet.2;       export-rib inet.2;     }   } } 

If you have configured PIM on an interface, you can configure DVMRP in unicast-routing mode only. You cannot configure PIM and DVMRP in forwarding mode at the same time.

Modifying the DVMRP Hold-Time Period

The DVMRP hold-time period is the amount of time a neighbor should consider the sending router (this router) to be operative (up). The default hold-time period is 35 seconds. To modify the hold-time value for the local router, include the hold-time statement. The hold-time period can range from 1 through 255 seconds.

 [edit protocols dvmrp interface  interface-name  ] hold-time  seconds  ; 
Modifying the Metric Value

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. By default, a metric value of 1 is associated with each DVMRP route. To modify the metric value, include the metric statement. The metric can range from 1 through 31.

 [edit protocols dvmrp interface  interface-name  ] metric  metric  ; 
Disabling DVMRP on an Interface

To disable DVMRP on an interface, include the disable statement:

 [edit protocols dvmrp interface  interface-name  ] disable; 
Configuring DVMRP Routing Policy

To apply policies to routes being imported into the routing table from DVMRP, include the import statement, listing the names of one or more policy filters to be evaluated. If you specify more than one policy, they are evaluated in the order specified, from first to last, and the first matching policy is applied to the route. If no match is found, DVMRP shares with the routing table only those routes that were learned from DVMRP routers.

 [edit protocols dvmrp] import [  policy-names  ]; 

For more information about routing policy, see Chapter 8, "Routing Policy and Firewall Filters," on page 301.

To apply policies to routes being exported from the routing table into DVMRP, include the export statement, listing the names of one or more policies to be evaluated. If you specify more than one policy, they are evaluated in the order specified, from first to last, and the first matching policy is applied to the route. If no match is found, the routing table exports into DVMRP only the routes that it learned from DVMRP and direct routes.

 [edit protocols dvmrp] export [  policy-names  ]; 
Configuring DVMRP Routing Modes

You can configure DVMRP for either forwarding or unicast-routing modes. In forwarding mode, DVMRP operates its protocol normally (for example, it does the routing as well as multicast data forwarding). In unicast routing mode, you can use DVMRP for unicast routing only; the actual forwarding of multicast data is done by enabling PIM on that interface.

The default mode is forwarding. To configure DVMRP for unicast routing, include the mode unicast-routing statement:

 [edit protocols dvmrp interface  interface-name  ]  mode unicast-routing; 
Tracing DVMRP Protocol Traffic

To trace DVMRP protocol traffic, specify DVMRP-specific options by including the traceoptions statement:

 [edit protocols dvmrp] traceoptions {   file  name  <replace> <size  size  > <files  number  > <no-stamp>     <(world-readable  no-world-readable)>;   flag  flag  <  flag-modifier  > <disable>; } 

For more information about tracing and global tracing options, see the JUNOS technical documentation.

You can specify the following DVMRP-specific options in the DVMRP traceoptions statement:

  • all ” All DVMRP information

  • general ” General events

  • graft ” Graft messages

  • neighbor ” Neighbor probe messages

  • normal ” Normal events

  • packets ” All DVMRP packets

  • poison ” Poison-route-reverse packets

  • policy ” Policy processing

  • probe ” Probe packets

  • prune ” Prune messages

  • report ” DVMRP route report packets

  • route ” Routing information

  • state ” State transitions

  • task ” Routing protocol task processing

  • timer ” Routing protocol timer processing



Juniper Networks Field Guide and Reference
Juniper Networks Field Guide and Reference
ISBN: 0321122445
EAN: 2147483647
Year: 2002
Pages: 185

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net