IPv6 - SLAAC

SLAAC, or StateLess Address AutoConfiguration, is a method used in IPv6 networks to allow devices on the network to automatically configure themselves with an IPv6 address without the need for a centralized server, like DHCP in IPv4 networks. SLAAC enables a device to generate its own IPv6 address using a combination of locally available information and router advertisements on the network. The primary protocol suite used for this procedure is the Network Discovery Protocol.

Here's a breakdown of how SLAAC works:

  1. Router Advertisement: IPv6-capable routers send out Router Advertisement (RA) messages at regular intervals or in response to a Router Solicitation message from a device. These RA messages contain network configuration information, including the network prefix and prefix length.

  2. Address Generation: Upon receiving an RA, a device uses the advertised prefix to generate its own IPv6 address. The device combines this prefix with an interface identifier (typically derived from its MAC address or generated through a privacy extension) to form a complete IPv6 address. This process ensures that the address is unique on the network.

  3. Duplicate Address Detection (DAD): Before using the newly generated address, the device performs Duplicate Address Detection to ensure that no other device on the network is using the same address. It does this by sending a Neighbor Solicitation message. If there is no response, the address is considered unique, and the device can start using it.

  4. Configuration Completion: After successfully configuring its IPv6 address, the device can communicate with other devices on the IPv6 network and the broader Internet, assuming the network's routers are configured for IPv6 routing.

The SLAAC process in IPv6 is designed to work specifically with /64 prefixes. This is because the /64 prefix divides the address into a network portion and a host portion, each of 64 bits. The main reason for this is standardization and simplicity. A /64 division simplifies subnetting and makes route aggregation more efficient. Changing this would require changes to the IPv6 protocol and could lead to compatibility issues.

SLAAC is defined in RFC 4862 and is designed to simplify the process of network configuration in IPv6 networks. It supports a degree of automatic network configuration that was not present in IPv4, reducing the need for manual configuration or DHCP servers, though IPv6 also supports DHCPv6 for environments where more control over address assignments is desired.

Links:

https://forum.networklessons.com/t/ipv6-eui-64-explained/1176/32?u=lagapidis

https://networklessons.com/ipv6/stateless-autoconfiguration-for-ipv6

https://datatracker.ietf.org/doc/html/rfc4862