This chapter is from the book

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:

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,

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.

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!