Stateless address autoconfiguration
Stateless address autoconfiguration is one of the most
valuable aspects of IPv6 because it allows IPv6 nodes to communicate
on a network without the need of manually assigning addresses to
them or deploying a DHCP server. The automatic assignment of
link-local addresses to interfaces on an IPv6 host is one example of
stateless address autoconfiguration at work, and it allows hosts on
the same link to communicate with one another. This type of address
autoconfiguration is called stateless because
it does not make use of an address configuration protocol such as
DHCP.
Another example of stateless address configuration at work is
when an IPv6 host uses router discovery to automatically configure
additional addresses, such as global or unicast local addresses, a
default gateway address, and other IPv6 configuration parameters.
What typically happens is this:
-
The host (which here is a computer running Windows Server
2012) sends out a Router Solicitation message to request a
router advertisement from any router listening on the host’s
link.
-
A router (either an IPv6 router or an ISATAP router) on
the host’s link responds to the host’s message by sending a
Router Advertisement message to the host.
-
The host uses the information in the Router Advertisement
message to assign a tentative address to the host, along with
any additional settings specified. IPv6 addresses that have been
autoconfigured can be in any of the following states:
-
Tentative The address
still needs to be verified as unique by performing duplicate
address detection. Tentative addresses cannot receive
unicast traffic until they have been verified as
valid.
-
Valid The address is
unique. A valid address is also either preferred or
deprecated.
-
Preferred The address
is valid and therefore can be used for sending or receiving
unicast traffic.
-
Deprecated The address
is valid and can be used for sending or receiving unicast
traffic but should not be used to initiate any new
communication.
-
Invalid The address can
no longer be used for sending or receiving unicast
traffic.
-
The time during which an address is in a particular state
is determined by information provided by the router.
Note
Address autoconfiguration is not for routers
Apart from configuring link-local addresses, address
autoconfiguration is used only to assign addresses to hosts.
Addresses for routers must be configured using a different method,
such as manual address assignment.
Stateful address autoconfiguration
Stateful address autoconfiguration is based on the use of an
address-resolution protocol. On IPv4 networks, DHCP is such a
protocol, and it can be used for dynamically assigning IP addresses
and other configuration settings to interfaces on hosts. The
infrastructure for DHCP consists of DHCP servers, DHCP clients, and
DHCP relay agents that can relay DHCP messages between clients and
servers on different subnets.
The IPv6 version of this protocol is called
DHCPv6, and it uses a similar infrastructure of
DHCPv6 servers, DHCPv6 clients, and DHCPv6 relay agents. However,
DHCPv6 can provide IPv6 hosts with both stateful address
configuration and stateless configuration settings. This can be a
problem because it can result in additional addresses being assigned
to hosts, but you can prevent this from happening by configuring
your IPv6 routers appropriately so that hosts are assigned only
stateful addresses by DHCPv6 servers.
One reason for deploying a DHCPv6 server on an IPv6 network is
because Windows does not support stateless address autoconfiguration
of DNS server settings using Router Advertisement messages. This
means that a DHCPv6 server is required if your Windows computers
need to be able to perform DNS name resolution using IPv6.
DHCPv6 client software is built into the following versions of
Windows:
-
Windows 8
-
Windows 7
-
Windows Vista
-
Windows Server 2012
-
Windows Server 2008 R2
-
Windows Server 2008