SLAAC

What

Allows IPv6 devices to configure their own IPv6 addresses, without needing a DHCPv6 server

StateLess Address AutoConfiguration

Why

Makes the proces simpler, by not needing a central DHCP server
Also means one less point of failure, and one less central bottleneck
Since there is no central state, it also cannot be lost

Concepts

How

  1. Generate link-local address
    1. Either based on MAC address, or random (more privacy friendly)
  2. Do Duplicate Address Detection: "Is anyone using fe80:21a:2bff:fe3c:4d5e?"
    1. If no response, the address is unique and can be used
    2. If there is a response, the address is in use, try again from the start with a newly generated link-local
  3. Discover routers: send RS message to all routers multicast
    1. Can also wait for periodic RAs if desired
  4. Response/RA will contain router config such as:
    1. Network prefix
    2. Prefix length
    3. Flags
    4. Default gateway info
    5. Prefix valid and preferred lifetimes
  5. Generate global scope address
    1. Based on router prefix + MAC/random
    2. E.g. prefix 2001:db8:1::/64 + MAC/random ::21a:2bff:fe3c:4d5e -> 2001:db8:1::21a:2bff:fe3c:4d5e/64
  6. Use Duplicate Address Detection again
    1. Only need to check with local devices, since no other devices will use the same prefix
  7. Device now has:
    1. Link-local address
    2. Global scope address
    3. Default gateway information