ADDRCONF Working Group Susan Thomson (Bellcore)
INTERNET-DRAFT January 31, 1995
<draft-ietf-addrconf-ipv6-auto-00.txt>
IPv6 Address Autoconfiguration
Status of this Memo
This document is an Internet Draft. Internet Drafts are working
documents of the Internet Engineering Task Force (IETF), its Areas,
and its Working Groups. Note that other groups may also distribute
working documents as Internet Drafts.
Internet Drafts are draft documents valid for a maximum of six
months. Internet Drafts may be updated, replaced, or obsoleted by
other documents at any time. It is not appropriate to use Internet
Drafts as reference material or to cite them other than as a "working
draft" or "work in progress."
To learn the current status of any Internet Draft. please check the
1id-abstracts.txt listing contained in the Internet Drafts Shadow
Directories on ds.internic.net, nic.nordu.net, ftp.nisc.sri.com or
munnari.oz.au.
Abstract
This document specifies how a host autoconfigures one or more
addresses per interface. A host can form an intra-link scope address
autonomously based on information local to the host. A host can form
an inter-link scope address in two ways: either semi-autonomously,
based on knowledge of subnet prefixes advertised by routers, or by
using DHCPv6. All mechanisms rely on a host having a token per
interface that is unique at least per subnet. This document
specifies how a host forms an intra-link scope address autonomously
and an inter-link scope address semi-autonomously using IEEE 802
tokens to identify each interface. DHCPv6 is described elsewhere.
Expires July 31, 1995 [Page 1]
INTERNET-DRAFT Address Configuration January 1995
1. INTRODUCTION
An IPv6 host can autoconfigure two types of address:
1. an intra-link scope address,
2. an inter-link scope address.
An intra-link scope address is autoconfigurable in the absence of a
router. An inter-link scope address is autoconfigurable only when a
router is present on the link.
There is only one way to form an intra-link scope address. On ini-
tialization of an interface, a host forms an IPv6 intra-link scope
address by concatenating a predefined intra-link scope prefix to a
token that is unique per link. Typically, the definition of the
token is link-layer dependent. In the case of a host attached to an
IEEE 802 network, for example, the token is the IEEE 802 address of
the interface.
There are two ways to form an inter-link scope address. In the first
mechanism, a host forms an IPv6 inter-link scope address by con-
catenating a network prefix advertised in a Router
Advertisement[IPv6-DISC-PROC,IPv6-DISC-PROC] to a token that is
unique per link. The other mechanism available to hosts is to use the
IPv6 version of the Dynamic Host Configuration Protocol
(DHCPv6)[IPv6-DHCP]. The choice of protocol to use is advertised by
the router, and this choice is configurable by the system administra-
tor.
The first mechanism for forming an inter-link scope address is suit-
able for environments where no administrative control is desired. It
is a simple, efficient protocol designed for a very specific purpose:
to make stateless address configuration very straightforward to use
and implement. DHCPv6 is a more complex protocol allowing for very
flexible address assignment under the control of a system administra-
tor. This protocol typically requires significant system management,
including server and database configuration.
This document describes the general host address autoconfiguration
procedure in Section 2, and how a host forms an intra-link scope
address and an inter-link scope address without using DHCPv6 in Sec-
tions 3 and 4, respectively. The DHCPv6 protocol is specified else-
where [IPv6-DHCP]. The scope of the document is limited to hosts
Expires July 31, 1995 [Page 2]
INTERNET-DRAFT Address Configuration January 1995
attached to IEEE 802 networks. The effect of the transition scheme on
the address autoconfiguration procedure is discussed in Section 5.
Expires July 31, 1995 [Page 3]
INTERNET-DRAFT Address Configuration January 1995
2. PROCEDURE FOR FORMING AND MAINTAINING ADDRESSES
A host maintains a list of addresses per interface. At a minimum, the
list includes the intra-link scope address, which the host can form
autonomously whenever an interface is initialised. If a router is
attached to the link, the list will also include inter-link scope
addresses formed either from subnet prefixes advertised in router
advertisements or by making requests to DHCPv6. Inter-link scope
addresses may also be manually configured.
2.1. Host Configuration
A host must maintain a list of the following configurable variables
per interface:
Address
A valid IPv6 unicast address for this interface
Default: None
LifeTime:
The length of time for which an address is valid in seconds.
Default: Infinity
An intra-link scope address and all manually configured addresses
have their lifetimes set to infinity.
A host may also allow the following variable to be configured by a
system administrator per interface:
Perform_Auto_Address
If TRUE, the host must perform address autoconfiguration process-
ing. Otherwise, the host performs no address autoconfiguration
Expires July 31, 1995 [Page 4]
INTERNET-DRAFT Address Configuration January 1995
processing at all.
Default: TRUE
2.2. Router Configuration
A router must be configurable by a system administrator so that the
choice of mechanism used for host configuration of inter-link scope
addresses can be controlled. Thus, a router must allow the following
variable to be configured by a system administrator per interface:
Perform_Auto_Address
If and only if TRUE, the router must send an Address Prefix exten-
sion in every Router Advertisement.
Default: TRUE
All router interfaces advertising a given subnet prefix on a link
must be configured to advertise the same address autoconfiguration
mode to hosts.
2.3. Host Address Autoconfiguration Procedure
A host must perform the following procedure for each interface when
booting or whenever an interface needs to be initialised:
When a host boots or at any time when a host has no address for an
autoconfigurable interface, e.g. when an interface is enabled
after being disabled, the host forms an address of intra-link
scope and adds it to the list of addresses. Section 3 specifies
how a host forms an intra-link scope address.
The host must send a Router Solicitation so that inter-link scope
addresses can be formed (or verified) as soon as possible.
Expires July 31, 1995 [Page 5]
INTERNET-DRAFT Address Configuration January 1995
When a solicited or unsolicited Router Advertisement is received over
an interface, the host must perform the following address configura-
tion processing:
If an Address Prefix extension exists, the host forms or verifies
its inter-link addresses autonomously as specified in Section 4.
Otherwise, the implication is that the host must use DHCPv6 for
address autoconfiguration. If no address exists on the interface,
the host must initiate a request to a DHCPv6 server to acquire a
new address. (Verification and renewal of existing addresses is
performed at DHCPv6-specified times.) If DHCPv6 fails for any rea-
son, the host falls back to using an intra-link scope address or a
manually configured inter-link scope address until a DHCPv6 server
request is successful.
Note that the above procedure should continue to operate when a sys-
tem administrator decides to change the autoconfiguration mode from
the autonomous mode (the host forms the address) to DHCPv6, and vice
versa. The requirement during a changeover is that the system
administrator must ensure that a DHCPv6 server is configured to hand
out addresses that are unique per subnet, particularly with respect
to addresses that hosts configure autonomously. To avoid problems
during a changeover, it is recommended that a DHCP server should use
exactly the same algorithm to form a host address as that used in the
autonomous mode, particularly when the subnet prefix used is the
same. Otherwise, further precautionary measures will need to be
taken to ensure correct operation.
To support the changeover from autonomous mode to DHCPv6 mode, DHCPv6
should provide the ability for a host to specify in a request previ-
ously configured inter-link addresses. A DHCPv6 server can then
validate, deprecate or forbid the use of the autonomously formed
addresses.
Changing from DHCPv6 mode to autonomous mode is somewhat tricky.
Normal autonomous mode processing should support the changeover from
DHCPv6 mode to autonomous mode assuming the above recommendation is
followed. DHCPv6-assigned addresses can be validated or deprecated
as a normal part of host processing when an Address Prefix extension
is heard in a Router Advertisement. The Drop Address Prefix can be
used to invalidate DHCPv6 addresses, if desired.
Expires July 31, 1995 [Page 6]
INTERNET-DRAFT Address Configuration January 1995
3. FORMING AN IEEE 802 IPv6 ADDRESS
A host forms an IEEE 802 IPv6 address for an interface by concatenat-
ing an 80-bit subnet prefix with the 48-bit IEEE 802 address of the
interface as follows:
| 80 bits | 48 bits |
+---------------------------------------+------------------------+
| subnet prefix | IEEE 802 address |
+----------------------------------------------------------------+
In the case of an intra-link scope prefix, the subnet prefix is
well-defined (TBD).
In the case of an inter-link scope prefix, the subnet prefix is con-
figurable (typically in a router).
Expires July 31, 1995 [Page 7]
INTERNET-DRAFT Address Configuration January 1995
4. FORMING INTER-LINK SCOPE IPv6 ADDRESSES AUTONOMOUSLY
4.1. Router Operation
4.1.1. Sending Router Advertisements with Address Extensions
A router may be configured to advertise address configuration infor-
mation in extensions of Router Advertisements. Two extensions are
defined for address configuration: the Address Prefix extension which
advertises valid subnet prefixes to enable hosts to form their own
addresses autonomously, and the Drop Address Prefix Extension which
indicates that a subnet prefix (and hence an address formed from such
a subnet prefix) is unrouteable.
ED'S NOTE: I have used two new extensions here for illustrative
purposes. It is likely the case that the Address Prefix Extension
and the Drop Prefix Extension can be supported using the Routing
Information Extensions and Change Prefix extensions defined in
neighbor discovery, respectively. The details of combining the
semantics of the existing extensions with that of the following
extensions still need to be worked out.
Expires July 31, 1995 [Page 8]
INTERNET-DRAFT Address Configuration January 1995
4.1.2. Address Prefix Extension Format
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Extension | Length | Reserved |M| Prefix Size |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Subnet Prefix |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Extension TBD
Length 18
Reserved Must be zero
M When set, indicates more IPv6 parameters to
configure besides address.
Use DHCPv6 to acquire these parameters.
Prefix Size Length of subnet prefix in bits.
Subnet Prefix Valid subnet prefix for this link.
This extension is found in Router Advertisements.
4.1.3. Drop Address Prefix Extension Format
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Extension | Length | Reserved | Prefix Size |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Subnet Prefix |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Extension TBD
Length 18
Expires July 31, 1995 [Page 9]
INTERNET-DRAFT Address Configuration January 1995
Reserved Must be zero
Prefix Size Length of subnet prefix in bits.
Subnet Prefix Subnet prefix for this link to be invalidated.
This extension is found in Router Advertisements.
4.2. Host Operation
4.2.1. Processing Router Advertisements with Address Extensions
On hearing a Router Advertisement on an interface, a host checks for
an Address Prefix extension and a Drop Address Prefix extension. A
host processes an Address Prefix extension as described in Section
4.2.2 below and a Drop Address Prefix extension as in Section 4.2.3.
4.2.2. Address Prefix Extension Processing
For each address prefix advertised on an autoconfigurable interface,
the host updates the list of addresses as follows:
1. If the prefix advertised matches the prefix of an address
already in the list, then set the lifetime to infinity.
2. If the prefix advertised does not match the prefix of an address
already in the list, then form an inter-link scope address using
this network prefix. Section 3 specifies how to form an inter-
link scope address.
Add this address to the list with an infinite lifetime.
3. All other autoconfigured inter-link addresses in the list have
Expires July 31, 1995 [Page 10]
INTERNET-DRAFT Address Configuration January 1995
their lifetimes set to zero.
An inter-link scope address is valid for as long as the subnet prefix
is advertised in the appropriate extension of a Router Advertisement.
A lifetime of infinity is used in the above algorithm to indicate
this. An address is deprecated when the subnet prefix is no longer
advertised in the Address Prefix extension of the Router Advertise-
ment, but the subnet prefix has not been explicitly invalidated by a
Drop Address Prefix extension. An address is also deprecated when a
new Router Advertisement is not heard before the old advertisement
times out. A lifetime of zero is used in the above algorithm to
indicate that the address has been deprecated.
A deprecated address is likely to be routable, although it is not
guaranteed to be. In the case where a subnet prefix that has been
previously advertised is no longer advertised in a Router Advertise-
ment (this assumes that a host is hearing Router Advertisements), a
host should prepare for the time when the address becomes invalid: a
host should stop using the address as a source address in communica-
tions, if other addresses are available, and should stop advertising
the address to others in DNS. Also, it should refuse to accept new
connections to this address. However, the address may still be used
to accept incoming datagrams and to avoid breaking existing connec-
tions. When an address becomes deprecated because no Router Adver-
tisements are heard (because the router is down, for example), the
host may still continue to use the address as normal until the next
Router Advertisement is heard.
Note that the 'M' bit of an address prefix extension may indicate to
the host that it must use DHCPv6 to acquire other IPv6 configuration
parameters (besides the address).
4.2.3. Drop Address Prefix Extension Processing
For each address prefix advertised, the host updates the list of
addresses as follows:
1. If the prefix advertised matches the prefix of an address
already in the list, then remove address from list.
Expires July 31, 1995 [Page 11]
INTERNET-DRAFT Address Configuration January 1995
When an address is invalidated, it should no longer be used at all in
communications since the subnet prefix is no longer routable.
5. TRANSITION IMPLICATIONS
IPv4-compatible IPv6 addresses are required by IPv6 hosts for the
following purposes in the SIT scheme[IPv6-TRANS]: 1) to communicate
off a link when an IPv6 neighboring router is not present on the link
and 2) to communicate with IPv4-only hosts.
In order that dual IPv4/IPv6 hosts can communicate using IPv6 without
the presence of an IPv6 neighboring router, such a host should be
able to form an IPv4-compatible IPv6 address autonomously. This is
done by concatenating the well-defined IPv4-compatibility prefix to
the host's IPv4 address. (It is not defined here how the host gets an
IPv4 address; the IPv4 address may have been manually configured or
autoconfigured using BOOTP, DHCP[RFC1531],etc). An IPv4-compatible
IPv6 address should be formed on an interface if no Router Advertise-
ment is heard within a reasonable timeframe.
On hearing an IPv6 Router Advertisement, however, the host must carry
out the IPv6 address autoconfiguration procedure as normal. In the
case where the router advertises subnet prefixes for autoconfigura-
tion purposes, it is possible to tell from the value of the subnet
prefix advertised what form of address is to be used. The subnet
prefix advertised may contain the IPv4-compatibility prefix in which
case the IPv4-compatible form of the address is used. Otherwise, an
IPv6-only address must be formed to replace any IPv4-compatible
address previously formed as described in Section 3.
6. SECURITY CONSIDERATIONS
To be completed.
Expires July 31, 1995 [Page 12]
INTERNET-DRAFT Address Configuration January 1995
7. APPENDIX - UNIQUENESS OF HOST TOKENS
One of the basic assumptions of the autoconfiguration schemes out-
lined in this memo is that the host token is at least unique per
link. The only feasible choice for the token is the link layer
address in most cases. In practice, two hosts on the same link may
have the same link layer address because of an assignment error, in
which case the resulting IPv6 addresses will not be unique. There is
no automatic detection of such occurrences. The use of DNS to regis-
ter name to address mappings may help system administrators detect
when such a problem occurs since two different hosts will register
the same IPv6 address.
The above problem may occur in any particular network topology. One
particular scenario deserves further mention though. Consider a
topology consisting of two links with singly-homed hosts attached to
each, a multi-homed host attached to both and no router. In this
case, because no router is present, hosts will form intra-link
addresses only on all interfaces. It is imperative that hosts have
interface tokens that are unique across both links, which is not true
if a host token is defined to be a link layer address and the address
is only defined to be unique per link as is true in some cases.
Strictly speaking, we require that host tokens are globally unique to
ensure correct operation in these topologies. In practice, link
layer addresses are frequently globally unique and so the uniqueness
problems in this scenario should not be appreciably worse than in
more traditional topologies as described above. If two intra-link
scope addresses are detected to be the same in this scenario, there
are two solutions: one is to make the multihomed host a router, the
other is to manually configure the intra-link scope address of an
offending host.
Expires July 31, 1995 [Page 13]
INTERNET-DRAFT Address Configuration January 1995
8. REFERENCES
[RFC1531]
R. Droms, "Dynamic Host Configuration Protocol", RFC 1531, Buck-
nell University, October 1993.
[IPv6-TRANS]
Robert E. Gilligan and E. Nordmark, "Transition Mechanisms for
IPv6 Hosts and Routers", Internet Draft, November 1994, <draft-
gilligan-ipv6-trans-mech-00.txt>
[IPv6-SPEC]
R. Hinden, "Internet Protocol Version 6 (IPv6) Specification",
Internet Draft, February 1994, <draft-hinden-ipng-ipv6-spec-
00.txt>
[IPv6-ROAD]
[IPv6-ICMP]
A. Conta and S. Deering, "ICMP and IGMP for IPv6", Internet
Draft, September 1994, <draft-conta-ipv6-icmp-igmp-00.txt>
[IPv6-DISC-FORM]
W. A. Simpson, "IPv6 Neighbor Discovery -- ICMP Message For-
mats", Internet Draft, November 1994, <draft-simpson-ipv6-
discov-formats-01.txt>
[IPv6-DISC-PROC]
W. A. Simpson, "IPv6 Neighbor Discovery -- Processing", Internet
Draft, November 1994, <draft-simpson-ipv6-discov-process-01.txt>
[IPv6-DHCP]
J. Bound, Y. Rekhter and S. Thomson, Internet Draft in progress.
Acknowledgements
The author would like to thank the members of both the IPNG and ADDRCONF
working groups for their input.
Expires July 31, 1995 [Page 14]
INTERNET-DRAFT Address Configuration January 1995
Author's Addresses
Susan Thomson
Bellcore
445 South Street
Morristown, NJ 07960
U.S.A.
Phone: +1 201-829-4514
Email: set@thumper.bellcore.com
Expires July 31, 1995 [Page 15]