Electric Type

Multimedia

About Us

News

Help

Multicasting and the Mbone
by Rob Robertson 7 Aug 1997


Page 1

Multicast is one of those networking concepts that's relatively simple, though hard to explain without some background and a few bar napkins to draw diagrams on. But let me assure you, it's worth the effort to understand, if solely for its intrinsic niftiness.

The three types of communication between hosts (or computers) on a network are unicast, where a host talks directly to another computer; broadcast, in which a computer can talk to all computers; and multicast, where one computer can communicate with a select group of others.

To illustrate, let's apply these concepts to an Ethernet network.

In traditional Ethernet, each computer on a network has an Ethernet card, which acts as a transmitter. When a computer has packets or data to send, it hands them to the Ethernet card, and the card then transmits them on the network. The Ethernet card also listens to all packets sent by everyone, looking for packets that are addressed to the card's unique Ethernet address. When the card encounters a packet addressed to itself, it interrupts the processor and hands the packet off to the operating system for processing (the operating system then processes the packet, which mostly means handing the data to an application program). This is unicasting, or host-to-host communication. The problem with unicasting is that if one wants to keep multiple computers abreast of something, say stock-ticker quotes, one needs to send the information stream multiple times, each time to a separate address. This can chew up bandwidth fast, especially if it involves something that is already high bandwidth, such as audio or video.

Old way

Ethernet also allows broadcasting using a special address called the "broadcast" address. When packets are addressed to this address, every Ethernet card picks up the packet, interrupts its processor, and hands the packet to the operating system for processing. It's a win if one has to send data out to everyone, or nearly everyone. The downside is that often not everyone is interested.

Finally, we come to Ethernet's multicast addresses. Here, the sending machine sends out a stream of packets addressed to a multicast address, and receivers program their Ethernet cards to listen for these addresses. This allows one to keep many computers abreast of something with only one stream of packets. It also avoids interrupting hosts that aren't interested.

Multicast way
Sending Receiving
A B
C
D
E

When we examine how these concepts work on the Internet, one mostly sees unicast communication - that is, communication from one host to another.

On the Internet, broadcast communication isn't used; as a network gets more and more hosts, there are fewer things the great majority of hosts are all interested in, and the power to interrupt every computer on the Internet is a dangerous thing. In IP, the ability to broadcast is generally relegated to the subnet or LAN (local area network) level.

While large-scale broadcasting isn't that useful, multicasting over a WAN (wide area network) is. That is, it is useful to be able to send data over the network to a group of subscriber hosts whereby a) the data goes over a link once (consuming only the bandwidth necessary), and b) it only goes to parts of the network where it is needed.

The thing I like is that when no one is listening (subscribing), the traffic doesn't even enter the Internet, it just stays on the LAN.

IP multicast is implemented using a special range of IP addresses, called Class D addresses (224.0.0.0 - 239.255.255.255). These addresses are special because, unlike other IP addresses, they don't refer to specific hosts - they refer instead to groups (or, as I think of them, channels). Some of the addresses have specific purposes, much like Well Known Ports in TCP and UDP. Others are user-defined. Examples of well-known addresses include:

	All IP systems      224.0.0.1
	All IP Routers      224.0.0.2
	
	Network Time Protocol      224.0.1.1
	SGI's DogFight Game         224.0.1.2	

	Session Directory      224.2.127.254

One address of particular interest is the Session Directory. The Session Directory serves as the Mbone TV Guide. The address is used to multicast information about events that are happening or are about to happen on the Mbone. The information is re-multicast every 15 minutes. Users then run the Session Directory tool, which listens for these broadcasts and displays them.

But wait - we never talked about the Mbone itself!

OK, here we go: The Mbone is short for the multicast backbone. It refers to a virtual network that is layered on top of the Internet. This network is composed of unicast tunnels between specialized multicast routers, or mrouters, through which multicast packets flow. It was started in 1988 as a temporary hack until the Internet core routers could support multicast.

Multicast IP on the Internet still has a very researchy edge. The speeds are slow, and the Mbone tries to limit bandwidth at the core to 300 Kbps, so events have to be scheduled, and video is poor at best. Even on corporate LANs, it's not yet ubiquitous, and one needs at least a T1 connection. The protocols for routing multicast efficiently and natively on the Internet need work.

But things are improving. Backbone speeds are getting faster. And with the deployment of ASDL, cable modems, and wireless stuff, speeds into the home will someday get substantially faster. Internet service providers like @Home see the value and are trying to promote multicast as an efficient mechanism to distribute video, audio, or data.

And what kind of applications would benefit from multicasting? Audio, video, networked games, and real-time data distribution such as stock tickers, sports scores, and Usenet news.

My current favorite Mbone service is Georgia Tech's The Interactive Multimedia Jukebox, where one can select cartoons and movies to be queued up and played on two channels. The IMJ people received permission from Turner Broadcasting to rebroadcast Cartoon Network cartoons over the Mbone. While the cartoon selection is pretty meager, watching Scooby Doo over the Internet is pretty cool, and amazingly watchable. For more information on the Mbone and where to get the appropriate clients, check out the Mbone Information Web.


Tutorials  

User Blogs  

Teaching Tools  

Authoring  

Design  

Programming help  

Advanced Flash  

Javascript  

Glossary  

PHP Coding  

User Blogs

Screen Shots

Latest Updates

Contact Us

Valid HTML 4.01!
Valid CSS!

Breadcrumb

© ElectricType
Maintained by My-Hosts.com
Site map | Copyright | Disclaimer
Privacy policy | Acceptable Use Policy
Legal information.