Distance Vector Multicast Routing Protocol
The Distance Vector Multicast Routing Protocol (DVMRP), defined in RFC 1075, is a routing protocol used to share information between routers to facilitate the transportation of IP multicast packets among networks. It formed the basis of the Internet's historic multicast backbone, Mbone.
01Operation
The protocol is based on the Routing Information Protocol (RIP). The router generates a routing table with the multicast group of which it has knowledge with corresponding distances (i.e. number of devices/routers between the router and the destination). When a multicast packet is received by a router, it is forwarded by the router's interfaces specified in the routing table.
DVMRP operates via a reverse path flooding technique, sending a copy of a received packet (specifically IGMP messages for exchanging routing information with other routers) out through each interface except the one at which the packet arrived. If a router (i.e. a LAN which it borders) does not wish to be part of a particular multicast group, it sends a "prune message" along the source path of the multicast.
02Criticisms
Being a naïve distance-vector protocol, DVMRP has difficulties with network scaling in some topologies, primarily due to the periodic reflooding necessary to detect new hosts. This was more prevalent in early versions of the protocol, prior to the implementation of pruning. DVMRP's flat unicast routing mechanism, which is used to determine the source interface of a data stream, also affects its ability to scale.
Sources and credits
This article is adapted from the Wikipedia article “Distance Vector Multicast Routing Protocol”, written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.
Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.