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.