DVMRP-DISTANCE VECTOR MULTICAST
ROUTING PROTOCOL
Distance-vector
routing,for unicast, can be extended to support multicast. The resulting
protocol is called Distance Vector
Multicast Routing Protocol, or DVMRP. DVMRP was the first multicast routing
protocol to see widespread use.
Recall
that, in the distance-vector algorithm, each router maintains a table of
_Destination, Cost, NextHop_ tuples, and exchanges a list of _Destination,
Cost_ pairs with its directly connected neighbors.
Extending
this algorithm to support multicast is a two-stage process. First, we create a
broadcast mechanism that allows a packet to be forwarded to all the networks on
the internet. Second, we need to refine this mechanism so that it prunes back
networks that do not have hosts that belong to the multicast group.
Consequently,
DVMRP is one of several multicast routing protocols described as flood-and-prune protocols.
Given a
unicast routing table, each router knows that the current shortest path to a
given destination goes through NextHop. Thus, whenever it receives a multicast
packet from source S, the router forwards the packet on all outgoing links
(except the one on which the packet arrived) if and only if the packet arrived
over the link that is on the shortest path to S (i.e., the packet came from the NextHop associated with S in
the routing table). This strategy effectively floods packets outward from S,
but does not loop packets back toward S.
There are
two major shortcomings to this approach. The first is that it truly floods the
network; it has no provision for avoiding LANs that have no members in the
multicast group. We address this problem below. The second limitation is that a
given packet will be forwarded over a LAN by each of the routers connected to
that LAN. This is due to the forwarding strategy of flooding packets on all
links other than the one on which the packet arrived, without regard to whether
or not those links are part of the shortest-path tree rooted at the source.
The
solution to this second limitation is to eliminate the duplicate broadcast
packets that are
generated
when more than one router is connected to a given LAN. One way to do this is to
designate one router as the “parent” router for each link, relative to the
source, where only the
parent
router is allowed to forward multicast packets from that source over the LAN.
The router that has the shortest path to source S is selected as the parent; a
tie between two routers would be broken according to which router has the
smallest address. A given router can learn if it is the parent for the LAN
(again relative to each possible source) based upon the distance-vector
messages
it exchanges with its neighbors.
The
second stage is to propagate this “no members of G here” information up the
shortest-path tree. This is done by having the router augment the _
Destination, Cost _ pairs it sends to its neighbors with the set of groups for
which the leaf network is interested in receiving multicast packets. This
information can then be propagated from router to router, so that for each of
its links, a given router knows for what groups it should forward multicast
packets.
Note that
including all of this information in the routing update is a fairly expensive
thing to do. In practice, therefore, this information is exchanged only when
some source starts sending packets to that group. In other words, the strategy
is to use RPB, which adds a small amount of overhead to the basic
distance-vector algorithm, until a particular multicast address becomes active.
At that time, routers that are not interested in receiving packets addressed to
that group speak up, and that information is propagated to the other routers.
Related Topics
Privacy Policy, Terms and Conditions, DMCA Policy and Compliant
Copyright © 2018-2024 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.