IPv6 address lifetime: preferred versus valid lease

user1330287 asked:

What is the difference between “Preferred Life Time” and “Valid Life Time” lease. What is the point of preferred and why not just use valid life time lease? Thanks.

My answer:

The best explanation I have seen is in the introduction to RFC 4862 (which you should read in its entirety later):

IPv6 addresses are leased to an interface for a fixed (possibly
infinite) length of time. Each address has an associated lifetime
that indicates how long the address is bound to an interface. When a
lifetime expires, the binding (and address) become invalid and the
address may be reassigned to another interface elsewhere in the
Internet. To handle the expiration of address bindings gracefully,
an address goes through two distinct phases while assigned to an
interface. Initially, an address is “preferred”, meaning that its
use in arbitrary communication is unrestricted. Later, an address
becomes “deprecated” in anticipation that its current interface
binding will become invalid. While an address is in a deprecated
state, its use is discouraged, but not strictly forbidden. New
communication (e.g., the opening of a new TCP connection) should use
a preferred address when possible. A deprecated address should be
used only by applications that have been using it and would have
difficulty switching to another address without a service disruption.

The definitions for these terms are also illuminating:

tentative address – an address whose uniqueness on a link is being
verified, prior to its assignment to an interface. A tentative
address is not considered assigned to an interface in the usual
sense. An interface discards received packets addressed to a
tentative address, but accepts Neighbor Discovery packets related
to Duplicate Address Detection for the tentative address.

preferred address – an address assigned to an interface whose use by
upper-layer protocols is unrestricted. Preferred addresses may be
used as the source (or destination) address of packets sent from
(or to) the interface.

deprecated address – An address assigned to an interface whose use
is discouraged, but not forbidden. A deprecated address should no
longer be used as a source address in new communications, but
packets sent from or to deprecated addresses are delivered as
expected. A deprecated address may continue to be used as a
source address in communications where switching to a preferred
address causes hardship to a specific upper-layer activity (e.g.,
an existing TCP connection).

valid address – a preferred or deprecated address. A valid address
may appear as the source or destination address of a packet, and
the Internet routing system is expected to deliver packets sent to
a valid address to their intended recipients.

invalid address – an address that is not assigned to any interface.
A valid address becomes invalid when its valid lifetime expires.
Invalid addresses should not appear as the destination or source
address of a packet. In the former case, the Internet routing
system will be unable to deliver the packet; in the latter case,
the recipient of the packet will be unable to respond to it.

preferred lifetime – the length of time that a valid address is
preferred (i.e., the time until deprecation). When the preferred
lifetime expires, the address becomes deprecated.

valid lifetime – the length of time an address remains in the valid
state (i.e., the time until invalidation). The valid lifetime
must be greater than or equal to the preferred lifetime. When the
valid lifetime expires, the address becomes invalid.

With DHCPv6 in particular, the client should attempt to renew the lease before the preferred lifetime ends, but if it is not able to do so, the address will be deprecated (and the client can continue using it if it doesn’t have a preferred address) until the valid lifetime ends. Thus, clients with existing addresses can continue to communicate during brief DHCPv6 outages, for instance. They can also finish up long-running connections that may last longer than the preferred lifetime.

View the full question and any other answers on Server Fault.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.