Distance Vector Multicast Routing Protocol (DVMRP) is an Internet routing protocol that provides an efficient mechanism for connectionless message multicast to a group of hosts across an internetwork. DVMRP is an "interior gateway protocol" (IGP); suitable for use within an autonomous system, but not between different autonomous systems. DVMRP is not currently developed for use in routing non-multicast datagrams, so a router that routes both multicast and unicast datagrams must run two separate routing processes.
DVMRP is developed based upon RIP. DVMRP combines many of the features of RIP with the Truncated Reverse Path Broadcasting (TRPB) algorithm. In addition, to allow experiments to traverse networks that do not support multicasting, a mechanism called tunneling was developed. The key differences of DVMRP from RIP are: RIP routes and forwards datagrams to a particular destination. The purpose of DVMRP is to keep track of the return paths to the source of multicast datagrams.
DVMRP packets are encapsulated in IP datagrams, with an IP protocol number of 2 (IGMP).
Protocol Structure
DVMRP uses the IGMP to exchange routing datagrams. DVMRP datagrams are composed of two portions: a small, fixed length IGMP header, and a stream of tagged data.
|
4 bits |
8 bits | 16 bits | 24 bits | 32 bits |
| Version | Type | Sub-Type | Checksum | |
| DVMRP Data stream | ||||
Version C The current version is 1.
Type C DVMRP type is 3.
Sub-type - The subtype is one of:
- 1 = Response; the message provides routes to some destination(s).
- 2 = Request; the message requests routes to some destination(s).
- 3 = Non-membership report; the message provides non-membership report(s).
- 4 = Non-membership cancellation; the message cancels previous non-membership report(s).
Checksum -- one"s complement of the one"s complement sum of the DVMRP message. The checksum must be calculated upon transmission and must be validated on reception of a packet. The checksum of the DVMRP message should be calculated with the checksum field set to zero.
Sponsor Source: DVMRP is defined by IETF (http://www.ietf.org) RFC1075.
Reference: http://www.javvin.com/protocol/rfc1075.pdf: Distance Vector Multicast Routing Protocol
