|DVMRP Status: IETF Experimental Standard (RFC 1075)|
|DM-PIM Status: IETF Work in progress|
These protocols are more correctly known as reverse-path multicast algorithms. When a sender first starts sending, traffic is flooded out through the network. A router may receive the traffic along multiple paths on different interfaces, in which case it rejects any packet that arrives on any other interface other than the one it would use to send a unicast packet back to the source. It then sends a copy of each packet out of each interface other than the one back to the source. In this way each link in the whole network is traversed at most once in each direction, and the data is received by all routers in the network. So far, this describes reverse-path broadcast. Many parts of the network will be receiving traffic although there are no receivers there. These routers know they have no receivers (otherwise IGMP would have told them) and they can then send prune messages back towards the source to stop unnecessary traffic flowing. Thus the delivery tree is pruned back to the minimal tree that reaches all the receivers. The final distribution tree is what would be formed by the union of shortest paths from each receiver to the sender, and so this type of distribution tree is known as a shortest-path tree 3.5.
Two commonly used multicast routing protocols fall in the class - DVMRP (the Distance Vector Multicast Routing Protocol) and Dense-mode PIM (Protocol Independent Multicast). The primary difference between these is that DVMRP computes its own routing table to determine the best path back to the source, whereas DM-PIM uses that of the underlying unicast routing hence the term "Protocol Independent".
It should be fairly obvious that sending traffic everywhere and getting people to tell you what they don't want is not a terribly scalable mechanism. Sites get traffic they don't want (albeit very briefly), and routers not on the delivery tree need to store prune state. For example, if a group has one member in the UK and two in France, routers in Australia still get some of the packets and need to hold prune state to prevent more packets arriving! However, for groups where most places actually do have receivers (receivers are ``densely'' distributed), this sort of protocol works well, and so although these protocols are poor choices for a global scheme, they might be appropriate within some organisations.