ELI5 · · 4 min read

What is SLAAC (IPv6)?

Discover how SLAAC lets devices self‑assign global addresses, removes DHCP overhead, preserves end‑to‑end connectivity, and scales effortlessly for home, enterprise, and IoT networks.

What is SLAAC (IPv6)?

SLAAC (Stateless Address Auto-Configuration) is a way of IPv6-enabled devices figuring out their own IPv6 address by listening to hints from the local router instead of a central server. With SLAAC, devices on your home network or office (including IoT) can join the IPv6 network without a DHCP server for permission. It's one feature that makes IPv6 'Plug-and-Play' at scale.

Why Auto-Configuration is Required

Manual addressing doesn’t scale

You could type an IPv6 address into every laptop, printer, fridge, doorbell, but those addresses are 128 bits long, written like '2001:0db8:8adf::8a2e:0572:7634', but people make mistakes. Managing thousands of manual entries becomes unmanageable and unwieldy quickly.

DHCP has trade‑offs

DHCPv6 (the successor to IPv4’s familiar DHCP) still works, but it needs a stateful server that keeps track of every lease and might become a single point of failure. For simple networks, a lightweight approach makes sense, like SLAAC.

Address explosion & end‑to‑end networking

IPv6 has enough address space to give every (grain of sand on earth its own IPv6 address) device its own unique, public address. With so many addresses available, NAT is unnecessary, and devices can speak directly to each other. SLAAC emerged to let devices pick their own unique addresses on the fly.

An analogy

Imagine a new housing estate. The council posts a sign at the entrance that reads “You are on Packet Avenue, houses 1‑1000.” Each family chooses a house number within that range, then quickly checks that nobody else has the same number. They also note where the main road leaves the estate. In this analogy, the sign is the Router Advertisement, the chosen house number is the interface identifier, and the quick check is Duplicate Address Detection.

How SLAAC works

  1. Device creates a link‑local address.
    When a device boots, it creates a link‑local address (usually FE80::/64 + its interface ID). The interface ID can be based on its MAC address using the EUI‑64 format or a randomly generated value. This address only works within the local segment.
  2. Duplicate Address Detection (DAD).
    Before using the link‑local address, the device checks that nobody else is using it by sending a special ICMPv6 message. If nobody responds, the device considers the address unique.
  3. Router Solicitation (RS).
    The device sends a “who’s the router here?” message to the all‑routers multicast address FF02::2. This wake‑up call is optional; routers also periodically advertise on their own.
  4. Router Advertisement (RA).
    The local router replies with an RA, which includes the network’s prefix (e.g., 2001:1234:abcd:1::/64) and may include the default gateway and DNS servers. The RA may also include flags: M (managed) and O (other), to tell hosts whether to use DHCPv6 for addressing or just for additional information.
  5. Device forms its global address.
    The host combines the prefix from the RA with its interface ID to form a full IPv6 address (e.g. 2001:1234:abcd:1:...). It then repeats Duplicate Address Detection to ensure uniqueness.
  6. Default gateway & DNS.
    The RA tells the host which router to use as the default gateway. Modern RAs can also include DNS servers, so you don’t always need DHCPv6 just to resolve names.

That’s it! With SLAAC there is no central registry keeping track of who has which address; devices coordinate among themselves.

Router Advertisement flags

Routers can tweak how auto‑configuration works with a couple of bits in the RA:

Image depicting the different router advertisement flags, such as M flag, O flag and No-Flag, their meaning and outcome

These flags allow a network to mix and match SLAAC and DHCPv6 to suit different needs.

Privacy extensions & temporary addresses

Early SLAAC implementations derived the interface ID from the device’s MAC address. This made addresses globally unique but also tied the address to the hardware, which is bad for privacy (same ID wherever you are).

RFC 4941 introduced privacy extensions, where devices generate random interface IDs that change periodically. It’s somewhat like choosing a new house number every day so no one can track your movements around town.

Benefits and trade‑offs

Pros

Cons

FAQ

Do I still need DHCP if my network uses SLAAC?

Not necessarily. If the router includes DNS servers in its RA, a host can get by with pure SLAAC. However, many operators set the O‑flag so hosts still use DHCPv6 to fetch DNS and other settings.

Is SLAAC the same as DHCPv6?

No. SLAAC is stateless. No server tracks which addresses are used, whereas DHCPv6 is stateful and centrally managed.

What happens if two devices pick the same address?

Duplicate Address Detection (DAD) catches collisions. A host probes the network before using an address and picks a new one if it gets a response.

Can I turn off privacy extensions?

Yes. Some servers and embedded devices use stable EUI‑64‑derived addresses by design. On laptops and phones, you can usually toggle privacy features, but most OSes enable them by default for anonymity.

Read next

Featured image from the ELI5 series. The image features some retro colouring/ design with the title "What is.. NAT?"
Networking ·

What is NAT?

Learn how Network Address Translation (NAT) works - lets home networks and data centres share one public IPv4 address, hides private hosts and enables port forwarding for servers.