2 minute read

What is IPv6 stateless address auto-configuration?

With stateless auto-configuration, hosts do not obtain addresses and other configuration information from a server.

Stateless auto-configuration in IPv6 features link-local addresses, multicasting, and the Neighbor Discovery (ND) protocol.

IPv6 can generate the interface ID of an address from the underlying data link layer address.

Stateless auto-configuration and stateful auto-configuration complement each other. For example, the host can use stateless auto-configuration to configure its own addresses, but use stateful auto-configuration to obtain other information.

Stateful auto-configuration allows hosts to obtain addresses and other configuration information from a server. IPv6 also defines a method whereby all of the IP addresses on a network can be renumbered at one time, it also defines a method for devices on the network to automatically configure their IP address and other parameters without the need for a server.

Devices perform these steps when using stateless auto-configuration:

  1. Generate a link-local address – The device generates a link-local address, which has 10 bits, followed by 54 zeros, and followed by the 64-bit interface ID.
  2. Test the uniqueness of a link-local address – The node tests to make sure that the link-local address that it generates is not already in use on the local network. The node sends a neighbor solicitation message by using the ND protocol. In response, the local network listens for a neighbor advertisement message, which indicates that another device is already using the link-local address. If so, either a new link-local address must be generated or auto-configuration fails, and another method must be used.
  3. Assign a link-local address – If the device passes the uniqueness test, the device assigns the link-local address to its IP interface. The link-local address can be used for communication on the local network but not over the Internet.
  4. Contact the router – The node tries to contact a local router for more information about continuing the configuration. This contact is performed either by listening for router advertisement messages sent periodically by the routers or by sending a specific router solicitation message to ask a router for information about what to do next.
  5. Provide direction to the node – The router provides direction to the node about how to proceed with auto-configuration. Alternatively, the router tells the host how to determine the global Internet address.
  6. Configure the global address – The host configures itself with its globally unique Internet address. This address is generally formed from a network prefix provided to the host by the router.