Any form of network communication that involves the transmission of information to multiple recipients can benefit from the bandwidth efficiency of multicast technology. Examples of applications involving one-to-many or many-to-many communications include:
To understand the efficiency of multicast, consider a single-channel video server. For full dynamic full-screen viewing, the video stream requires a server bandwidth of approximately 1.5 Mbps to each client. In a unicast environment, the server must send a separate video stream for each client, consuming a link bandwidth of 1.5 x n Mbps (where n = number of client viewers). With a 10 Mbps Ethernet interface on the server, only six or seven streams can fully meet the network interface requirements. Even with a high-performance server using a Gigabit Ethernet interface, the limit will be around 250-300 video streams of 1.5 Mbps. Therefore, the server's interface capacity may become a bottleneck, limiting the number of unicast video streams.
The unicast transmission of replication consumes a large amount of bandwidth in the network. For example, if the path between the server and the client traverses three router hops and two switch hops, the multi-unicast video will consume 1.5 x n x h3 Mbps of router bandwidth and 1.5 x n x h2 Mbps of switch bandwidth. If 100 clients are separated by two router and two switch hops, the total bandwidth consumed by multi-unicast will be 300 Mbps for the router and switch.
In contrast, in a multicast environment, the video server needs to transmit only one video stream for each multicast group, regardless of the number of clients. The video stream is then replicated in the network according to multicast routers and switches to allow any number of clients to subscribe to the multicast address and receive the broadcast. Replication occurs only on the branch of the distribution tree, with the majority of replication occurring at the last switch. This means that in multicast, only 1.5 Mbps of the server's bandwidth is used for the network, with the remainder available for additional channels or content.
Primer on Multicast Technology
Multicast transmission technology can be used in both the data link layer (Layer 2) and network layer (Layer 3). For instance, Ethernet, optical fiber distributed data interface (FDDI), and SMDS all support unicast, multicast, and broadcast MAC layer addresses. As a result, a single computer on these networks can listen to unicast addresses, multiple multicast addresses, and broadcast addresses simultaneously. Token rings also support multicast but use different techniques to handle receiver groups.
If the scope of multicast applications is limited to a single physical or logical LAN, it is sufficient to multicast over the data link layer. However, if the application extends across a distributed campus or a wide-area network (WAN) with various network technologies like Ethernet, FDDI, Token Ring, Frame Relay, and ATM, multicast must also be implemented at Layer 3.
Multicast transmission at Layer 3 involves the following special mechanisms:
Addressing: A Layer 3 address is needed to communicate with a group of receivers rather than a single receiver. For IP networks, Class D addresses are used for multicast. Class D addresses begin with the higher-order bits "1110", followed by a 28-bit group address. To map the IP multicast address to the Ethernet address, the lower 23 bits of the Class D address are mapped to the Ethernet multicast address block.
Dynamic Registration: Multicast requires a mechanism to notify the network that a host is a member of a particular group. Without this, the network will flood, transmitting data to every receiver, which defeats the purpose of multicast. For IP networks, Internet Group Management Protocol (IGMP) allows dynamic maintenance of group membership lists. Hosts can send IGMP reports to join or leave multicast groups, and routers use these reports to prune group memberships.
Multicast Forwarding: Most IP multicast applications are based on UDP (User Datagram Protocol), which lacks TCP's congestion control mechanisms. This makes multicast packets more likely to be discarded. In real-time applications, retransmissions are impractical, so ensuring sufficient network bandwidth, especially at the network's edge, is crucial. Quality of Service (QoS) mechanisms, such as RSVP, RTP, or 802.1p, can help improve multicast reliability.
Multicast Routing: The network must build a distribution tree that specifies the unique forwarding path from the source subnet to each subnet containing members of the multicast group. The distribution tree construction ensures that each packet copy is forwarded only once per branch of the tree. Several multicast routing protocols are available, including MOSPF, DVMRP, OSPF, and CBT.
There are two types of multicast routing protocols:
The DM protocol is best for LAN environments with dense clusters of receivers, while the SM protocol is suited for WAN environments. Some protocols, like PIM (Protocol Independent Multicast), can work in both dense and sparse modes, adjusting to the characteristics of the receiver group.