Unicast Multicast Broadcast Anycast and Incast Traffic Types will be explained in this post. Traffic flow/traffic types are important information that needs to be considered in Network Design, thus understanding each one of them by every IT Engineer is critical and Important for Application requirements, Security, and Performance of the overall system.
In this blog post, Unicast, Multicast, Broadcast, and Anycast traffic types/patterns will be explained with examples and the topologies.
Unicast Traffic Flow
Unicast traffic type is a point-to-point communication type. Usually from a scalability perspective, Unicast is not the desired traffic type. But if there are only two points that communicate with each other, Unicast is an optimal choice.
Multicast Traffic Flow
Point to Multipoint or Multi-Point to Multi-Point Traffic type. If the communication is targeted to a group of recipients, then the Multicast traffic type is more suitable. Multicast source/sender, receivers, and multicast groups are the components of Multicast communication. A classical example is IPTV - IP Television
One multicast group is assigned for each IPTV channel and only interested receivers get the stream.
Broadcast Traffic Flow
If traffic is sent to everyone, regardless of considering if there is an uninterested receiver, then it is a broadcast traffic type. ARP traffic is a classical example of Broadcast traffic type. ARP - Address Resolution Protocol
packets are sent to the broadcast address and every receiver has to process it, even if the packet is not targeted for them. If there are many uninterested receivers, Broadcast traffic is considered inefficient.
Anycast Traffic Flow
Anycast is a way of deploying an IP address. The same IP with the same subnet mask is assigned to multiple devices and whichever other devices need to communicate with this IP address, send the traffic to the topologically (IGP/BGP cost) closest point. Classical examples are, Anycast DNS such as Google DNS or Multicast Anycast RP (Rendezvous Point)
Incast Traffic Flow
If the traffic type is Multipoint to Point, it is called Incast. Big Data type of traffic requires many servers to process the same data and send the output to another engine. So multiple servers compute the information and send it to the receiver at once. Network design is so critical as there might be bottlenecks easily in this type of traffic.
Unicast vs Multicast
The difference between unicast and multicast, as mentioned before, if there are multiple receivers, sending traffic as unicast would be inefficient. If the packet is sent only once from the source, and the network can replicate it, less effort is spent on the source, and less bandwidth is used on the network.
Let's have. a look at the below example:
There is one sender/source but 3 receivers, so in Unicast's case, the same data needs to be sent 3 times.
In Multicast communication, the sender/source sends the data only 1 time, network devices replicate the traffic, and 3 receivers get the same data. Obviously, this is more optimal for the sender and network resources, because of less resource usage. These resources usually are CPU, Memory, and Network Bandwidth.
Multicast vs Anycast
Multicast traffic is sent to many receivers at the same time. So, the source/sender sends one copy and it can be sent to hundreds, if not thousands of receivers, and all receivers get it.
Anycast on the other side, one copy is sent and there is one receiver as well. But if that receiver fails, there is another receiver with the same IP and same subnet mask in the network and it receives it. So, with anycast target/receiver is always more than one. In the Google DNS case, with the same IP address, there are tens of DNS servers around the world.
If traffic comes from France, the France DNS server replies, if it comes from London, London DNS replies, and so on. Closest receiver/target replies.
Multicast vs Broadcast
An important difference between Multicast and Broadcast is, that with Multicast we send the traffic to the interested receivers. With broadcast we don't care if there is interested people or not, it is sent everywhere continuously. There is Multicast PIM Dense mode, for example, you might compare it with Broadcast.
They can be seen as similar but they are not. With PIM Dense, we send the traffic everywhere initially but if there are no interested receivers at the same Multicast enabled locations, the sender stops sending to those locations because the sender receives Multicast Prune messages. With broadcast, no Prune mechanism, thus traffic is sent continuously even if there is no interested receiver.
Unicast vs Multicast vs Broadcast vs Anycast
When you see this comparison again, just remember, if it is only two-party for communication, Unicast is an optimal choice.
If there are multiple, look at if some of them are interested to hear some discussion, others might be interested in other discussions, then Multicast is the best.
If there is only one type of discussion and everyone should receive it, the broadcast is the optimal choice.
Let's say a group of people in a party some of them talk about politics, other groups of people discuss religion, and so on. So this is Multicast communication. But if someone in that party loudly starts shouting and everyone has to hear even if they are uninterested, he is broadcasting.
In a summary: Unicast is one-to-one, Multicast is One to Many, Broadcast is One to All, Anycast is One to Any and Incast is Many to One communication models.