Our computer systems use many different methods when communicating with other devices. In this video, you’ll learn about unicast, broadcast, multicast, and anycast communication.
If you’re using a desktop computer, a mobile device, or any other device connected to the network, most of your communication is probably going to be unicast. Unicast means that one device is sending information directly to another device. This is a one-to-one communication between these two devices. This is the type of communication where one device will make a request to a server, and that server might respond to that individual request.
So if you’re connecting to a web server or you’re performing a file transfer, it’s probably using a unicast communication. This unicast communication works great when one device needs to communicate to another, but unicast becomes more difficult if this single device needs to communicate to multiple devices simultaneously. For example, if you had a real-time streaming media application that used unicast, you would have to send a single separate stream to every single device on the network because there was no other way to communicate other than this one-to-one unicast communication.
Unicast is a very common way to communicate. And it’s used extensively with both IP version 4 and IP version 6.
There are more efficient ways to send traffic to multiple devices on the network simultaneously. One of these ways is to use a broadcast communication where one device can send one piece of information. And that one piece of information is seen by all of the other devices on the network.
This is an important characteristic of broadcast communication, that the source device is sending out a single packet of data, and that single packet is then transmitted and broadcast to all of the other devices on the network. This makes for very efficient communication from the source device, because it only needs to send that one packet. And yet everyone on the network is able to see that one packet.
Obviously, we’re not able to send one packet to the internet and somehow communicate with every other device that might be on the internet. This range of communication used by broadcasts is called a broadcast domain. And it’s usually limited to your local IP subnet.
There are a number of routing protocols that rely on broadcast to be able to send updates to all of the other devices on the network. And if you’re using IP version 4, then you have ARP requests that use broadcasts extensively. One of the things we found with broadcasts is that once you have a large number of these broadcasts on the network, it can actually create performance problems for all of the other devices.
And in IP version 4, we use these broadcasts extensively. When we created IPv6, we were able to correct this issue by limiting the scope of what’s sent to all of the devices. And that’s why in IPv6 you’ll see multicast used instead of broadcasts. Multicast allows you to send a single frame that would only be seen by devices that are interested in receiving that information, and other devices that aren’t involved in that communication are not affected by a multicast.
We often see multicast used for multimedia communications, stock ticker updates, or if you’re routing protocols are able to intelligently update other routers on the network using the multicast protocols. Because of the specialization required to only send traffic to interested parties on the network, this is a technology that doesn’t tend to scale once you have larger networks involved.
This has to be very carefully engineered so that you’re able to send multicasts from one part of the network to the other. And it’s one of the reasons that we don’t commonly see multicast communication occurring across the internet. This is a technology that’s commonly seen with both IPv4 and IPv6, but since IPv6 does not have broadcasts available, we see multicast used extensively with IPv6 communication.
There’s another way to communicate where you would have a source device that needs to communicate to a different type of device. And there’s many options available on the network to communicate. But ultimately, you only need to talk to one of those. This is anycast, which allows you to communicate to a single device on the network, but that single device could be one of many options available. Anycast is used in both IPv4 and in IPv6.
If you were to look at the configuration of these devices, you would see that they appear to have the same unicast address assigned to them, but they’re actually anycast addresses and will respond to any requests made by a device looking for that particular address. This anycast technology is used extensively on the internet.
You can have devices that will request information via anycast, and the closest device will respond back. This allows you to distribute these servers geographically. And you’ll communicate to the device that’s closest to you on the network. This is commonly used with Domain Name Services, or DNS, where there are only 13 devices defined as root DNS servers. In reality, there are thousands of root DNS servers available because we’ve configured them to respond using anycast.