SLAAC: the IPv6 client builds its own address based on Router Advertisements (RA). DHCPv6: a server assigns IPv6 addresses and/or other parameters – stateless (client still uses SLAAC, DHCPv6 only supplies DNS etc.) or stateful (the server assigns the address itself and tracks clients).

Comparison

Point SLAAC DHCPv6 stateless DHCPv6 stateful
Assigns IPv6 address ✅ (itself) ✅ (server)
Default gateway ✅ (via RA) ✅ (via RA) ✅ (via RA)
DNS info ❌ (normally)
Central control ⚠️ partial
Typical use Simple LANs Enterprise LANs Strictly controlled enterprise

CCNA/CCNP key point: the IPv6 default gateway always comes from the Router Advertisement – never from DHCPv6.

How it works

SLAAC

  1. Client sends RS (Router Solicitation)
  2. Router replies with RA (Router Advertisement) containing the prefix (e.g. 2001:db8:1::/64) and the router’s link-local address (default gateway)
  3. The client builds its own Interface ID (EUI-64 or random)
  4. DAD (Duplicate Address Detection) ensures uniqueness

👉 No server needed.

DHCPv6 stateless

DHCPv6 stateful

Stateless vs stateful

Point Stateless Stateful
IPv6 address ❌ (SLAAC does it) ✅ (DHCPv6)
Default gateway ✅ (RA) ✅ (RA)
DNS / domain
Lease tracking
Central control Low High
Depends on SLAAC
RA flags M=0, O=1 M=1

Special considerations

Extra features

Configuration

! SLAAC (RA only)
interface GigabitEthernet0/0
 ipv6 address 2001:db8:1::1/64
 ipv6 enable

! DHCPv6 stateless
ipv6 dhcp pool DHCPV6-STATELESS
 dns-server 2001:db8::53
 domain-name example.local
interface GigabitEthernet0/0
 ipv6 address 2001:db8:1::1/64
 ipv6 nd other-config-flag
 ipv6 dhcp server DHCPV6-STATELESS

! DHCPv6 stateful
ipv6 dhcp pool DHCPV6-STATEFUL
 address prefix 2001:db8:2::/64
 dns-server 2001:db8::53
 domain-name example.local
interface GigabitEthernet0/1
 ipv6 address 2001:db8:2::1/64
 ipv6 nd managed-config-flag
 ipv6 dhcp server DHCPV6-STATEFUL

! DHCPv6 relay
interface GigabitEthernet0/2
 ipv6 dhcp relay destination 2001:db8::10

Exam takeaways 🔥