About Multicasting: A White Paper
Contents

Introduction
Unicast, Broadcast, and Multicast
The MBone, LAN, and WAN
How IP Multicasting Works
Summary


Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. The furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property.

© 1996 Microsoft Corporation. All rights reserved.

Microsoft, MS, MS-DOS, Visual Basic, Win32, and Windows are registered trademarks, and Visual C++ and Windows NT are trademarks of Microsoft Corporation in the U.S.A. and other countries.

Other product and company names herein may be the trademarks of their respective owners.


Introduction

As personal computers have increased in power, that power has turned to running multimedia applications on the desktop. Now, multimedia applications are being designed for use on the network. Applications such as audio and video conferencing, and the transmission of live or recorded events using audio and video are only two of the many applications that blend multimedia and the network.

Today's networks are designed to reliably transmit data such as files from point to point. Multimedia places further demands on the network. First, data such as audio cannot tolerate delays in delivery. A network whose basic task is to move files from one place to another can transmit data packets at an uneven rate. If portions of a file arrive slowly or out of order, that is not a problem. Multimedia requires that data packets arrive at the client on time and in the proper order. Real-time protocols and quality of service guarantees on the network address this issue. Second, multimedia requires transmitting large amounts of data over the network and thus uses more of the network's bandwidth than basic network operations such as file transfer. Multicasting, the subject of this paper, addresses this issue.

Unicast, Broadcast, and Multicast

The bulk of the traffic on today's networks is unicast: A separate copy of the data is sent from the source to each client that requests it. Networks also support broadcasting. When data is broadcast, a single copy of the data is sent to all clients on the network. When the same data needs to be sent to only a portion of the clients on the network, both of these methods waste network bandwidth. Unicast wastes bandwidth by sending multiple copies of the data. Broadcast wastes bandwidth by sending the data to the whole network whether or not the data is wanted. Broadcasting can also slow the performance of client machines needlessly. Each client must process the broadcast data whether the broadcast is of interest or not.

Multicasting takes the strengths of both of these approaches and avoids their weaknesses. Multicasting sends a single copy of the data to those clients who request it. Multiple copies of data are not sent across the network, nor is data sent to clients who do not want it. Multicasting allows the deployment of multimedia applications on the network while minimizing their demand for bandwidth. The following graph compares the network load per client when unicasting an 8 Kbps PCM audio stream and multicasting the stream and shows how a multicast saves bandwidth.

Network Load per Client

The MBone, LAN, and WAN

Today, the most widely known and used multicast enabled network is the Internet Multicast Backbone, the MBone. The MBone is a virtual network consisting of those portions of the Internet, sometimes called multicast islands, in which multicasting has been enabled. Multicasts that must travel across areas of the Internet that are not yet multicast enabled are sent as unicasts until they reach the next multicast enabled island. This process is referred to as tunneling.

Multicast Islands and Tunnels

The MBone has been in place since 1992 and has grown to more than 2000 subnets. It has been used to multicast live audio and video showing Internet Engineering Task Force conferences, NASA astronauts working in space, and the Rolling Stones in concert. The MBone has successfully demonstrated the practicality and utility of using multicasting to send multimedia across the network.

The hardware for multicasting, chiefly multicast enabled routers and their software, has reached a point where corporations can take advantage of multicasting on their own LANs and WANs. The technology is of benefit in any scenario where several (or hundreds or thousands) of individuals need the same information. Because such information can be multicast live, multicasting is the ideal method to communicate up-to-date information to a wide audience. For example, sales trends for the week could be presented to all regional sales managers via multicast. Events such as a product introduction or important press conference could also be multicast. Multicasts can also support bi-directional communication allowing, for example, individuals in widely dispersed locations to set up a live conference that includes audio, video, and a white board.

How IP Multicasting Works

Multicasting follows a push model of communications. That is, like a radio or television broadcast, those who want to receive a multicast tune their sets to the station they want to receive. In the case of multicasting, the user is simply instructing the computer's network card to listen to a particular IP address for the multicast. The computer originating the multicast does not need to know who has decided to receive it.

Network Multicasting

Multicasting requires the following mechanisms:

  • Clients must have a way to learn when a multicast of interest is available.
  • Clients must have a way to signal that they want to receive the multicast.
  • The network must have a way to efficiently route data to those clients who want to receive it.
Announcing Multicasts

Multicasts are announced in advance so that clients know when a multicast is available. On the MBone, multicasts are typically announced using the Session Description Protocol (SDP). This protocol supplies clients with all the information they need to receive a multicast including its name and description, the times it is active, the type of media (audio, video, text and so on) that it uses, and the IP addresses, ports, and protocol it uses. The announcement information is multicast to a well-known IP address and port where clients running the session directory tool receive this information.

In addition to SDP, there are other ways that multicasts can be announced. For example, on the corporate intranet, multicasts can be advertised using web pages. Controls embedded in the web page can then receive the multicast data.

Joining Groups

To signal that they want to receive a multicast, clients join the group to whom the multicast is directed. The Internet Group Management Protocol (IGMP) handles this task.

Multicast groups provide several advantages. Groups are dynamic: clients can join or leave at any time. No elaborate scheme is required to create or disband a group. When a group has no members, it ceases to exist on the network. Groups also scale upward easily because as more clients join a multicast, it becomes more likely that the multicast is already being routed close to them.

When a client joins a group, it initiates two processes: First, an IGMP message is sent to the client's local router to inform the router that the client wants to receive data sent to the group. Second, the client sets its IP process and network card to receive the multicast on the group's address and port. Multicast addresses are Class D IP addresses ranging from 224.0.0.0 to 239.255.255.255. Class D IP addresses map automatically to IEEE-802 Ethernet multicast addresses, which simplifies the implementation of IP multicasting on Ethernet. When a client leaves a group and is the only one receiving the multicast on that particular subnetwork, the router stops sending data to the client's subnetwork, thereby freeing bandwidth on that portion of the network.

Multicast Routing

The bulk of the work that needs to be done to enable multicasting is performed by the network's routers and the protocols they run. Two years ago major router manufacturers began adding multicasting capability to their routers. Multicasting can be enabled on such routers by simply updating their software and adding memory.

There are several multicast routing protocols in use today: Distance Vector Multicast Routing Protocol (DVMRP), Multicast Open Shortest Path First Protocol (MOSPF), and Protocol-Independent Multicast (PIM). The task of these protocols is to create efficient multicast delivery paths through the network. Multicast routing protocols use varying algorithms to achieve efficiency.

Routed Multicast Data Path

An efficient delivery path implies that multicast data travels only to those clients who want to receive it and takes the shortest path to those clients. If data travels elsewhere through the network, bandwidth goes to waste needlessly. You can visualize the network as a tree structure. The source of the multicast sends data through the branches of the tree. The routers are responsible for sending data down the correct branches to other routers and to the subnetworks where members of a group are waiting for data. Routers prune off branches where no one wants data and graft branches back to the tree when a client in a new subnetwork joins the group. Routers can also stop data from traveling to their own subnetworks when it is not wanted.

Summary

A new generation of multimedia applications that provide enhanced communication through the use of audio and video are ready to move onto the network. Multicasting provides an efficient way to enable these applications on the network:

  • Multicasting can dramatically reduce the network bandwidth multimedia applications require.
  • Servers do not require hardware upgrades in order to take advantage of multicasting.
  • Clients do not require hardware upgrades in order to take advantage of multicasting.
  • Because routers of recent vintage already support multicasting, enabling multicasting on the network is practical and cost-effective.


© 1997 Microsoft Corporation. All rights reserved. Legal Notices