IPv6: The Complete Guide for Network Engineers

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:

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:7334

Two compression rules make addresses readable:

  1. Leading zeros in each group can be dropped. 0db8 becomes db8; 0000 becomes 0.
  2. 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

TypePrefixScopeUse
Global Unicast2000::/3Globally routableEquivalent to IPv4 public addresses
Unique Local (ULA)FC00::/7 (commonly FD00::/8)Site-local; not internet-routableLike IPv4 RFC 1918 private addresses
Link-LocalFE80::/10Link-only; never crosses a routerRequired on every IPv6 interface; used for ND, OSPF, EIGRP
MulticastFF00::/8Group communicationReplaces IPv4 broadcast for many functions
Loopback::1/128Host-localEquivalent to 127.0.0.1
Unspecified::/128None"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)-----------------------+
FieldSizePurpose
Version4 bitsAlways 6 for IPv6
Traffic Class8 bitsQoS marking (DSCP+ECN, like IPv4 ToS)
Flow Label20 bitsPer-flow identifier (rarely used in practice)
Payload Length16 bitsLength of payload in bytes (excludes header)
Next Header8 bitsType of next header (TCP=6, UDP=17, ICMPv6=58, etc.) - replaces IPv4's Protocol field
Hop Limit8 bitsTTL equivalent; decremented at each hop
Source Address128 bitsSource IPv6 address
Destination Address128 bitsDestination IPv6 address

What is NOT in the IPv6 header (compared to IPv4):

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:

MessageICMPv6 TypePurpose
Router Solicitation (RS)133Host asks routers to send Router Advertisements
Router Advertisement (RA)134Router 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
Redirect137Tell 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:

  1. Host comes up; auto-assigns a link-local FE80:: address using EUI-64 or a random interface ID
  2. Host sends a Router Solicitation
  3. Router responds with Router Advertisement carrying the network's /64 prefix
  4. 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)
  5. 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

ProtocolIPv6 variantNotes
OSPFOSPFv3 (RFC 5340)Separate protocol from OSPFv2; carries IPv6 routes natively, plus IPv4 in modern code
EIGRPEIGRP for IPv6Same DUAL algorithm; IPv6 address-family in named-mode EIGRP
BGPMP-BGP with address-family ipv6 unicastSame BGP, different AFI/SAFI
RIPngRIPng (RFC 2080)RIP for IPv6; rare in production
IS-ISIS-IS multi-topologyIS-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 14400

Verification:

! 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 neighbors

IPv6 Deep Dives in This Cluster

  1. IPv6 Address Format Explained Byte by Byte
  2. IPv4 vs IPv6: The Real Differences
  3. IPv6 Address Types: Link-Local, Global, Unique Local
  4. IPv6 Configuration on Cisco IOS XE
  5. 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.

© 2025 Ping Labz. All rights reserved.