The Internet is based on a layered protocol model. Each layer provides specific services and has particular responsibilities. The Internet protocol, or IP, is responsible for routing data from one place to another on the Internet and is referred to as a network layer protocol.
is an extension to the standard IP-network layer that allows a single copy of data to be routed to any number of interested receivers. This happens invisibly to the sender and is handled by the network infrastructure. improves the efficiency and scalability of applications such as streaming multimedia, audio-video conferencing and one-to-many data-push applications, as only one copy of data will pass through any link in the network, regardless of the number of recipients. Unlike the point-to-point method used in regular unicast IP, where the sender has to send a separate copy of data out to each receiver directly, the number of recipients isn't limited by the bandwidth available to the sender.
Network-layer routing is accomplished with IP addresses, which uniquely identify every device on the Internet. A normal unicast IP transmission involves a source IP address and destination IP address. Routers use the source and destination IP addresses to find a path from the sender to the receiver across the Internet. IP transmission between hosts on the same physical network happens without the assistance of routers.
uses the concept of an IP group address. An IP group address doesn't correspond to a particular device anywhere on the Internet, but rather to a unique transmission. Figure 1 shows an example of a host IP address and a multicast group address. The first three bytes of the host address identify a specific network, and the last byte is the local address of the host. In a multicast address, the upper four bits of the first byte are always 1110 (binary), and the rest of the address identifies a specific group address. In decimal, this results in a range of addresses from 184.108.40.206 to 220.127.116.11.
To send content, a sender transmits data to a group address destination. The router on the sender's network sees that it has the group address data on its local network, and informs other routers that it is available. To get content, a new receiver informs a router on its local network that it is interested in receiving data from the group address. The router then has the responsibility of locating an occurrence of that group address transmission among other routers and getting it to the local network.
Figure 2 demonstrates a multicast transmission across several networks. Although the routers use complex protocols to distribute multicast data, all of this is invisible to the senders and receivers. Once the IP routers have established a path between the multicast sender and receiver, any other device on the receiver's local network can also receive the multicast data.
Because is specifically a network-layer protocol, it only offers the same best effort delivery as unicast IP, with no retransmission of lost packets or guarantees that packets will arrive in the same order that they were sent. As with IP in general, these tasks are the responsibility of higher-level protocols, or the application itself.
Ken Nosé is chief software architect of NeoSonic Industries, Cleveland.