IPv6 address autoconfiguration
A highly useful aspect of IPv6 is its ability to automatically configure itself without the use of a stateful configuration protocol, such as Dynamic Host Configuration Protocol for IPv6 (DHCPv6). By default, an IPv6 host can configure a link-local address for each interface. By using router discovery, a host can also determine the addresses of routers, additional addresses, and other configuration parameters. Included in the Router Advertisement message is an indication of whether a stateful address configuration protocol should be used.
Address autoconfiguration can only be performed on multicast-capable interfaces. Address autoconfiguration is described in RFC 2462, "IPv6 Stateless Address Autoconfiguration."
Autoconfigured address states
Autoconfigured addresses are in one or more of the following states:
The address is in the process of being verified as unique. Verification occurs through duplicate address detection.
An address for which uniqueness has been verified. A node can send and receive unicast traffic to and from a preferred address. The period of time that an address can remain in the tentative and preferred states is included in the Router Advertisement message.
An address that is still valid, but its use is discouraged for new communication. Existing communication sessions can continue to use a deprecated address. A node can send and receive unicast traffic to and from a deprecated address.
An address from which unicast traffic can be sent and received. The valid state covers both the preferred and deprecated states. The amount of time that an address remains in the tentative and valid states is included in the Router Advertisement message. The valid lifetime must be greater than or equal to the preferred lifetime.
An address for which a node can no longer send or receive unicast traffic. An address enters the invalid state after the valid lifetime expires.
The relationship between the states of an autoconfigured address and the preferred and valid lifetimes is shown in the following illustration.
With the exception of link-local addresses, address autoconfiguration is only specified for hosts. Routers must obtain address and configuration parameters through another means (for example, manual configuration).
Types of autoconfiguration
There are three types of autoconfiguration:
Configuration of addresses is based on the receipt of Router Advertisement messages. These messages include stateless address prefixes and require that hosts not use a stateful address configuration protocol.
Configuration is based on the use of a stateful address configuration protocol, such as DHCPv6, to obtain addresses and other configuration options. A host uses stateful address configuration when it receives Router Advertisement messages that do not include address prefixes and require that the host use a stateful address configuration protocol. A host will also use a stateful address configuration protocol when there are no routers present on the local link.
Configuration is based on receipt of Router Advertisement messages. These messages include stateless address prefixes and require that hosts use a stateful address configuration protocol.
For all autoconfiguration types, a link-local address is always configured.
The address autoconfiguration process for an IPv6 node occurs as follows:
A tentative link-local address is derived, based on the link-local prefix of FE80::/64 and the 64-bit interface identifier.
Duplicate address detection is performed to verify the uniqueness of the tentative link-local address.
If duplicate address detection fails, manual configuration must be performed on the node.
If duplicate address detection succeeds, the tentative link-local address is assumed to be unique and valid. The link-local address is initialized for the interface. The corresponding solicited-node multicast link-layer address is registered with the network adapter.
For an IPv6 host, address autoconfiguration continues as follows:
The host sends a Router Solicitation message.
If no Router Advertisement messages are received, then the host uses a stateful address configuration protocol to obtain addresses and other configuration parameters. The IPv6 protocol for Windows does not support the use of a stateful address configuration protocol.
If a Router Advertisement message is received, the configuration information that is included in the message is set on the host.
For each stateless autoconfiguration address prefix that is included:
The address prefix and the appropriate 64-bit interface identifier are used to derive a tentative address.
Duplicate address detection is used to verify the uniqueness of the tentative address.
If the tentative address is in use, the address is not initialized for the interface.
If the tentative address is not in use, the address is initialized. This includes setting the valid and preferred lifetimes based on information included in the Router Advertisement message.
If it is specified in the Router Advertisement message, the host uses a stateful address configuration protocol to obtain additional addresses or configuration parameters.
IPv6 is a rapidly evolving standard. The RFCs referenced might have been made obsolete by newer RFCs.
Standards for stateful address configuration for IPv6 are in development. The IPv6 protocol for Windows does not support stateful address configuration or the DHCPv6 protocol.