IPv6 (Internet Protocol version 6) is the successor to IPv4 - a 128-bit address space (vs IPv4's 32-bit), a streamlined header, native autoconfiguration, and the protocol the internet has been "about to migrate to" for thirty years. The migration is real now: most major content providers, mobile networks, and cloud platforms support IPv6, and an increasing percentage of internet traffic is genuinely v6. For network engineers in 2026, IPv6 is no longer optional knowledge.
This is the cluster overview for the full PingLabz IPv6 series: the 128-bit address format, address types (link-local, global, unique-local), the simplified IPv6 header, ICMPv6 and Neighbor Discovery (the ARP replacement), SLAAC autoconfiguration, IPv6 routing protocols (OSPFv3, BGP for IPv6, EIGRP for IPv6, VRRPv3), and Cisco IOS XE configuration patterns. We will work through what IPv6 is, how it differs from IPv4, why the address format looks the way it does, and the configuration patterns that work in production.
Why IPv6 Exists
IPv4's 32-bit address space provides 4.3 billion unique addresses. That sounded enormous in 1981; it is utterly inadequate now. The IANA exhausted its IPv4 pool in 2011; regional internet registries (ARIN, RIPE, APNIC, LACNIC, AFRINIC) ran out of fresh allocations between 2015 and 2020. IPv4 transfers and reclamations now drive any new allocation.
IPv6's 128-bit address space provides 340 undecillion (3.4 x 10^38) addresses. Enough that every grain of sand on Earth could have its own subnet. The address shortage is solved permanently.
But IPv6 is not just bigger addresses. The protocol designers used the redesign as an opportunity to fix several IPv4 design issues:
- Streamlined header. Fewer fields; fixed length (40 bytes vs IPv4's variable 20-60 bytes). Routers process IPv6 packets faster.
- No header checksum. Layer 2 (Ethernet) and Layer 4 (TCP/UDP) already have checksums; the IPv6 header drops it to save processing.
- No fragmentation by routers. Only the source can fragment; routers signal too-big errors via ICMPv6 PTB (Packet Too Big).
- Native autoconfiguration. SLAAC (Stateless Address Autoconfiguration) lets hosts assign their own IPv6 address without DHCP.
- Mandatory IPsec support. Originally required (now recommended); every IPv6 stack includes IPsec primitives.
- Built-in mobility, multicast, and extensibility. Mobile IPv6, MLD multicast, extension headers for new features without changing the base header.
The result is a protocol that scales to internet+IoT addresses and forwards faster than IPv4 on equivalent hardware.
The IPv6 Address Format
An IPv6 address is 128 bits, written as eight groups of four hexadecimal digits separated by colons:
2001:0db8:85a3:0000:0000:8a2e:0370:7334Two compression rules make addresses readable:
- Leading zeros in each group can be dropped. 0db8 becomes db8; 0000 becomes 0.
- One run of consecutive all-zero groups can be replaced with ::. Only one :: per address (otherwise ambiguous).
So the address above compresses to 2001:db8:85a3::8a2e:370:7334.
The /64 prefix length is the convention for hosts on a network. The first 64 bits identify the network; the last 64 bits identify the host. This 64/64 split is what enables SLAAC and Neighbor Discovery efficiencies.
For the byte-level walkthrough including the compression rules and worked examples, see IPv6 Address Format Explained.
IPv6 Address Types
| Type | Prefix | Scope | Use |
|---|---|---|---|
| Global Unicast | 2000::/3 | Globally routable | Equivalent to IPv4 public addresses |
| Unique Local (ULA) | FC00::/7 (commonly FD00::/8) | Site-local; not internet-routable | Like IPv4 RFC 1918 private addresses |
| Link-Local | FE80::/10 | Link-only; never crosses a router | Required on every IPv6 interface; used for ND, OSPF, EIGRP |
| Multicast | FF00::/8 | Group communication | Replaces IPv4 broadcast for many functions |
| Loopback | ::1/128 | Host-local | Equivalent to 127.0.0.1 |
| Unspecified | ::/128 | None | "No address yet" (e.g. during DAD) |
Two key observations: every IPv6 interface has a link-local address (FE80::/10) automatically; routing protocols use these as next-hops. Global unicast addresses are not strictly required for inside-AS forwarding; OSPFv3 and EIGRP for IPv6 work entirely over link-locals.
The IPv6 Header
The IPv6 header is 40 bytes, fixed length:
+-Version (4)-+-Traffic Class (8)-+-Flow Label (20)-----+
+-Payload Length (16)-+-Next Header (8)-+-Hop Limit (8)-+
+-Source Address (128 bits)----------------------------+
+-Destination Address (128 bits)-----------------------+
| Field | Size | Purpose |
|---|---|---|
| Version | 4 bits | Always 6 for IPv6 |
| Traffic Class | 8 bits | QoS marking (DSCP+ECN, like IPv4 ToS) |
| Flow Label | 20 bits | Per-flow identifier (rarely used in practice) |
| Payload Length | 16 bits | Length of payload in bytes (excludes header) |
| Next Header | 8 bits | Type of next header (TCP=6, UDP=17, ICMPv6=58, etc.) - replaces IPv4's Protocol field |
| Hop Limit | 8 bits | TTL equivalent; decremented at each hop |
| Source Address | 128 bits | Source IPv6 address |
| Destination Address | 128 bits | Destination IPv6 address |
What is NOT in the IPv6 header (compared to IPv4):
- Header checksum (gone)
- Header length (fixed at 40)
- Identification, flags, fragment offset (only in extension headers if fragmenting)
- Options (replaced by extension headers, optional)
The result: more compact, faster to parse, easier to hardware-accelerate.
Neighbor Discovery: The ARP Replacement
IPv6 does not use ARP. Address resolution uses ICMPv6 Neighbor Discovery (NDP, RFC 4861). Five message types matter:
| Message | ICMPv6 Type | Purpose |
|---|---|---|
| Router Solicitation (RS) | 133 | Host asks routers to send Router Advertisements |
| Router Advertisement (RA) | 134 | Router announces its presence and prefix info; sent periodically and in response to RS |
| Neighbor Solicitation (NS) | 135 | "What is the MAC for this IPv6 address?" - replaces ARP request |
| Neighbor Advertisement (NA) | 136 | "My MAC for this IPv6 is X" - replaces ARP reply |
| Redirect | 137 | Tell a host about a better next-hop |
NDP is a strictly link-local protocol; messages have hop limit 255 and are dropped if any router decrements the hop limit (which would happen if they crossed a router). This is the GTSM-like protection against off-link attacks.
SLAAC: Stateless Address Autoconfiguration
SLAAC is the IPv6 mechanism that lets hosts pick their own global address without DHCP. The flow:
- Host comes up; auto-assigns a link-local FE80:: address using EUI-64 or a random interface ID
- Host sends a Router Solicitation
- Router responds with Router Advertisement carrying the network's /64 prefix
- Host concatenates the prefix with its own interface ID to form a global address (e.g. prefix 2001:db8:1::/64 + interface ID becomes 2001:db8:1:0:abcd:ef01:2345:6789)
- Host runs Duplicate Address Detection (DAD) by sending an NS for its tentative address; if no response, it adopts the address
SLAAC is enabled by default on most IPv6 networks. DHCPv6 (a separate protocol) is used for stateful address assignment when the operator wants control, or for sending DNS server addresses (which RAs can also do via RDNSS option).
IPv6 Routing Protocols
| Protocol | IPv6 variant | Notes |
|---|---|---|
| OSPF | OSPFv3 (RFC 5340) | Separate protocol from OSPFv2; carries IPv6 routes natively, plus IPv4 in modern code |
| EIGRP | EIGRP for IPv6 | Same DUAL algorithm; IPv6 address-family in named-mode EIGRP |
| BGP | MP-BGP with address-family ipv6 unicast | Same BGP, different AFI/SAFI |
| RIPng | RIPng (RFC 2080) | RIP for IPv6; rare in production |
| IS-IS | IS-IS multi-topology | IS-IS carries IPv6 prefixes natively |
For BGP IPv6, see the BGP cluster pillar and MP-BGP article. For OSPFv3, see the OSPF cluster pillar (the OSPFv3 article is in that cluster).
Cisco IOS XE Configuration
Enabling IPv6 globally and on an interface:
! Global enablement
ipv6 unicast-routing
! Per-interface
interface GigabitEthernet0/0/0
ipv6 address 2001:db8:1::1/64
ipv6 address autoconfig ! Or static; this enables SLAAC for the interface
ipv6 enable ! Enables link-local even without global address
! With Router Advertisement options
interface GigabitEthernet0/0/0
ipv6 address 2001:db8:1::1/64
ipv6 nd ra interval 200 60 ! RA interval 200s max, 60s min
ipv6 nd prefix 2001:db8:1::/64 86400 14400Verification:
! Show IPv6 interfaces
Router# show ipv6 interface GigabitEthernet0/0/0
! Show IPv6 routing table
Router# show ipv6 route
! Show neighbor table (the ARP equivalent)
Router# show ipv6 neighborsIPv6 Deep Dives in This Cluster
- IPv6 Address Format Explained Byte by Byte
- IPv4 vs IPv6: The Real Differences
- IPv6 Address Types: Link-Local, Global, Unique Local
- IPv6 Configuration on Cisco IOS XE
- IPv6 Header Format Explained
FAQ
What does IPv6 stand for?
IPv6 is Internet Protocol version 6, the successor to IPv4 (Internet Protocol version 4). The intermediate version 5 was an experimental streaming protocol that was never deployed; 6 was assigned to the next-generation IP project.
How much bigger is IPv6 than IPv4?
340 undecillion (3.4 x 10^38) IPv6 addresses vs 4.3 billion IPv4. Roughly 10^29 times bigger. Enough for every device on Earth to have many addresses each, and every grain of sand on Earth to have its own /64 subnet.
Is IPv6 actually deployed?
Yes. As of 2026, Google reports that around 45-50 percent of users connect via IPv6. Major content (Google, Facebook, Netflix, AWS, Azure) all support IPv6 natively. Mobile carriers in many countries default to IPv6-only for cellular data. Enterprise IPv6 adoption lags consumer/mobile but is increasing.
Should I disable IPv6 on my hosts?
No. Microsoft, Apple, and the IETF strongly advise against disabling IPv6. Disabled IPv6 causes issues with newer applications and breaks privacy extensions. If you don't want IPv6 routing, leave the protocol enabled but don't deploy IPv6 routing in your network.
Does IPv6 use ARP?
No. IPv6 uses ICMPv6 Neighbor Discovery (NDP) instead of ARP. NDP serves the same purpose (mapping IPv6 addresses to MAC addresses) but uses ICMPv6 messages over multicast rather than ARP's broadcast model. This is more efficient and integrates with the rest of IPv6 (RAs, etc.).
What are the private IPv6 addresses?
Unique Local Addresses (ULAs) in the FC00::/7 range, typically FD00::/8 in practice (the second half of the ULA range). Equivalent to IPv4's RFC 1918 private addresses but with a 40-bit pseudo-random Global ID to prevent collisions if networks are merged.
Key Takeaways
IPv6 is no longer optional knowledge for network engineers in 2026. The address space is 128-bit (340 undecillion addresses), the header is 40 bytes fixed, ARP is replaced by Neighbor Discovery, and SLAAC handles host autoconfiguration without DHCP. Routing protocols (OSPFv3, MP-BGP for IPv6, EIGRP for IPv6, VRRPv3) handle IPv6 with the same conceptual models as their IPv4 counterparts.
Master the address format, the address types, and Neighbor Discovery, and the rest of IPv6 follows naturally. Bookmark this page, work through the cluster articles in order, and lab everything in a controlled environment - IPv6 troubleshooting habits are different from IPv4 and need practice.