- 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). 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.
Multicast (top) compared with unicast broadcasting (bottom). Orange circles represent endpoints, and green circles represent routing points.
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 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.
Imagine a scenario where a professor wants to conduct a real-time class with 50 students participating through the network. If the multimedia application for the conferencing employs unicasting, the professor's computer repeatedly sends out 50 audio streams to the student's computers. Unicasting wastes bandwidth because it sends 50 duplicate copies over the network, and causes a significant delay before the last student hears the professor. The audio stream could also flood every corner of the network and possibly bring the network down.
Multicasting comes to the rescue by allowing the multicast host to send out only one copy of the information, and only those hosts that are part of that group receive it. In the class example, the professor's computer sends only one audio stream to the network, and only the targeted 50 students receive the stream. The information utilizes the minimum required network bandwidth and arrives at every student's computer without any noticeable delay.
This application is an example of the practical use of multicast in everyday life. The same is true for other applications like audio/video conferencing, multiplayer online gaming, online/offline video distribution, news and so on.Even if there are only three receivers of a multimedia application, the bandwidth utilization between routers can be roughly reduced up to one-third if we use multicasting.
The concept of multicast was introduced by Steve Deering in the '80's. Adding multicast to the internet does not alter the basic model of the network. Any host can send multicast data, but with a new type of address called a host group address. IPv4 has reserved class D addresses to support multicasting. A user can dynamically subscribe to the group to receive multicast traffic by informing a local router that it is interested in a particular multicast group. However, it is not necessary to belong to a group to send multicast. The delivery of multicast traffic in the internet is accomplished by creating a multicast tree, wit all of its leaf nodes as recipients.
- 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). 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.
Multicast (top) compared with unicast broadcasting (bottom). Orange circles represent endpoints, and green circles represent routing points.
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 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.
0 comments:
Post a Comment