Published on Feb 21, 2020
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.
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. As illustrated in Fig.1.1, it is clear that 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.
Initial Support of multicast in the internet is done by adding multicast-capable routers (mrouters) and using dedicated tunnels to facilitate multicasting packets from one mrouter to another. A router is a device that connects a local area network, such as an inter-office LAN, to a wide area network such as the Internet. The router's job is to move information between the two networks. Most routers today are unicast routers:
They are designed to move information from a specific place to another specific place. However, routers that include multicasting capabilities are becoming more common. The job of each mrouter is to encapsulate and de capsulate each multicast packet as a regular Internet Protocol (IP) packet and send it through the tunnel to another mrouter.
This set of mrouters in the internet is called MBone (multicast backbone). Presently, some of the existing internet routers have been enhanced to support multicast, and there is no need to set up dedicated tunnels for them. This is called native multicast and the internet currently has a combination of both.
IP supports dynamic joining and leaving of a group by Group Management Protocol (IGMP). A user wishing to join a multicast group sends an IGMP join message to its neighboring multicast router. If the multicast router is not a member of the group, it forwards the message upstream until it finds some router or source that is subscribing to the group. In a domain, if there are routers performing IP multicasting, one of them is elected as the multicast querier to control the multicasting in the domain. The multicast router also keeps track of current membership of any group by sending periodic messages to all hosts in the domain.