Multicast
From Wikipedia, the free encyclopedia
This article does not cite any references or sources. (March 2008) Please help improve this article by adding citations to reliable sources. Unverifiable material may be challenged and removed. |
Multicast is 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 destinations split.
The word "multicast" is typically used to refer to IP multicast, though it is sometimes used to describe either ATM point-to-multipoint VCs or Infiniband multicast. The implementation of the multicast concept on the IP routing level, where routers create optimal distribution paths for datagrams sent to a multicast destination address spanning tree in real-time. But there are also other implementations of the multicast distribution strategy listed below.
Routing Schemes |
---|
multicast |
Contents |
[edit] Multicast technologies on the Internet
- IP Multicast
- Internet Relay Chat
- NNTP
- PSYC
- Peercasting using peer-to-peer protocols
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 utilizes 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 where necessary.
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, 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.
While IP Multicast uses a designated multicast address, the Explicit Multi-Unicast (XCAST) uses the unicast addresses of all the destinations, instead. 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. By contrast, 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."
The IP Multicast model requires a great deal more state inside the network than the IP unicast model of best-effort delivery does, and this has been the cause of some criticism. Also, 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 in the commercial Internet.
IP Multicast creates 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 mis-understanding 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 state for trees with downstream membership. When this type of router joins a shared forwarding tree it is referred to as graft and when it is removed it is called a prune.
As of 2006, 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.
For both these reasons, and also reasons of economics, IP Multicast is not in general use in the commercial Internet. Other multicast technologies not based on IP Multicast are more widely used. These include Internet Relay Chat (IRC) and PSYC, which are more pragmatic and scale better for large numbers of small groups. IRC implements a spanning tree across its overlay network whereas PSYC uses custom multicast strategies per conference. Also some Peer-to-peer technologies employ the multicast concept when distributing content to multiple recipients.
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] Multicast in use
Recently 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. Television services will also be available.
[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
- Xorp - a free software multicast router
- Session Announcement Protocol
- CastGate - an attempt at providing connectivity to the multicast network for hosts which have none
[edit] External links
- RFC 3170
- Multicast over TCP/IP HOWTO, 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
- 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
- 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.