Chapter #1 – Public Address Space
IPv6 follows the pattern originally intended for IPv4. It intends most addresses to be publically routable. These addresses are called Global unicast addresses.
This means we generally have no need for NAT. There are still some NAT technologies, such as NAT46 and NAT64, which are used to translate between IPv4 and IPv6. They are intended for migration purposes though.
Chapter #2 – Local Addresses
All IPv6 enabled interfaces have a link-local address. These addresses start with fe80::
Link-local addresses are used for communication on the local link (that is, the local subnet). They are used with NDP, OSPF, and other local protocols.
Link-local addresses are usually defined with a process called EUI-64 (Windows does its own thing). This takes the MAC address, and expands it to 64-bits by adding ‘FF FE’ right in the middle. Then the 7th bit is flipped, and that’s the host portion of the link-local address. The prefix is always fe80:: /64.
Unique local addresses are the same as private IP addresses in IPv4. They are routable in your network, but not on the internet. Generally speaking, you won’t use them much outside of labbing. They are part of the fc00:: /7 network.
Chapter #3 – Multicast and Anycast
Multicast traffic is sent to one or more devices on a network, but not necessarily all devices on the network. This is far more efficient than broadcasts, so broadcasting has been removed in IPv6. All multicast addresses are part of ff00:: /8.
Anycast is a new concept in IPv6. It allows several devices to be configured with the same anycast address (in addition to their link-local and global unicast addresses).
When something tries to access a service on the anycast IP, the device closest to the client responds first. So anycast means that any of the devices configured with the address could respond.
Chapter #4 – Subnetting
IPv6 subnetting is very similar to IPv4. There are just more bits to play with (32-bit vs 128-bit).
Typically, a company will be allocated a /48 or a /56 block of IPs. The company can subnet that block as they see fit.
Most networks in IPv6 are /64. So a /56 block can be divided into 256 networks. A /48 can be divided into over 65-thousand networks.