by Dinesh Thakur Category: Routing

• The distance vector multicast routing protocol is multicast routing protocol that takes the routing decision based upon the source address of the packet.

• This algorithm constructs the routing tree for a network.

• Whenever a router receives a packet, it forwards it to some of its ports based on the source address of packet.

• The rest of the routing tree is made by downstream routers.

• In this way, routing tree is created from destination to source.

• The protocol must achieve the following tasks:


1. It must prevent the formation of loops in the network.

2. It must prevent the formation of duplicate packets.

3. It must ensure that the path traveled by a packet is the shortest from its source to the router.

4. It should provide dynamic membership.


To accomplish this, the DVMR algorithm uses a process based on following decision making strategies:

1. Reverse Path Forwarding (RPF)

• In this strategy, the router only forwards those packets that have traveled the shortest path from source to destination.

• To achieve this, the router pretends that it has a packet to send to the source from where the packet has arrived.

• In this way, the shortest path to the sender of the packet is computed.

• If the same route is followed by the received packet, it is forwarded to the next router and it is discarded otherwise.

• The reverse path forwarding ensures that the network receives a copy of the packet without formation of loops. A loop occurs when a packet that has left the router may come back again from another interface or the same interface and be forwarded again.

• RPF does not guarantee that there would be no duplicate packets in the network i.e. the network may receive two or more copies.

• The reason for this is that the routing is based on the source address and not on the destination address.

2. Reverse Path Broadcasting (RPB)

• In order to solve the problem, RPB is used.

• In this method, one parent router is defined for each network.

• The network could accept the multicast packets from this parent router only.

• This router sends packets to those ports for which it is designated as parent.

• Thus, RPB principle' allows a router to broadcast the packet in the network.

This creates duplicate packets on the network and reduces the network efficiency.

3. Reverse Path Multicasting (RPM)

• To overcome the problem of broadcasting in RPB, Reverse Path Multicasting in used.

• In this the desired multicast network tree is created by using two different methods: Pruning and grafting.

• A router can send a prune message to its upstream router whenever it finds that its network is not interested in a multicast packet. In this way a router prunes (cuts) its network from multicasting.

• If a router receives prune message from all the downstream routers, it in turn, sends a prune message to its upstream router.

• A router can also send a graft message to its upstream router if it finds that its network is again interested in receiving the multicast packet. In this way, graft message forces the upstream router to resume sending the multicast message. The network is again grafted (joined).

4. Multicast Open Shortest Path First (MOSPF)

• Multicast open shortest path first is the multicast version of open shortest path first protocol.

• It is an extension of OSPF that uses multicast link state routing method to create source based trees.

• The method used by MOSPF is different from DVMRP.

• The first difference is· that in this method, the tree is least cost tree instead of shortest path tree.

• The second .difference is that the tree is not made gradually. It is made immediately it is prepruned and ready to use.

If you liked this article, you can also catch us on facebook and Google+


Related Articles (You May Also Like)

About Dinesh Thakur

Dinesh ThakurDinesh Thakur holds an B.C.A, MCSE, MCDBA, CCNA, CCNP, A+, SCJP certifications. Dinesh authors the hugely popular blog. Where he writes how-to guides around Computer fundamental , computer software, Computer programming, and web apps. For any type of query or something that you think is missing, please feel free to Contact us.