Multicast
From Wikipedia, the free encyclopedia
This article needs additional citations for verification. Please help improve this article by adding reliable references (ideally, using inline citations). Unsourced material may be challenged and removed. (February 2009) |
Multicast addressing is a network technology for the delivery of information to a group of destinations simultaneously using the most efficient strategy to deliver the messages over each link of the network only once, creating copies only when the links to the multiple destinations split.
The word "multicast" is typically used to refer to IP Multicast, which is often employed for streaming media and Internet television applications. 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 spanning tree in real-time. At the Data Link Layer, Multicast is also used to describe one-to-many distribution such as Ethernet multicast addressing, Asynchronous Transfer Mode (ATM) point-to-multipoint virtual circuits or Infiniband multicast.
Routing Schemes |
---|
multicast |
Contents |
[edit] Technical description
IP Multicast is a technique for one to many communication over an IP infrastructure. 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 low-level protocol to use multicast addressing is UDP. By its nature, UDP is not reliable - messages can be lost or delivered out of order. Reliable multicast protocols such as PGM have been developed to add loss detection and retransmission on top of IP Multicast.
Key concepts in IP Multicast include an IP Multicast group address, a multicast distribution tree and receiver driven tree creation.
An IP Multicast group address is used by sources and the receivers to send and receive content. Sources use the group address as the IP destination address in their data packets. Receivers use this group address to inform the network that they are interested in receiving packets sent to that group. For example, if some content is associated with group 239.1.1.1, the source will send data packets destined to 239.1.1.1. Receivers for that content will inform the network that they are interested in receiving data packets sent to the group 239.1.1.1. The receiver "joins" 239.1.1.1. The protocol used by receivers to join a group is called the Internet Group Management Protocol or IGMP.
Once the receivers join a particular IP Multicast group, a multicast distribution tree is constructed for that group. The protocol most widely used for this is Protocol Independent Multicast or PIM. It sets up multicast distribution trees such that data packets from senders to a multicast group reach all receivers which have "joined" the group. E.g. all data packets sent to the group 239.1.1.1 are received by receivers who joined 239.1.1.1. There are many different flavors of PIM: Sparse Mode (SM), Dense Mode (DM), Source Specific Mode (SSM) and Bidirectional Mode (Bidir) [Also commonly known as Sparse-Dense Mode (SDM)]. Of these PIM-SM is the most widely deployed as of 2006[update]; SSM and Bidir are simpler and more scalable variations developed more recently and gaining in popularity.
IP Multicast does not require a source sending to a given group to know about the receivers of the group. The multicast tree construction is initiated by network nodes which are close to the receivers or is receiver driven. This allows it to scale to a large receiver population. The IP Multicast model has been described by Internet architect Dave Clark as "You put packets in at one end, and the network conspires to deliver them to anyone who asks."
IP Multicast creates state information ("state") per multicast distribution tree in the network, i.e., current IP Multicast routing protocols do not aggregate state corresponding to multiple distribution trees. So if a router is part of 1000 multicast trees, it has 1000 multicast routing and forwarding entries. As a result there are worries about scaling multicast to large numbers of distribution trees. However, because multicast state exists only along the distribution tree it is unlikely that any single router in the Internet maintains state for all multicast trees. This is a common misunderstanding compared to unicast. A unicast router needs to know how to reach all other unicast addresses in the Internet, even if it does this using just a default route. For this reason, aggregation is key to scaling unicast routing. Also, there are core routers that carry routes in the hundreds of thousands because they contain the Internet routing table. On the other hand, a multicast router does NOT need to know how to reach all other multicast trees in the Internet. It only needs to know about multicast trees for which it has receivers downstream of it. This is key to scaling multicast. It is very unlikely that core Internet routers would need to keep state for all multicast distribution trees, they only need to keep state for trees with downstream membership. When this type of router joins a shared forwarding tree it is referred to as a graft and when it is removed it is called a prune.
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.
[edit] Other multicast technologies
As of 2006[update], most efforts at scaling multicast up to large networks have concentrated on the simpler case of single-source multicast, which seems to be more computationally tractable.[citation needed]
Still, the large state requirements in routers make applications using a large number of trees unworkable 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 use in the commercial Internet.
Explicit Multi-Unicast (XCAST) is an alternate multicast strategy to IP Multicast 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 of large number of destinations. The XCAST model generally assumes that the 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.
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. This leads to suboptimal routing for some of these groups however. Additionally IRC keeps a large amount of distributed state, which limits growth of an IRC network, leading to fractioning into several non-interconnected networks.[1] The lesser known PSYC technology uses custom multicast strategies per conference.[2] Also some peer-to-peer technologies employ the multicast concept when distributing content to multiple recipients.
[edit] Commercial deployment
Recently[when?] the BBC has begun encouraging UK-based ISPs to adopt Multicast onto their networks by providing BBC Radio at higher quality than is available via their Unicast delivered services. This has also been supported by a variety of commercial radio networks, including Virgin Radio, GCAP and EMAP.
Austrian internet provider Telekom Austria offers its DSL customers a TV set-top box that uses Multicast for receiving TV and radio broadcasts. In Germany, T-Home (a brand of Deutsche Telekom), offers a similar service.
[edit] See also
- Ad hoc routing protocol list for more multicast protocols
- Spanning tree protocol
- Flooding algorithm
- Packet forwarding
- Overlay network
- Multicast address
- Broadcast address
- Anycast
- Unicast
- IGMP
- NBMA Nonbroadcast Multiple Access Network
- VideoLAN - a free software multicasted video streaming application
- Session Announcement Protocol
- CastGate - an attempt at providing connectivity to the multicast network for hosts which have none
[edit] References
- ^ RFC 1324 2.5.1 Size
- ^ PSYC white paper
[edit] External links
- RFC 3170 (Sep. 2001)
- Multicast over TCP/IP HOWTO (Mar. 1998) - describes Multicast in the Linux kernel, although some sections (specially multicast programs) is outdated and does not cover recent software.
- IETF Reliable Multicast Transport (rmt) Working Group (Aug. 2008)
- IETF Multicast & Anycast Group Membership (magma) Working Group
- IETF Protocol Independent Multicast (pim) Working Group
- IETF Source-Specific Multicast (ssm) Working Group
- IETF Multicast Security (msec) Working Group
- Multicast IP details at sockets.com
- Multicast on Packet Radio
- Xorp - a free software multicast router
- XCAST: A commercial MediaWiki-powered website based in Japan (English-language), devoted to Explicit Multicast technology.
- IP-Ethernet multicast tutorial.
- Southampton University multicast commentary
- Good illustrative video about IP Multicast at Cisco.