Chapter 1 – Public Address Space
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 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 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? All devices have a public IP. There’s no NAT to troubleshoot, only routing.
Well, that’s not just a dream. That’s one of the goals of IPv6. With such a large address space, all devices can have a publicly 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 a part of a reserved range is routable on the internet. For example, the 2001:db8:: /32 range I’ve been using is for documentation purposes only, and is not routable 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 something you may have to ask for.
But wait… Does this mean 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.
You don’t need to worry about these for the CCNA exam.
Does this mean that we don’t choose our own IP addresses anymore? Yeah, pretty much!
A suitable range of IPv6 addresses are assigned to us by either an RIR, or by our internet provider.
Although it may feel uncomfortable at first, we need to get used to the fact that IPv6 does not use private IP addresses or NAT.
Chapter 2 – Local Addresses
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 we’ll talk about in 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 in just about all node-to-node communication on the link.
This includes things like sending OSPF hello messages to neighbours.
When an interface comes online, a link-local IP is automatically assigned. We can configure it manually, but it’s easier to leave this to a process called EUI-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 a 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 are 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’ll see very often, but they are perfect if you want to try out IPv6 in your network, but don’t yet want to go to your internet provider to get some officially assigned to you.
You could also use them for testing, labs, and keeping some devices isolated from the internet.
In general, though, it’s a good idea to avoid unique local addresses in your production network.
Chapter 3 – Multicast and Anycast
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 an example of this.
Broadcast traffic is not routable.
Unicast is the type of traffic that is sent to a single IP address. For example, from a workstation to a server.
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 the 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 this 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! What if something needs to be broadcast? Multicast handles that now.
This is actually a really good thing. Broadcasts really aren’t that great. The only reason they’re used in IPv4, is because multicast didn’t exist when IPv4 was created.
Aside from these three, there’s a new traffic type. This one’s called ‘Anycast’.
The idea is that more than one device can have an Anycast IP address, in addition to their other addresses.
If a device wants to access a resource, it can communicate with any one of the devices. For instance, you can share the traffic load between two servers.
Chapter 4 – Subnetting
Now for the part you’ve been waiting for! How do we subnet IPv6 addresses? Very much the same way as with IPv4.
If you saw my video on IPv4 subnetting, you will like the lab at the end of the video. We’ll add IPv6 to the same network.
We can even use IPv6 alongside IPv4. This is called dual-stack, and is one of the ways we can migrate from IPv4 to IPv6.
For the CCNA exam, you don’t need to worry about migration.
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 er can divide our /56 into /64s.
First, I’m going to expand the address out, by putting all the zeros back in. This just makes it easier to work with and demonstrate.
In hexadecimal, each character is 4 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 this group…
Each character is 4-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 we’ve been allocated, we still have 8 bits under our control.
We can allocate any networks in this range within our network.
Subnetting with IPv6 isn’t all that hard after all. All it takes is a little practice.
The lab today is 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 how to allocate IPs to each of the networks in the company.
Viewers who support Network Direction can access my solution on the website.
In the next video, we’re getting practical. We’ll start configuring IPv6 addresses.