For efficient transmission of multicast traffic, designated routers construct a tree that connects all members of an IP multicast group. A distribution tree specifies a unique forwarding path between the subnet of the source and each subnet containing members of the multicast group.
A distribution tree has just enough connectivity so that there is only one loop-free path between every pair of routers. Because each router knows which of its lines belong to the tree, the router can copy an incoming multicast datagram onto all the outgoing branches. This action generates the minimum needed number of datagram copies. Because messages are replicated only when the tree branches, the number of copies of the messages transmitted through the network is minimized.
Because multicast groups are dynamic with members joining or leaving a group at any time, the distribution tree must be updated. Branches that contain new members must be added. Branches in which no listeners exist must be discarded, or pruned.
There are two basic tree construction techniques: source-specific trees and shared, or center-specific, trees.
Source-specific distribution trees require finding a shortest path from the sender to each receiver, resulting in multiple minimal delay trees for a group.
The source-specific method builds a Spanning Tree for each potential source, or subnetwork. These Spanning Trees result in source-based delivery trees emanating from the subnetworks directly connected to the source stations. Because many potential sources for a group exist, a different delivery tree is constructed, rooted at each active source. Figure 10-8 illustrates a source-specific distribution tree.
Source-based trees are constructed using a technique called Reverse Path Forwarding (RPF). If a packet arrives on a link that the local router believes to be on the shortest path back toward the source of the packet, the router forwards the packet on all interfaces except the incoming interface. If the packet does not arrive on the interface that is on the shortest path back toward the source, the packet is discarded.
RPF is used for source trees and RP-rooted shared trees.
Figure 10-8 Source-Specific Distribution Tree a
The interface over which the router expects to receive multicast packets from a particular source is referred to as the parent link. The outbound links over which the router forwards the multicast packet are called the child links for this source.
The RPF algorithm also reduces unnecessary packet duplication. If the local router making the forwarding decision can determine that a neighboring router on a child link is downstream, the packet is not forwarded to the upstream neighboring router. A downstream neighbor is a neighboring router that considers the local router to be on the shortest path back toward a given source.
If the link between the local router and the neighboring router is not the shortest path, the packet is not forwarded on that child link.
The shared tree makes use of distribution centers and constructs a single multicast tree, resulting in a low overhead method but sacrificing minimal end-to-end delay.
Unlike source, or shortest path, tree algorithms that build a source-based tree for each source or each (source, group) pair, shared-tree algorithms construct a single delivery tree shared by all members of a group. The shared-tree approach is quite similar to the Spanning-Tree Algorithm except that the shared tree allows the definition of a different shared tree for each group. Devices wanting to receive traffic for a multicast group must explicitly join the shared delivery tree. Multicast traffic for each group is sent and received over the same delivery tree regardless of the source. Figure 10-9 illustrates a shared distribution tree.
Figure 10-9 Shared Distribution Tree
A shared tree may involve a single router or set of routers, which comprises the "core" of a multicast delivery tree. Shared-tree algorithms make efficient use of router resources because this technique requires only a router to maintain state information in each group, not each (source, group) pair.
Multicast routing protocols build distribution trees by examining a unicast reachability protocol routing table.
Was this article helpful?