addressing is anetwork technology for the delivery of informationto a group of destinations simultaneously using the most efficient strategy to deliver the messages over eachlink of the network only once, creating copies only when the links to the multiple destinationssplit.The word "multicast" is typically used to refer to
IP Multicastis a technique for one to many communication over an IP infrastructure. It scales toa larger receiver population by not requiring prior knowledge of who or how many receiversthere 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 thenetwork take care of replicating the packet to reach multiple receivers only when necessary. Themost common low-level protocol to use multicast addressing isUDP. By its nature, UDP is notreliable - messages can be lost or delivered out of order.Reliable multicastprotocols such asPGMhave 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 treeand 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 usethis group address to inform the network that they are interested in receiving packets sent to thatgroup. For example, if some content is associated with group 188.8.131.52, the source will send data packets destined to 184.108.40.206. Receivers for that content will inform the network that they areinterested in receiving data packets sent to the group 220.127.116.11. The receiver "joins" 18.104.22.168.The protocol used by receivers to join a group is called theInternet Group Management Protocolor IGMP.Once the receivers join a particular IP Multicast group, a multicast distribution tree isconstructed for that group. The protocol most widely used for this isProtocol IndependentMulticastor PIM. It sets up multicast distribution trees such that data packets from senders to amulticast group reach all receivers which have "joined" the group. E.g. all data packets sent tothe group 22.214.171.124 are received by receivers who joined 126.96.36.199. There are many differentflavors of PIM:Sparse Mode(SM),Dense Mode(DM), Source Specific Mode (SSM) andBidirectional Mode (Bidir) [Also commonly known as Sparse-Dense Mode (SDM)]. Of thesePIM-SM is the most widely deployed as of 2006
; SSM and Bidir are simpler and morescalable 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 thereceivers or is receiver driven. This allows it to scale to a large receiver population. The IPMulticast model has been described by Internet architectDave Clark as "You put packets in atone end, and the network conspires to deliver them to anyone who asks."Multicast (top) compared with unicast broadcasting (bottom). Orange circles represent endpoints,and green circles representroutingpoints.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 multipledistribution trees. So if a router is part of 1000 multicast trees, it has 1000 multicast routing andforwarding 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 isunlikely that any single router in the Internet maintains state for all multicast trees. This is acommon misunderstanding compared to unicast. A unicast router needs to know how to reach allother unicast addresses in the Internet, even if it does this using just a default route. For thisreason, aggregation is key to scaling unicast routing. Also, there are core routers that carry routesin the hundreds of thousands because they contain the Internet routing table. On the other hand, amulticast router does
need to know how to reach all other multicast trees in the Internet. Itonly needs to know about multicast trees for which it has receivers downstream of it. This is keyto scaling multicast. It is very unlikely that core Internet routers would need to keep state for allmulticast 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
and when it isremoved it is called a
.IP Multicast is widely deployed in enterprises, commercialstock exchangesand multimediacontent delivery networks. A common enterprise use of IP Multicast is for IPTVapplicationssuch as distance learning and televised company meetings.
Still, the large state requirements in routers make applications using a large number of treesunworkable using IP Multicast. Take presence informationas an example where each personneeds to keep at least one tree of its subscribers if not several. No mechanism has yet beendemonstrated that would allow the IP Multicast model to scale to millions of senders andmillions of multicast groups and, thus, it is not yet possible to make fully-general multicastapplications practical. For these reasons, and also reasons of economics, IP Multicast is not ingeneral use in the commercial Internet.Explicit Multi-Unicast (XCAST)is an alternate multicast strategy to IP Multicast that providesreception addresses of all destinations with each packet. As such, since the IP packet size islimited in general, XCAST cannot be used for multicast groups of large number of destinations.TheXCASTmodel generally assumes that the stations participating in the communication areknown ahead of time, so that distribution trees can be generated and resources allocated bynetwork elements in advance of actual data traffic.Other multicast technologies not based on IP Multicast are more widely used. Notably theInternet Relay Chat(IRC), which is more pragmatic and scales better for large numbers of smallgroups. IRC implements a singlespanning treeacross itsoverlay network for all conferencegroups. This leads to suboptimal routing for some of these groups however. Additionally IRCkeeps a large amount of distributed state, which limits growth of an IRC network, leading tofractioning into several non-interconnected networks.