summaryrefslogtreecommitdiff
path: root/rfc/rfc3315.txt
diff options
context:
space:
mode:
Diffstat (limited to 'rfc/rfc3315.txt')
-rw-r--r--rfc/rfc3315.txt5659
1 files changed, 5659 insertions, 0 deletions
diff --git a/rfc/rfc3315.txt b/rfc/rfc3315.txt
new file mode 100644
index 0000000..af601f2
--- /dev/null
+++ b/rfc/rfc3315.txt
@@ -0,0 +1,5659 @@
+
+
+
+
+
+
+Network Working Group R. Droms, Ed.
+Request for Comments: 3315 Cisco
+Category: Standards Track J. Bound
+ Hewlett Packard
+ B. Volz
+ Ericsson
+ T. Lemon
+ Nominum
+ C. Perkins
+ Nokia Research Center
+ M. Carney
+ Sun Microsystems
+ July 2003
+
+
+ Dynamic Host Configuration Protocol for IPv6 (DHCPv6)
+
+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 Dynamic Host Configuration Protocol for IPv6 (DHCP) enables DHCP
+ servers to pass configuration parameters such as IPv6 network
+ addresses to IPv6 nodes. It offers the capability of automatic
+ allocation of reusable network addresses and additional configuration
+ flexibility. This protocol is a stateful counterpart to "IPv6
+ Stateless Address Autoconfiguration" (RFC 2462), and can be used
+ separately or concurrently with the latter to obtain configuration
+ parameters.
+
+
+
+
+
+
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 1]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+Table of Contents
+
+ 1. Introduction and Overview . . . . . . . . . . . . . . . . . . 5
+ 1.1. Protocols and Addressing . . . . . . . . . . . . . . . 6
+ 1.2. Client-server Exchanges Involving Two Messages . . . . 6
+ 1.3. Client-server Exchanges Involving Four Messages. . . . 7
+ 2. Requirements. . . . . . . . . . . . . . . . . . . . . . . . . 7
+ 3. Background. . . . . . . . . . . . . . . . . . . . . . . . . . 8
+ 4. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 8
+ 4.1. IPv6 Terminology . . . . . . . . . . . . . . . . . . . 9
+ 4.2. DHCP Terminology . . . . . . . . . . . . . . . . . . . 10
+ 5. DHCP Constants. . . . . . . . . . . . . . . . . . . . . . . . 12
+ 5.1. Multicast Addresses. . . . . . . . . . . . . . . . . . 13
+ 5.2. UDP Ports. . . . . . . . . . . . . . . . . . . . . . . 13
+ 5.3. DHCP Message Types . . . . . . . . . . . . . . . . . . 13
+ 5.4. Status Codes . . . . . . . . . . . . . . . . . . . . . 15
+ 5.5. Transmission and Retransmission Parameters . . . . . . 16
+ 5.6 Representation of time values and "Infinity" as a time
+ value. . . . . . . . . . . . . . . . . . . . . . . . . 16
+ 6. Client/Server Message Formats . . . . . . . . . . . . . . . . 16
+ 7. Relay Agent/Server Message Formats. . . . . . . . . . . . . . 17
+ 7.1. Relay-forward Message. . . . . . . . . . . . . . . . . 18
+ 7.2. Relay-reply Message. . . . . . . . . . . . . . . . . . 19
+ 8. Representation and Use of Domain Names. . . . . . . . . . . . 19
+ 9. DHCP Unique Identifier (DUID) . . . . . . . . . . . . . . . . 19
+ 9.1. DUID Contents. . . . . . . . . . . . . . . . . . . . . 20
+ 9.2. DUID Based on Link-layer Address Plus Time [DUID-LLT]. 20
+ 9.3. DUID Assigned by Vendor Based on Enterprise Number
+ [DUID-EN]. . . . . . . . . . . . . . . . . . . . . . . 22
+ 9.4. DUID Based on Link-layer Address [DUID-LL] . . . . . . 22
+ 10. Identity Association. . . . . . . . . . . . . . . . . . . . . 23
+ 11. Selecting Addresses for Assignment to an IA . . . . . . . . . 24
+ 12. Management of Temporary Addresses . . . . . . . . . . . . . . 25
+ 13. Transmission of Messages by a Client. . . . . . . . . . . . . 25
+ 14. Reliability of Client Initiated Message Exchanges . . . . . . 26
+ 15. Message Validation. . . . . . . . . . . . . . . . . . . . . . 27
+ 15.1. Use of Transaction IDs . . . . . . . . . . . . . . . . 28
+ 15.2. Solicit Message. . . . . . . . . . . . . . . . . . . . 28
+ 15.3. Advertise Message. . . . . . . . . . . . . . . . . . . 28
+ 15.4. Request Message. . . . . . . . . . . . . . . . . . . . 29
+ 15.5. Confirm Message. . . . . . . . . . . . . . . . . . . . 29
+ 15.6. Renew Message. . . . . . . . . . . . . . . . . . . . . 29
+ 15.7. Rebind Message . . . . . . . . . . . . . . . . . . . . 29
+ 15.8. Decline Messages . . . . . . . . . . . . . . . . . . . 30
+ 15.9. Release Message. . . . . . . . . . . . . . . . . . . . 30
+ 15.10. Reply Message. . . . . . . . . . . . . . . . . . . . . 30
+ 15.11. Reconfigure Message. . . . . . . . . . . . . . . . . . 31
+ 15.12. Information-request Message. . . . . . . . . . . . . . 31
+
+
+
+Droms, et al. Standards Track [Page 2]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ 15.13. Relay-forward Message. . . . . . . . . . . . . . . . . 31
+ 15.14. Relay-reply Message. . . . . . . . . . . . . . . . . . 31
+ 16. Client Source Address and Interface Selection . . . . . . . . 32
+ 17. DHCP Server Solicitation. . . . . . . . . . . . . . . . . . . 32
+ 17.1. Client Behavior. . . . . . . . . . . . . . . . . . . . 32
+ 17.1.1. Creation of Solicit Messages . . . . . . . . . 32
+ 17.1.2. Transmission of Solicit Messages . . . . . . . 33
+ 17.1.3. Receipt of Advertise Messages. . . . . . . . . 35
+ 17.1.4. Receipt of Reply Message . . . . . . . . . . . 35
+ 17.2. Server Behavior. . . . . . . . . . . . . . . . . . . . 36
+ 17.2.1. Receipt of Solicit Messages . . . . . . . . . 36
+ 17.2.2. Creation and Transmission of Advertise Messages 36
+ 17.2.3. Creation and Transmission of Reply Messages. . 38
+ 18. DHCP Client-Initiated Configuration Exchange. . . . . . . . . 38
+ 18.1. Client Behavior. . . . . . . . . . . . . . . . . . . . 39
+ 18.1.1. Creation and Transmission of Request Messages. 39
+ 18.1.2. Creation and Transmission of Confirm Messages. 40
+ 18.1.3. Creation and Transmission of Renew Messages. . 41
+ 18.1.4. Creation and Transmission of Rebind Messages . 43
+ 18.1.5. Creation and Transmission of Information-
+ request Messages . . .. . . . . . . . . . . . 44
+ 18.1.6. Creation and Transmission of Release Messages. 44
+ 18.1.7. Creation and Transmission of Decline Messages. 46
+ 18.1.8. Receipt of Reply Messages. . . . . . . . . . . 46
+ 18.2. Server Behavior. . . . . . . . . . . . . . . . . . . . 48
+ 18.2.1. Receipt of Request Messages. . . . . . . . . . 49
+ 18.2.2. Receipt of Confirm Messages. . . . . . . . . . 50
+ 18.2.3. Receipt of Renew Messages. . . . . . . . . . . 51
+ 18.2.4. Receipt of Rebind Messages . . . . . . . . . . 51
+ 18.2.5. Receipt of Information-request Messages. . . . 52
+ 18.2.6. Receipt of Release Messages. . . . . . . . . . 53
+ 18.2.7. Receipt of Decline Messages. . . . . . . . . . 53
+ 18.2.8. Transmission of Reply Messages . . . . . . . . 54
+ 19. DHCP Server-Initiated Configuration Exchange. . . . . . . . . 54
+ 19.1. Server Behavior. . . . . . . . . . . . . . . . . . . . 55
+ 19.1.1. Creation and Transmission of Reconfigure
+ Messages . . . . . . . . . . . . . . . . . . . 55
+ 19.1.2. Time Out and Retransmission of Reconfigure
+ Messages . . . . . . . . . . . . . . . . . . . 56
+ 19.2. Receipt of Renew Messages. . . . . . . . . . . . . . . 56
+ 19.3. Receipt of Information-request Messages. . . . . . . . 56
+ 19.4. Client Behavior. . . . . . . . . . . . . . . . . . . . 57
+ 19.4.1. Receipt of Reconfigure Messages. . . . . . . . 57
+ 19.4.2. Creation and Transmission of Renew Messages. . 58
+ 19.4.3. Creation and Transmission of Information-
+ request Messages . . . . . . . . . . . . . . . 58
+ 19.4.4. Time Out and Retransmission of Renew or
+ Information-request Messages . . . . . . . . . 58
+
+
+
+Droms, et al. Standards Track [Page 3]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ 19.4.5. Receipt of Reply Messages. . . . . . . . . . . 58
+ 20. Relay Agent Behavior. . . . . . . . . . . . . . . . . . . . . 58
+ 20.1. Relaying a Client Message or a Relay-forward Message . 59
+ 20.1.1. Relaying a Message from a Client . . . . . . . 59
+ 20.1.2. Relaying a Message from a Relay Agent. . . . . 59
+ 20.2. Relaying a Relay-reply Message . . . . . . . . . . . . 60
+ 20.3. Construction of Relay-reply Messages . . . . . . . . . 60
+ 21. Authentication of DHCP Messages . . . . . . . . . . . . . . . 61
+ 21.1. Security of Messages Sent Between Servers and Relay
+ Agents . . . . . . . . . . . . . . . . . . . . . . . 61
+ 21.2. Summary of DHCP Authentication . . . . . . . . . . . . 63
+ 21.3. Replay Detection . . . . . . . . . . . . . . . . . . . 63
+ 21.4. Delayed Authentication Protocol. . . . . . . . . . . . 63
+ 21.4.1. Use of the Authentication Option in the Delayed
+ Authentication Protocol. . . . . . . . . . . . 64
+ 21.4.2. Message Validation . . . . . . . . . . . . . . 65
+ 21.4.3. Key Utilization . . . . . . . . . . . . . . . 65
+ 21.4.4. Client Considerations for Delayed Authentication
+ Protocol . . . . . . . . . . . . . . . . . . . 66
+ 21.4.5. Server Considerations for Delayed Authentication
+ Protocol . . . . . . . . . . . . . . . . . . . 67
+ 21.5. Reconfigure Key Authentication Protocol. . . . . . . . 68
+ 21.5.1. Use of the Authentication Option in the
+ Reconfigure Key Authentication Protocol. . . . 69
+ 21.5.2. Server considerations for Reconfigure Key
+ protocol . . . . . . . . . . . . . . . . . . . 69
+ 21.5.3. Client considerations for Reconfigure Key
+ protocol . . . . . . . . . . . . . . . . . . . 70
+ 22. DHCP Options. . . . . . . . . . . . . . . . . . . . . . . . . 70
+ 22.1. Format of DHCP Options . . . . . . . . . . . . . . . . 71
+ 22.2. Client Identifier Option . . . . . . . . . . . . . . . 71
+ 22.3. Server Identifier Option . . . . . . . . . . . . . . . 72
+ 22.4. Identity Association for Non-temporary Addresses Option 72
+ 22.5. Identity Association for Temporary Addresses Option. . 75
+ 22.6. IA Address Option. . . . . . . . . . . . . . . . . . . 76
+ 22.7. Option Request Option. . . . . . . . . . . . . . . . . 78
+ 22.8. Preference Option. . . . . . . . . . . . . . . . . . . 79
+ 22.9. Elapsed Time Option. . . . . . . . . . . . . . . . . . 79
+ 22.10. Relay Message Option . . . . . . . . . . . . . . . . . 80
+ 22.11. Authentication Option. . . . . . . . . . . . . . . . . 81
+ 22.12. Server Unicast Option. . . . . . . . . . . . . . . . . 82
+ 22.13. Status Code Option . . . . . . . . . . . . . . . . . . 82
+ 22.14. Rapid Commit Option. . . . . . . . . . . . . . . . . . 83
+ 22.15. User Class Option. . . . . . . . . . . . . . . . . . . 84
+ 22.16. Vendor Class Option. . . . . . . . . . . . . . . . . . 85
+ 22.17. Vendor-specific Information Option . . . . . . . . . . 86
+ 22.18. Interface-Id Option. . . . . . . . . . . . . . . . . . 87
+ 22.19. Reconfigure Message Option . . . . . . . . . . . . . . 88
+
+
+
+Droms, et al. Standards Track [Page 4]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ 22.20. Reconfigure Accept Option. . . . . . . . . . . . . . . 89
+ 23. Security Considerations . . . . . . . . . . . . . . . . . . . 89
+ 24. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 91
+ 24.1. Multicast Addresses. . . . . . . . . . . . . . . . . . 92
+ 24.2. DHCP Message Types . . . . . . . . . . . . . . . . . . 93
+ 24.3. DHCP Options . . . . . . . . . . . . . . . . . . . . . 94
+ 24.4. Status Codes . . . . . . . . . . . . . . . . . . . . . 95
+ 24.5. DUID . . . . . . . . . . . . . . . . . . . . . . . . . 95
+ 25. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 95
+ 26. References. . . . . . . . . . . . . . . . . . . . . . . . . . 96
+ 26.1. Normative References . . . . . . . . . . . . . . . . . 96
+ 26.2. Informative References . . . . . . . . . . . . . . . . 97
+ A. Appearance of Options in Message Types . . . . . . . . . . . . 98
+ B. Appearance of Options in the Options Field of DHCP Options . . 99
+ Chair's Address . . . . . . . . . . . . . . . . . . . . . . . . . 99
+ Authors' Addresses. . . . . . . . . . . . . . . . . . . . . . . . 100
+ Full Copyright Statement. . . . . . . . . . . . . . . . . . . . . 101
+
+1. Introduction and Overview
+
+ This document describes DHCP for IPv6 (DHCP), a client/server
+ protocol that provides managed configuration of devices.
+
+ DHCP can provide a device with addresses assigned by a DHCP server
+ and other configuration information, which are carried in options.
+ DHCP can be extended through the definition of new options to carry
+ configuration information not specified in this document.
+
+ DHCP is the "stateful address autoconfiguration protocol" and the
+ "stateful autoconfiguration protocol" referred to in "IPv6 Stateless
+ Address Autoconfiguration" [17].
+
+ The operational models and relevant configuration information for
+ DHCPv4 [18][19] and DHCPv6 are sufficiently different that
+ integration between the two services is not included in this
+ document. If there is sufficient interest and demand, integration
+ can be specified in a document that extends DHCPv6 to carry IPv4
+ addresses and configuration information.
+
+ The remainder of this introduction summarizes DHCP, explaining the
+ message exchange mechanisms and example message flows. The message
+ flows in sections 1.2 and 1.3 are intended as illustrations of DHCP
+ operation rather than an exhaustive list of all possible
+ client-server interactions. Sections 17, 18, and 19 explain client
+ and server operation in detail.
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 5]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+1.1. Protocols and Addressing
+
+ Clients and servers exchange DHCP messages using UDP [15]. The
+ client uses a link-local address or addresses determined through
+ other mechanisms for transmitting and receiving DHCP messages.
+
+ DHCP servers receive messages from clients using a reserved,
+ link-scoped multicast address. A DHCP client transmits most messages
+ to this reserved multicast address, so that the client need not be
+ configured with the address or addresses of DHCP servers.
+
+ To allow a DHCP client to send a message to a DHCP server that is not
+ attached to the same link, a DHCP relay agent on the client's link
+ will relay messages between the client and server. The operation of
+ the relay agent is transparent to the client and the discussion of
+ message exchanges in the remainder of this section will omit the
+ description of message relaying by relay agents.
+
+ Once the client has determined the address of a server, it may under
+ some circumstances send messages directly to the server using
+ unicast.
+
+1.2. Client-server Exchanges Involving Two Messages
+
+ When a DHCP client does not need to have a DHCP server assign it IP
+ addresses, the client can obtain configuration information such as a
+ list of available DNS servers [20] or NTP servers [21] through a
+ single message and reply exchanged with a DHCP server. To obtain
+ configuration information the client first sends an
+ Information-Request message to the All_DHCP_Relay_Agents_and_Servers
+ multicast address. Servers respond with a Reply message containing
+ the configuration information for the client.
+
+ This message exchange assumes that the client requires only
+ configuration information and does not require the assignment of any
+ IPv6 addresses.
+
+ When a server has IPv6 addresses and other configuration information
+ committed to a client, the client and server may be able to complete
+ the exchange using only two messages, instead of four messages as
+ described in the next section. In this case, the client sends a
+ Solicit message to the All_DHCP_Relay_Agents_and_Servers requesting
+ the assignment of addresses and other configuration information.
+ This message includes an indication that the client is willing to
+ accept an immediate Reply message from the server. The server that
+ is willing to commit the assignment of addresses to the client
+
+
+
+
+
+Droms, et al. Standards Track [Page 6]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ immediately responds with a Reply message. The configuration
+ information and the addresses in the Reply message are then
+ immediately available for use by the client.
+
+ Each address assigned to the client has associated preferred and
+ valid lifetimes specified by the server. To request an extension of
+ the lifetimes assigned to an address, the client sends a Renew
+ message to the server. The server sends a Reply message to the
+ client with the new lifetimes, allowing the client to continue to use
+ the address without interruption.
+
+1.3. Client-server Exchanges Involving Four Messages
+
+ To request the assignment of one or more IPv6 addresses, a client
+ first locates a DHCP server and then requests the assignment of
+ addresses and other configuration information from the server. The
+ client sends a Solicit message to the
+ All_DHCP_Relay_Agents_and_Servers address to find available DHCP
+ servers. Any server that can meet the client's requirements responds
+ with an Advertise message. The client then chooses one of the
+ servers and sends a Request message to the server asking for
+ confirmed assignment of addresses and other configuration
+ information. The server responds with a Reply message that contains
+ the confirmed addresses and configuration.
+
+ As described in the previous section, the client sends a Renew
+ message to the server to extend the lifetimes associated with its
+ addresses, allowing the client to continue to use those addresses
+ without interruption.
+
+2. 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 [1].
+
+ This document also makes use of internal conceptual variables to
+ describe protocol behavior and external variables that an
+ implementation must allow system administrators to change. The
+ specific variable names, how their values change, and how their
+ settings influence protocol behavior are provided to demonstrate
+ protocol behavior. An implementation is not required to have them in
+ the exact form described here, so long as its external behavior is
+ consistent with that described in this document.
+
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 7]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+3. Background
+
+ The IPv6 Specification provides the base architecture and design of
+ IPv6. Related work in IPv6 that would best serve an implementor to
+ study includes the IPv6 Specification [3], the IPv6 Addressing
+ Architecture [5], IPv6 Stateless Address Autoconfiguration [17], IPv6
+ Neighbor Discovery Processing [13], and Dynamic Updates to DNS [22].
+ These specifications enable DHCP to build upon the IPv6 work to
+ provide both robust stateful autoconfiguration and autoregistration
+ of DNS Host Names.
+
+ The IPv6 Addressing Architecture specification [5] defines the
+ address scope that can be used in an IPv6 implementation, and the
+ various configuration architecture guidelines for network designers
+ of the IPv6 address space. Two advantages of IPv6 are that support
+ for multicast is required and nodes can create link-local addresses
+ during initialization. The availability of these features means that
+ a client can use its link-local address and a well-known multicast
+ address to discover and communicate with DHCP servers or relay agents
+ on its link.
+
+ IPv6 Stateless Address Autoconfiguration [17] specifies procedures by
+ which a node may autoconfigure addresses based on router
+ advertisements [13], and the use of a valid lifetime to support
+ renumbering of addresses on the Internet. In addition, the protocol
+ interaction by which a node begins stateless or stateful
+ autoconfiguration is specified. DHCP is one vehicle to perform
+ stateful autoconfiguration. Compatibility with stateless address
+ autoconfiguration is a design requirement of DHCP.
+
+ IPv6 Neighbor Discovery [13] is the node discovery protocol in IPv6
+ which replaces and enhances functions of ARP [14]. To understand
+ IPv6 and stateless address autoconfiguration, it is strongly
+ recommended that implementors understand IPv6 Neighbor Discovery.
+
+ Dynamic Updates to DNS [22] is a specification that supports the
+ dynamic update of DNS records for both IPv4 and IPv6. DHCP can use
+ the dynamic updates to DNS to integrate addresses and name space to
+ not only support autoconfiguration, but also autoregistration in
+ IPv6.
+
+4. Terminology
+
+ This sections defines terminology specific to IPv6 and DHCP used in
+ this document.
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 8]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+4.1. IPv6 Terminology
+
+ IPv6 terminology relevant to this specification from the IPv6
+ Protocol [3], IPv6 Addressing Architecture [5], and IPv6 Stateless
+ Address Autoconfiguration [17] is included below.
+
+ address An IP layer identifier for an interface
+ or a set of interfaces.
+
+ host Any node that is not a router.
+
+ IP Internet Protocol Version 6 (IPv6). The
+ terms IPv4 and IPv6 are used only in
+ contexts where it is necessary to avoid
+ ambiguity.
+
+ interface A node's attachment to a link.
+
+ link A communication facility or medium over
+ which nodes can communicate at the link
+ layer, i.e., the layer immediately
+ below IP. Examples are Ethernet (simple
+ or bridged); Token Ring; PPP links,
+ X.25, Frame Relay, or ATM networks; and
+ Internet (or higher) layer "tunnels",
+ such as tunnels over IPv4 or IPv6
+ itself.
+
+ link-layer identifier A link-layer identifier for an
+ interface. Examples include IEEE 802
+ addresses for Ethernet or Token Ring
+ network interfaces, and E.164 addresses
+ for ISDN links.
+
+ link-local address An IPv6 address having a link-only
+ scope, indicated by having the prefix
+ (FE80::/10), that can be used to reach
+ neighboring nodes attached to the same
+ link. Every interface has a link-local
+ address.
+
+ multicast address An identifier for a set of interfaces
+ (typically belonging to different
+ nodes). A packet sent to a multicast
+ address is delivered to all interfaces
+ identified by that address.
+
+ neighbor A node attached to the same link.
+
+
+
+Droms, et al. Standards Track [Page 9]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ node A device that implements IP.
+
+ packet An IP header plus payload.
+
+ prefix The initial bits of an address, or a
+ set of IP addresses that share the same
+ initial bits.
+
+ prefix length The number of bits in a prefix.
+
+ router A node that forwards IP packets not
+ explicitly addressed to itself.
+
+ unicast address An identifier for a single interface.
+ A packet sent to a unicast address is
+ delivered to the interface identified by
+ that address.
+
+4.2. DHCP Terminology
+
+ Terminology specific to DHCP can be found below.
+
+ appropriate to the link An address is "appropriate to the link"
+ when the address is consistent with the
+ DHCP server's knowledge of the network
+ topology, prefix assignment and address
+ assignment policies.
+
+ binding A binding (or, client binding) is a
+ group of server data records containing
+ the information the server has about
+ the addresses in an IA or configuration
+ information explicitly assigned to the
+ client. Configuration information that
+ has been returned to a client through a
+ policy - for example, the information
+ returned to all clients on the same
+ link - does not require a binding. A
+ binding containing information about
+ an IA is indexed by the tuple <DUID,
+ IA-type, IAID> (where IA-type is the
+ type of address in the IA; for example,
+ temporary). A binding containing
+ configuration information for a client
+ is indexed by <DUID>.
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 10]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ configuration parameter An element of the configuration
+ information set on the server and
+ delivered to the client using DHCP.
+ Such parameters may be used to carry
+ information to be used by a node to
+ configure its network subsystem and
+ enable communication on a link or
+ internetwork, for example.
+
+ DHCP Dynamic Host Configuration Protocol
+ for IPv6. The terms DHCPv4 and DHCPv6
+ are used only in contexts where it is
+ necessary to avoid ambiguity.
+
+ DHCP client (or client) A node that initiates requests on a link
+ to obtain configuration parameters from
+ one or more DHCP servers.
+
+ DHCP domain A set of links managed by DHCP and
+ operated by a single administrative
+ entity.
+
+ DHCP realm A name used to identify the DHCP
+ administrative domain from which a DHCP
+ authentication key was selected.
+
+ DHCP relay agent (or relay agent) A node that acts as an
+ intermediary to deliver DHCP messages
+ between clients and servers, and is on
+ the same link as the client.
+
+ DHCP server (or server) A node that responds to requests from
+ clients, and may or may not be on the
+ same link as the client(s).
+
+ DUID A DHCP Unique IDentifier for a DHCP
+ participant; each DHCP client and server
+ has exactly one DUID. See section 9 for
+ details of the ways in which a DUID may
+ be constructed.
+
+ Identity association (IA) A collection of addresses assigned to
+ a client. Each IA has an associated
+ IAID. A client may have more than one
+ IA assigned to it; for example, one for
+ each of its interfaces.
+
+
+
+
+
+Droms, et al. Standards Track [Page 11]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ Each IA holds one type of address;
+ for example, an identity association
+ for temporary addresses (IA_TA) holds
+ temporary addresses (see "identity
+ association for temporary addresses").
+ Throughout this document, "IA" is used
+ to refer to an identity association
+ without identifying the type of
+ addresses in the IA.
+
+ Identity association identifier (IAID) An identifier for an IA,
+ chosen by the client. Each IA has an
+ IAID, which is chosen to be unique among
+ all IAIDs for IAs belonging to that
+ client.
+
+ Identity association for non-temporary addresses (IA_NA) An IA
+ that carries assigned addresses that are
+ not temporary addresses (see "identity
+ association for temporary addresses")
+
+ Identity association for temporary addresses (IA_TA) An IA that
+ carries temporary addresses (see RFC
+ 3041 [12]).
+
+ message A unit of data carried as the payload
+ of a UDP datagram, exchanged among DHCP
+ servers, relay agents and clients.
+
+ Reconfigure key A key supplied to a client by a server
+ used to provide security for Reconfigure
+ messages.
+
+ relaying A DHCP relay agent relays DHCP messages
+ between DHCP participants.
+
+ transaction ID An opaque value used to match responses
+ with replies initiated either by a
+ client or server.
+
+5. DHCP Constants
+
+ This section describes various program and networking constants used
+ by DHCP.
+
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 12]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+5.1. Multicast Addresses
+
+ DHCP makes use of the following multicast addresses:
+
+ All_DHCP_Relay_Agents_and_Servers (FF02::1:2) A link-scoped
+ multicast address used by a client to communicate with
+ neighboring (i.e., on-link) relay agents and servers.
+ All servers and relay agents are members of this
+ multicast group.
+
+ All_DHCP_Servers (FF05::1:3) A site-scoped multicast address used
+ by a relay agent to communicate with servers, either
+ because the relay agent wants to send messages to
+ all servers or because it does not know the unicast
+ addresses of the servers. Note that in order for
+ a relay agent to use this address, it must have an
+ address of sufficient scope to be reachable by the
+ servers. All servers within the site are members of
+ this multicast group.
+
+5.2. UDP Ports
+
+ Clients listen for DHCP messages on UDP port 546. Servers and relay
+ agents listen for DHCP messages on UDP port 547.
+
+5.3. DHCP Message Types
+
+ DHCP defines the following message types. More detail on these
+ message types can be found in sections 6 and 7. Message types not
+ listed here are reserved for future use. The numeric encoding for
+ each message type is shown in parentheses.
+
+ SOLICIT (1) A client sends a Solicit message to locate
+ servers.
+
+ ADVERTISE (2) A server sends an Advertise message to indicate
+ that it is available for DHCP service, in
+ response to a Solicit message received from a
+ client.
+
+ REQUEST (3) A client sends a Request message to request
+ configuration parameters, including IP
+ addresses, from a specific server.
+
+ CONFIRM (4) A client sends a Confirm message to any
+ available server to determine whether the
+ addresses it was assigned are still appropriate
+ to the link to which the client is connected.
+
+
+
+Droms, et al. Standards Track [Page 13]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ RENEW (5) A client sends a Renew message to the server
+ that originally provided the client's addresses
+ and configuration parameters to extend the
+ lifetimes on the addresses assigned to the
+ client and to update other configuration
+ parameters.
+
+ REBIND (6) A client sends a Rebind message to any
+ available server to extend the lifetimes on the
+ addresses assigned to the client and to update
+ other configuration parameters; this message is
+ sent after a client receives no response to a
+ Renew message.
+
+ REPLY (7) A server sends a Reply message containing
+ assigned addresses and configuration parameters
+ in response to a Solicit, Request, Renew,
+ Rebind message received from a client. A
+ server sends a Reply message containing
+ configuration parameters in response to an
+ Information-request message. A server sends a
+ Reply message in response to a Confirm message
+ confirming or denying that the addresses
+ assigned to the client are appropriate to the
+ link to which the client is connected. A
+ server sends a Reply message to acknowledge
+ receipt of a Release or Decline message.
+
+ RELEASE (8) A client sends a Release message to the server
+ that assigned addresses to the client to
+ indicate that the client will no longer use one
+ or more of the assigned addresses.
+
+ DECLINE (9) A client sends a Decline message to a server to
+ indicate that the client has determined that
+ one or more addresses assigned by the server
+ are already in use on the link to which the
+ client is connected.
+
+ RECONFIGURE (10) A server sends a Reconfigure message to a
+ client to inform the client that the server has
+ new or updated configuration parameters, and
+ that the client is to initiate a Renew/Reply
+ or Information-request/Reply transaction with
+ the server in order to receive the updated
+ information.
+
+
+
+
+
+Droms, et al. Standards Track [Page 14]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ INFORMATION-REQUEST (11) A client sends an Information-request
+ message to a server to request configuration
+ parameters without the assignment of any IP
+ addresses to the client.
+
+ RELAY-FORW (12) A relay agent sends a Relay-forward message
+ to relay messages to servers, either directly
+ or through another relay agent. The received
+ message, either a client message or a
+ Relay-forward message from another relay
+ agent, is encapsulated in an option in the
+ Relay-forward message.
+
+ RELAY-REPL (13) A server sends a Relay-reply message to a relay
+ agent containing a message that the relay
+ agent delivers to a client. The Relay-reply
+ message may be relayed by other relay agents
+ for delivery to the destination relay agent.
+
+ The server encapsulates the client message as
+ an option in the Relay-reply message, which the
+ relay agent extracts and relays to the client.
+
+5.4. Status Codes
+
+ DHCPv6 uses status codes to communicate the success or failure of
+ operations requested in messages from clients and servers, and to
+ provide additional information about the specific cause of the
+ failure of a message. The specific status codes are defined in
+ section 24.4.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 15]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+5.5. Transmission and Retransmission Parameters
+
+ This section presents a table of values used to describe the message
+ transmission behavior of clients and servers.
+
+ Parameter Default Description
+ -------------------------------------
+ SOL_MAX_DELAY 1 sec Max delay of first Solicit
+ SOL_TIMEOUT 1 sec Initial Solicit timeout
+ SOL_MAX_RT 120 secs Max Solicit timeout value
+ REQ_TIMEOUT 1 sec Initial Request timeout
+ REQ_MAX_RT 30 secs Max Request timeout value
+ REQ_MAX_RC 10 Max Request retry attempts
+ CNF_MAX_DELAY 1 sec Max delay of first Confirm
+ CNF_TIMEOUT 1 sec Initial Confirm timeout
+ CNF_MAX_RT 4 secs Max Confirm timeout
+ CNF_MAX_RD 10 secs Max Confirm duration
+ REN_TIMEOUT 10 secs Initial Renew timeout
+ REN_MAX_RT 600 secs Max Renew timeout value
+ REB_TIMEOUT 10 secs Initial Rebind timeout
+ REB_MAX_RT 600 secs Max Rebind timeout value
+ INF_MAX_DELAY 1 sec Max delay of first Information-request
+ INF_TIMEOUT 1 sec Initial Information-request timeout
+ INF_MAX_RT 120 secs Max Information-request timeout value
+ REL_TIMEOUT 1 sec Initial Release timeout
+ REL_MAX_RC 5 MAX Release attempts
+ DEC_TIMEOUT 1 sec Initial Decline timeout
+ DEC_MAX_RC 5 Max Decline attempts
+ REC_TIMEOUT 2 secs Initial Reconfigure timeout
+ REC_MAX_RC 8 Max Reconfigure attempts
+ HOP_COUNT_LIMIT 32 Max hop count in a Relay-forward message
+
+5.6 Representation of time values and "Infinity" as a time value
+
+ All time values for lifetimes, T1 and T2 are unsigned integers. The
+ value 0xffffffff is taken to mean "infinity" when used as a lifetime
+ (as in RFC2461 [17]) or a value for T1 or T2.
+
+6. Client/Server Message Formats
+
+ All DHCP messages sent between clients and servers share an identical
+ fixed format header and a variable format area for options.
+
+ All values in the message header and in options are in network byte
+ order.
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 16]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ Options are stored serially in the options field, with no padding
+ between the options. Options are byte-aligned but are not aligned in
+ any other way such as on 2 or 4 byte boundaries.
+
+ The following diagram illustrates the format of DHCP messages sent
+ between clients and servers:
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | msg-type | transaction-id |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ . options .
+ . (variable) .
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ msg-type Identifies the DHCP message type; the
+ available message types are listed in
+ section 5.3.
+
+ transaction-id The transaction ID for this message exchange.
+
+ options Options carried in this message; options are
+ described in section 22.
+
+7. Relay Agent/Server Message Formats
+
+ Relay agents exchange messages with servers to relay messages between
+ clients and servers that are not connected to the same link.
+
+ All values in the message header and in options are in network byte
+ order.
+
+ Options are stored serially in the options field, with no padding
+ between the options. Options are byte-aligned but are not aligned in
+ any other way such as on 2 or 4 byte boundaries.
+
+
+
+
+
+
+
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 17]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ There are two relay agent messages, which share the following format:
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | msg-type | hop-count | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
+ | |
+ | link-address |
+ | |
+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|
+ | | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
+ | |
+ | peer-address |
+ | |
+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|
+ | | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
+ . .
+ . options (variable number and length) .... .
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ The following sections describe the use of the Relay Agent message
+ header.
+
+7.1. Relay-forward Message
+
+ The following table defines the use of message fields in a Relay-
+ forward message.
+
+ msg-type RELAY-FORW
+
+ hop-count Number of relay agents that have relayed this
+ message.
+
+ link-address A global or site-local address that will be used by
+ the server to identify the link on which the client
+ is located.
+
+ peer-address The address of the client or relay agent from which
+ the message to be relayed was received.
+
+ options MUST include a "Relay Message option" (see
+ section 22.10); MAY include other options added by
+ the relay agent.
+
+
+
+
+Droms, et al. Standards Track [Page 18]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+7.2. Relay-reply Message
+
+ The following table defines the use of message fields in a
+ Relay-reply message.
+
+ msg-type RELAY-REPL
+
+ hop-count Copied from the Relay-forward message
+
+ link-address Copied from the Relay-forward message
+
+ peer-address Copied from the Relay-forward message
+
+ options MUST include a "Relay Message option"; see
+ section 22.10; MAY include other options
+
+8. Representation and Use of Domain Names
+
+ So that domain names may be encoded uniformly, a domain name or a
+ list of domain names is encoded using the technique described in
+ section 3.1 of RFC 1035 [10]. A domain name, or list of domain
+ names, in DHCP MUST NOT be stored in compressed form, as described in
+ section 4.1.4 of RFC 1035.
+
+9. DHCP Unique Identifier (DUID)
+
+ Each DHCP client and server has a DUID. DHCP servers use DUIDs to
+ identify clients for the selection of configuration parameters and in
+ the association of IAs with clients. DHCP clients use DUIDs to
+ identify a server in messages where a server needs to be identified.
+ See sections 22.2 and 22.3 for the representation of a DUID in a DHCP
+ message.
+
+ Clients and servers MUST treat DUIDs as opaque values and MUST only
+ compare DUIDs for equality. Clients and servers MUST NOT in any
+ other way interpret DUIDs. Clients and servers MUST NOT restrict
+ DUIDs to the types defined in this document, as additional DUID types
+ may be defined in the future.
+
+ The DUID is carried in an option because it may be variable length
+ and because it is not required in all DHCP messages. The DUID is
+ designed to be unique across all DHCP clients and servers, and stable
+ for any specific client or server - that is, the DUID used by a
+ client or server SHOULD NOT change over time if at all possible; for
+ example, a device's DUID should not change as a result of a change in
+ the device's network hardware.
+
+
+
+
+
+Droms, et al. Standards Track [Page 19]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ The motivation for having more than one type of DUID is that the DUID
+ must be globally unique, and must also be easy to generate. The sort
+ of globally-unique identifier that is easy to generate for any given
+ device can differ quite widely. Also, some devices may not contain
+ any persistent storage. Retaining a generated DUID in such a device
+ is not possible, so the DUID scheme must accommodate such devices.
+
+9.1. DUID Contents
+
+ A DUID consists of a two-octet type code represented in network byte
+ order, followed by a variable number of octets that make up the
+ actual identifier. A DUID can be no more than 128 octets long (not
+ including the type code). The following types are currently defined:
+
+ 1 Link-layer address plus time
+ 2 Vendor-assigned unique ID based on Enterprise Number
+ 3 Link-layer address
+
+ Formats for the variable field of the DUID for each of the above
+ types are shown below.
+
+9.2. DUID Based on Link-layer Address Plus Time [DUID-LLT]
+
+ This type of DUID consists of a two octet type field containing the
+ value 1, a two octet hardware type code, four octets containing a
+ time value, followed by link-layer address of any one network
+ interface that is connected to the DHCP device at the time that the
+ DUID is generated. The time value is the time that the DUID is
+ generated represented in seconds since midnight (UTC), January 1,
+ 2000, modulo 2^32. The hardware type MUST be a valid hardware type
+ assigned by the IANA as described in RFC 826 [14]. Both the time and
+ the hardware type are stored in network byte order. The link-layer
+ address is stored in canonical form, as described in RFC 2464 [2].
+
+ The following diagram illustrates the format of a DUID-LLT:
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | 1 | hardware type (16 bits) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | time (32 bits) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ . .
+ . link-layer address (variable length) .
+ . .
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+
+
+
+Droms, et al. Standards Track [Page 20]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ The choice of network interface can be completely arbitrary, as long
+ as that interface provides a globally unique link-layer address for
+ the link type, and the same DUID-LLT SHOULD be used in configuring
+ all network interfaces connected to the device, regardless of which
+ interface's link-layer address was used to generate the DUID-LLT.
+
+ Clients and servers using this type of DUID MUST store the DUID-LLT
+ in stable storage, and MUST continue to use this DUID-LLT even if the
+ network interface used to generate the DUID-LLT is removed. Clients
+ and servers that do not have any stable storage MUST NOT use this
+ type of DUID.
+
+ Clients and servers that use this DUID SHOULD attempt to configure
+ the time prior to generating the DUID, if that is possible, and MUST
+ use some sort of time source (for example, a real-time clock) in
+ generating the DUID, even if that time source could not be configured
+ prior to generating the DUID. The use of a time source makes it
+ unlikely that two identical DUID-LLTs will be generated if the
+ network interface is removed from the client and another client then
+ uses the same network interface to generate a DUID-LLT. A collision
+ between two DUID-LLTs is very unlikely even if the clocks have not
+ been configured prior to generating the DUID.
+
+ This method of DUID generation is recommended for all general purpose
+ computing devices such as desktop computers and laptop computers, and
+ also for devices such as printers, routers, and so on, that contain
+ some form of writable non-volatile storage.
+
+ Despite our best efforts, it is possible that this algorithm for
+ generating a DUID could result in a client identifier collision. A
+ DHCP client that generates a DUID-LLT using this mechanism MUST
+ provide an administrative interface that replaces the existing DUID
+ with a newly-generated DUID-LLT.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 21]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+9.3. DUID Assigned by Vendor Based on Enterprise Number [DUID-EN]
+
+ This form of DUID is assigned by the vendor to the device. It
+ consists of the vendor's registered Private Enterprise Number as
+ maintained by IANA [6] followed by a unique identifier assigned by
+ the vendor. The following diagram summarizes the structure of a
+ DUID-EN:
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | 2 | enterprise-number |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | enterprise-number (contd) | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
+ . identifier .
+ . (variable length) .
+ . .
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ The source of the identifier is left up to the vendor defining it,
+ but each identifier part of each DUID-EN MUST be unique to the device
+ that is using it, and MUST be assigned to the device at the time it
+ is manufactured and stored in some form of non-volatile storage. The
+ generated DUID SHOULD be recorded in non-erasable storage. The
+ enterprise-number is the vendor's registered Private Enterprise
+ Number as maintained by IANA [6]. The enterprise-number is stored as
+ an unsigned 32 bit number.
+
+ An example DUID of this type might look like this:
+
+ +---+---+---+---+---+---+---+---+
+ | 0 | 2 | 0 | 0 | 0 | 9| 12|192|
+ +---+---+---+---+---+---+---+---+
+ |132|221| 3 | 0 | 9 | 18|
+ +---+---+---+---+---+---+
+
+ This example includes the two-octet type of 2, the Enterprise Number
+ (9), followed by eight octets of identifier data
+ (0x0CC084D303000912).
+
+9.4. DUID Based on Link-layer Address [DUID-LL]
+
+ This type of DUID consists of two octets containing the DUID type 3,
+ a two octet network hardware type code, followed by the link-layer
+ address of any one network interface that is permanently connected to
+ the client or server device. For example, a host that has a network
+ interface implemented in a chip that is unlikely to be removed and
+
+
+
+Droms, et al. Standards Track [Page 22]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ used elsewhere could use a DUID-LL. The hardware type MUST be a
+ valid hardware type assigned by the IANA, as described in RFC 826
+ [14]. The hardware type is stored in network byte order. The
+ link-layer address is stored in canonical form, as described in RFC
+ 2464 [2]. The following diagram illustrates the format of a DUID-LL:
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | 3 | hardware type (16 bits) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ . .
+ . link-layer address (variable length) .
+ . .
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ The choice of network interface can be completely arbitrary, as long
+ as that interface provides a unique link-layer address and is
+ permanently attached to the device on which the DUID-LL is being
+ generated. The same DUID-LL SHOULD be used in configuring all
+ network interfaces connected to the device, regardless of which
+ interface's link-layer address was used to generate the DUID.
+
+ DUID-LL is recommended for devices that have a permanently-connected
+ network interface with a link-layer address, and do not have
+ nonvolatile, writable stable storage. DUID-LL MUST NOT be used by
+ DHCP clients or servers that cannot tell whether or not a network
+ interface is permanently attached to the device on which the DHCP
+ client is running.
+
+10. Identity Association
+
+ An "identity-association" (IA) is a construct through which a server
+ and a client can identify, group, and manage a set of related IPv6
+ addresses. Each IA consists of an IAID and associated configuration
+ information.
+
+ A client must associate at least one distinct IA with each of its
+ network interfaces for which it is to request the assignment of IPv6
+ addresses from a DHCP server. The client uses the IAs assigned to an
+ interface to obtain configuration information from a server for that
+ interface. Each IA must be associated with exactly one interface.
+
+ The IAID uniquely identifies the IA and must be chosen to be unique
+ among the IAIDs on the client. The IAID is chosen by the client.
+ For any given use of an IA by the client, the IAID for that IA MUST
+ be consistent across restarts of the DHCP client. The client may
+ maintain consistency either by storing the IAID in non-volatile
+
+
+
+Droms, et al. Standards Track [Page 23]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ storage or by using an algorithm that will consistently produce the
+ same IAID as long as the configuration of the client has not changed.
+ There may be no way for a client to maintain consistency of the IAIDs
+ if it does not have non-volatile storage and the client's hardware
+ configuration changes.
+
+ The configuration information in an IA consists of one or more IPv6
+ addresses along with the times T1 and T2 for the IA. See section
+ 22.4 for the representation of an IA in a DHCP message.
+
+ Each address in an IA has a preferred lifetime and a valid lifetime,
+ as defined in RFC 2462 [17]. The lifetimes are transmitted from the
+ DHCP server to the client in the IA option. The lifetimes apply to
+ the use of IPv6 addresses, as described in section 5.5.4 of RFC 2462.
+
+11. Selecting Addresses for Assignment to an IA
+
+ A server selects addresses to be assigned to an IA according to the
+ address assignment policies determined by the server administrator
+ and the specific information the server determines about the client
+ from some combination of the following sources:
+
+ - The link to which the client is attached. The server determines
+ the link as follows:
+
+ * If the server receives the message directly from the client and
+ the source address in the IP datagram in which the message was
+ received is a link-local address, then the client is on the
+ same link to which the interface over which the message was
+ received is attached.
+
+ * If the server receives the message from a forwarding relay
+ agent, then the client is on the same link as the one to which
+ the interface, identified by the link-address field in the
+ message from the relay agent, is attached.
+
+ * If the server receives the message directly from the client and
+ the source address in the IP datagram in which the message was
+ received is not a link-local address, then the client is on the
+ link identified by the source address in the IP datagram (note
+ that this situation can occur only if the server has enabled
+ the use of unicast message delivery by the client and the
+ client has sent a message for which unicast delivery is
+ allowed).
+
+ - The DUID supplied by the client.
+
+ - Other information in options supplied by the client.
+
+
+
+Droms, et al. Standards Track [Page 24]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ - Other information in options supplied by the relay agent.
+
+ Any address assigned by a server that is based on an EUI-64
+ identifier MUST include an interface identifier with the "u"
+ (universal/local) and "g" (individual/group) bits of the interface
+ identifier set appropriately, as indicated in section 2.5.1 of RFC
+ 2373 [5].
+
+ A server MUST NOT assign an address that is otherwise reserved for
+ some other purpose. For example, a server MUST NOT assign reserved
+ anycast addresses, as defined in RFC 2526, from any subnet.
+
+12. Management of Temporary Addresses
+
+ A client may request the assignment of temporary addresses (see RFC
+ 3041 [12] for the definition of temporary addresses). DHCPv6
+ handling of address assignment is no different for temporary
+ addresses. DHCPv6 says nothing about details of temporary addresses
+ like lifetimes, how clients use temporary addresses, rules for
+ generating successive temporary addresses, etc.
+
+ Clients ask for temporary addresses and servers assign them.
+ Temporary addresses are carried in the Identity Association for
+ Temporary Addresses (IA_TA) option (see section 22.5). Each IA_TA
+ option contains at most one temporary address for each of the
+ prefixes on the link to which the client is attached.
+
+ The IAID number space for the IA_TA option IAID number space is
+ separate from the IA_NA option IAID number space.
+
+ The server MAY update the DNS for a temporary address, as described
+ in section 4 of RFC 3041.
+
+13. Transmission of Messages by a Client
+
+ Unless otherwise specified in this document, or in a document that
+ describes how IPv6 is carried over a specific type of link (for link
+ types that do not support multicast), a client sends DHCP messages to
+ the All_DHCP_Relay_Agents_and_Servers.
+
+ A client uses multicast to reach all servers or an individual server.
+ An individual server is indicated by specifying that server's DUID in
+ a Server Identifier option (see section 22.3) in the client's message
+ (all servers will receive this message but only the indicated server
+ will respond). All servers are indicated by not supplying this
+ option.
+
+
+
+
+
+Droms, et al. Standards Track [Page 25]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ A client may send some messages directly to a server using unicast,
+ as described in section 22.12.
+
+14. Reliability of Client Initiated Message Exchanges
+
+ DHCP clients are responsible for reliable delivery of messages in the
+ client-initiated message exchanges described in sections 17 and 18.
+ If a DHCP client fails to receive an expected response from a server,
+ the client must retransmit its message. This section describes the
+ retransmission strategy to be used by clients in client-initiated
+ message exchanges.
+
+ Note that the procedure described in this section is slightly
+ modified when used with the Solicit message. The modified procedure
+ is described in section 17.1.2.
+
+ The client begins the message exchange by transmitting a message to
+ the server. The message exchange terminates when either the client
+ successfully receives the appropriate response or responses from a
+ server or servers, or when the message exchange is considered to have
+ failed according to the retransmission mechanism described below.
+
+ The client retransmission behavior is controlled and described by the
+ following variables:
+
+ RT Retransmission timeout
+
+ IRT Initial retransmission time
+
+ MRC Maximum retransmission count
+
+ MRT Maximum retransmission time
+
+ MRD Maximum retransmission duration
+
+ RAND Randomization factor
+
+ With each message transmission or retransmission, the client sets RT
+ according to the rules given below. If RT expires before the message
+ exchange terminates, the client recomputes RT and retransmits the
+ message.
+
+ Each of the computations of a new RT include a randomization factor
+ (RAND), which is a random number chosen with a uniform distribution
+ between -0.1 and +0.1. The randomization factor is included to
+ minimize synchronization of messages transmitted by DHCP clients.
+
+
+
+
+
+Droms, et al. Standards Track [Page 26]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ The algorithm for choosing a random number does not need to be
+ cryptographically sound. The algorithm SHOULD produce a different
+ sequence of random numbers from each invocation of the DHCP client.
+
+ RT for the first message transmission is based on IRT:
+
+ RT = IRT + RAND*IRT
+
+ RT for each subsequent message transmission is based on the previous
+ value of RT:
+
+ RT = 2*RTprev + RAND*RTprev
+
+ MRT specifies an upper bound on the value of RT (disregarding the
+ randomization added by the use of RAND). If MRT has a value of 0,
+ there is no upper limit on the value of RT. Otherwise:
+
+ if (RT > MRT)
+ RT = MRT + RAND*MRT
+
+ MRC specifies an upper bound on the number of times a client may
+ retransmit a message. Unless MRC is zero, the message exchange fails
+ once the client has transmitted the message MRC times.
+
+ MRD specifies an upper bound on the length of time a client may
+ retransmit a message. Unless MRD is zero, the message exchange fails
+ once MRD seconds have elapsed since the client first transmitted the
+ message.
+
+ If both MRC and MRD are non-zero, the message exchange fails whenever
+ either of the conditions specified in the previous two paragraphs are
+ met.
+
+ If both MRC and MRD are zero, the client continues to transmit the
+ message until it receives a response.
+
+15. Message Validation
+
+ Clients and servers SHOULD discard any messages that contain options
+ that are not allowed to appear in the received message. For example,
+ an IA option is not allowed to appear in an Information-request
+ message. Clients and servers MAY choose to extract information from
+ such a message if the information is of use to the recipient.
+
+ A server MUST discard any Solicit, Confirm, Rebind or
+ Information-request messages it receives with a unicast destination
+ address.
+
+
+
+
+Droms, et al. Standards Track [Page 27]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ Message validation based on DHCP authentication is discussed in
+ section 21.4.2.
+
+ If a server receives a message that contains options it should not
+ contain (such as an Information-request message with an IA option),
+ is missing options that it should contain, or is otherwise not valid,
+ it MAY send a Reply (or Advertise as appropriate) with a Server
+ Identifier option, a Client Identifier option if one was included in
+ the message and a Status Code option with status UnSpecFail.
+
+15.1. Use of Transaction IDs
+
+ The "transaction-id" field holds a value used by clients and servers
+ to synchronize server responses to client messages. A client SHOULD
+ generate a random number that cannot easily be guessed or predicted
+ to use as the transaction ID for each new message it sends. Note
+ that if a client generates easily predictable transaction
+ identifiers, it may become more vulnerable to certain kinds of
+ attacks from off-path intruders. A client MUST leave the transaction
+ ID unchanged in retransmissions of a message.
+
+15.2. Solicit Message
+
+ Clients MUST discard any received Solicit messages.
+
+ Servers MUST discard any Solicit messages that do not include a
+ Client Identifier option or that do include a Server Identifier
+ option.
+
+15.3. Advertise Message
+
+ Clients MUST discard any received Advertise messages that meet any of
+ the following conditions:
+
+ - the message does not include a Server Identifier option.
+
+ - the message does not include a Client Identifier option.
+
+ - the contents of the Client Identifier option does not match the
+ client's DUID.
+
+ - the "transaction-id" field value does not match the value the
+ client used in its Solicit message.
+
+ Servers and relay agents MUST discard any received Advertise
+ messages.
+
+
+
+
+
+Droms, et al. Standards Track [Page 28]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+15.4. Request Message
+
+ Clients MUST discard any received Request messages.
+
+ Servers MUST discard any received Request message that meet any of
+ the following conditions:
+
+ - the message does not include a Server Identifier option.
+
+ - the contents of the Server Identifier option do not match the
+ server's DUID.
+
+ - the message does not include a Client Identifier option.
+
+15.5. Confirm Message
+
+ Clients MUST discard any received Confirm messages.
+
+ Servers MUST discard any received Confirm messages that do not
+ include a Client Identifier option or that do include a Server
+ Identifier option.
+
+15.6. Renew Message
+
+ Clients MUST discard any received Renew messages.
+
+ Servers MUST discard any received Renew message that meets any of the
+ following conditions:
+
+ - the message does not include a Server Identifier option.
+
+ - the contents of the Server Identifier option does not match the
+ server's identifier.
+
+ - the message does not include a Client Identifier option.
+
+15.7. Rebind Message
+
+ Clients MUST discard any received Rebind messages.
+
+ Servers MUST discard any received Rebind messages that do not include
+ a Client Identifier option or that do include a Server Identifier
+ option.
+
+
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 29]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+15.8. Decline Messages
+
+ Clients MUST discard any received Decline messages.
+
+ Servers MUST discard any received Decline message that meets any of
+ the following conditions:
+
+ - the message does not include a Server Identifier option.
+
+ - the contents of the Server Identifier option does not match the
+ server's identifier.
+
+ - the message does not include a Client Identifier option.
+
+15.9. Release Message
+
+ Clients MUST discard any received Release messages.
+
+ Servers MUST discard any received Release message that meets any of
+ the following conditions:
+
+ - the message does not include a Server Identifier option.
+
+ - the contents of the Server Identifier option does not match the
+ server's identifier.
+
+ - the message does not include a Client Identifier option.
+
+15.10. Reply Message
+
+ Clients MUST discard any received Reply message that meets any of the
+ following conditions:
+
+ - the message does not include a Server Identifier option.
+
+ - the "transaction-id" field in the message does not match the value
+ used in the original message.
+
+ If the client included a Client Identifier option in the original
+ message, the Reply message MUST include a Client Identifier option
+ and the contents of the Client Identifier option MUST match the DUID
+ of the client; OR, if the client did not include a Client Identifier
+ option in the original message, the Reply message MUST NOT include a
+ Client Identifier option.
+
+ Servers and relay agents MUST discard any received Reply messages.
+
+
+
+
+
+Droms, et al. Standards Track [Page 30]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+15.11. Reconfigure Message
+
+ Servers and relay agents MUST discard any received Reconfigure
+ messages.
+
+ Clients MUST discard any Reconfigure messages that meets any of the
+ following conditions:
+
+ - the message was not unicast to the client.
+
+ - the message does not include a Server Identifier option.
+
+ - the message does not include a Client Identifier option that
+ contains the client's DUID.
+
+ - the message does not contain a Reconfigure Message option and the
+ msg-type must be a valid value.
+
+ - the message includes any IA options and the msg-type in the
+ Reconfigure Message option is INFORMATION-REQUEST.
+
+ - the message does not include DHCP authentication:
+
+ * the message does not contain an authentication option.
+
+ * the message does not pass the authentication validation
+ performed by the client.
+
+15.12. Information-request Message
+
+ Clients MUST discard any received Information-request messages.
+
+ Servers MUST discard any received Information-request message that
+ meets any of the following conditions:
+
+ - The message includes a Server Identifier option and the DUID in
+ the option does not match the server's DUID.
+
+ - The message includes an IA option.
+
+15.13. Relay-forward Message
+
+ Clients MUST discard any received Relay-forward messages.
+
+15.14. Relay-reply Message
+
+ Clients and servers MUST discard any received Relay-reply messages.
+
+
+
+
+Droms, et al. Standards Track [Page 31]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+16. Client Source Address and Interface Selection
+
+ When a client sends a DHCP message to the
+ All_DHCP_Relay_Agents_and_Servers address, it SHOULD send the message
+ through the interface for which configuration information is being
+ requested. However, the client MAY send the message through another
+ interface attached to the same link, if and only if the client is
+ certain the two interfaces are attached to the same link. The client
+ MUST use a link-local address assigned to the interface for which it
+ is requesting configuration information as the source address in the
+ header of the IP datagram.
+
+ When a client sends a DHCP message directly to a server using unicast
+ (after receiving the Server Unicast option from that server), the
+ source address in the header of the IP datagram MUST be an address
+ assigned to the interface for which the client is interested in
+ obtaining configuration and which is suitable for use by the server
+ in responding to the client.
+
+17. DHCP Server Solicitation
+
+ This section describes how a client locates servers that will assign
+ addresses to IAs belonging to the client.
+
+ The client is responsible for creating IAs and requesting that a
+ server assign IPv6 addresses to the IA. The client first creates an
+ IA and assigns it an IAID. The client then transmits a Solicit
+ message containing an IA option describing the IA. Servers that can
+ assign addresses to the IA respond to the client with an Advertise
+ message. The client then initiates a configuration exchange as
+ described in section 18.
+
+ If the client will accept a Reply message with committed address
+ assignments and other resources in response to the Solicit message,
+ the client includes a Rapid Commit option (see section 22.14) in the
+ Solicit message.
+
+17.1. Client Behavior
+
+ A client uses the Solicit message to discover DHCP servers configured
+ to assign addresses or return other configuration parameters on the
+ link to which the client is attached.
+
+17.1.1. Creation of Solicit Messages
+
+ The client sets the "msg-type" field to SOLICIT. The client
+ generates a transaction ID and inserts this value in the
+ "transaction-id" field.
+
+
+
+Droms, et al. Standards Track [Page 32]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ The client MUST include a Client Identifier option to identify itself
+ to the server. The client includes IA options for any IAs to which
+ it wants the server to assign addresses. The client MAY include
+ addresses in the IAs as a hint to the server about addresses for
+ which the client has a preference. The client MUST NOT include any
+ other options in the Solicit message, except as specifically allowed
+ in the definition of individual options.
+
+ The client uses IA_NA options to request the assignment of non-
+ temporary addresses and uses IA_TA options to request the assignment
+ of temporary addresses. Either IA_NA or IA_TA options, or a
+ combination of both, can be included in DHCP messages.
+
+ The client SHOULD include an Option Request option (see section 22.7)
+ to indicate the options the client is interested in receiving. The
+ client MAY additionally include instances of those options that are
+ identified in the Option Request option, with data values as hints to
+ the server about parameter values the client would like to have
+ returned.
+
+ The client includes a Reconfigure Accept option (see section 22.20)
+ if the client is willing to accept Reconfigure messages from the
+ server.
+
+17.1.2. Transmission of Solicit Messages
+
+ The first Solicit message from the client on the interface MUST be
+ delayed by a random amount of time between 0 and SOL_MAX_DELAY. In
+ the case of a Solicit message transmitted when DHCP is initiated by
+ IPv6 Neighbor Discovery, the delay gives the amount of time to wait
+ after IPv6 Neighbor Discovery causes the client to invoke the
+ stateful address autoconfiguration protocol (see section 5.5.3 of RFC
+ 2462). This random delay desynchronizes clients which start at the
+ same time (for example, after a power outage).
+
+ The client transmits the message according to section 14, using the
+ following parameters:
+
+ IRT SOL_TIMEOUT
+
+ MRT SOL_MAX_RT
+
+ MRC 0
+
+ MRD 0
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 33]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ If the client has included a Rapid Commit option in its Solicit
+ message, the client terminates the waiting process as soon as a Reply
+ message with a Rapid Commit option is received.
+
+ If the client is waiting for an Advertise message, the mechanism in
+ section 14 is modified as follows for use in the transmission of
+ Solicit messages. The message exchange is not terminated by the
+ receipt of an Advertise before the first RT has elapsed. Rather, the
+ client collects Advertise messages until the first RT has elapsed.
+ Also, the first RT MUST be selected to be strictly greater than IRT
+ by choosing RAND to be strictly greater than 0.
+
+ A client MUST collect Advertise messages for the first RT seconds,
+ unless it receives an Advertise message with a preference value of
+ 255. The preference value is carried in the Preference option
+ (section 22.8). Any Advertise that does not include a Preference
+ option is considered to have a preference value of 0. If the client
+ receives an Advertise message that includes a Preference option with
+ a preference value of 255, the client immediately begins a client-
+ initiated message exchange (as described in section 18) by sending a
+ Request message to the server from which the Advertise message was
+ received. If the client receives an Advertise message that does not
+ include a Preference option with a preference value of 255, the
+ client continues to wait until the first RT elapses. If the first RT
+ elapses and the client has received an Advertise message, the client
+ SHOULD continue with a client-initiated message exchange by sending a
+ Request message.
+
+ If the client does not receive any Advertise messages before the
+ first RT has elapsed, it begins the retransmission mechanism
+ described in section 14. The client terminates the retransmission
+ process as soon as it receives any Advertise message, and the client
+ acts on the received Advertise message without waiting for any
+ additional Advertise messages.
+
+ A DHCP client SHOULD choose MRC and MRD to be 0. If the DHCP client
+ is configured with either MRC or MRD set to a value other than 0, it
+ MUST stop trying to configure the interface if the message exchange
+ fails. After the DHCP client stops trying to configure the
+ interface, it SHOULD restart the reconfiguration process after some
+ external event, such as user input, system restart, or when the
+ client is attached to a new link.
+
+
+
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 34]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+17.1.3. Receipt of Advertise Messages
+
+ The client MUST ignore any Advertise message that includes a Status
+ Code option containing the value NoAddrsAvail, with the exception
+ that the client MAY display the associated status message to the
+ user.
+
+ Upon receipt of one or more valid Advertise messages, the client
+ selects one or more Advertise messages based upon the following
+ criteria.
+
+ - Those Advertise messages with the highest server preference value
+ are preferred over all other Advertise messages.
+
+ - Within a group of Advertise messages with the same server
+ preference value, a client MAY select those servers whose
+ Advertise messages advertise information of interest to the
+ client. For example, the client may choose a server that returned
+ an advertisement with configuration options of interest to the
+ client.
+
+ - The client MAY choose a less-preferred server if that server has a
+ better set of advertised parameters, such as the available
+ addresses advertised in IAs.
+
+ Once a client has selected Advertise message(s), the client will
+ typically store information about each server, such as server
+ preference value, addresses advertised, when the advertisement was
+ received, and so on.
+
+ If the client needs to select an alternate server in the case that a
+ chosen server does not respond, the client chooses the next server
+ according to the criteria given above.
+
+17.1.4. Receipt of Reply Message
+
+ If the client includes a Rapid Commit option in the Solicit message,
+ it will expect a Reply message that includes a Rapid Commit option in
+ response. The client discards any Reply messages it receives that do
+ not include a Rapid Commit option. If the client receives a valid
+ Reply message that includes a Rapid Commit option, it processes the
+ message as described in section 18.1.8. If it does not receive such
+ a Reply message and does receive a valid Advertise message, the
+ client processes the Advertise message as described in section
+ 17.1.3.
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 35]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ If the client subsequently receives a valid Reply message that
+ includes a Rapid Commit option, it either:
+
+ processes the Reply message as described in section 18.1.8, and
+ discards any Reply messages received in response to the Request
+ message, or
+
+ processes any Reply messages received in response to the Request
+ message and discards the Reply message that includes the Rapid
+ Commit option.
+
+17.2. Server Behavior
+
+ A server sends an Advertise message in response to valid Solicit
+ messages it receives to announce the availability of the server to
+ the client.
+
+17.2.1. Receipt of Solicit Messages
+
+ The server determines the information about the client and its
+ location as described in section 11 and checks its administrative
+ policy about responding to the client. If the server is not
+ permitted to respond to the client, the server discards the Solicit
+ message. For example, if the administrative policy for the server is
+ that it may only respond to a client that is willing to accept a
+ Reconfigure message, if the client indicates with a Reconfigure
+ Accept option in the Solicit message that it will not accept a
+ Reconfigure message, the servers discard the Solicit message.
+
+ If the client has included a Rapid Commit option in the Solicit
+ message and the server has been configured to respond with committed
+ address assignments and other resources, the server responds to the
+ Solicit with a Reply message as described in section 17.2.3.
+ Otherwise, the server ignores the Rapid Commit option and processes
+ the remainder of the message as if no Rapid Commit option were
+ present.
+
+17.2.2. Creation and Transmission of Advertise Messages
+
+ The server sets the "msg-type" field to ADVERTISE and copies the
+ contents of the transaction-id field from the Solicit message
+ received from the client to the Advertise message. The server
+ includes its server identifier in a Server Identifier option and
+ copies the Client Identifier from the Solicit message into the
+ Advertise message.
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 36]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ The server MAY add a Preference option to carry the preference value
+ for the Advertise message. The server implementation SHOULD allow
+ the setting of a server preference value by the administrator. The
+ server preference value MUST default to zero unless otherwise
+ configured by the server administrator.
+
+ The server includes a Reconfigure Accept option if the server wants
+ to require that the client accept Reconfigure messages.
+
+ The server includes options the server will return to the client in a
+ subsequent Reply message. The information in these options may be
+ used by the client in the selection of a server if the client
+ receives more than one Advertise message. If the client has included
+ an Option Request option in the Solicit message, the server includes
+ options in the Advertise message containing configuration parameters
+ for all of the options identified in the Option Request option that
+ the server has been configured to return to the client. The server
+ MAY return additional options to the client if it has been configured
+ to do so. The server must be aware of the recommendations on packet
+ sizes and the use of fragmentation in section 5 of RFC 2460.
+
+ If the Solicit message from the client included one or more IA
+ options, the server MUST include IA options in the Advertise message
+ containing any addresses that would be assigned to IAs contained in
+ the Solicit message from the client. If the client has included
+ addresses in the IAs in the Solicit message, the server uses those
+ addresses as hints about the addresses the client would like to
+ receive.
+
+ If the server will not assign any addresses to any IAs in a
+ subsequent Request from the client, the server MUST send an Advertise
+ message to the client that includes only a Status Code option with
+ code NoAddrsAvail and a status message for the user, a Server
+ Identifier option with the server's DUID, and a Client Identifier
+ option with the client's DUID.
+
+ If the Solicit message was received directly by the server, the
+ server unicasts the Advertise message directly to the client using
+ the address in the source address field from the IP datagram in which
+ the Solicit message was received. The Advertise message MUST be
+ unicast on the link from which the Solicit message was received.
+
+ If the Solicit message was received in a Relay-forward message, the
+ server constructs a Relay-reply message with the Advertise message in
+ the payload of a "relay-message" option. If the Relay-forward
+ messages included an Interface-id option, the server copies that
+ option to the Relay-reply message. The server unicasts the
+ Relay-reply message directly to the relay agent using the address in
+
+
+
+Droms, et al. Standards Track [Page 37]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ the source address field from the IP datagram in which the Relay-
+ forward message was received.
+
+17.2.3. Creation and Transmission of Reply Messages
+
+ The server MUST commit the assignment of any addresses or other
+ configuration information message before sending a Reply message to a
+ client in response to a Solicit message.
+
+ DISCUSSION:
+
+ When using the Solicit-Reply message exchange, the server commits
+ the assignment of any addresses before sending the Reply message.
+ The client can assume it has been assigned the addresses in the
+ Reply message and does not need to send a Request message for
+ those addresses.
+
+ Typically, servers that are configured to use the Solicit-Reply
+ message exchange will be deployed so that only one server will
+ respond to a Solicit message. If more than one server responds,
+ the client will only use the addresses from one of the servers,
+ while the addresses from the other servers will be committed to
+ the client but not used by the client.
+
+ The server includes a Rapid Commit option in the Reply message to
+ indicate that the Reply is in response to a Solicit message.
+
+ The server includes a Reconfigure Accept option if the server wants
+ to require that the client accept Reconfigure messages.
+
+ The server produces the Reply message as though it had received a
+ Request message, as described in section 18.2.1. The server
+ transmits the Reply message as described in section 18.2.8.
+
+18. DHCP Client-Initiated Configuration Exchange
+
+ A client initiates a message exchange with a server or servers to
+ acquire or update configuration information of interest. The client
+ may initiate the configuration exchange as part of the operating
+ system configuration process, when requested to do so by the
+ application layer, when required by Stateless Address
+ Autoconfiguration or as required to extend the lifetime of an address
+ (Renew and Rebind messages).
+
+
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 38]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+18.1. Client Behavior
+
+ A client uses Request, Renew, Rebind, Release and Decline messages
+ during the normal life cycle of addresses. It uses Confirm to
+ validate addresses when it may have moved to a new link. It uses
+ Information-Request messages when it needs configuration information
+ but no addresses.
+
+ If the client has a source address of sufficient scope that can be
+ used by the server as a return address, and the client has received a
+ Server Unicast option (section 22.12) from the server, the client
+ SHOULD unicast any Request, Renew, Release and Decline messages to
+ the server.
+
+ DISCUSSION:
+
+ Use of unicast may avoid delays due to the relaying of messages by
+ relay agents, as well as avoid overhead and duplicate responses by
+ servers due to the delivery of client messages to multiple
+ servers. Requiring the client to relay all DHCP messages through
+ a relay agent enables the inclusion of relay agent options in all
+ messages sent by the client. The server should enable the use of
+ unicast only when relay agent options will not be used.
+
+18.1.1. Creation and Transmission of Request Messages
+
+ The client uses a Request message to populate IAs with addresses and
+ obtain other configuration information. The client includes one or
+ more IA options in the Request message. The server then returns
+ addresses and other information about the IAs to the client in IA
+ options in a Reply message.
+
+ The client generates a transaction ID and inserts this value in the
+ "transaction-id" field.
+
+ The client places the identifier of the destination server in a
+ Server Identifier option.
+
+ The client MUST include a Client Identifier option to identify itself
+ to the server. The client adds any other appropriate options,
+ including one or more IA options (if the client is requesting that
+ the server assign it some network addresses).
+
+ The client MUST include an Option Request option (see section 22.7)
+ to indicate the options the client is interested in receiving. The
+ client MAY include options with data values as hints to the server
+ about parameter values the client would like to have returned.
+
+
+
+
+Droms, et al. Standards Track [Page 39]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ The client includes a Reconfigure Accept option (see section 22.20)
+ indicating whether or not the client is willing to accept Reconfigure
+ messages from the server.
+
+ The client transmits the message according to section 14, using the
+ following parameters:
+
+ IRT REQ_TIMEOUT
+
+ MRT REQ_MAX_RT
+
+ MRC REQ_MAX_RC
+
+ MRD 0
+
+ If the message exchange fails, the client takes an action based on
+ the client's local policy. Examples of actions the client might take
+ include:
+
+ - Select another server from a list of servers known to the client;
+ for example, servers that responded with an Advertise message.
+
+ - Initiate the server discovery process described in section 17.
+
+ - Terminate the configuration process and report failure.
+
+18.1.2. Creation and Transmission of Confirm Messages
+
+ Whenever a client may have moved to a new link, the prefixes from the
+ addresses assigned to the interfaces on that link may no longer be
+ appropriate for the link to which the client is attached. Examples
+ of times when a client may have moved to a new link include:
+
+ o The client reboots.
+
+ o The client is physically connected to a wired connection.
+
+ o The client returns from sleep mode.
+
+ o The client using a wireless technology changes access points.
+
+ In any situation when a client may have moved to a new link, the
+ client MUST initiate a Confirm/Reply message exchange. The client
+ includes any IAs assigned to the interface that may have moved to a
+ new link, along with the addresses associated with those IAs, in its
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 40]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ Confirm message. Any responding servers will indicate whether those
+ addresses are appropriate for the link to which the client is
+ attached with the status in the Reply message it returns to the
+ client.
+
+ The client sets the "msg-type" field to CONFIRM. The client
+ generates a transaction ID and inserts this value in the
+ "transaction-id" field.
+
+ The client MUST include a Client Identifier option to identify itself
+ to the server. The client includes IA options for all of the IAs
+ assigned to the interface for which the Confirm message is being
+ sent. The IA options include all of the addresses the client
+ currently has associated with those IAs. The client SHOULD set the
+ T1 and T2 fields in any IA_NA options, and the preferred-lifetime and
+ valid-lifetime fields in the IA Address options to 0, as the server
+ will ignore these fields.
+
+ The first Confirm message from the client on the interface MUST be
+ delayed by a random amount of time between 0 and CNF_MAX_DELAY. The
+ client transmits the message according to section 14, using the
+ following parameters:
+
+ IRT CNF_TIMEOUT
+
+ MRT CNF_MAX_RT
+
+ MRC 0
+
+ MRD CNF_MAX_RD
+
+ If the client receives no responses before the message transmission
+ process terminates, as described in section 14, the client SHOULD
+ continue to use any IP addresses, using the last known lifetimes for
+ those addresses, and SHOULD continue to use any other previously
+ obtained configuration parameters.
+
+18.1.3. Creation and Transmission of Renew Messages
+
+ To extend the valid and preferred lifetimes for the addresses
+ associated with an IA, the client sends a Renew message to the server
+ from which the client obtained the addresses in the IA containing an
+ IA option for the IA. The client includes IA Address options in the
+ IA option for the addresses associated with the IA. The server
+ determines new lifetimes for the addresses in the IA according to the
+ administrative configuration of the server. The server may also add
+
+
+
+
+
+Droms, et al. Standards Track [Page 41]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ new addresses to the IA. The server may remove addresses from the IA
+ by setting the preferred and valid lifetimes of those addresses to
+ zero.
+
+ The server controls the time at which the client contacts the server
+ to extend the lifetimes on assigned addresses through the T1 and T2
+ parameters assigned to an IA.
+
+ At time T1 for an IA, the client initiates a Renew/Reply message
+ exchange to extend the lifetimes on any addresses in the IA. The
+ client includes an IA option with all addresses currently assigned to
+ the IA in its Renew message.
+
+ If T1 or T2 is set to 0 by the server (for an IA_NA) or there are no
+ T1 or T2 times (for an IA_TA), the client may send a Renew or Rebind
+ message, respectively, at the client's discretion.
+
+ The client sets the "msg-type" field to RENEW. The client generates
+ a transaction ID and inserts this value in the "transaction-id"
+ field.
+
+ The client places the identifier of the destination server in a
+ Server Identifier option.
+
+ The client MUST include a Client Identifier option to identify itself
+ to the server. The client adds any appropriate options, including
+ one or more IA options. The client MUST include the list of
+ addresses the client currently has associated with the IAs in the
+ Renew message.
+
+ The client MUST include an Option Request option (see section 22.7)
+ to indicate the options the client is interested in receiving. The
+ client MAY include options with data values as hints to the server
+ about parameter values the client would like to have returned.
+
+ The client transmits the message according to section 14, using the
+ following parameters:
+
+ IRT REN_TIMEOUT
+
+ MRT REN_MAX_RT
+
+ MRC 0
+
+ MRD Remaining time until T2
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 42]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ The message exchange is terminated when time T2 is reached (see
+ section 18.1.4), at which time the client begins a Rebind message
+ exchange.
+
+18.1.4. Creation and Transmission of Rebind Messages
+
+ At time T2 for an IA (which will only be reached if the server to
+ which the Renew message was sent at time T1 has not responded), the
+ client initiates a Rebind/Reply message exchange with any available
+ server. The client includes an IA option with all addresses
+ currently assigned to the IA in its Rebind message.
+
+ The client sets the "msg-type" field to REBIND. The client generates
+ a transaction ID and inserts this value in the "transaction-id"
+ field.
+
+ The client MUST include a Client Identifier option to identify itself
+ to the server. The client adds any appropriate options, including
+ one or more IA options. The client MUST include the list of
+ addresses the client currently has associated with the IAs in the
+ Rebind message.
+
+ The client MUST include an Option Request option (see section 22.7)
+ to indicate the options the client is interested in receiving. The
+ client MAY include options with data values as hints to the server
+ about parameter values the client would like to have returned.
+
+ The client transmits the message according to section 14, using the
+ following parameters:
+
+ IRT REB_TIMEOUT
+
+ MRT REB_MAX_RT
+
+ MRC 0
+
+ MRD Remaining time until valid lifetimes of all addresses have
+ expired
+
+ The message exchange is terminated when the valid lifetimes of all
+ the addresses assigned to the IA expire (see section 10), at which
+ time the client has several alternative actions to choose from; for
+ example:
+
+ - The client may choose to use a Solicit message to locate a new
+ DHCP server and send a Request for the expired IA to the new
+ server.
+
+
+
+
+Droms, et al. Standards Track [Page 43]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ - The client may have other addresses in other IAs, so the client
+ may choose to discard the expired IA and use the addresses in the
+ other IAs.
+
+18.1.5. Creation and Transmission of Information-request Messages
+
+ The client uses an Information-request message to obtain
+ configuration information without having addresses assigned to it.
+
+ The client sets the "msg-type" field to INFORMATION-REQUEST. The
+ client generates a transaction ID and inserts this value in the
+ "transaction-id" field.
+
+ The client SHOULD include a Client Identifier option to identify
+ itself to the server. If the client does not include a Client
+ Identifier option, the server will not be able to return any client-
+ specific options to the client, or the server may choose not to
+ respond to the message at all. The client MUST include a Client
+ Identifier option if the Information-Request message will be
+ authenticated.
+
+ The client MUST include an Option Request option (see section 22.7)
+ to indicate the options the client is interested in receiving. The
+ client MAY include options with data values as hints to the server
+ about parameter values the client would like to have returned.
+
+ The first Information-request message from the client on the
+ interface MUST be delayed by a random amount of time between 0 and
+ INF_MAX_DELAY. The client transmits the message according to section
+ 14, using the following parameters:
+
+ IRT INF_TIMEOUT
+
+ MRT INF_MAX_RT
+
+ MRC 0
+
+ MRD 0
+
+18.1.6. Creation and Transmission of Release Messages
+
+ To release one or more addresses, a client sends a Release message to
+ the server.
+
+ The client sets the "msg-type" field to RELEASE. The client
+ generates a transaction ID and places this value in the
+ "transaction-id" field.
+
+
+
+
+Droms, et al. Standards Track [Page 44]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ The client places the identifier of the server that allocated the
+ address(es) in a Server Identifier option.
+
+ The client MUST include a Client Identifier option to identify itself
+ to the server. The client includes options containing the IAs for
+ the addresses it is releasing in the "options" field. The addresses
+ to be released MUST be included in the IAs. Any addresses for the
+ IAs the client wishes to continue to use MUST NOT be added to the
+ IAs.
+
+ The client MUST NOT use any of the addresses it is releasing as the
+ source address in the Release message or in any subsequently
+ transmitted message.
+
+ Because Release messages may be lost, the client should retransmit
+ the Release if no Reply is received. However, there are scenarios
+ where the client may not wish to wait for the normal retransmission
+ timeout before giving up (e.g., on power down). Implementations
+ SHOULD retransmit one or more times, but MAY choose to terminate the
+ retransmission procedure early.
+
+ The client transmits the message according to section 14, using the
+ following parameters:
+
+ IRT REL_TIMEOUT
+
+ MRT 0
+
+ MRC REL_MAX_RC
+
+ MRD 0
+
+ The client MUST stop using all of the addresses being released as
+ soon as the client begins the Release message exchange process. If
+ addresses are released but the Reply from a DHCP server is lost, the
+ client will retransmit the Release message, and the server may
+ respond with a Reply indicating a status of NoBinding. Therefore,
+ the client does not treat a Reply message with a status of NoBinding
+ in a Release message exchange as if it indicates an error.
+
+ Note that if the client fails to release the addresses, each address
+ assigned to the IA will be reclaimed by the server when the valid
+ lifetime of that address expires.
+
+
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 45]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+18.1.7. Creation and Transmission of Decline Messages
+
+ If a client detects that one or more addresses assigned to it by a
+ server are already in use by another node, the client sends a Decline
+ message to the server to inform it that the address is suspect.
+
+ The client sets the "msg-type" field to DECLINE. The client
+ generates a transaction ID and places this value in the
+ "transaction-id" field.
+
+ The client places the identifier of the server that allocated the
+ address(es) in a Server Identifier option.
+
+ The client MUST include a Client Identifier option to identify itself
+ to the server. The client includes options containing the IAs for
+ the addresses it is declining in the "options" field. The addresses
+ to be declined MUST be included in the IAs. Any addresses for the
+ IAs the client wishes to continue to use should not be in added to
+ the IAs.
+
+ The client MUST NOT use any of the addresses it is declining as the
+ source address in the Decline message or in any subsequently
+ transmitted message.
+
+ The client transmits the message according to section 14, using the
+ following parameters:
+
+ IRT DEC_TIMEOUT
+
+ MRT 0
+
+ MRC DEC_MAX_RC
+
+ MRD 0
+
+ If addresses are declined but the Reply from a DHCP server is lost,
+ the client will retransmit the Decline message, and the server may
+ respond with a Reply indicating a status of NoBinding. Therefore,
+ the client does not treat a Reply message with a status of NoBinding
+ in a Decline message exchange as if it indicates an error.
+
+18.1.8. Receipt of Reply Messages
+
+ Upon the receipt of a valid Reply message in response to a Solicit
+ (with a Rapid Commit option), Request, Confirm, Renew, Rebind or
+ Information-request message, the client extracts the configuration
+
+
+
+
+
+Droms, et al. Standards Track [Page 46]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ information contained in the Reply. The client MAY choose to report
+ any status code or message from the status code option in the Reply
+ message.
+
+ The client SHOULD perform duplicate address detection [17] on each of
+ the addresses in any IAs it receives in the Reply message before
+ using that address for traffic. If any of the addresses are found to
+ be in use on the link, the client sends a Decline message to the
+ server as described in section 18.1.7.
+
+ If the Reply was received in response to a Solicit (with a Rapid
+ Commit option), Request, Renew or Rebind message, the client updates
+ the information it has recorded about IAs from the IA options
+ contained in the Reply message:
+
+ - Record T1 and T2 times.
+
+ - Add any new addresses in the IA option to the IA as recorded by
+ the client.
+
+ - Update lifetimes for any addresses in the IA option that the
+ client already has recorded in the IA.
+
+ - Discard any addresses from the IA, as recorded by the client, that
+ have a valid lifetime of 0 in the IA Address option.
+
+ - Leave unchanged any information about addresses the client has
+ recorded in the IA but that were not included in the IA from the
+ server.
+
+ Management of the specific configuration information is detailed in
+ the definition of each option in section 22.
+
+ If the client receives a Reply message with a Status Code containing
+ UnspecFail, the server is indicating that it was unable to process
+ the message due to an unspecified failure condition. If the client
+ retransmits the original message to the same server to retry the
+ desired operation, the client MUST limit the rate at which it
+ retransmits the message and limit the duration of the time during
+ which it retransmits the message.
+
+ When the client receives a Reply message with a Status Code option
+ with the value UseMulticast, the client records the receipt of the
+ message and sends subsequent messages to the server through the
+ interface on which the message was received using multicast. The
+ client resends the original message using multicast.
+
+
+
+
+
+Droms, et al. Standards Track [Page 47]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ When the client receives a NotOnLink status from the server in
+ response to a Confirm message, the client performs DHCP server
+ solicitation, as described in section 17, and client-initiated
+ configuration as described in section 18. If the client receives any
+ Reply messages that do not indicate a NotOnLink status, the client
+ can use the addresses in the IA and ignore any messages that indicate
+ a NotOnLink status.
+
+ When the client receives a NotOnLink status from the server in
+ response to a Request, the client can either re-issue the Request
+ without specifying any addresses or restart the DHCP server discovery
+ process (see section 17).
+
+ The client examines the status code in each IA individually. If the
+ status code is NoAddrsAvail, the client has received no usable
+ addresses in the IA and may choose to try obtaining addresses for the
+ IA from another server. The client uses addresses and other
+ information from any IAs that do not contain a Status Code option
+ with the NoAddrsAvail code. If the client receives no addresses in
+ any of the IAs, it may either try another server (perhaps restarting
+ the DHCP server discovery process) or use the Information-request
+ message to obtain other configuration information only.
+
+ When the client receives a Reply message in response to a Renew or
+ Rebind message, the client examines each IA independently. For each
+ IA in the original Renew or Rebind message, the client:
+
+ - sends a Request message if the IA contained a Status Code option
+ with the NoBinding status (and does not send any additional
+ Renew/Rebind messages)
+
+ - sends a Renew/Rebind if the IA is not in the Reply message
+
+ - otherwise accepts the information in the IA
+
+ When the client receives a valid Reply message in response to a
+ Release message, the client considers the Release event completed,
+ regardless of the Status Code option(s) returned by the server.
+
+ When the client receives a valid Reply message in response to a
+ Decline message, the client considers the Decline event completed,
+ regardless of the Status Code option(s) returned by the server.
+
+18.2. Server Behavior
+
+ For this discussion, the Server is assumed to have been configured in
+ an implementation specific manner with configuration of interest to
+ clients.
+
+
+
+Droms, et al. Standards Track [Page 48]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ In most instances, the server will send a Reply in response to a
+ client message. This Reply message MUST always contain the Server
+ Identifier option containing the server's DUID and the Client
+ Identifier option from the client message if one was present.
+
+ In most Reply messages, the server includes options containing
+ configuration information for the client. The server must be aware
+ of the recommendations on packet sizes and the use of fragmentation
+ in section 5 of RFC 2460. If the client included an Option Request
+ option in its message, the server includes options in the Reply
+ message containing configuration parameters for all of the options
+ identified in the Option Request option that the server has been
+ configured to return to the client. The server MAY return additional
+ options to the client if it has been configured to do so.
+
+18.2.1. Receipt of Request Messages
+
+ When the server receives a Request message via unicast from a client
+ to which the server has not sent a unicast option, the server
+ discards the Request message and responds with a Reply message
+ containing a Status Code option with the value UseMulticast, a Server
+ Identifier option containing the server's DUID, the Client Identifier
+ option from the client message, and no other options.
+
+ When the server receives a valid Request message, the server creates
+ the bindings for that client according to the server's policy and
+ configuration information and records the IAs and other information
+ requested by the client.
+
+ The server constructs a Reply message by setting the "msg-type" field
+ to REPLY, and copying the transaction ID from the Request message
+ into the transaction-id field.
+
+ The server MUST include a Server Identifier option containing the
+ server's DUID and the Client Identifier option from the Request
+ message in the Reply message.
+
+ If the server finds that the prefix on one or more IP addresses in
+ any IA in the message from the client is not appropriate for the link
+ to which the client is connected, the server MUST return the IA to
+ the client with a Status Code option with the value NotOnLink.
+
+ If the server cannot assign any addresses to an IA in the message
+ from the client, the server MUST include the IA in the Reply message
+ with no addresses in the IA and a Status Code option in the IA
+ containing status code NoAddrsAvail.
+
+
+
+
+
+Droms, et al. Standards Track [Page 49]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ For any IAs to which the server can assign addresses, the server
+ includes the IA with addresses and other configuration parameters,
+ and records the IA as a new client binding.
+
+ The server includes a Reconfigure Accept option if the server wants
+ to require that the client accept Reconfigure messages.
+
+ The server includes other options containing configuration
+ information to be returned to the client as described in section
+ 18.2.
+
+ If the server finds that the client has included an IA in the Request
+ message for which the server already has a binding that associates
+ the IA with the client, the client has resent a Request message for
+ which it did not receive a Reply message. The server either resends
+ a previously cached Reply message or sends a new Reply message.
+
+18.2.2. Receipt of Confirm Messages
+
+ When the server receives a Confirm message, the server determines
+ whether the addresses in the Confirm message are appropriate for the
+ link to which the client is attached. If all of the addresses in the
+ Confirm message pass this test, the server returns a status of
+ Success. If any of the addresses do not pass this test, the server
+ returns a status of NotOnLink. If the server is unable to perform
+ this test (for example, the server does not have information about
+ prefixes on the link to which the client is connected), or there were
+ no addresses in any of the IAs sent by the client, the server MUST
+ NOT send a reply to the client.
+
+ The server ignores the T1 and T2 fields in the IA options and the
+ preferred-lifetime and valid-lifetime fields in the IA Address
+ options.
+
+ The server constructs a Reply message by setting the "msg-type" field
+ to REPLY, and copying the transaction ID from the Confirm message
+ into the transaction-id field.
+
+ The server MUST include a Server Identifier option containing the
+ server's DUID and the Client Identifier option from the Confirm
+ message in the Reply message. The server includes a Status Code
+ option indicating the status of the Confirm message.
+
+
+
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 50]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+18.2.3. Receipt of Renew Messages
+
+ When the server receives a Renew message via unicast from a client to
+ which the server has not sent a unicast option, the server discards
+ the Renew message and responds with a Reply message containing a
+ Status Code option with the value UseMulticast, a Server Identifier
+ option containing the server's DUID, the Client Identifier option
+ from the client message, and no other options.
+
+ When the server receives a Renew message that contains an IA option
+ from a client, it locates the client's binding and verifies that the
+ information in the IA from the client matches the information stored
+ for that client.
+
+ If the server cannot find a client entry for the IA the server
+ returns the IA containing no addresses with a Status Code option set
+ to NoBinding in the Reply message.
+
+ If the server finds that any of the addresses are not appropriate for
+ the link to which the client is attached, the server returns the
+ address to the client with lifetimes of 0.
+
+ If the server finds the addresses in the IA for the client then the
+ server sends back the IA to the client with new lifetimes and T1/T2
+ times. The server may choose to change the list of addresses and the
+ lifetimes of addresses in IAs that are returned to the client.
+
+ The server constructs a Reply message by setting the "msg-type" field
+ to REPLY, and copying the transaction ID from the Renew message into
+ the transaction-id field.
+
+ The server MUST include a Server Identifier option containing the
+ server's DUID and the Client Identifier option from the Renew message
+ in the Reply message.
+
+ The server includes other options containing configuration
+ information to be returned to the client as described in section
+ 18.2.
+
+18.2.4. Receipt of Rebind Messages
+
+ When the server receives a Rebind message that contains an IA option
+ from a client, it locates the client's binding and verifies that the
+ information in the IA from the client matches the information stored
+ for that client.
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 51]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ If the server cannot find a client entry for the IA and the server
+ determines that the addresses in the IA are not appropriate for the
+ link to which the client's interface is attached according to the
+ server's explicit configuration information, the server MAY send a
+ Reply message to the client containing the client's IA, with the
+ lifetimes for the addresses in the IA set to zero. This Reply
+ constitutes an explicit notification to the client that the addresses
+ in the IA are no longer valid. In this situation, if the server does
+ not send a Reply message it silently discards the Rebind message.
+
+ If the server finds that any of the addresses are no longer
+ appropriate for the link to which the client is attached, the server
+ returns the address to the client with lifetimes of 0.
+
+ If the server finds the addresses in the IA for the client then the
+ server SHOULD send back the IA to the client with new lifetimes and
+ T1/T2 times.
+
+ The server constructs a Reply message by setting the "msg-type" field
+ to REPLY, and copying the transaction ID from the Rebind message into
+ the transaction-id field.
+
+ The server MUST include a Server Identifier option containing the
+ server's DUID and the Client Identifier option from the Rebind
+ message in the Reply message.
+
+ The server includes other options containing configuration
+ information to be returned to the client as described in section
+ 18.2.
+
+18.2.5. Receipt of Information-request Messages
+
+ When the server receives an Information-request message, the client
+ is requesting configuration information that does not include the
+ assignment of any addresses. The server determines all configuration
+ parameters appropriate to the client, based on the server
+ configuration policies known to the server.
+
+ The server constructs a Reply message by setting the "msg-type" field
+ to REPLY, and copying the transaction ID from the Information-request
+ message into the transaction-id field.
+
+ The server MUST include a Server Identifier option containing the
+ server's DUID in the Reply message. If the client included a Client
+ Identification option in the Information-request message, the server
+ copies that option to the Reply message.
+
+
+
+
+
+Droms, et al. Standards Track [Page 52]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ The server includes options containing configuration information to
+ be returned to the client as described in section 18.2.
+
+ If the Information-request message received from the client did not
+ include a Client Identifier option, the server SHOULD respond with a
+ Reply message containing any configuration parameters that are not
+ determined by the client's identity. If the server chooses not to
+ respond, the client may continue to retransmit the
+ Information-request message indefinitely.
+
+18.2.6. Receipt of Release Messages
+
+ When the server receives a Release message via unicast from a client
+ to which the server has not sent a unicast option, the server
+ discards the Release message and responds with a Reply message
+ containing a Status Code option with value UseMulticast, a Server
+ Identifier option containing the server's DUID, the Client Identifier
+ option from the client message, and no other options.
+
+ Upon the receipt of a valid Release message, the server examines the
+ IAs and the addresses in the IAs for validity. If the IAs in the
+ message are in a binding for the client, and the addresses in the IAs
+ have been assigned by the server to those IAs, the server deletes the
+ addresses from the IAs and makes the addresses available for
+ assignment to other clients. The server ignores addresses not
+ assigned to the IA, although it may choose to log an error.
+
+ After all the addresses have been processed, the server generates a
+ Reply message and includes a Status Code option with value Success, a
+ Server Identifier option with the server's DUID, and a Client
+ Identifier option with the client's DUID. For each IA in the Release
+ message for which the server has no binding information, the server
+ adds an IA option using the IAID from the Release message, and
+ includes a Status Code option with the value NoBinding in the IA
+ option. No other options are included in the IA option.
+
+ A server may choose to retain a record of assigned addresses and IAs
+ after the lifetimes on the addresses have expired to allow the server
+ to reassign the previously assigned addresses to a client.
+
+18.2.7. Receipt of Decline Messages
+
+ When the server receives a Decline message via unicast from a client
+ to which the server has not sent a unicast option, the server
+ discards the Decline message and responds with a Reply message
+ containing a Status Code option with the value UseMulticast, a Server
+ Identifier option containing the server's DUID, the Client Identifier
+ option from the client message, and no other options.
+
+
+
+Droms, et al. Standards Track [Page 53]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ Upon the receipt of a valid Decline message, the server examines the
+ IAs and the addresses in the IAs for validity. If the IAs in the
+ message are in a binding for the client, and the addresses in the IAs
+ have been assigned by the server to those IAs, the server deletes the
+ addresses from the IAs. The server ignores addresses not assigned to
+ the IA (though it may choose to log an error if it finds such an
+ address).
+
+ The client has found any addresses in the Decline messages to be
+ already in use on its link. Therefore, the server SHOULD mark the
+ addresses declined by the client so that those addresses are not
+ assigned to other clients, and MAY choose to make a notification that
+ addresses were declined. Local policy on the server determines when
+ the addresses identified in a Decline message may be made available
+ for assignment.
+
+ After all the addresses have been processed, the server generates a
+ Reply message and includes a Status Code option with the value
+ Success, a Server Identifier option with the server's DUID, and a
+ Client Identifier option with the client's DUID. For each IA in the
+ Decline message for which the server has no binding information, the
+ server adds an IA option using the IAID from the Release message and
+ includes a Status Code option with the value NoBinding in the IA
+ option. No other options are included in the IA option.
+
+18.2.8. Transmission of Reply Messages
+
+ If the original message was received directly by the server, the
+ server unicasts the Reply message directly to the client using the
+ address in the source address field from the IP datagram in which the
+ original message was received. The Reply message MUST be unicast
+ through the interface on which the original message was received.
+
+ If the original message was received in a Relay-forward message, the
+ server constructs a Relay-reply message with the Reply message in the
+ payload of a Relay Message option (see section 22.10). If the
+ Relay-forward messages included an Interface-id option, the server
+ copies that option to the Relay-reply message. The server unicasts
+ the Relay-reply message directly to the relay agent using the address
+ in the source address field from the IP datagram in which the
+ Relay-forward message was received.
+
+19. DHCP Server-Initiated Configuration Exchange
+
+ A server initiates a configuration exchange to cause DHCP clients to
+ obtain new addresses and other configuration information. For
+ example, an administrator may use a server-initiated configuration
+ exchange when links in the DHCP domain are to be renumbered. Other
+
+
+
+Droms, et al. Standards Track [Page 54]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ examples include changes in the location of directory servers,
+ addition of new services such as printing, and availability of new
+ software.
+
+19.1. Server Behavior
+
+ A server sends a Reconfigure message to cause a client to initiate
+ immediately a Renew/Reply or Information-request/Reply message
+ exchange with the server.
+
+19.1.1. Creation and Transmission of Reconfigure Messages
+
+ The server sets the "msg-type" field to RECONFIGURE. The server sets
+ the transaction-id field to 0. The server includes a Server
+ Identifier option containing its DUID and a Client Identifier option
+ containing the client's DUID in the Reconfigure message.
+
+ The server MAY include an Option Request option to inform the client
+ of what information has been changed or new information that has been
+ added. In particular, the server specifies the IA option in the
+ Option Request option if the server wants the client to obtain new
+ address information. If the server identifies the IA option in the
+ Option Request option, the server MUST include an IA option that
+ contains no other sub-options to identify each IA that is to be
+ reconfigured on the client.
+
+ Because of the risk of denial of service attacks against DHCP
+ clients, the use of a security mechanism is mandated in Reconfigure
+ messages. The server MUST use DHCP authentication in the Reconfigure
+ message.
+
+ The server MUST include a Reconfigure Message option (defined in
+ section 22.19) to select whether the client responds with a Renew
+ message or an Information-Request message.
+
+ The server MUST NOT include any other options in the Reconfigure
+ except as specifically allowed in the definition of individual
+ options.
+
+ A server sends each Reconfigure message to a single DHCP client,
+ using an IPv6 unicast address of sufficient scope belonging to the
+ DHCP client. If the server does not have an address to which it can
+ send the Reconfigure message directly to the client, the server uses
+ a Relay-reply message (as described in section 20.3) to send the
+ Reconfigure message to a relay agent that will relay the message to
+ the client. The server may obtain the address of the client (and the
+
+
+
+
+
+Droms, et al. Standards Track [Page 55]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ appropriate relay agent, if required) through the information the
+ server has about clients that have been in contact with the server,
+ or through some external agent.
+
+ To reconfigure more than one client, the server unicasts a separate
+ message to each client. The server may initiate the reconfiguration
+ of multiple clients concurrently; for example, a server may send a
+ Reconfigure message to additional clients while previous
+ reconfiguration message exchanges are still in progress.
+
+ The Reconfigure message causes the client to initiate a Renew/Reply
+ or Information-request/Reply message exchange with the server. The
+ server interprets the receipt of a Renew or Information-request
+ message (whichever was specified in the original Reconfigure message)
+ from the client as satisfying the Reconfigure message request.
+
+19.1.2. Time Out and Retransmission of Reconfigure Messages
+
+ If the server does not receive a Renew or Information-request message
+ from the client in REC_TIMEOUT milliseconds, the server retransmits
+ the Reconfigure message, doubles the REC_TIMEOUT value and waits
+ again. The server continues this process until REC_MAX_RC
+ unsuccessful attempts have been made, at which point the server
+ SHOULD abort the reconfigure process for that client.
+
+ Default and initial values for REC_TIMEOUT and REC_MAX_RC are
+ documented in section 5.5.
+
+19.2. Receipt of Renew Messages
+
+ The server generates and sends a Reply message to the client as
+ described in sections 18.2.3 and 18.2.8, including options for
+ configuration parameters.
+
+ The server MAY include options containing the IAs and new values for
+ other configuration parameters in the Reply message, even if those
+ IAs and parameters were not requested in the Renew message from the
+ client.
+
+19.3. Receipt of Information-request Messages
+
+ The server generates and sends a Reply message to the client as
+ described in sections 18.2.5 and 18.2.8, including options for
+ configuration parameters.
+
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 56]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ The server MAY include options containing new values for other
+ configuration parameters in the Reply message, even if those
+ parameters were not requested in the Information-request message from
+ the client.
+
+19.4. Client Behavior
+
+ A client receives Reconfigure messages sent to the UDP port 546 on
+ interfaces for which it has acquired configuration information
+ through DHCP. These messages may be sent at any time. Since the
+ results of a reconfiguration event may affect application layer
+ programs, the client SHOULD log these events, and MAY notify these
+ programs of the change through an implementation-specific interface.
+
+19.4.1. Receipt of Reconfigure Messages
+
+ Upon receipt of a valid Reconfigure message, the client responds with
+ either a Renew message or an Information-request message as indicated
+ by the Reconfigure Message option (as defined in section 22.19). The
+ client ignores the transaction-id field in the received Reconfigure
+ message. While the transaction is in progress, the client silently
+ discards any Reconfigure messages it receives.
+
+ DISCUSSION:
+
+ The Reconfigure message acts as a trigger that signals the client
+ to complete a successful message exchange. Once the client has
+ received a Reconfigure, the client proceeds with the message
+ exchange (retransmitting the Renew or Information-request message
+ if necessary); the client ignores any additional Reconfigure
+ messages until the exchange is complete. Subsequent Reconfigure
+ messages cause the client to initiate a new exchange.
+
+ How does this mechanism work in the face of duplicated or
+ retransmitted Reconfigure messages? Duplicate messages will be
+ ignored because the client will begin the exchange after the
+ receipt of the first Reconfigure. Retransmitted messages will
+ either trigger the exchange (if the first Reconfigure was not
+ received by the client) or will be ignored. The server can
+ discontinue retransmission of Reconfigure messages to the client
+ once the server receives the Renew or Information-request message
+ from the client.
+
+ It might be possible for a duplicate or retransmitted Reconfigure
+ to be sufficiently delayed (and delivered out of order) to arrive
+ at the client after the exchange (initiated by the original
+ Reconfigure) has been completed. In this case, the client would
+ initiate a redundant exchange. The likelihood of delayed and out
+
+
+
+Droms, et al. Standards Track [Page 57]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ of order delivery is small enough to be ignored. The consequence
+ of the redundant exchange is inefficiency rather than incorrect
+ operation.
+
+19.4.2. Creation and Transmission of Renew Messages
+
+ When responding to a Reconfigure, the client creates and sends the
+ Renew message in exactly the same manner as outlined in section
+ 18.1.3, with the exception that the client copies the Option Request
+ option and any IA options from the Reconfigure message into the Renew
+ message.
+
+19.4.3. Creation and Transmission of Information-request Messages
+
+ When responding to a Reconfigure, the client creates and sends the
+ Information-request message in exactly the same manner as outlined in
+ section 18.1.5, with the exception that the client includes a Server
+ Identifier option with the identifier from the Reconfigure message to
+ which the client is responding.
+
+19.4.4. Time Out and Retransmission of Renew or Information-request
+ Messages
+
+ The client uses the same variables and retransmission algorithm as it
+ does with Renew or Information-request messages generated as part of
+ a client-initiated configuration exchange. See sections 18.1.3 and
+ 18.1.5 for details. If the client does not receive a response from
+ the server by the end of the retransmission process, the client
+ ignores and discards the Reconfigure message.
+
+19.4.5. Receipt of Reply Messages
+
+ Upon the receipt of a valid Reply message, the client processes the
+ options and sets (or resets) configuration parameters appropriately.
+ The client records and updates the lifetimes for any addresses
+ specified in IAs in the Reply message.
+
+20. Relay Agent Behavior
+
+ The relay agent MAY be configured to use a list of destination
+ addresses, which MAY include unicast addresses, the All_DHCP_Servers
+ multicast address, or other addresses selected by the network
+ administrator. If the relay agent has not been explicitly
+ configured, it MUST use the All_DHCP_Servers multicast address as the
+ default.
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 58]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ If the relay agent relays messages to the All_DHCP_Servers multicast
+ address or other multicast addresses, it sets the Hop Limit field to
+ 32.
+
+20.1. Relaying a Client Message or a Relay-forward Message
+
+ A relay agent relays both messages from clients and Relay-forward
+ messages from other relay agents. When a relay agent receives a
+ valid message to be relayed, it constructs a new Relay-forward
+ message. The relay agent copies the source address from the header
+ of the IP datagram in which the message was received to the
+ peer-address field of the Relay-forward message. The relay agent
+ copies the received DHCP message (excluding any IP or UDP headers)
+ into a Relay Message option in the new message. The relay agent adds
+ to the Relay-forward message any other options it is configured to
+ include.
+
+20.1.1. Relaying a Message from a Client
+
+ If the relay agent received the message to be relayed from a client,
+ the relay agent places a global or site-scoped address with a prefix
+ assigned to the link on which the client should be assigned an
+ address in the link-address field. This address will be used by the
+ server to determine the link from which the client should be assigned
+ an address and other configuration information. The hop-count in the
+ Relay-forward message is set to 0.
+
+ If the relay agent cannot use the address in the link-address field
+ to identify the interface through which the response to the client
+ will be relayed, the relay agent MUST include an Interface-id option
+ (see section 22.18) in the Relay-forward message. The server will
+ include the Interface-id option in its Relay-reply message. The
+ relay agent fills in the link-address field as described in the
+ previous paragraph regardless of whether the relay agent includes an
+ Interface-id option in the Relay-forward message.
+
+20.1.2. Relaying a Message from a Relay Agent
+
+ If the message received by the relay agent is a Relay-forward message
+ and the hop-count in the message is greater than or equal to
+ HOP_COUNT_LIMIT, the relay agent discards the received message.
+
+ The relay agent copies the source address from the IP datagram in
+ which the message was received from the client into the peer-address
+ field in the Relay-forward message and sets the hop-count field to
+ the value of the hop-count field in the received message incremented
+ by 1.
+
+
+
+
+Droms, et al. Standards Track [Page 59]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ If the source address from the IP datagram header of the received
+ message is a global or site-local address (and the device on which
+ the relay agent is running belongs to only one site), the relay agent
+ sets the link-address field to 0; otherwise the relay agent sets the
+ link-address field to a global or site-local address assigned to the
+ interface on which the message was received, or includes an
+ Interface-ID option to identify the interface on which the message
+ was received.
+
+20.2. Relaying a Relay-reply Message
+
+ The relay agent processes any options included in the Relay-reply
+ message in addition to the Relay Message option, and then discards
+ those options.
+
+ The relay agent extracts the message from the Relay Message option
+ and relays it to the address contained in the peer-address field of
+ the Relay-reply message.
+
+ If the Relay-reply message includes an Interface-id option, the relay
+ agent relays the message from the server to the client on the link
+ identified by the Interface-id option. Otherwise, if the
+ link-address field is not set to zero, the relay agent relays the
+ message on the link identified by the link-address field.
+
+20.3. Construction of Relay-reply Messages
+
+ A server uses a Relay-reply message to return a response to a client
+ if the original message from the client was relayed to the server in
+ a Relay-forward message or to send a Reconfigure message to a client
+ if the server does not have an address it can use to send the message
+ directly to the client.
+
+ A response to the client MUST be relayed through the same relay
+ agents as the original client message. The server causes this to
+ happen by creating a Relay-reply message that includes a Relay
+ Message option containing the message for the next relay agent in the
+ return path to the client. The contained Relay-reply message
+ contains another Relay Message option to be sent to the next relay
+ agent, and so on. The server must record the contents of the
+ peer-address fields in the received message so it can construct the
+ appropriate Relay-reply message carrying the response from the
+ server.
+
+
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 60]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ For example, if client C sent a message that was relayed by relay
+ agent A to relay agent B and then to the server, the server would
+ send the following Relay-Reply message to relay agent B:
+
+ msg-type: RELAY-REPLY
+ hop-count: 1
+ link-address: 0
+ peer-address: A
+ Relay Message option, containing:
+ msg-type: RELAY-REPLY
+ hop-count: 0
+ link-address: address from link to which C is attached
+ peer-address: C
+ Relay Message option: <response from server>
+
+ When sending a Reconfigure message to a client through a relay agent,
+ the server creates a Relay-reply message that includes a Relay
+ Message option containing the Reconfigure message for the next relay
+ agent in the return path to the client. The server sets the
+ peer-address field in the Relay-reply message header to the address
+ of the client, and sets the link-address field as required by the
+ relay agent to relay the Reconfigure message to the client. The
+ server obtains the addresses of the client and the relay agent
+ through prior interaction with the client or through some external
+ mechanism.
+
+21. Authentication of DHCP Messages
+
+ Some network administrators may wish to provide authentication of the
+ source and contents of DHCP messages. For example, clients may be
+ subject to denial of service attacks through the use of bogus DHCP
+ servers, or may simply be misconfigured due to unintentionally
+ instantiated DHCP servers. Network administrators may wish to
+ constrain the allocation of addresses to authorized hosts to avoid
+ denial of service attacks in "hostile" environments where the network
+ medium is not physically secured, such as wireless networks or
+ college residence halls.
+
+ The DHCP authentication mechanism is based on the design of
+ authentication for DHCPv4 [4].
+
+21.1. Security of Messages Sent Between Servers and Relay Agents
+
+ Relay agents and servers that exchange messages securely use the
+ IPsec mechanisms for IPv6 [7]. If a client message is relayed
+ through multiple relay agents, each of the relay agents must have
+ established independent, pairwise trust relationships. That is, if
+ messages from client C will be relayed by relay agent A to relay
+
+
+
+Droms, et al. Standards Track [Page 61]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ agent B and then to the server, relay agents A and B must be
+ configured to use IPSec for the messages they exchange, and relay
+ agent B and the server must be configured to use IPSec for the
+ messages they exchange.
+
+ Relay agents and servers that support secure relay agent to server or
+ relay agent to relay agent communication use IPsec under the
+ following conditions:
+
+ Selectors Relay agents are manually configured with the
+ addresses of the relay agent or server to which
+ DHCP messages are to be forwarded. Each relay
+ agent and server that will be using IPsec for
+ securing DHCP messages must also be configured
+ with a list of the relay agents to which messages
+ will be returned. The selectors for the relay
+ agents and servers will be the pairs of addresses
+ defining relay agents and servers that exchange
+ DHCP messages on the DHCPv6 UDP ports 546 and
+ 547.
+
+ Mode Relay agents and servers use transport mode and
+ ESP. The information in DHCP messages is not
+ generally considered confidential, so encryption
+ need not be used (i.e., NULL encryption can be
+ used).
+
+ Key management Because the relay agents and servers are used
+ within an organization, public key schemes are
+ not necessary. Because the relay agents and
+ servers must be manually configured, manually
+ configured key management may suffice, but does
+ not provide defense against replayed messages.
+ Accordingly, IKE with preshared secrets SHOULD be
+ supported. IKE with public keys MAY be
+ supported.
+
+ Security policy DHCP messages between relay agents and servers
+ should only be accepted from DHCP peers as
+ identified in the local configuration.
+
+ Authentication Shared keys, indexed to the source IP address of
+ the received DHCP message, are adequate in this
+ application.
+
+ Availability Appropriate IPsec implementations are likely to
+ be available for servers and for relay agents in
+ more featureful devices used in enterprise and
+
+
+
+Droms, et al. Standards Track [Page 62]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ core ISP networks. IPsec is less likely to be
+ available for relay agents in low end devices
+ primarily used in the home or small office
+ markets.
+
+21.2. Summary of DHCP Authentication
+
+ Authentication of DHCP messages is accomplished through the use of
+ the Authentication option (see section 22.11). The authentication
+ information carried in the Authentication option can be used to
+ reliably identify the source of a DHCP message and to confirm that
+ the contents of the DHCP message have not been tampered with.
+
+ The Authentication option provides a framework for multiple
+ authentication protocols. Two such protocols are defined here.
+ Other protocols defined in the future will be specified in separate
+ documents.
+
+ Any DHCP message MUST NOT include more than one Authentication
+ option.
+
+ The protocol field in the Authentication option identifies the
+ specific protocol used to generate the authentication information
+ carried in the option. The algorithm field identifies a specific
+ algorithm within the authentication protocol; for example, the
+ algorithm field specifies the hash algorithm used to generate the
+ message authentication code (MAC) in the authentication option. The
+ replay detection method (RDM) field specifies the type of replay
+ detection used in the replay detection field.
+
+21.3. Replay Detection
+
+ The Replay Detection Method (RDM) field determines the type of replay
+ detection used in the Replay Detection field.
+
+ If the RDM field contains 0x00, the replay detection field MUST be
+ set to the value of a monotonically increasing counter. Using a
+ counter value, such as the current time of day (for example, an NTP-
+ format timestamp [9]), can reduce the danger of replay attacks. This
+ method MUST be supported by all protocols.
+
+21.4. Delayed Authentication Protocol
+
+ If the protocol field is 2, the message is using the "delayed
+ authentication" mechanism. In delayed authentication, the client
+ requests authentication in its Solicit message, and the server
+ replies with an Advertise message that includes authentication
+
+
+
+
+Droms, et al. Standards Track [Page 63]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ information. This authentication information contains a nonce value
+ generated by the source as a message authentication code (MAC) to
+ provide message authentication and entity authentication.
+
+ The use of a particular technique based on the HMAC protocol [8]
+ using the MD5 hash [16] is defined here.
+
+21.4.1. Use of the Authentication Option in the Delayed Authentication
+ Protocol
+
+ In a Solicit message, the client fills in the protocol, algorithm and
+ RDM fields in the Authentication option with the client's
+ preferences. The client sets the replay detection field to zero and
+ omits the authentication information field. The client sets the
+ option-len field to 11.
+
+ In all other messages, the protocol and algorithm fields identify the
+ method used to construct the contents of the authentication
+ information field. The RDM field identifies the method used to
+ construct the contents of the replay detection field.
+
+ The format of the Authentication information 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | DHCP realm |
+ | (variable length) |
+ . .
+ . .
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | key ID |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ | HMAC-MD5 |
+ | (128 bits) |
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ DHCP realm The DHCP realm that identifies the key used to
+ generate the HMAC-MD5 value.
+
+ key ID The key identifier that identified the key used to
+ generate the HMAC-MD5 value.
+
+ HMAC-MD5 The message authentication code generated by applying
+ MD5 to the DHCP message using the key identified by
+ the DHCP realm, client DUID, and key ID.
+
+
+
+Droms, et al. Standards Track [Page 64]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ The sender computes the MAC using the HMAC generation algorithm [8]
+ and the MD5 hash function [16]. The entire DHCP message (setting the
+ MAC field of the authentication option to zero), including the DHCP
+ message header and the options field, is used as input to the HMAC-
+ MD5 computation function.
+
+ DISCUSSION:
+
+ Algorithm 1 specifies the use of HMAC-MD5. Use of a different
+ technique, such as HMAC-SHA, will be specified as a separate
+ protocol.
+
+ The DHCP realm used to identify authentication keys is chosen to
+ be unique among administrative domains. Use of the DHCP realm
+ allows DHCP administrators to avoid conflict in the use of key
+ identifiers, and allows a host using DHCP to use authenticated
+ DHCP while roaming among DHCP administrative domains.
+
+21.4.2. Message Validation
+
+ Any DHCP message that includes more than one authentication option
+ MUST be discarded.
+
+ To validate an incoming message, the receiver first checks that the
+ value in the replay detection field is acceptable according to the
+ replay detection method specified by the RDM field. Next, the
+ receiver computes the MAC as described in [8]. The entire DHCP
+ message (setting the MAC field of the authentication option to 0) is
+ used as input to the HMAC-MD5 computation function. If the MAC
+ computed by the receiver does not match the MAC contained in the
+ authentication option, the receiver MUST discard the DHCP message.
+
+21.4.3. Key Utilization
+
+ Each DHCP client has a set of keys. Each key is identified by <DHCP
+ realm, client DUID, key id>. Each key also has a lifetime. The key
+ may not be used past the end of its lifetime. The client's keys are
+ initially distributed to the client through some out-of-band
+ mechanism. The lifetime for each key is distributed with the key.
+ Mechanisms for key distribution and lifetime specification are beyond
+ the scope of this document.
+
+ The client and server use one of the client's keys to authenticate
+ DHCP messages during a session (until the next Solicit message sent
+ by the client).
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 65]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+21.4.4. Client Considerations for Delayed Authentication Protocol
+
+ The client announces its intention to use DHCP authentication by
+ including an Authentication option in its Solicit message. The
+ server selects a key for the client based on the client's DUID. The
+ client and server use that key to authenticate all DHCP messages
+ exchanged during the session.
+
+21.4.4.1. Sending Solicit Messages
+
+ When the client sends a Solicit message and wishes to use
+ authentication, it includes an Authentication option with the desired
+ protocol, algorithm and RDM as described in section 21.4. The client
+ does not include any replay detection or authentication information
+ in the Authentication option.
+
+21.4.4.2. Receiving Advertise Messages
+
+ The client validates any Advertise messages containing an
+ Authentication option specifying the delayed authentication protocol
+ using the validation test described in section 21.4.2.
+
+ Client behavior, if no Advertise messages include authentication
+ information or pass the validation test, is controlled by local
+ policy on the client. According to client policy, the client MAY
+ choose to respond to an Advertise message that has not been
+ authenticated.
+
+ The decision to set local policy to accept unauthenticated messages
+ should be made with care. Accepting an unauthenticated Advertise
+ message can make the client vulnerable to spoofing and other attacks.
+ If local users are not explicitly informed that the client has
+ accepted an unauthenticated Advertise message, the users may
+ incorrectly assume that the client has received an authenticated
+ address and is not subject to DHCP attacks through unauthenticated
+ messages.
+
+ A client MUST be configurable to discard unauthenticated messages,
+ and SHOULD be configured by default to discard unauthenticated
+ messages if the client has been configured with an authentication key
+ or other authentication information. A client MAY choose to
+ differentiate between Advertise messages with no authentication
+ information and Advertise messages that do not pass the validation
+ test; for example, a client might accept the former and discard the
+ latter. If a client does accept an unauthenticated message, the
+ client SHOULD inform any local users and SHOULD log the event.
+
+
+
+
+
+Droms, et al. Standards Track [Page 66]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+21.4.4.3. Sending Request, Confirm, Renew, Rebind, Decline or Release
+ Messages
+
+ If the client authenticated the Advertise message through which the
+ client selected the server, the client MUST generate authentication
+ information for subsequent Request, Confirm, Renew, Rebind or Release
+ messages sent to the server, as described in section 21.4. When the
+ client sends a subsequent message, it MUST use the same key used by
+ the server to generate the authentication information.
+
+21.4.4.4. Sending Information-request Messages
+
+ If the server has selected a key for the client in a previous message
+ exchange (see section 21.4.5.1), the client MUST use the same key to
+ generate the authentication information throughout the session.
+
+21.4.4.5. Receiving Reply Messages
+
+ If the client authenticated the Advertise it accepted, the client
+ MUST validate the associated Reply message from the server. The
+ client MUST discard the Reply if the message fails to pass the
+ validation test and MAY log the validation failure. If the Reply
+ fails to pass the validation test, the client MUST restart the DHCP
+ configuration process by sending a Solicit message.
+
+ If the client accepted an Advertise message that did not include
+ authentication information or did not pass the validation test, the
+ client MAY accept an unauthenticated Reply message from the server.
+
+21.4.4.6. Receiving Reconfigure Messages
+
+ The client MUST discard the Reconfigure if the message fails to pass
+ the validation test and MAY log the validation failure.
+
+21.4.5. Server Considerations for Delayed Authentication Protocol
+
+ After receiving a Solicit message that contains an Authentication
+ option, the server selects a key for the client, based on the
+ client's DUID and key selection policies with which the server has
+ been configured. The server identifies the selected key in the
+ Advertise message and uses the key to validate subsequent messages
+ between the client and the server.
+
+
+
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 67]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+21.4.5.1. Receiving Solicit Messages and Sending Advertise Messages
+
+ The server selects a key for the client and includes authentication
+ information in the Advertise message returned to the client as
+ specified in section 21.4. The server MUST record the identifier of
+ the key selected for the client and use that same key for validating
+ subsequent messages with the client.
+
+21.4.5.2. Receiving Request, Confirm, Renew, Rebind or Release Messages
+ and Sending Reply Messages
+
+ The server uses the key identified in the message and validates the
+ message as specified in section 21.4.2. If the message fails to pass
+ the validation test or the server does not know the key identified by
+ the 'key ID' field, the server MUST discard the message and MAY
+ choose to log the validation failure.
+
+ If the message passes the validation test, the server responds to the
+ specific message as described in section 18.2. The server MUST
+ include authentication information generated using the key identified
+ in the received message, as specified in section 21.4.
+
+21.5. Reconfigure Key Authentication Protocol
+
+ The Reconfigure key authentication protocol provides protection
+ against misconfiguration of a client caused by a Reconfigure message
+ sent by a malicious DHCP server. In this protocol, a DHCP server
+ sends a Reconfigure Key to the client in the initial exchange of DHCP
+ messages. The client records the Reconfigure Key for use in
+ authenticating subsequent Reconfigure messages from that server. The
+ server then includes an HMAC computed from the Reconfigure Key in
+ subsequent Reconfigure messages.
+
+ Both the Reconfigure Key sent from the server to the client and the
+ HMAC in subsequent Reconfigure messages are carried as the
+ Authentication information in an Authentication option. The format
+ of the Authentication information is defined in the following
+ section.
+
+ The Reconfigure Key protocol is used (initiated by the server) only
+ if the client and server are not using any other authentication
+ protocol and the client and server have negotiated to use Reconfigure
+ messages.
+
+
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 68]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+21.5.1. Use of the Authentication Option in the Reconfigure Key
+ Authentication Protocol
+
+ The following fields are set in an Authentication option for the
+ Reconfigure Key Authentication Protocol:
+
+ protocol 3
+
+ algorithm 1
+
+ RDM 0
+
+ The format of the Authentication information for the Reconfigure Key
+ Authentication Protocol 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Type | Value (128 bits) |
+ +-+-+-+-+-+-+-+-+ |
+ . .
+ . .
+ . +-+-+-+-+-+-+-+-+
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Type Type of data in Value field carried in this option:
+
+ 1 Reconfigure Key value (used in Reply message).
+
+ 2 HMAC-MD5 digest of the message (used in Reconfigure
+ message).
+
+ Value Data as defined by field.
+
+21.5.2. Server considerations for Reconfigure Key protocol
+
+ The server selects a Reconfigure Key for a client during the
+ Request/Reply, Solicit/Reply or Information-request/Reply message
+ exchange. The server records the Reconfigure Key and transmits that
+ key to the client in an Authentication option in the Reply message.
+
+ The Reconfigure Key is 128 bits long, and MUST be a cryptographically
+ strong random or pseudo-random number that cannot easily be
+ predicted.
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 69]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ To provide authentication for a Reconfigure message, the server
+ selects a replay detection value according to the RDM selected by the
+ server, and computes an HMAC-MD5 of the Reconfigure message using the
+ Reconfigure Key for the client. The server computes the HMAC-MD5
+ over the entire DHCP Reconfigure message, including the
+ Authentication option; the HMAC-MD5 field in the Authentication
+ option is set to zero for the HMAC-MD5 computation. The server
+ includes the HMAC-MD5 in the authentication information field in an
+ Authentication option included in the Reconfigure message sent to the
+ client.
+
+21.5.3. Client considerations for Reconfigure Key protocol
+
+ The client will receive a Reconfigure Key from the server in the
+ initial Reply message from the server. The client records the
+ Reconfigure Key for use in authenticating subsequent Reconfigure
+ messages.
+
+ To authenticate a Reconfigure message, the client computes an
+ HMAC-MD5 over the DHCP Reconfigure message, using the Reconfigure Key
+ received from the server. If this computed HMAC-MD5 matches the
+ value in the Authentication option, the client accepts the
+ Reconfigure message.
+
+22. DHCP Options
+
+ Options are used to carry additional information and parameters in
+ DHCP messages. Every option shares a common base format, as
+ described in section 22.1. All values in options are represented in
+ network byte order.
+
+ This document describes the DHCP options defined as part of the base
+ DHCP specification. Other options may be defined in the future in
+ separate documents.
+
+ Unless otherwise noted, each option may appear only in the options
+ area of a DHCP message and may appear only once. If an option does
+ appear multiple times, each instance is considered separate and the
+ data areas of the options MUST NOT be concatenated or otherwise
+ combined.
+
+
+
+
+
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 70]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+22.1. Format of DHCP Options
+
+ The format of DHCP options 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-code | option-len |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | option-data |
+ | (option-len octets) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ option-code An unsigned integer identifying the specific option
+ type carried in this option.
+
+ option-len An unsigned integer giving the length of the
+ option-data field in this option in octets.
+
+ option-data The data for the option; the format of this data
+ depends on the definition of the option.
+
+ DHCPv6 options are scoped by using encapsulation. Some options apply
+ generally to the client, some are specific to an IA, and some are
+ specific to the addresses within an IA. These latter two cases are
+ discussed in sections 22.4 and 22.6.
+
+22.2. Client Identifier Option
+
+ The Client Identifier option is used to carry a DUID (see section 9)
+ identifying a client between a client and a server. The format of
+ the Client Identifier 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_CLIENTID | option-len |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ . .
+ . DUID .
+ . (variable length) .
+ . .
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ option-code OPTION_CLIENTID (1).
+
+ option-len Length of DUID in octets.
+
+
+
+
+Droms, et al. Standards Track [Page 71]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ DUID The DUID for the client.
+
+22.3. Server Identifier Option
+
+ The Server Identifier option is used to carry a DUID (see section 9)
+ identifying a server between a client and a server. The format of
+ the Server Identifier 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_SERVERID | option-len |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ . .
+ . DUID .
+ . (variable length) .
+ . .
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ option-code OPTION_SERVERID (2).
+
+ option-len Length of DUID in octets.
+
+ DUID The DUID for the server.
+
+22.4. Identity Association for Non-temporary Addresses Option
+
+ The Identity Association for Non-temporary Addresses option (IA_NA
+ option) is used to carry an IA_NA, the parameters associated with the
+ IA_NA, and the non-temporary addresses associated with the IA_NA.
+
+ Addresses appearing in an IA_NA option are not temporary addresses
+ (see section 22.5).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 72]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ The format of the IA_NA 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_NA | option-len |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | IAID (4 octets) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | T1 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | T2 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ . IA_NA-options .
+ . .
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ option-code OPTION_IA_NA (3).
+
+ option-len 12 + length of IA_NA-options field.
+
+ IAID The unique identifier for this IA_NA; the
+ IAID must be unique among the identifiers for
+ all of this client's IA_NAs. The number
+ space for IA_NA IAIDs is separate from the
+ number space for IA_TA IAIDs.
+
+ T1 The time at which the client contacts the
+ server from which the addresses in the IA_NA
+ were obtained to extend the lifetimes of the
+ addresses assigned to the IA_NA; T1 is a
+ time duration relative to the current time
+ expressed in units of seconds.
+
+ T2 The time at which the client contacts any
+ available server to extend the lifetimes of
+ the addresses assigned to the IA_NA; T2 is a
+ time duration relative to the current time
+ expressed in units of seconds.
+
+ IA_NA-options Options associated with this IA_NA.
+
+ The IA_NA-options field encapsulates those options that are specific
+ to this IA_NA. For example, all of the IA Address Options carrying
+ the addresses associated with this IA_NA are in the IA_NA-options
+ field.
+
+
+
+
+Droms, et al. Standards Track [Page 73]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ An IA_NA option may only appear in the options area of a DHCP
+ message. A DHCP message may contain multiple IA_NA options.
+
+ The status of any operations involving this IA_NA is indicated in a
+ Status Code option in the IA_NA-options field.
+
+ Note that an IA_NA has no explicit "lifetime" or "lease length" of
+ its own. When the valid lifetimes of all of the addresses in an
+ IA_NA have expired, the IA_NA can be considered as having expired.
+ T1 and T2 are included to give servers explicit control over when a
+ client recontacts the server about a specific IA_NA.
+
+ In a message sent by a client to a server, values in the T1 and T2
+ fields indicate the client's preference for those parameters. The
+ client sets T1 and T2 to 0 if it has no preference for those values.
+ In a message sent by a server to a client, the client MUST use the
+ values in the T1 and T2 fields for the T1 and T2 parameters, unless
+ those values in those fields are 0. The values in the T1 and T2
+ fields are the number of seconds until T1 and T2.
+
+ The server selects the T1 and T2 times to allow the client to extend
+ the lifetimes of any addresses in the IA_NA before the lifetimes
+ expire, even if the server 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 addresses in the IA that the
+ server is willing to extend, respectively. If the "shortest"
+ preferred lifetime is 0xffffffff ("infinity"), the recommended T1 and
+ T2 values are also 0xffffffff. If the time at which the addresses in
+ an IA_NA are to be renewed is to be left to the discretion of the
+ client, the server sets T1 and T2 to 0.
+
+ If a server receives an IA_NA with T1 greater than T2, and both T1
+ and T2 are greater than 0, the server ignores the invalid values of
+ T1 and T2 and processes the IA_NA as though the client had set T1 and
+ T2 to 0.
+
+ If a client receives an IA_NA with T1 greater than T2, and both T1
+ and T2 are greater than 0, the client discards the IA_NA option and
+ processes the remainder of the message as though the server had not
+ included the invalid IA_NA option.
+
+ Care should be taken in setting T1 or T2 to 0xffffffff ("infinity").
+ A client will never attempt to extend the lifetimes of any addresses
+ in an IA with T1 set to 0xffffffff. A client will never attempt to
+ use a Rebind message to locate a different server to extend the
+ lifetimes of any addresses in an IA with T2 set to 0xffffffff.
+
+
+
+
+
+Droms, et al. Standards Track [Page 74]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+22.5. Identity Association for Temporary Addresses Option
+
+ The Identity Association for the Temporary Addresses (IA_TA) option
+ is used to carry an IA_TA, the parameters associated with the IA_TA
+ and the addresses associated with the IA_TA. All of the addresses in
+ this option are used by the client as temporary addresses, as defined
+ in RFC 3041 [12]. The format of the IA_TA 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_TA | option-len |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | IAID (4 octets) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ . IA_TA-options .
+ . .
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ option-code OPTION_IA_TA (4).
+
+ option-len 4 + length of IA_TA-options field.
+
+ IAID The unique identifier for this IA_TA; the
+ IAID must be unique among the identifiers
+ for all of this client's IA_TAs. The number
+ space for IA_TA IAIDs is separate from the
+ number space for IA_NA IAIDs.
+
+ IA_TA-options Options associated with this IA_TA.
+
+ The IA_TA-Options field encapsulates those options that are specific
+ to this IA_TA. For example, all of the IA Address Options carrying
+ the addresses associated with this IA_TA are in the IA_TA-options
+ field.
+
+ Each IA_TA carries one "set" of temporary addresses; that is, at most
+ one address from each prefix assigned to the link to which the client
+ is attached.
+
+ An IA_TA option may only appear in the options area of a DHCP
+ message. A DHCP message may contain multiple IA_TA options.
+
+ The status of any operations involving this IA_TA is indicated in a
+ Status Code option in the IA_TA-options field.
+
+
+
+
+
+Droms, et al. Standards Track [Page 75]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ Note that an IA has no explicit "lifetime" or "lease length" of its
+ own. When the valid lifetimes of all of the addresses in an IA_TA
+ have expired, the IA can be considered as having expired.
+
+ An IA_TA option does not include values for T1 and T2. A client MAY
+ request that the lifetimes on temporary addresses be extended by
+ including the addresses in a IA_TA option sent in a Renew or Rebind
+ message to a server. For example, a client would request an
+ extension on the lifetime of a temporary address to allow an
+ application to continue to use an established TCP connection.
+
+ The client obtains new temporary addresses by sending an IA_TA option
+ with a new IAID to a server. Requesting new temporary addresses from
+ the server is the equivalent of generating new temporary addresses as
+ described in RFC 3041. The server will generate new temporary
+ addresses and return them to the client. The client should request
+ new temporary addresses before the lifetimes on the previously
+ assigned addresses expire.
+
+ A server MUST return the same set of temporary address for the same
+ IA_TA (as identified by the IAID) as long as those addresses are
+ still valid. After the lifetimes of the addresses in an IA_TA have
+ expired, the IAID may be reused to identify a new IA_TA with new
+ temporary addresses.
+
+ This option MAY appear in a Confirm message if the lifetimes on the
+ temporary addresses in the associated IA have not expired.
+
+22.6. IA Address Option
+
+ The IA Address option is used to specify IPv6 addresses associated
+ with an IA_NA or an IA_TA. The IA Address option must be
+ encapsulated in the Options field of an IA_NA or IA_TA option. The
+ Options field encapsulates those options that are specific to this
+ address.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 76]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ The format of the IA Address 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_IAADDR | option-len |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ | IPv6 address |
+ | |
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | preferred-lifetime |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | valid-lifetime |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ . .
+ . IAaddr-options .
+ . .
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ option-code OPTION_IAADDR (5).
+
+ option-len 24 + length of IAaddr-options field.
+
+ IPv6 address An IPv6 address.
+
+ preferred-lifetime The preferred lifetime for the IPv6 address in
+ the option, expressed in units of seconds.
+
+ valid-lifetime The valid lifetime for the IPv6 address in the
+ option, expressed in units of seconds.
+
+ IAaddr-options Options associated with this address.
+
+ In a message sent by a client to a server, values in the preferred
+ and valid lifetime fields indicate the client's preference for those
+ parameters. The client may send 0 if it has no preference for the
+ preferred and valid lifetimes. In a message sent by a server to a
+ client, the client MUST use the values in the preferred and valid
+ lifetime fields for the preferred and valid lifetimes. The values in
+ the preferred and valid lifetimes are the number of seconds remaining
+ in each lifetime.
+
+
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 77]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ A client discards any addresses for which the preferred lifetime is
+ greater than the valid lifetime. A server ignores the lifetimes set
+ by the client if the preferred lifetime is greater than the valid
+ lifetime and ignores the values for T1 and T2 set by the client if
+ those values are greater than the preferred lifetime.
+
+ Care should be taken in setting the valid lifetime of an address to
+ 0xffffffff ("infinity"), which amounts to a permanent assignment of
+ an address to a client.
+
+ An IA Address option may appear only in an IA_NA option or an IA_TA
+ option. More than one IA Address Option can appear in an IA_NA
+ option or an IA_TA option.
+
+ The status of any operations involving this IA Address is indicated
+ in a Status Code option in the IAaddr-options field.
+
+22.7. Option Request Option
+
+ The Option Request option is used to identify a list of options in a
+ message between a client and a server. The format of the Option
+ Request 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_ORO | option-len |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | requested-option-code-1 | requested-option-code-2 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | ... |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ option-code OPTION_ORO (6).
+
+ option-len 2 * number of requested options.
+
+ requested-option-code-n The option code for an option requested by
+ the client.
+
+ A client MAY include an Option Request option in a Solicit, Request,
+ Renew, Rebind, Confirm or Information-request message to inform the
+ server about options the client wants the server to send to the
+ client. A server MAY include an Option Request option in a
+ Reconfigure option to indicate which options the client should
+ request from the server.
+
+
+
+
+
+Droms, et al. Standards Track [Page 78]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+22.8. Preference Option
+
+ The Preference option is sent by a server to a client to affect the
+ selection of a server by the client.
+
+ The format of the Preference 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_PREFERENCE | option-len |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | pref-value |
+ +-+-+-+-+-+-+-+-+
+
+ option-code OPTION_PREFERENCE (7).
+
+ option-len 1.
+
+ pref-value The preference value for the server in this message.
+
+ A server MAY include a Preference option in an Advertise message to
+ control the selection of a server by the client. See section 17.1.3
+ for the use of the Preference option by the client and the
+ interpretation of Preference option data value.
+
+22.9. Elapsed Time Option
+
+ 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_ELAPSED_TIME | option-len |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | elapsed-time |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ option-code OPTION_ELAPSED_TIME (8).
+
+ option-len 2.
+
+ elapsed-time The amount of time since the client began its
+ current DHCP transaction. This time is expressed in
+ hundredths of a second (10^-2 seconds).
+
+ A client MUST include an Elapsed Time option in messages to indicate
+ how long the client has been trying to complete a DHCP message
+ exchange. The elapsed time is measured from the time at which the
+ client sent the first message in the message exchange, and the
+
+
+
+Droms, et al. Standards Track [Page 79]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ elapsed-time field is set to 0 in the first message in the message
+ exchange. Servers and Relay Agents use the data value in this option
+ as input to policy controlling how a server responds to a client
+ message. For example, the elapsed time option allows a secondary
+ DHCP server to respond to a request when a primary server has not
+ answered in a reasonable time. The elapsed time value is an
+ unsigned, 16 bit integer. The client uses the value 0xffff to
+ represent any elapsed time values greater than the largest time value
+ that can be represented in the Elapsed Time option.
+
+22.10. Relay Message Option
+
+ The Relay Message option carries a DHCP message in a Relay-forward or
+ Relay-reply message.
+
+ The format of the Relay Message 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_RELAY_MSG | option-len |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ . DHCP-relay-message .
+ . .
+ . .
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ option-code OPTION_RELAY_MSG (9)
+
+ option-len Length of DHCP-relay-message
+
+ DHCP-relay-message In a Relay-forward message, the received
+ message, relayed verbatim to the next relay agent
+ or server; in a Relay-reply message, the message to
+ be copied and relayed to the relay agent or client
+ whose address is in the peer-address field of the
+ Relay-reply message
+
+
+
+
+
+
+
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 80]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+22.11. Authentication Option
+
+ The Authentication option carries authentication information to
+ authenticate the identity and contents of DHCP messages. The use of
+ the Authentication option is described in section 21. The format of
+ the Authentication 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_AUTH | option-len |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | protocol | algorithm | RDM | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
+ | |
+ | replay detection (64 bits) +-+-+-+-+-+-+-+-+
+ | | auth-info |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
+ . authentication information .
+ . (variable length) .
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ option-code OPTION_AUTH (11)
+
+ option-len 11 + length of authentication
+ information field
+
+ protocol The authentication protocol used in
+ this authentication option
+
+ algorithm The algorithm used in the
+ authentication protocol
+
+ RDM The replay detection method used in
+ this authentication option
+
+ Replay detection The replay detection information for
+ the RDM
+
+ authentication information The authentication information,
+ as specified by the protocol and
+ algorithm used in this authentication
+ option
+
+
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 81]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+22.12. Server Unicast Option
+
+ The server sends this option to a client to indicate to the client
+ that it is allowed to unicast messages to the server. The format of
+ the Server Unicast 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_UNICAST | option-len |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ | server-address |
+ | |
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ option-code OPTION_UNICAST (12).
+
+ option-len 16.
+
+ server-address The IP address to which the client should send
+ messages delivered using unicast.
+
+ The server specifies the IPv6 address to which the client is to send
+ unicast messages in the server-address field. When a client receives
+ this option, where permissible and appropriate, the client sends
+ messages directly to the server using the IPv6 address specified in
+ the server-address field of the option.
+
+ When the server sends a Unicast option to the client, some messages
+ from the client will not be relayed by Relay Agents, and will not
+ include Relay Agent options from the Relay Agents. Therefore, a
+ server should only send a Unicast option to a client when Relay
+ Agents are not sending Relay Agent options. A DHCP server rejects
+ any messages sent inappropriately using unicast to ensure that
+ messages are relayed by Relay Agents when Relay Agent options are in
+ use.
+
+ Details about when the client may send messages to the server using
+ unicast are in section 18.
+
+22.13. Status Code Option
+
+ This option returns a status indication related to the DHCP message
+ or option in which it appears. The format of the Status Code option
+ is:
+
+
+
+
+Droms, et al. Standards Track [Page 82]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ 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_STATUS_CODE | option-len |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | status-code | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
+ . .
+ . status-message .
+ . .
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ option-code OPTION_STATUS_CODE (13).
+
+ option-len 2 + length of status-message.
+
+ status-code The numeric code for the status encoded in
+ this option. The status codes are defined in
+ section 24.4.
+
+ status-message A UTF-8 encoded text string suitable for
+ display to an end user, which MUST NOT be
+ null-terminated.
+
+ A Status Code option may appear in the options field of a DHCP
+ message and/or in the options field of another option. If the Status
+ Code option does not appear in a message in which the option could
+ appear, the status of the message is assumed to be Success.
+
+22.14. Rapid Commit Option
+
+ The Rapid Commit option is used to signal the use of the two message
+ exchange for address assignment. The format of the Rapid Commit
+ 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_RAPID_COMMIT | 0 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ option-code OPTION_RAPID_COMMIT (14).
+
+ option-len 0.
+
+ A client MAY include this option in a Solicit message if the client
+ is prepared to perform the Solicit-Reply message exchange described
+ in section 17.1.1.
+
+
+
+Droms, et al. Standards Track [Page 83]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ A server MUST include this option in a Reply message sent in response
+ to a Solicit message when completing the Solicit-Reply message
+ exchange.
+
+ DISCUSSION:
+
+ Each server that responds with a Reply to a Solicit that includes
+ a Rapid Commit option will commit the assigned addresses in the
+ Reply message to the client, and will not receive any confirmation
+ that the client has received the Reply message. Therefore, if
+ more than one server responds to a Solicit that includes a Rapid
+ Commit option, some servers will commit addresses that are not
+ actually used by the client.
+
+ The problem of unused addresses can be minimized, for example, by
+ designing the DHCP service so that only one server responds to the
+ Solicit or by using relatively short lifetimes for assigned
+ addresses.
+
+22.15. User Class Option
+
+ The User Class option is used by a client to identify the type or
+ category of user or applications it represents.
+
+ The format of the User Class option is:
+
+ 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_USER_CLASS | option-len |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ . .
+ . user-class-data .
+ . .
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ option-code OPTION_USER_CLASS (15).
+
+ option-len Length of user class data field.
+
+ user-class-data The user classes carried by the client.
+
+ The information contained in the data area of this option is
+ contained in one or more opaque fields that represent the user class
+ or classes of which the client is a member. A server selects
+ configuration information for the client based on the classes
+ identified in this option. For example, the User Class option can be
+ used to configure all clients of people in the accounting department
+
+
+
+
+Droms, et al. Standards Track [Page 84]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ with a different printer than clients of people in the marketing
+ department. The user class information carried in this option MUST
+ be configurable on the client.
+
+ The data area of the user class option MUST contain one or more
+ instances of user class data. Each instance of the user class data
+ is formatted as follows:
+
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-...-+-+-+-+-+-+-+
+ | user-class-len | opaque-data |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-...-+-+-+-+-+-+-+
+
+ The user-class-len is two octets long and specifies the length of the
+ opaque user class data in network byte order.
+
+ A server interprets the classes identified in this option according
+ to its configuration to select the appropriate configuration
+ information for the client. A server may use only those user classes
+ that it is configured to interpret in selecting configuration
+ information for a client and ignore any other user classes. In
+ response to a message containing a User Class option, a server
+ includes a User Class option containing those classes that were
+ successfully interpreted by the server, so that the client can be
+ informed of the classes interpreted by the server.
+
+22.16. Vendor Class Option
+
+ This option is used by a client to identify the vendor that
+ manufactured the hardware on which the client is running. The
+ information contained in the data area of this option is contained in
+ one or more opaque fields that identify details of the hardware
+ configuration. The format of the Vendor Class option is:
+
+ 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_VENDOR_CLASS | option-len |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | enterprise-number |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ . .
+ . vendor-class-data .
+ . . . . .
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ option-code OPTION_VENDOR_CLASS (16).
+
+ option-len 4 + length of vendor class data field.
+
+
+
+
+Droms, et al. Standards Track [Page 85]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ enterprise-number The vendor's registered Enterprise Number as
+ registered with IANA [6].
+
+ vendor-class-data The hardware configuration of the host on
+ which the client is running.
+
+ The vendor-class-data is composed of a series of separate items, each
+ of which describes some characteristic of the client's hardware
+ configuration. Examples of vendor-class-data instances might include
+ the version of the operating system the client is running or the
+ amount of memory installed on the client.
+
+ Each instance of the vendor-class-data is formatted as follows:
+
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-...-+-+-+-+-+-+-+
+ | vendor-class-len | opaque-data |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-...-+-+-+-+-+-+-+
+
+ The vendor-class-len is two octets long and specifies the length of
+ the opaque vendor class data in network byte order.
+
+22.17. Vendor-specific Information Option
+
+ This option is used by clients and servers to exchange
+ vendor-specific information.
+
+ The format of the Vendor-specific Information option is:
+
+ 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_VENDOR_OPTS | option-len |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | enterprise-number |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ . .
+ . option-data .
+ . .
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ option-code OPTION_VENDOR_OPTS (17)
+
+ option-len 4 + length of option-data field
+
+ enterprise-number The vendor's registered Enterprise Number as
+ registered with IANA [6].
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 86]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ option-data An opaque object of option-len octets,
+ interpreted by vendor-specific code on the
+ clients and servers
+
+ The definition of the information carried in this option is vendor
+ specific. The vendor is indicated in the enterprise-number field.
+ Use of vendor-specific information allows enhanced operation,
+ utilizing additional features in a vendor's DHCP implementation. A
+ DHCP client that does not receive requested vendor-specific
+ information will still configure the host device's IPv6 stack to be
+ functional.
+
+ The encapsulated vendor-specific options field MUST be encoded as a
+ sequence of code/length/value fields of identical format to the DHCP
+ options field. The option codes are defined by the vendor identified
+ in the enterprise-number field and are not managed by IANA. Each of
+ the encapsulated options is formatted as follows:
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | opt-code | option-len |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ . .
+ . option-data .
+ . .
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ opt-code The code for the encapsulated option.
+
+ option-len An unsigned integer giving the length of the
+ option-data field in this encapsulated option
+ in octets.
+
+ option-data The data area for the encapsulated option.
+
+ Multiple instances of the Vendor-specific Information option may
+ appear in a DHCP message. Each instance of the option is interpreted
+ according to the option codes defined by the vendor identified by the
+ Enterprise Number in that option.
+
+22.18. Interface-Id Option
+
+ The relay agent MAY send the Interface-id option to identify the
+ interface on which the client message was received. If a relay agent
+ receives a Relay-reply message with an Interface-id option, the relay
+ agent relays the message to the client through the interface
+ identified by the option.
+
+
+
+
+Droms, et al. Standards Track [Page 87]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ The format of the Interface ID 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_INTERFACE_ID | option-len |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ . .
+ . interface-id .
+ . .
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ option-code OPTION_INTERFACE_ID (18).
+
+ option-len Length of interface-id field.
+
+ interface-id An opaque value of arbitrary length generated
+ by the relay agent to identify one of the
+ relay agent's interfaces.
+
+ The server MUST copy the Interface-Id option from the Relay-Forward
+ message into the Relay-Reply message the server sends to the relay
+ agent in response to the Relay-Forward message. This option MUST NOT
+ appear in any message except a Relay-Forward or Relay-Reply message.
+
+ Servers MAY use the Interface-ID for parameter assignment policies.
+ The Interface-ID SHOULD be considered an opaque value, with policies
+ based on exact match only; that is, the Interface-ID SHOULD NOT be
+ internally parsed by the server. The Interface-ID value for an
+ interface SHOULD be stable and remain unchanged, for example, after
+ the relay agent is restarted; if the Interface-ID changes, a server
+ will not be able to use it reliably in parameter assignment policies.
+
+22.19. Reconfigure Message Option
+
+ A server includes a Reconfigure Message option in a Reconfigure
+ message to indicate to the client whether the client responds with a
+ Renew message or an Information-request message. The format of this
+ 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_RECONF_MSG | option-len |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | msg-type |
+ +-+-+-+-+-+-+-+-+
+
+
+
+
+Droms, et al. Standards Track [Page 88]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ option-code OPTION_RECONF_MSG (19).
+
+ option-len 1.
+
+ msg-type 5 for Renew message, 11 for
+ Information-request message.
+
+ The Reconfigure Message option can only appear in a Reconfigure
+ message.
+
+22.20. Reconfigure Accept Option
+
+ A client uses the Reconfigure Accept option to announce to the server
+ whether the client is willing to accept Reconfigure messages, and a
+ server uses this option to tell the client whether or not to accept
+ Reconfigure messages. The default behavior, in the absence of this
+ option, means unwillingness to accept Reconfigure messages, or
+ instruction not to accept Reconfigure messages, for the client and
+ server messages, respectively. The following figure gives the format
+ of the Reconfigure Accept option:
+
+ 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_RECONF_ACCEPT | 0 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ option-code OPTION_RECONF_ACCEPT (20).
+
+ option-len 0.
+
+23. Security Considerations
+
+ The threat to DHCP is inherently an insider threat (assuming a
+ properly configured network where DHCPv6 ports are blocked on the
+ perimeter gateways of the enterprise). Regardless of the gateway
+ configuration, however, the potential attacks by insiders and
+ outsiders are the same.
+
+ Use of manually configured preshared keys for IPsec between relay
+ agents and servers does not defend against replayed DHCP messages.
+ Replayed messages can represent a DOS attack through exhaustion of
+ processing resources, but not through mis-configuration or exhaustion
+ of other resources such as assignable addresses.
+
+ One attack specific to a DHCP client is the establishment of a
+ malicious server with the intent of providing incorrect configuration
+ information to the client. The motivation for doing so may be to
+
+
+
+Droms, et al. Standards Track [Page 89]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ mount a "man in the middle" attack that causes the client to
+ communicate with a malicious server instead of a valid server for
+ some service such as DNS or NTP. The malicious server may also mount
+ a denial of service attack through misconfiguration of the client
+ that causes all network communication from the client to fail.
+
+ There is another threat to DHCP clients from mistakenly or
+ accidentally configured DHCP servers that answer DHCP client requests
+ with unintentionally incorrect configuration parameters.
+
+ A DHCP client may also be subject to attack through the receipt of a
+ Reconfigure message from a malicious server that causes the client to
+ obtain incorrect configuration information from that server. Note
+ that although a client sends its response (Renew or
+ Information-request message) through a relay agent and, therefore,
+ that response will only be received by servers to which DHCP messages
+ are relayed, a malicious server could send a Reconfigure message to a
+ client, followed (after an appropriate delay) by a Reply message that
+ would be accepted by the client. Thus, a malicious server that is
+ not on the network path between the client and the server may still
+ be able to mount a Reconfigure attack on a client. The use of
+ transaction IDs that are cryptographically sound and cannot easily be
+ predicted will also reduce the probability that such an attack will
+ be successful.
+
+ The threat specific to a DHCP server is an invalid client
+ masquerading as a valid client. The motivation for this may be for
+ theft of service, or to circumvent auditing for any number of
+ nefarious purposes.
+
+ The threat common to both the client and the server is the resource
+ "denial of service" (DoS) attack. These attacks typically involve
+ the exhaustion of available addresses, or the exhaustion of CPU or
+ network bandwidth, and are present anytime there is a shared
+ resource.
+
+ In the case where relay agents add additional options to Relay
+ Forward messages, the messages exchanged between relay agents and
+ servers may be used to mount a "man in the middle" or denial of
+ service attack.
+
+ This threat model does not consider the privacy of the contents of
+ DHCP messages to be important. DHCP is not used to exchange
+ authentication or configuration information that must be kept secret
+ from other networks nodes.
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 90]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ DHCP authentication provides for authentication of the identity of
+ DHCP clients and servers, and for the integrity of messages delivered
+ between DHCP clients and servers. DHCP authentication does not
+ provide any privacy for the contents of DHCP messages.
+
+ The Delayed Authentication protocol described in section 21.4 uses a
+ secret key that is shared between a client and a server. The use of
+ a "DHCP realm" in the shared key allows identification of
+ administrative domains so that a client can select the appropriate
+ key or keys when roaming between administrative domains. However,
+ the Delayed Authentication protocol does not define any mechanism for
+ sharing of keys, so a client may require separate keys for each
+ administrative domain it encounters. The use of shared keys may not
+ scale well and does not provide for repudiation of compromised keys.
+ This protocol is focused on solving the intradomain problem where the
+ out-of-band exchange of a shared key is feasible.
+
+ Because of the opportunity for attack through the Reconfigure
+ message, a DHCP client MUST discard any Reconfigure message that does
+ not include authentication or that does not pass the validation
+ process for the authentication protocol.
+
+ The Reconfigure Key protocol described in section 21.5 provides
+ protection against the use of a Reconfigure message by a malicious
+ DHCP server to mount a denial of service or man-in-the-middle attack
+ on a client. This protocol can be compromised by an attacker that
+ can intercept the initial message in which the DHCP server sends the
+ key to the client.
+
+ Communication between a server and a relay agent, and communication
+ between relay agents, can be secured through the use of IPSec, as
+ described in section 21.1. The use of manual configuration and
+ installation of static keys are acceptable in this instance because
+ relay agents and the server will belong to the same administrative
+ domain and the relay agents will require other specific configuration
+ (for example, configuration of the DHCP server address) as well as
+ the IPSec configuration.
+
+24. IANA Considerations
+
+ This document defines several new name spaces associated with DHCPv6
+ and DHCPv6 options:
+
+ - Message types
+
+ - Status codes
+
+ - DUID
+
+
+
+Droms, et al. Standards Track [Page 91]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ - Option codes
+
+ IANA has established a registry of values for each of these name
+ spaces, which are described in the remainder of this section. These
+ name spaces will be managed by the IANA and all will be managed
+ separately from the name spaces defined for DHCPv4.
+
+ New multicast addresses, message types, status codes, and DUID types
+ are assigned via Standards Action [11].
+
+ New DHCP option codes are tentatively assigned after the
+ specification for the associated option, published as an Internet
+ Draft, has received expert review by a designated expert [11]. The
+ final assignment of DHCP option codes is through Standards Action, as
+ defined in RFC 2434 [11].
+
+ This document also references three name spaces in section 21 that
+ are associated with the Authentication Option (section 22.11). These
+ name spaces are defined by the authentication mechanism for DHCPv4 in
+ RFC 3118 [4].
+
+ The authentication name spaces currently registered by IANA will
+ apply to both DHCPv6 and DHCPv4. In the future, specifications that
+ define new Protocol, Algorithm and RDM mechanisms will explicitly
+ define whether the new mechanisms are used with DHCPv4, DHCPv6 or
+ both.
+
+24.1. Multicast Addresses
+
+ Section 5.1 defines the following multicast addresses, which have
+ been assigned by IANA for use by DHCPv6:
+
+ All_DHCP_Relay_Agents_and_Servers address: FF02::1:2
+
+ All_DHCP_Servers address: FF05::1:3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 92]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+24.2. DHCP Message Types
+
+ IANA has recorded the following message types (defined in section
+ 5.3). IANA will maintain the registry of DHCP message types.
+
+ SOLICIT 1
+
+ ADVERTISE 2
+
+ REQUEST 3
+
+ CONFIRM 4
+
+ RENEW 5
+
+ REBIND 6
+
+ REPLY 7
+
+ RELEASE 8
+
+ DECLINE 9
+
+ RECONFIGURE 10
+
+ INFORMATION-REQUEST 11
+
+ RELAY-FORW 12
+
+ RELAY-REPL 13
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 93]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+24.3. DHCP Options
+
+ IANA has recorded the following option-codes (as defined in section
+ 22). IANA will maintain the registry of DHCP option codes.
+
+ OPTION_CLIENTID 1
+
+ OPTION_SERVERID 2
+
+ OPTION_IA_NA 3
+
+ OPTION_IA_TA 4
+
+ OPTION_IAADDR 5
+
+ OPTION_ORO 6
+
+ OPTION_PREFERENCE 7
+
+ OPTION_ELAPSED_TIME 8
+
+ OPTION_RELAY_MSG 9
+
+ OPTION_AUTH 11
+
+ OPTION_UNICAST 12
+
+ OPTION_STATUS_CODE 13
+
+ OPTION_RAPID_COMMIT 14
+
+ OPTION_USER_CLASS 15
+
+ OPTION_VENDOR_CLASS 16
+
+ OPTION_VENDOR_OPTS 17
+
+ OPTION_INTERFACE_ID 18
+
+ OPTION_RECONF_MSG 19
+
+ OPTION_RECONF_ACCEPT 20
+
+
+
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 94]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+24.4. Status Codes
+
+ IANA has recorded the status codes defined in the following table.
+ IANA will manage the definition of additional status codes in the
+ future.
+
+ Name Code Description
+ ---------- ---- -----------
+ Success 0 Success.
+ UnspecFail 1 Failure, reason unspecified; this
+ status code is sent by either a client
+ or a server to indicate a failure
+ not explicitly specified in this
+ document.
+ NoAddrsAvail 2 Server has no addresses available to assign to
+ the IA(s).
+ NoBinding 3 Client record (binding) unavailable.
+ NotOnLink 4 The prefix for the address is not appropriate for
+ the link to which the client is attached.
+ UseMulticast 5 Sent by a server to a client to force the
+ client to send messages to the server.
+ using the All_DHCP_Relay_Agents_and_Servers
+ address.
+
+24.5. DUID
+
+ IANA has recorded the following DUID types (as defined in section
+ 9.1). IANA will manage the definition of additional DUID types in
+ the future.
+
+ DUID-LLT 1
+
+ DUID-EN 2
+
+ DUID-LL 3
+
+25. Acknowledgments
+
+ Thanks to the DHC Working Group and the members of the IETF for their
+ time and input into the specification. In particular, thanks also
+ for the consistent input, ideas, and review by (in alphabetical
+ order) Bernard Aboba, Bill Arbaugh, Thirumalesh Bhat, Steve Bellovin,
+ A. K. Vijayabhaskar, Brian Carpenter, Matt Crawford, Francis Dupont,
+ Richard Hussong, Kim Kinnear, Fredrik Lindholm, Tony Lindstrom, Josh
+ Littlefield, Gerald Maguire, Jack McCann, Shin Miyakawa, Thomas
+ Narten, Erik Nordmark, Jarno Rajahalme, Yakov Rekhter, Mark Stapp,
+ Matt Thomas, Sue Thomson, Tatuya Jinmei and Phil Wells.
+
+
+
+
+Droms, et al. Standards Track [Page 95]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ Thanks to Steve Deering and Bob Hinden, who have consistently taken
+ the time to discuss the more complex parts of the IPv6
+ specifications.
+
+ And, thanks to Steve Deering for pointing out at IETF 51 in London
+ that the DHCPv6 specification has the highest revision number of any
+ Internet Draft.
+
+26. References
+
+26.1. Normative References
+
+ [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement
+ Levels", BCP 14, RFC 2119, March 1997.
+
+ [2] Crawford, M., "Transmission of IPv6 Packets over Ethernet
+ Networks", RFC 2464, December 1998.
+
+ [3] Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6)
+ Specification", RFC 2460, December 1998.
+
+ [4] Droms, R., Ed. and W. Arbaugh, Ed., "Authentication for DHCP
+ Messages", RFC 3118, June 2001.
+
+ [5] Hinden, R. and S. Deering, "IP Version 6 Addressing
+ Architecture", RFC 2373, July 1998.
+
+ [6] IANA. Private Enterprise Numbers.
+ http://www.iana.org/assignments/enterprise-numbers.html.
+
+ [7] Kent, S. and R. Atkinson, "Security Architecture for the
+ Internet Protocol", RFC 2401, November 1998.
+
+ [8] Krawczyk, H., Bellare, M. and R. Canetti, "HMAC: Keyed-Hashing
+ for Message Authentication", RFC 2104, February 1997.
+
+ [9] Mills, D., "Network Time Protocol (Version 3) Specification,
+ Implementation", RFC 1305, March 1992.
+
+ [10] Mockapetris, P., "Domain names - implementation and
+ specification", RFC 1035, November 1987.
+
+ [11] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA
+ Considerations Section in RFCs", BCP 26, RFC 2434, October 1998.
+
+ [12] Narten, T. and R. Draves, "Privacy Extensions for Stateless
+ Address Autoconfiguration in IPv6", RFC 3041, January 2001.
+
+
+
+
+Droms, et al. Standards Track [Page 96]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+ [13] Narten, T., Nordmark, E. and W. Simpson, "Neighbor Discovery for
+ IP Version 6 (IPv6)", RFC 2461, December 1998.
+
+ [14] Plummer, D.C., "Ethernet Address Resolution Protocol: Or
+ converting network protocol addresses to 48.bit Ethernet address
+ for transmission on Ethernet hardware", STD 37, RFC 826,
+ November 1982.
+
+ [15] Postel, J., "User Datagram Protocol", STD 6, RFC 768, August
+ 1980.
+
+ [16] Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321, April
+ 1992.
+
+ [17] Thomson, S. and T. Narten, "IPv6 Stateless Address
+ Autoconfiguration", RFC 2462, December 1998.
+
+26.2. Informative References
+
+ [18] Alexander, S. and R. Droms, "DHCP Options and BOOTP Vendor
+ Extensions", RFC 2132, March 1997.
+
+ [19] Droms, R., "Dynamic Host Configuration Protocol", RFC 2131,
+ March 1997.
+
+ [20] R. Droms, Ed. DNS Configuration options for DHCPv6. April
+ 2002. Work in Progress.
+
+ [21] A. K. Vijayabhaskar. Time Configuration Options for DHCPv6.
+ May 2002. Work in Progress.
+
+ [22] Vixie, P., Ed., Thomson, S., Rekhter, Y. and J. Bound, "Dynamic
+ Updates in the Domain Name System (DNS UPDATE)", RFC 2136, April
+ 1997.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 97]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+A. Appearance of Options in Message Types
+
+ The following table indicates with a "*" the options are allowed in
+ each DHCP message type:
+
+ Client Server IA_NA Option Pref Time Relay Auth. Server
+ ID ID IA_TA Request Msg. Unica.
+ Solicit * * * * *
+ Advert. * * * * *
+ Request * * * * * *
+ Confirm * * * * *
+ Renew * * * * * *
+ Rebind * * * * *
+ Decline * * * * * *
+ Release * * * * * *
+ Reply * * * * * *
+ Reconf. * * * *
+ Inform. * (see note) * * *
+ R-forw. * *
+ R-repl. * *
+
+ NOTE:
+
+ Only included in Information-Request messages that are sent
+ in response to a Reconfigure (see section 19.4.3).
+
+ Status Rap. User Vendor Vendor Inter. Recon. Recon.
+ Code Comm. Class Class Spec. ID Msg. Accept
+ Solicit * * * * *
+ Advert. * * * * *
+ Request * * * *
+ Confirm * * *
+ Renew * * * *
+ Rebind * * * *
+ Decline * * *
+ Release * * *
+ Reply * * * * * *
+ Reconf. *
+ Inform. * * * *
+ R-forw. * * * *
+ R-repl. * * * *
+
+
+
+
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 98]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+B. Appearance of Options in the Options Field of DHCP Options
+
+ The following table indicates with a "*" where options can appear in
+ the options field of other options:
+
+ Option IA_NA/ IAADDR Relay Relay
+ Field IA_TA Forw. Reply
+ Client ID *
+ Server ID *
+ IA_NA/IA_TA *
+ IAADDR *
+ ORO *
+ Preference *
+ Elapsed Time *
+ Relay Message * *
+ Authentic. *
+ Server Uni. *
+ Status Code * * *
+ Rapid Comm. *
+ User Class *
+ Vendor Class *
+ Vendor Info. *
+ Interf. ID * *
+ Reconf. MSG. *
+ Reconf. Accept *
+
+ Note: "Relay Forw" / "Relay Reply" options appear in the options
+ field of the message but may only appear in these messages.
+
+Chair's Address
+
+ The working group can be contacted via the current chair:
+
+ Ralph Droms
+ Cisco Systems
+ 1414 Massachusetts Avenue
+ Boxborough, MA 01719
+
+ Phone: (978) 936-1674
+ EMail: rdroms@cisco.com
+
+
+
+
+
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 99]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+Authors' Addresses
+
+ Jim Bound
+ Hewlett Packard Corporation
+ ZK3-3/W20
+ 110 Spit Brook Road
+ Nashua, NH 03062-2698
+ USA
+
+ Phone: +1 603 884 0062
+ EMail: Jim.Bound@hp.com
+
+ Bernie Volz
+ 116 Hawkins Pond Road
+ Center Harbor, NH 03226-3103
+ USA
+
+ Phone: +1-508-259-3734
+ EMail: volz@metrocast.net
+
+ Ted Lemon
+ Nominum, Inc.
+ 950 Charter Street
+ Redwood City, CA 94043
+ USA
+
+ EMail: Ted.Lemon@nominum.com
+
+ Charles E. Perkins
+ Communications Systems Lab
+ Nokia Research Center
+ 313 Fairchild Drive
+ Mountain View, California 94043
+ USA
+
+ Phone: +1-650 625-2986
+ EMail: charles.perkins@nokia.com
+
+ Mike Carney
+ Sun Microsystems, Inc
+ 17 Network Circle
+ Menlo Park, CA 94025
+ USA
+
+ Phone: +1-650-786-4171
+ EMail: michael.carney@sun.com
+
+
+
+
+
+Droms, et al. Standards Track [Page 100]
+
+RFC 3315 DHCP for IPv6 July 2003
+
+
+Full Copyright Statement
+
+ Copyright (C) The Internet Society (2003). All Rights Reserved.
+
+ This document and translations of it may be copied and furnished to
+ others, and derivative works that comment on or otherwise explain it
+ or assist in its implementation may be prepared, copied, published
+ and distributed, in whole or in part, without restriction of any
+ kind, provided that the above copyright notice and this paragraph are
+ included on all such copies and derivative works. However, this
+ document itself may not be modified in any way, such as by removing
+ the copyright notice or references to the Internet Society or other
+ Internet organizations, except as needed for the purpose of
+ developing Internet standards in which case the procedures for
+ copyrights defined in the Internet Standards process must be
+ followed, or as required to translate it into languages other than
+ English.
+
+ The limited permissions granted above are perpetual and will not be
+ revoked by the Internet Society or its successors or assigns.
+
+ This document and the information contained herein is provided on an
+ "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+ TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
+ HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+ MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+Acknowledgement
+
+ Funding for the RFC Editor function is currently provided by the
+ Internet Society.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Droms, et al. Standards Track [Page 101]
+