Interdomain Multicast Fundamentals
This chapter introduces and describes the fundamental concepts of multicast. Subsequent chapters build upon these concepts, illustrating how they are specifically used in the protocols and technologies that enable the operation of interdomain multicast. This chapter also defines terms and conventions that will be used throughout the book.
1.1 What Is Multicast?
The three main methods of data delivery are unicast, broadcast, and multicast. These methods are summarized as follows:
Unicast: Data is delivered to one specific recipient, providing one-to-one delivery.
Broadcast: Data is delivered to all hosts, providing one-to-all delivery.
Multicast: Data is delivered to all hosts that have expressed interest. This method provides one-to-many delivery.
The Internet was built primarily on the unicast model for data delivery (see Figure 1-1). However, unicast does not efficiently support certain types of traffic.
Figure 1-1 Unicast delivery
Radio and television are examples of traffic that fit the one-to-many model. With unicast, a radio station would have to set up a separate session with each interested listener. A duplicate stream of packets would be contained in each session. The processing load and the amount of bandwidth consumed by the transmitting server increase linearly as more people tune in to the station. This might work fine with a handful of listeners; however, with hundreds or thousands of listeners, this method would be extremely inefficient. With unicast, the source bears the burden of duplication.
Using broadcast (see Figure 1-2), the radio station would transmit only a single stream of packets, whether destined for one listener or for one million listeners. The network would replicate this stream and deliver it to every listener. Unfortunately, people who had not even tuned in to the station would be delivered this traffic. This method becomes very inefficient when many uninterested listeners exist. Links that connect to uninterested end hosts must carry unwanted traffic,
Figure 1-2 Broadcast delivery
wasting valuable network resources. With broadcast, the network carries the burden of delivering the traffic to every end host.
Multicast, on the other hand, provides the best of both worlds without introducing the disadvantages of each (see Figure 1-3). Multicast enables the radio station to transmit a single stream that finds its way to every interested listener. As in the case of broadcast, the processing load and the amount of bandwidth consumed by the transmitting host remain constant, regardless of audience size. The network is responsible for replicating the data and delivering it only to listeners who have tuned in to the station. Links that connect to uninterested listeners do not carry the traffic. This method provides the most efficient use of resources because traffic flows only through links that connect to end hosts that want to receive the data.
Figure 1-3 Multicast delivery
To deliver data only to interested parties, routers in the network build a distribution tree. Each subnetwork that contains at least one interested listener is a leaf on the tree. When a new listener tunes in, a new branch is built, joining the leaf to the tree. When a listener tunes out, its branch is pruned off the tree. Where the tree branches, routers replicate the data and send a single flow down each branch. Thus no link ever carries a duplicate flow of packets.
With multicast, the source is not burdened because it must transmit only a single stream of data, and the network is not burdened because it must deliver traffic only to end hosts that have requested it. However, in the zero-sum world of networking, where nothing is free, the burden of multicast falls on network engineers who must design and manage the mechanisms that make it work!