Intro
IPv4 addresses come in 4 forms: Unicast, Broadcast, Multicast and Anycast. On the other hand, IPv6 addresses only come in 3 forms: Unicast, Multicast and Anycast. For the purpose of this article, we’ll explain in more detail what is Multicast and how does it work.
The various forms mentioned above are referring to how data is routed to the destination IP addresses. Each form has a different way of being routed to the destination. Unicast is the most basic. When you send data to a Unicast IP address, it just goes from the sender’s machine to the recipient machine that is using that IP address. We have previously covered Anycast and we will explore Broadcast in the future.
Basic concept of Multicast
Think of an Internet radio station which streams music live. If 1000 people are listening to the stream and you are using Unicast, your streaming server basically has to send out the same data 1000 times to each recipient machine. However, with Multicast, the server just sends out the data once and the routers along the way will duplicate the data to send to all who are listening.
Multicast routing
With Multicast routing, there are special IP address ranges that are used exclusively as Multicast groups. A recipient machine which want to receive the Multicast data will need to send a special join message to one of these groups using the Internet Group Management Protocol (IGMP). After that, the machine will receive Multicast data.
Multicast is used when you need to get data to a large bunch of machines in an efficient manner. Servers streaming audio and video are usually the ones deploying Multicast routing as they get to save on bandwidth by only sending their data once and letting the routers duplicate the data to all of the machines in the Multicast group.
Benefits of Multicast
The main reason for using Multicast is that you will save on bandwidth when you need to serve data to a large group of machines.
In Broadcast, everyone will get the data whether they want it or not. On the other hand, Multicast only sends to interested parties which also helps to limit network data being sent. This can help to prevent data collision on the network as there are less data packets being transmitted.