Request for Comments: 3633 R. Droms
Category: Standards Track Cisco Systems
December 2003
IPv6 Prefix Options for
Dynamic Host Configuration Protocol (DHCP) version 6
Status of this Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2003). All Rights Reserved.
Abstract
The Prefix Delegation options provide a mechanism for automated
delegation of IPv6 prefixes using the Dynamic Host Configuration
Protocol (DHCP). This mechanism is intended for delegating a long-
lived prefix from a delegating router to a requesting router, across
an administrative boundary, where the delegating router does not
require knowledge about the topology of the links in the network to
which the prefixes will be assigned.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. DHCPv6 specification dependency . . . . . . . . . . . . . . 3
3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . 3
4. Requirements . . . . . . . . . . . . . . . . . . . . . . . . 3
5. Model and Applicability . . . . . . . . . . . . . . . . . . 3
5.1. Example network architecture . . . . . . . . . . . . . 4
6. Identity Association for Prefix Delegation . . . . . . . . . 5
7. Overview of DHCP with Prefix Delegation . . . . . . . . . . 6
8. Interface Selection . . . . . . . . . . . . . . . . . . . . 7
9. Identity Association for Prefix Delegation Option . . . . . 7
10. IA_PD Prefix option . . . . . . . . . . . . . . . . . . . . 9
11. Delegating Router Solicitation . . . . . . . . . . . . . . . 11
11.1. Requesting router behavior . . . . . . . . . . . . . . 11
11.2. Delegating router behavior . . . . . . . . . . . . . . 11
12. Requesting router initiated prefix delegation . . . . . . . 12
12.1. Requesting router behavior . . . . . . . . . . . . . . 12
12.2. Delegating Router behavior . . . . . . . . . . . . . . 14
13. Prefix Delegation reconfiguration . . . . . . . . . . . . . 15
13.1. Delegating Router behavior . . . . . . . . . . . . . . 15
13.2. Requesting Router behavior . . . . . . . . . . . . . . 15
14. Relay agent behavior . . . . . . . . . . . . . . . . . . . . 15
15. Security Considerations . . . . . . . . . . . . . . . . . . 16
16. IANA Considerations . . . . . . . . . . . . . . . . . . . . 16
17. Intellectual Property Statement. . . . . . . . . . . . . . . 17
18. References . . . . . . . . . . . . . . . . . . . . . . . . . 17
18.1. Normative References . . . . . . . . . . . . . . . . . 17
18.2. Informative References . . . . . . . . . . . . . . . . 17
19. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 18
20. Authors’ Addresses . . . . . . . . . . . . . . . . . . . . . 18
21. Full Copyright Statement . . . . . . . . . . . . . . . . . . 19
1. Introduction
This document describes new options for Dynamic Host Configuration
Protocol (DHCP) that provide a mechanism for the delegation of IPv6
prefixes [1]. Through these options, a delegating router can
delegate prefixes to authorized requesting routers.
The prefix delegation mechanism described in this document is
intended for simple delegation of prefixes from a delegating router
to requesting routers. It is appropriate for situations in which the
delegating router does not have knowledge about the topology of the
networks to which the requesting router is attached, and the
delegating router does not require other information aside from the
identity of the requesting router to choose a prefix for delegation.
For example, these options would be used by a service provider to
assign a prefix to a Customer Premise Equipment (CPE) device acting
as a router between the subscriber’s internal network and the service
provider’s core network.
Many applications expect stable addresses. Even though this
mechanism makes automatic renumbering easier, it is expected that
prefixes have a long lifespan. During renumbering it is expected
that the old and the new prefix co-exist for some time.
The design of this prefix delegation mechanism meets the requirements
for prefix delegation in Requirements for IPv6 prefix delegation [6].
Note that this use of DHCP is not bound to the assignment of IP
addresses or other configuration information to hosts, and that no
mechanism is currently available to communicate delegated prefixes to
a DHCP server that serves such a function. This may be an item of
future work, should usage warrant.
2. DHCPv6 specification dependency
This document describes new DHCPv6 options for IPv6 prefix
delegation. This document should be read in conjunction with the
DHCPv6 specification, RFC 3315 [2], for a complete specification of
the Prefix Delegation options and mechanism. Definitions for terms
and acronyms not specifically defined in this document are defined in
RFC 3315.
3. Terminology
This document uses the terminology defined in RFC 2460 [1] and RFC
3315. In addition, this document uses the following terms:
requesting router: The router that acts as a DHCP client and is
requesting prefix(es) to be assigned.
delegating router: The router that acts as a DHCP server, and is
responding to the prefix request.
Identity Association for Prefix Delegation (IA_PD): A collection of
prefixes assigned to the requesting router. Each
IA_PD has an associated IAID. A requesting
router may have more than one IA_PD assigned to
it; for example, one for each of its interfaces.
4. Requirements
The keywords MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD,
SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL, when they appear in this
document, are to be interpreted as described in BCP 14, RFC 2119 [3].
5. Model and Applicability
The model of operation for prefix delegation is as follows. A
delegating router is provided IPv6 prefixes to be delegated to
requesting routers. Examples of ways in which the delegating router
may be provided these prefixes are given in Section 12.2. A
requesting router requests prefix(es) from the delegating router, as
described in Section 12.1. The delegating router chooses prefix(es)
for delegation, and responds with prefix(es) to the requesting
router. The requesting router is then responsible for the delegated
prefix(es). For example, the requesting router might assign a subnet
from a delegated prefix to one of its interfaces, and begin sending
router advertisements for the prefix on that link.
Each prefix has an associated valid and preferred lifetime, which
constitutes an agreement about the length of time over which the
requesting router is allowed to use the prefix. A requesting router
can request an extension of the lifetimes on a delegated prefix and
is required to terminate the use of a delegated prefix if the valid
lifetime of the prefix expires.
This prefix delegation mechanism would be appropriate for use by an
ISP to delegate a prefix to a subscriber, where the delegated prefix
would possibly be subnetted and assigned to the links within the
subscriber’s network.
5.1. Example network architecture
Figure 1 illustrates a network architecture in which prefix
delegation could be used.
______________________ \
/ \ \
| ISP core network | \
\__________ ___________/ |
| |
+-------+-------+ |
| Aggregation | | ISP
| device | | network
| (delegating | |
| router) | |
+-------+-------+ |
| /
|DSL to subscriber /
|premises /
|
+------+------+ \
| CPE | \
| (requesting | \
| router) | |
+----+---+----+ |
| | | Subscriber
---+-------------+-----+- -+-----+-------------+--- | network
| | | | |
+----+-----+ +-----+----+ +----+-----+ +-----+----+ |
|Subscriber| |Subscriber| |Subscriber| |Subscriber| /
| PC | | PC | | PC | | PC | /
+----------+ +----------+ +----------+ +----------+ /
Figure 1: An example of prefix delegation.
In this example, the delegating router is configured with a set of
prefixes to be used for assignment to customers at the time of each
customer’s first connection to the ISP service. The prefix
delegation process begins when the requesting router requests
configuration information through DHCP. The DHCP messages from the
requesting router are received by the delegating router in the
aggregation device. When the delegating router receives the request,
it selects an available prefix or prefixes for delegation to the
requesting router. The delegating router then returns the prefix or
prefixes to the requesting router.
The requesting router subnets the delegated prefix and assigns the
longer prefixes to links in the subscriber’s network. In a typical
scenario based on the network shown in Figure 1, the requesting
router subnets a single delegated /48 prefix into /64 prefixes and
assigns one /64 prefix to each of the links in the subscriber
network.
The prefix delegation options can be used in conjunction with other
DHCP options carrying other configuration information to the
requesting router. The requesting router may, in turn, then provide
DHCP service to hosts attached to the internal network. For example,
the requesting router may obtain the addresses of DNS and NTP servers
from the ISP delegating router, and then pass that configuration
information on to the subscriber hosts through a DHCP server in the
requesting router.
6. Identity Association for Prefix Delegation
An IA_PD is a construct through which a delegating router and a
requesting router can identify, group and manage a set of related
IPv6 prefixes. Each IA_PD consists of an IAID and associated
configuration information. An IA_PD for prefixes is the equivalent
of an IA (described in RFC 3315) for addresses.
An IA_PD is different from an IA, in that it does not need to be
associated with exactly one interface. One IA_PD can be associated
with the requesting router, with a set of interfaces or with exactly
one interface. A requesting router must create at least one distinct
IA_PD. It may associate a distinct IA_PD with each of its downstream
network interfaces and use that IA_PD to obtain a prefix for that
interface from the delegating router.
The IAID uniquely identifies the IA_PD and must be chosen to be
unique among the IA_PD IAIDs on the requesting router. The IAID is
chosen by the requesting router. For any given use of an IA_PD by
the requesting router, the IAID for that IA_PD MUST be consistent
across restarts of the requesting router. The requesting router may
maintain consistency either by storing the IAID in non-volatile
storage or by using an algorithm that will consistently produce the
same IAID as long as the configuration of the requesting router has
not changed. If the requesting router uses only one IAID, it can use
a well-known value, e.g., zero.
The configuration information in an IA_PD consists of one or more
IPv6 prefixes along with the times T1 and T2 for the IA_PD. See
section 9 for the representation of an IA_PD in a DHCP message.
7. Overview of DHCP with Prefix Delegation
Prefix delegation with DHCP is independent of address assignment with
DHCP. A requesting router can use DHCP for just prefix delegation or
for prefix delegation along with address assignment and other
configuration information.
A requesting router first creates an IA_PD and assigns it an IAID.
The requesting router then transmits a Solicit message containing an
IA_PD option describing the IA_PD. Delegating routers that can
delegate prefixes to the IA_PD respond to the requesting router with
an Advertise message.
The requesting router may include prefixes in the IA_PDs as a hint to
the delegating router about specific prefixes for which the
requesting router has a preference.
When the requesting router has identified a delegating router, the
requesting router uses a Request message to populate the IA_PDs with
prefixes. The requesting router includes one or more IA_PD options
in the Request message. The delegating router returns prefixes and
other information about the IA_PDs to the requesting router in IA_PD
options in a Reply message. The requesting router records the
lifetimes for the delegated prefix(es) and uses the prefix(es) as
described in the previous section.
Before the valid lifetime on each delegated prefix expires, the
requesting router includes the prefix in an IA_PD option sent in a
Renew message to the delegating router. The delegating router
responds by returning the prefix with updated lifetimes to the
requesting router.
8. Interface Selection
Delegated prefixes are not associated with a particular interface in
the same way as addresses are for address assignment, and the rules
described in section 16, "Client Source Address and Interface
Selection" of RFC 3315 do not apply.
When a requesting router sends a DHCP message, it SHOULD be sent on
the interface associated with the upstream router (ISP network). The
upstream interface is typically determined by configuration. This
rule applies even in the case where a separate IA_PD is used for each
downstream interface.
When a requesting router sends a DHCP message directly to a
delegating router using unicast (after receiving the Server Unicast
option from that delegating router), the source address SHOULD be an
address from the upstream interface and which is suitable for use by
the delegating router in responding to the requesting router.
9. Identity Association for Prefix Delegation Option
The IA_PD option is used to carry a prefix delegation identity
association, the parameters associated with the IA_PD and the
prefixes associated with it.
The format of the IA_PD option is:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_IA_PD | option-length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IAID (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| T1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| T2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
. .
. IA_PD-options .
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
option-code: OPTION_IA_PD (25)
option-length: 12 + length of IA_PD-options field.
IAID: The unique identifier for this IA_PD; the IAID must
be unique among the identifiers for all of this
requesting router’s IA_PDs.
T1: The time at which the requesting router should
contact the delegating router from which the
prefixes in the IA_PD were obtained to extend the
lifetimes of the prefixes delegated to the IA_PD;
T1 is a time duration relative to the current time
expressed in units of seconds.
T2: The time at which the requesting router should
contact any available delegating router to extend
the lifetimes of the prefixes assigned to the
IA_PD; T2 is a time duration relative to the
current time expressed in units of seconds.
IA_PD-options: Options associated with this IA_PD.
The IA_PD-options field encapsulates those options that are specific
to this IA_PD. For example, all of the IA_PD Prefix Options carrying
the prefixes associated with this IA_PD are in the IA_PD-options
field.
An IA_PD option may only appear in the options area of a DHCP
message. A DHCP message may contain multiple IA_PD options.
The status of any operations involving this IA_PD is indicated in a
Status Code option in the IA_PD-options field.
Note that an IA_PD has no explicit "lifetime" or "lease length" of
its own. When the valid lifetimes of all of the prefixes in a IA_PD
have expired, the IA_PD can be considered as having expired. T1 and
T2 are included to give delegating routers explicit control over when
a requesting router should contact the delegating router about a
specific IA_PD.
In a message sent by a requesting router to a delegating router,
values in the T1 and T2 fields indicate the requesting router’s
preference for those parameters. The requesting router sets T1 and
T2 to zero if it has no preference for those values. In a message
sent by a delegating router to a requesting router, the requesting
router MUST use the values in the T1 and T2 fields for the T1 and T2
parameters. The values in the T1 and T2 fields are the number of
seconds until T1 and T2.
The delegating router selects the T1 and T2 times to allow the
requesting router to extend the lifetimes of any prefixes in the
IA_PD before the lifetimes expire, even if the delegating router is
unavailable for some short period of time. Recommended values for T1
and T2 are .5 and .8 times the shortest preferred lifetime of the
prefixes in the IA_PD that the delegating router is willing to
extend, respectively. If the time at which the prefixes in an IA_PD
are to be renewed is to be left to the discretion of the requesting
router, the delegating router sets T1 and T2 to 0.
If a delegating router receives an IA_PD with T1 greater than T2, and
both T1 and T2 are greater than 0, the delegating router ignores the
invalid values of T1 and T2 and processes the IA_PD as though the
delegating router had set T1 and T2 to 0.
If a requesting router receives an IA_PD with T1 greater than T2, and
both T1 and T2 are greater than 0, the client discards the IA_PD
option and processes the remainder of the message as though the
delegating router had not included the IA_PD option.