IPv6 Explained

Understanding IPv6 addresses, notation, subnetting, and how the next generation of IP addressing works.

IPv6 Address Format

Full Notation

2001:0db8:85a3:0000:0000:8a2e:0370:7334
8 groups of 4 hexadecimal digits
  • • 128 bits total (16 bytes)
  • • 8 groups separated by colons
  • • Each group is 4 hexadecimal digits
  • • 340 undecillion possible addresses

Compressed Notation

2001:db8:85a3::8a2e:370:7334
Leading zeros omitted, :: replaces consecutive zeros
  • • Leading zeros can be omitted
  • • :: represents consecutive zero groups
  • • :: can only be used once per address
  • • Much more readable in practice

Compression Examples

Full:
2001:0db8:0000:0000:0000:0000:0000:0001
Compressed:
2001:db8::1

IPv6 Subnetting: /48 to /64

Address Hierarchy

/48 - ISP Allocation
2001:db8:1234::/48
Given to organizations
/64 - Network Segment
2001:db8:1234:0001::/64
Individual networks/VLANs
/128 - Host Address
2001:db8:1234:0001::1/128
Specific device

Subnet Planning

From /48 to /64 gives you:
2^16 = 65,536 subnets
Each /64 subnet can hold 2^64 devices (18 quintillion!)
Best Practice: Always use /64 for end networks, even if you only have a few devices. This ensures compatibility with SLAAC and other IPv6 features.

Address Assignment: SLAAC vs DHCPv6

SLAAC (Stateless)

Stateless Address Auto-Configuration allows devices to automatically configure their own IPv6 addresses without a server.

How it works:
  1. 1. Router announces network prefix (/64)
  2. 2. Device creates interface identifier (usually from MAC)
  3. 3. Combines prefix + interface ID = full address
  4. 4. Tests for duplicates with DAD
✅ Simple, no server needed
✅ Works out of the box
⚠️ No control over addressing

DHCPv6 (Stateful)

DHCPv6 provides centralized address management, similar to DHCP in IPv4, but with additional IPv6-specific features.

Modes:
  • Stateful: DHCPv6 provides addresses
  • Stateless: SLAAC + DHCPv6 for options
  • Assisted: Router flags control behavior
✅ Centralized control
✅ Additional options (DNS, etc.)
⚠️ Requires DHCPv6 server

Privacy Extensions & Temporary Addresses

The Privacy Problem

Traditional SLAAC creates addresses using the device's MAC address, making devices trackable across different networks.

Example:
MAC: 00:11:22:33:44:55
→ Interface ID: 0211:22ff:fe33:4455
→ Always the same on any network

Privacy Extensions

RFC 4941 privacy extensions generate random, temporary addresses that change over time to prevent tracking.

Benefits:
  • • Random interface identifiers
  • • Addresses change periodically
  • • Prevents device tracking
  • • Enabled by default on most OSes

Multiple Addresses

IPv6 devices typically have multiple addresses simultaneously:
  • Link-local: fe80::/10 (for local communication)
  • Stable global: Based on MAC or configured
  • Temporary global: Privacy extension addresses
  • Unique local: fc00::/7 (private addressing)

Reverse DNS (rDNS) Basics

How rDNS Works

Reverse DNS allows you to find the hostname associated with an IP address. For IPv6, this uses the ip6.arpa domain.

IPv6: 2001:db8::1
rDNS: 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa

Setting Up rDNS

  1. 1.Get IPv6 delegation from your ISP or hosting provider
  2. 2.Configure DNS servers to handle your ip6.arpa zone
  3. 3.Create PTR records for your IPv6 addresses
  4. 4.Test with tools like dig or nslookup

Common IPv6 Address Types

Special Addresses

::/0
Default route (like 0.0.0.0/0)
::1/128
Loopback (like 127.0.0.1)
::/128
Unspecified address
fe80::/10
Link-local addresses

Global Addresses

2000::/3
Global unicast (public internet)
fc00::/7
Unique local (private networks)
ff00::/8
Multicast addresses
2001:db8::/32
Documentation/examples

Related Topics