ICND2 200-105

ICND2 200-105

IPv6 Unicast Addressing

I want to remind you of some of the core elements of Internet Protocol version 6, or IPv6. It has a 128-bit address written in hexadecimal. Global addresses are equivalent to public addresses and the global addresses began with the number in hexadecimal for the first quartet of 2001, for when the Internet Assigned Numbers Authority, or IANA began handing them out.

IPv6 Global Addressing

And registries get the first 6 digits set. And Internet service provider, or ISP, a major ISP not the minor ISPs, but a major ISP would get an ISP prefix. An organization headquarter site, a branch site would each get their own site prefix. And then we can borrow 16 bits from that /48 to the 64. That borrowing of 16 bits gives us 65,536 subnets to work with at every single site. That's a lot. 65,000 subnets at a site, is a lot. And then the host portion is the latter half of the 128 bit field and we call that the interface ID but you can think of it as host portion and no one is going to slap you on the wrist unless there are real IPv6 purest. The private addresses that we see in IPv6 are focused on the link local variety. Those are the ones that are going to help us communicate on the local subnet. No, not routed and these are called FE80 addresses or that's how they begin FE80.

IPv6 Link Local Addressing

::1 is loopback, :: is unspecified, and if we see :: that might indicate that we're looking at the routing table and we see a default route, so we'd see ::/0 to indicate the default route in an IPv6 routing table.

I want you to remember how big that host portion is for an IPv6 address? 64 bits, right. Well the designers of IPv6 pulled from a concept from Novell. They may not own up to it but Novell IPX SPX had the concept of taking the MAC address and using that for the host portion. But we have a disconnect between the sizes now, if we want to have the MAC address be the host portion. But the MAC address is only 48 bits and we're trying to fill 64 bits. What do we do? Well we fill, we have filler. That filler coincidently starts off with a letter F, FF, FE, jammed right in the middle of that filler.

EUI-64 Interface ID

Anyways, this is called EUI-64 when we put in the FF, FE in the middle of the MAC address to fully populate the host portion. And you could see some things about the flags.

Okay, but what I care about is this ability to not have to worry about the host portion. I'm going to let the MAC address do the work for me. And this feature coupled with that, allows us to focus on making sure that we're in the right subnet. The first 64 bits for address are good. Latter 64 bits, what is going to happen is we're going to test the waters and make sure with neighbor discovery. Hey, is this an okay address? Is there any other device that happens to have this exact same host portion? And if it looks good to us then we'll take it and make it our own.

By default that link local address is going to have to come up with an interface ID automatically, a host portion. How do you think it determines what that interface ID is going to be by default? The great thing about IP version 6 is that even though we're going to have a link local address for every single interface by default you don't have to set the interface ID yourself. EUI-64 comes into play each and every single time for the link local address by default. You can change it, you can do it manually if you want to, but you'll always see EUI-64 used by default with link local.