In computer networking, multicast is the delivery of a message or information to a group of destination computers simultaneously in a single transmission from the source. Copies are automatically created in other network elements, such as routers, but only when the topology of the network requires it.
Multicast is most commonly implemented in IP multicast, which is often employed in Internet Protocol (IP) applications of streaming media and Internet television. In IP multicast the implementation of the multicast concept occurs at the IP routing level, where routers create optimal distribution paths for datagrams sent to a multicast destination address.
At the Data Link Layer, multicast describes one-to-many distribution such as Ethernet multicast addressing, Asynchronous Transfer Mode (ATM) point-to-multipoint virtual circuits (P2MP) or Infiniband multicast.
IP multicast is a technique for one-to-many communication over an IP infrastructure in a network. It scales to a larger receiver population by not requiring prior knowledge of who or how many receivers there are. Multicast uses network infrastructure efficiently by requiring the source to send a packet only once, even if it needs to be delivered to a large number of receivers. The nodes in the network take care of replicating the packet to reach multiple receivers only when necessary.
The most common transport layer protocol to use multicast addressing is User Datagram Protocol (UDP). By its nature, UDP is not reliable—messages may be lost or delivered out of order. Reliable multicast protocols such as Pragmatic General Multicast (PGM) have been developed to add loss detection and retransmission on top of IP multicast.
IP multicast is widely deployed in enterprises, commercial stock exchanges, and multimedia content delivery networks. A common enterprise use of IP multicast is for IPTV applications such as distance learning and televised company meetings.
As of 2006[update], most effort at scaling multicast up to large networks have concentrated on the simpler case of single-source multicast, which seems to be more computationally tractable.
Still, the large state requirements in routers make applications using a large number of trees unable to work while using IP multicast. Take presence information as an example where each person needs to keep at least one tree of its subscribers, if not several. No mechanism has yet been demonstrated that would allow the IP multicast model to scale to millions of senders and millions of multicast groups and, thus, it is not yet possible to make fully general multicast applications practical. For these reasons, and also reasons of economics, IP multicast is not, in general, used in commercial Internet backbones.
Other multicast technologies
Other multicast technologies not based on IP multicast are more widely used. Notably the Internet Relay Chat (IRC), which is more pragmatic and scales better for large numbers of small groups. IRC implements a single spanning tree across its overlay network for all conference groups. However, this leads to suboptimal routing for some of these groups. Additionally, IRC keeps a large amount of distributed states that limit growth of an IRC network, leading to fractioning into several non-interconnected networks. The lesser known PSYC technology uses custom multicast strategies per conference. Also some peer-to-peer technologies employ the multicast concept when distributing content to multiple recipients, known as peercasting.
Explicit Multi-Unicast (Xcast) is an alternate multicast strategy that provides reception addresses of all destinations with each packet. As such, since the IP packet size is limited in general, Xcast cannot be used for multicast groups with many destinations. The Xcast model generally assumes that stations participating in the communication are known ahead of time, so that distribution trees can be generated and resources allocated by network elements in advance of actual data traffic.
In an optical mesh network, protecting multicast lightpaths is one of the key concerns. The most straight forward approach to protect a multicast tree is to establish a link-disjoint backup tree which establishes dedicated protection. It is much easier to find an arc-disjoint path for each leaf node in a light tree. The essence of protecting a multicast session is to find a backup path for each destination node when a link on the working path to that node fails.
- Ad hoc routing protocol list for more multicast protocols
- Broadcast address
- CastGate, an attempt at providing connectivity to the multicast network for hosts that have none
- Comparison of streaming media systems
- Comparison of video services
- Content delivery network
- Flooding algorithm
- Grid casting
- IP speaker
- Internet television
- List of music streaming services
- List of streaming media systems
- Multicast address
- NBMA Nonbroadcast Multiple Access Network
- Overlay network
- Packet forwarding
- Protection of Broadcasts and Broadcasting Organizations Treaty
- Push technology
- Session Announcement Protocol
- Spanning tree protocol
- Streaming media
- VideoLAN, a free software multicasted video streaming application
- Web television
- "IP multicast", iOS (video), Cisco.
- MBONE Deployment (mboned) (working group), IETF.
- Multicast & Anycast Group Membership (magma) (working group), IETF.
- Multicast Mobility (multimob) (working group), IETF,
- Reliable Multicast Transport (rmt) (working group), IETF.
- Protocol Independent Multicast (pim) (working group), IETF.
- Source-Specific Multicast (ssm) (working group), IETF.
- Multicast Security (msec) (working group), IETF.
- IP-Ethernet multicast (tutorial), CX: Firewall.
- Scalable Adaptive Multicast (SAM) (research group), IRTF.
- Multicast, Sockets. IP details.
- Multicast on Packet Radio, US packet.
- Multicast over TCP/IP (Howto), The GNU/Linux documentation project, Mar 1998. Multicast in Linux. Some sections (specially multicast programs) are outdated and do not cover recent software.
- qpimd – PIM Daemon for Quagga, GNU — PIM module for the Quagga Routing Suite.
- RFC 1112: Host Extensions for IP Multicasting, incl. Mapping von IPv4-Multicast-Addressen auf MAC-Addressen
- RFC 3170: IP Multicast Applications: Challenges and Solutions
- RFC 3180: GLOP Addressing in 233/8
- RFC 4608: Source-Specific Protocol Independent Multicast in 232/8
- RFC 5757: Multicast Mobility in Mobile IP Version 6 (MIPv6): Problem Statement and Brief Survey
- IRTF SAMRG common API (draft), IETF. A common API for transparent hybrid multicast.
- "JSSM", Java, Oracle. Source-specific multicasts.
- Multicast (commentary), UK: Southampton University.
- XCAST, JP, a commercial MediaWiki-powered website on explicit multicast technology.
- Xorp – a free software router with multicast (IGMP, PIM) support.
- Simlo, Kernen (Q4 2010), AMT: Automatic IP Multicast without explicit Tunnels (PDF) (technical review), CH: EBU.