IPv6 comes with some new address types.
In this video, you'll find out about global unicast addresses,
local addresses, anycast addresses
and others
Back in the 1990s, the world was running out of IP addresses.
One of the ways to conserve IP addresses was to give most devices
a private IPs. By using NAT,
A router or firewall will translate any internet traffic to a public IP address.
This made it possible for many devices to share a few public IP addresses.
From this, we can infer something really interesting.
IPv4 was never meant to have a public and private IPs.
Originally, all IPs were meant to be public
and all devices would have a public IP.
Wouldn't it be easier to go back to the old days?
There's no NAT to troubleshoot only routing.
Well, that's not just a dream.
That's one of the goals with IPv6.
All devices can have a publically routable IP address.
This means that we don't need NAT and we don't need private IPs
except for some special IPv6 ranges,
all addresses are now global unicast addresses.
Any IPv6 address that's not part of a reserved
range is routable on the internet.
For example, the
2001:db8:: /32 range that I've been using
is for documentation purposes, and is not usable on the internet.
See the Wikipedia link here for a list of reserved ranges
Your phone is probably
getting an IPv6 address right now.
You may also have an IPv6 address on your home
internet connection. Although that's not entirely common just yet,
it's often something you have to ask for. But, wait.
Does this mean that NAT is completely gone as far as IPv6 is concerned?
Almost. There are
still NAT technologies called NAT46 and NAT64
which are used to translate between IPv4 and IPv6.
Does this mean that we don't choose our own IPs anymore?
Yeah, pretty much.
A suitable range of IPv6 addresses are assigned to us by either an RIR
or by our internet provider,
although we may feel uncomfortable at first,
we need to get used to the fact that IPv6 does not use private IPs
or NAT.
A really interesting
IPv6 address is the link local address.
You may have seen them before.
They all start with fe80.
Every IPv6 enabled interface has one of these addresses,
even if the interface has a valid global unicast IP.
It will also have a link-local IP.
The purpose of the link
local address is to enable communication on the local network.
Combining these addresses with NDP, which will talk about another video,
the device can discover a default gateway and other routers in the network.
It's surprising just how much these addresses are used in normal IPv6
operations.
It's used in just about all node to node communications on the link.
This includes things like sending OSPF hello messages to neighbors.
When an interface comes online.
A link local IP is automatically assigned.
We can configure it manually, but it's easier just to leave
this to a process called UI 64.
I'll cover that in another video soon, but the gist is
the device will use the MAC address to create a unique link local address.
As the name suggests,
link local addresses are used in the local network only.
That is, they're not routable
so you can't use a link local address to communicate
with another device on another subnet.
Earlier I said that we don't use private addresses anymore.
Even so, there is still something similar in IPv6.
They called unique local addresses.
You can do whatever you want with these in your own private network,
but they aren't routable over the internet.
They're not something you see very often, but
they are perfect if you want to try out IPv6 in your own network.
But you don't
want to go to your internet provider to get some officially assigned to you.
You could also use them for testing, labs,
and maybe even keeping some devices isolated from the Internet
In general, though, it's a good idea to avoid using
unique local addresses in your production network.
You've heard of
broadcast, unicast, and multicast before.
Broadcast traffic is sent to all devices on the local network.
A workstation broadcasting a DHCP
request for an IP address is a good example of this.
Unicast is the type of traffic that is sent to a single IP address
for example, from a workstation to a server
multicast traffic is sent to one or more devices.
An example of this is when you're watching a live stream.
Multicast is efficient as a traffic is sent
only once, but many devices can receive it.
On the other hand, devices that don't want this traffic don't get it.
There are some changes to all of these in IPv6.
Unicast is still there
of course. Multicast is used more heavily than ever before.
The biggest change is
with broadcasts. In IPv6, there aren't any.
So what if something needs to be broadcast?
Well, that's handled through multicast now,
and this is actually a really good thing.
Broadcasts really aren't that great.
The only reason they're used in IPv4 at all is because
multicast didn't exist when IPv4 was created.
Now, aside from these three, there is a new traffic type.
This one is called anycast.
The idea is that more than one device can have a single
anycast IP address in addition to their other addresses.
If a device wants to access a resource
it can communicate with any one of those devices.
For instance, you could use them to share the traffic load
between two servers
Now, for the part you've been waiting for.
How do we subnet IPv6 addresses?
Very much the same way as we do with IPv4.
If you saw my video on IPv4 subnetting,
you would like to lab at the end of this video.
We can use IPv6 alongside IPv4.
This is called dual stack,
and it's one of the ways we can migrate from IPv4 to IPv6
for the CCNA exam,
you don't need to worry about migration, though.
In another video, I mentioned that you might be allocated
a /48 or /56, depending on your company size.
I've also said that the standard size for an IPv6 subnet is /64.
So let's see how we could divide our /56 network
into multiple /64s.
First, I'm going to expand this address by putting all the zeros back in.
This is just to make it easier to work with and to demonstrate
in hexadecimal.
Each character is worth four bits that makes each IPv6 grouping
16 bits each.
Knowing this, we can easily see the main prefix boundaries
that puts the /56 prefix somewhere in this fourth group.
Let's take a closer look at that group.
Each character is four bits, so that puts the /56
boundary between the 'a' and the '0'.
That means that we have these eight bits to use to create our own subnets.
That gives us 256 different networks that we can use as we see fit.
While we can't change the original /56 that we've been allocated,
we still have eight bits under our control.
We can allocate any networks in this range as we see fit.
Submitting with IPv6 isn't all that hard after all.
All it takes is a little practice.
The lab
today is a bit more of a tabletop exercise.
You may have seen a previous video where we discussed
how to design the IP space for a fictional company. In this lab,
we extend this to IPv6.
You will need to assign yourself some space from the unique local IP range.
Then you need to plan out which prefixes
to allocate to each of these networks in the company.
Viewers who support network direction can access
my solution on the website.
In the next video, we're going to get practical.
We'll start configuring IPv6 addresses.