It is probably still the most widely used multicast routing (although PIM - also by Steve Deering as a CISCO employee - is available, you have to pay big money for it, while DVMRP is free).
The Reverse Path Broadcasting constructs a broadcast tree for every node in the network
We obviously do NOT want to send to ALL nodes
The following figure depicts ONLY the tree rooted at A :
Other entries (rows) in the Broadcast Routing Table will store entries for the other broadcast trees.
Obviously, it will require to much memory - the Prune Tables are created when a multicast group exists
More specifically:
|
So a prune table only exists when there is actual communication (packets) to the members of that group.
Nodes appearing in the Prune Tables are edges of the RPB tree that have been pruned away
By pruning away the correct edges, the "broadcast message" will only reach nodes that have multicast receivers |
The following picture shows how the Prune Tables can prevent a "broadcast message" from A from reaching nodes C and E:
The following figure depicts a full tree with only one multicast receiver:
In the example, I will use node A as the multicast source
This is the initial situation when there are no multicast receivers !!!
Notice that there is NO WAY for a source to find out who (which node) and where are the multicast receivers
This is also true for multicast sender served by node A
The multicast message will be forwarded using the Reverse Path Broadcast table (with source = A) as follows:
Result of a multicast message from A:
|
Without knowning who the senders of the multicast group are, the router cannot know where to send "craft" message
Then C can send a "craft" message to its upstream node to A to "unprune" the link:
|