view Side-By-Side changes
Internet Engineering Task ForceNetwork Working Group R.Droms (ed.),Droms, Ed. Request for Comments: 3315 CiscoINTERNET DRAFTCategory: Standards Track J.Bound,Bound Hewlett PackardDHC Working Group Bernie Volz,B. Volz EricssonObsoletes: draft-ietf-dhc-dhcpv6-27.txt Ted Lemon,T. Lemon Nominum C.Perkins,Perkins Nokia Research Center M.Carney,Carney Sun Microsystems2 Nov 2002July 2003 Dynamic Host Configuration Protocol for IPv6 (DHCPv6)draft-ietf-dhc-dhcpv6-28.txtStatus ofThisthis Memo This documentis a submission by the Dynamic Host Configuration Working Group ofspecifies an Internet standards track protocol for the InternetEngineering Task Force (IETF). Comments should be submittedcommunity, and requests discussion and suggestions for improvements. Please refer to thedhcwg@ietf.org mailing list.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.This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at: http://www.ietf.org/ietf/1id-abstracts.txtCopyright Notice Copyright (C) Thelist of Internet-Draft Shadow Directories can be accessed at: http://www.ietf.org/shadow.html.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"(RFC2462),(RFC 2462), and can be used separately or concurrently with the latter to obtain configuration parameters.Droms (ed.),Droms, et al.Expires 30 Apr 2003Standards Track [Pagei] Internet Draft1] RFC 3315 DHCP for IPv6(-28) 2 Nov 2002 Contents StatusJuly 2003 Table ofThis Memo i Abstract iContents 1. Introduction and Overview1. . . . . . . . . . . . . . . . . . 5 1.1. Protocols and Addressing . . . . . . . . . . . . . . .. 16 1.2. Client-server Exchanges Involving Two Messages . . . .. 26 1.3. Client-server Exchanges Involving FourMessagesMessages. . . . 7 2. Requirements. . .2 2. Requirements 3 3. Background 3 4. Terminology 4 4.1. IPv6 Terminology. . . . . . . . . . . . . . . . . . . .4 4.2. DHCP Terminology. . 7 3. Background. . . . . . . . . . . . . . . . . . .5 5. DHCP Constants 7 5.1. Multicast Addresses. . . . . . . 8 4. Terminology . . . . . . . . . . . .7 5.2. UDP Ports. . . . . . . . . . . . . 8 4.1. IPv6 Terminology . . . . . . . . . . .8 5.3.. . . . . . . . 9 4.2. DHCPMessage TypesTerminology . . . . . . . . . . . . . . . . . . .8 5.4. Status Codes10 5. DHCP Constants. . . . . . . . . . . . . . . . . . . . . . .10 5.5. Transmission and Retransmission Parameters. 12 5.1. Multicast Addresses. . . . . . .10 6. Client/Server Message Formats 11 7. Relay Agent/Server Message Formats 11 7.1. Relay-forward Message . . . .. . . . . . . . . . . 13 5.2. UDP Ports. . . .12 7.2. Relay-reply Message. . . . . . . . . . . . . . . . . . . 138. Representation and Use of Domain Names 13 9.5.3. DHCPUnique Identifier (DUID) 13 9.1. DUID Contents . . . . . . .Message Types . . . . . . . . . . . . . . .14 9.2. DUID Based on Link-layer Address Plus Time [DUID-LLT]. .14 9.3. DUID Assigned by Vendor Based on Enterprise Number [DUID-EN]. 13 5.4. Status Codes . . . . . . . . . . . . . . . . . . . . . 159.4. DUID Based on Link-layer Address [DUID-LL] .5.5. Transmission and Retransmission Parameters . . . . . . 1610. Identity Association 17 11. Selecting Addresses for Assignment to an IA 17 12. Management of Temporary Addresses 18 13. Transmission5.6 Representation ofMessages bytime values and "Infinity" as aClient 19 14. Reliability of Client Initiated Message Exchanges 19 15. Message Validation 21 Droms (ed.), et al. Expires 30 Apr 2003 [Page ii] Internet Draft DHCP for IPv6 (-28) 2 Nov 2002 15.1. Use of Transaction IDs . . .time value. . . . . . . . . . . . . . .21 15.2. Solicit Message. . . . . . . . . . 16 6. Client/Server Message Formats . . . . . . . . . . .21 15.3. Advertise Message. . . . . 16 7. Relay Agent/Server Message Formats. . . . . . . . . . . . . . 17 7.1. Relay-forward Message. . .21 15.4. Request Message. . . . . . . . . . . . . . 18 7.2. Relay-reply Message. . . . . . . .22 15.5. Confirm Message. . . . . . . . . . 19 8. Representation and Use of Domain Names. . . . . . . . . . . .22 15.6. Renew Message19 9. DHCP Unique Identifier (DUID) . . . . . . . . . . . . . . . . 19 9.1. DUID Contents. . . . . . .22 15.7. Rebind Message. . . . . . . . . . . . . . 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 15.8. Decline Messages. . . . . . . . . . . . . . . 22 9.4. DUID Based on Link-layer Address [DUID-LL] . . . . .23 15.9. Release Message. 22 10. Identity Association. . . . . . . . . . . . . . . . . . . . . 2315.10. Reply Message . . .11. Selecting Addresses for Assignment to an IA . . . . . . . . . 24 12. Management of Temporary Addresses . . . . . . . . . .23 15.11. Reconfigure Message. . . . 25 13. Transmission of Messages by a Client. . . . . . . . . . . . . 25 14. Reliability of Client Initiated Message Exchanges . . .24 15.12. Information-request Message. . . 26 15. Message Validation. . . . . . . . . . . . .24 15.13. Relay-forward Message. . . . . . . . . 27 15.1. Use of Transaction IDs . . . . . . . . .24 15.14. Relay-reply Message. . . . . . . 28 15.2. Solicit Message. . . . . . . . . . . . .24 16. Client Source Address and Interface Selection 25 17. DHCP Server Solicitation 25 17.1. Client Behavior. . . . . . . 28 15.3. Advertise Message. . . . . . . . . . . . . . .25 17.1.1. Creation of Solicit Messages. . . . 28 15.4. Request Message. . . . . . .25 17.1.2. Transmission of Solicit Messages. . . . . . . .26 17.1.3. Receipt of Advertise Messages. . . . . 29 15.5. Confirm Message. . . . . .27 17.1.4. Receipt of Reply Message. . . . . . . . . . . .28 17.2. Server Behavior. . 29 15.6. Renew Message. . . . . . . . . . . . . . . . . . . .28 17.2.1. Receipt of Solicit Messages. 29 15.7. Rebind Message . . . . . . . . . .28 17.2.2. Creation and Transmission of Advertise Messages.29 17.2.3. Creation and Transmission of Reply Messages. . .30 18. DHCP Client-Initiated Configuration Exchange 31 18.1. Client Behavior. . . . . . 29 15.8. Decline Messages . . . . . . . . . . . . . . .31 18.1.1. Creation and Transmission of Request Messages. .31 18.1.2. Creation and Transmission of Confirm Messages. .32 18.1.3. Creation and Transmission of Renew Messages30 15.9. Release Message. . . .33 18.1.4. Creation and Transmission of Rebind Messages. .34 18.1.5. Creation and Transmission of Information-request Messages. . . . . . . . . . . . . . 30 15.10. Reply Message. . . .35 18.1.6. Creation and Transmission of Release Messages. .36 18.1.7. Creation and Transmission of Decline Messages. .37 18.1.8. Receipt of Reply Messages. . . . . . . . . . . .38 18.2. Server Behavior. 30 15.11. Reconfigure Message. . . . . . . . . . . . . . . . . . 31 15.12. Information-request Message. . . .39 18.2.1. Receipt of Request Messages. . . . . . . . . . 31 Droms, et al. Standards Track [Page 2] RFC 3315 DHCP for IPv6 July 2003 15.13. Relay-forward Message. .40 18.2.2. Receipt of Confirm Messages. . . . . . . . . . .41 18.2.3. Receipt of Renew Messages. . . . 31 15.14. Relay-reply Message. . . . . . . . .41 18.2.4. Receipt of Rebind Messages. . . . . . . . . 31 16. Client Source Address and Interface Selection . .42 18.2.5. Receipt of Information-request Messages. . . . .42 18.2.6. Receipt of Release Messages. 32 17. DHCP Server Solicitation. . . . . . . . . . .43 18.2.7. Receipt of Decline Messages. . . . . . . . 32 17.1. Client Behavior. . . . .44 18.2.8. Transmission of Reply Messages. . . . . . . . .44 19. DHCP Server-Initiated Configuration Exchange 45 19.1. Server Behavior. . . . . . 32 17.1.1. Creation of Solicit Messages . . . . . . . . . 32 17.1.2. Transmission of Solicit Messages . . . . . . .45 19.1.1. Creation and Transmission of Reconfigure Messages 45 Droms (ed.), et al. Expires 30 Apr 2003 [Page iii] Internet Draft DHCP for IPv6 (-28) 2 Nov 2002 19.1.2. Time Out and Retransmission33 17.1.3. Receipt ofReconfigure MessagesAdvertise Messages. . . . . . . . . 35 17.1.4. Receipt of Reply Message . . . . . . . . . . .46 19.2. Receipt of Renew Messages35 17.2. Server Behavior. . . . . . . . . . . . . . . . .46 19.3.. . . 36 17.2.1. Receipt ofInformation-requestSolicit Messages . . . . . . . . .46 19.4. Client Behavior . .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. . . . . . . . . . .47 19.4.1. Receipt of Reconfigure Messages. . . . . . . . .47 19.4.2.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 RenewMessagesMessages. .. . 48 19.4.3.41 18.1.4. Creation and Transmission ofInformation-requestRebind Messages . 43 18.1.5. Creation and Transmission of Information- request Messages . . .. . . . . . . . . . . .. . . 48 19.4.4. Time Out44 18.1.6. Creation andRetransmissionTransmission ofRenew or Information-request MessagesRelease Messages. 44 18.1.7. Creation and Transmission of Decline Messages. 46 18.1.8. Receipt of Reply Messages. . . . . . . .48 19.4.5. Receipt of Reply Messages. . . 46 18.2. Server Behavior. . . . . . . . . .48 20. Relay Agent Behavior 48 20.1. Relaying a Client Message or a Relay-forward Message. .49 20.1.1. Relaying a Message from a Client. . . . . . . .49 20.1.2. Relaying a Message from a Relay Agent .48 18.2.1. Receipt of Request Messages. . . . . .49 20.2. Relaying a Relay-reply Message. . . . 49 18.2.2. Receipt of Confirm Messages. . . . . . . . . . 5020.3. Construction18.2.3. Receipt ofRelay-reply MessagesRenew Messages. . . . . . . . . . .50 21. Authentication of DHCP Messages5121.1. Security18.2.4. Receipt of Rebind MessagesSent Between Servers and Relay Agents 51 21.2. Summary of DHCP Authentication. . . . . . . . . . 51 18.2.5. Receipt of Information-request Messages. . . . 5221.3. Replay Detection . .18.2.6. Receipt of Release Messages. . . . . . . . . . 53 18.2.7. Receipt of Decline Messages. . . . . . . . . . 5321.4. Delayed Authentication Protocol18.2.8. Transmission of Reply Messages . . . . . . . . 54 19. DHCP Server-Initiated Configuration Exchange. . . . . .53 21.4.1. Use of the Authentication Option in the Delayed Authentication Protocol. . . 54 19.1. Server Behavior. . . . . . .53 21.4.2. Message Validation. . . . . . . . . . . . . 55 19.1.1. Creation and Transmission of Reconfigure Messages . .54 21.4.3. Key Utilization. . . . . . . . . . . . . . . . . 5521.4.4. Client Considerations for Delayed Authentication Protocol19.1.2. Time Out and Retransmission of Reconfigure Messages . . . . . . . . . . . . . . . . .55 21.4.5. Server Considerations for Delayed Authentication Protocol. . 56 19.2. Receipt of Renew Messages. . . . . . . . . . . . . . . 56 19.3. Receipt of Information-request Messages. .57 21.5. Reconfigure Key Authentication Protocol. . . . . . 56 19.4. Client Behavior. . . .57 21.5.1. Use of the Authentication Option in the Reconfigure Key Authentication Protocol. . . . . . .58 21.5.2. Server considerations for Reconfigure Key protocol 58 21.5.3. Client considerations for Reconfigure Key protocol 59 22. DHCP Options 59 22.1. Format of DHCP Options. . . . . . . . . 57 19.4.1. Receipt of Reconfigure Messages. . . . . . . . 57 19.4.2. Creation and Transmission of Renew Messages. .60 22.2. Client Identifier Option58 19.4.3. Creation and Transmission of Information- request Messages . . . . . . . . . . . . . . . 58 19.4.4. Time Out and Retransmission of Renew or Information-request Messages .60 22.3. Server Identifier Option. . . . . . . . 58 Droms, et al. Standards Track [Page 3] RFC 3315 DHCP for IPv6 July 2003 19.4.5. Receipt of Reply Messages. . . . . . . . .61 22.4. Identity Association for Non-temporary Addresses Option.61 22.5. Identity Association for Temporary Addresses Option. 58 20. Relay Agent Behavior. . .63 22.6. IA Address Option. . . . . . . . . . . . . . . . . . 58 20.1. Relaying a Client Message or a Relay-forward Message . 59 20.1.1. Relaying a Message from a Client .65 22.7. Option Request Option. . . . . . 59 20.1.2. Relaying a Message from a Relay Agent. . . . . 59 20.2. Relaying a Relay-reply Message . . . . . . . .66 22.8. Preference Option. . . . 60 20.3. Construction of Relay-reply Messages . . . . . . . . . 60 21. Authentication of DHCP Messages . . . . . . .66 22.9. Elapsed Time Option. . . . . . . . 61 21.1. Security of Messages Sent Between Servers and Relay Agents . . . . . . . . . . .67 22.10. Relay Message Option. . . . . . . . . . . . 61 21.2. Summary of DHCP Authentication . . . . . .68 22.11. Authentication Option. . . . . . 63 21.3. Replay Detection . . . . . . . . . . . .68 22.12. Server Unicast Option. . . . . . . 63 21.4. Delayed Authentication Protocol. . . . . . . . . . . .69 22.13. Status Code63 21.4.1. Use of the Authentication Option in the Delayed Authentication Protocol. . . . . . . . . . . . 64 21.4.2. Message Validation . . . . . . . .70 Droms (ed.), et al. Expires 30 Apr 2003 [Page iv] Internet Draft DHCP for IPv6 (-28) 2 Nov 2002 22.14. Rapid Commit Option. . . . . . 65 21.4.3. Key Utilization . . . . . . . . . . . . .71 22.15. User Class Option. . 65 21.4.4. Client Considerations for Delayed Authentication Protocol . . . . . . . . . . . . . . . . . .71 22.16. Vendor Class Option. 66 21.4.5. Server Considerations for Delayed Authentication Protocol . . . . . . . . . . . . . . . . . .73 22.17. Vendor-specific Information Option. 67 21.5. Reconfigure Key Authentication Protocol. . . . . . . . 68 21.5.1. Use of the Authentication Option in the Reconfigure Key Authentication Protocol. . . .73 22.18. Interface-Id Option69 21.5.2. Server considerations for Reconfigure Key protocol . . . . . . . . . . . . . . . . . . .75 22.19.69 21.5.3. Client considerations for ReconfigureMessage Option .Key protocol . . . . . . . . . . . . . .76 22.20. Reconfigure Accept Option. . . . . 70 22. DHCP Options. . . . . . . . . . . .76 23. Security Considerations 77 24. IANA Considerations 78 24.1. Multicast Addresses. . . . . . . . . . . . . 70 22.1. Format of DHCP Options . . . . . .79 24.2. DHCP Message Types. . . . . . . . . . 71 22.2. Client Identifier Option . . . . . . . . .79 24.3. DHCP Options. . . . . . 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. .80 24.4. Status Codes75 22.6. IA Address Option. . . . . . . . . . . . . . . . . . . 76 22.7. Option Request Option. . . . . . . . . . . . . . . . . 78 22.8. Preference Option. . . . . . . .81 24.5. DUID. . . . . . . . . . . 79 22.9. Elapsed Time Option. . . . . . . . . . . . . . . . . . 79 22.10. Relay Message Option . . . . . . . . . . . . . . . . . 80 22.11. Authentication Option. . . . . . . . . . . . . . . . . 8125. Acknowledgments22.12. Server Unicast Option. . . . . . . . . . . . . . . . . 8226. Changes in draft-ietf-dhc-dhcpv6-27.txt22.13. Status Code Option . . . . . . . . . . . . . . . . . . 8227. Changes in draft-ietf-dhc-dhcpv6-28.txt22.14. Rapid Commit Option. . . . . . . . . . . . . . . . . . 83References22.15. User Class Option. . . . . . . . . . . . . . . . . . . 84Chair's Address22.16. Vendor Class Option. . . . . . . . . . . . . . . . . . 85Authors' Addresses22.17. Vendor-specific Information Option . . . . . . . . . . 86A. Appearance of Options in Message Types 87 B. Appearance of Options in the Options Field of DHCP Options22.18. Interface-Id Option. . . . . . . . . . . . . . . . . . 87C. Full Copyright Statement22.19. Reconfigure Message Option . . . . . . . . . . . . . . 88Droms (ed.),Droms, et al.Expires 30 Apr 2003Standards Track [Pagev] Internet Draft DHCP for IPv6 (-28) 2 Nov 2002 1. Introduction and Overview This document describes4] RFC 3315 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.July 2003 22.20. Reconfigure Accept Option. . . . . . . . . . . . . . . 89 23. Security Considerations . . . . . . . . . . . . . . . . . . . 89 24. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 91 24.1. Multicast Addresses. . . . . . . . . . . . . . . . . . 92 24.2. DHCPcan be extended through the definition of new options to carry configuration information not specified in this document.Message Types . . . . . . . . . . . . . . . . . . 93 24.3. DHCPis the "stateful address autoconfiguration protocol" and the "stateful autoconfiguration protocol" referred to in "IPv6 Stateless Address Autoconfiguration" [21]. The operational models and relevant configuration information for DHCPv4 [1][6] 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. 1.1. Protocols and Addressing Clients and servers exchange DHCP messages using UDP [19]. 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. Droms (ed.), et al. Expires 30 Apr 2003 [Page 1] Internet Draft DHCP for IPv6 (-28) 2 Nov 2002 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 [8] or NTP servers [22] 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 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 Droms (ed.), et al. Expires 30 Apr 2003 [Page 2] Internet Draft DHCP for IPv6 (-28) 2 Nov 2002 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 [3]. 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. 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 [5], the IPv6 Addressing Architecture [9], IPv6 Stateless Address Autoconfiguration [21], IPv6 Neighbor Discovery Processing [17], and Dynamic Updates to DNS [23]. 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 [9] 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 [21] specifies procedures by which a node may autoconfigure addresses based on router advertisements [17], 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 [17] is the node discovery protocol in IPv6 which replaces and enhances functions of ARP [18]. To understand Droms (ed.), et al. Expires 30 Apr 2003 [Page 3] Internet Draft DHCP for IPv6 (-28) 2 Nov 2002 IPv6 and stateless address autoconfiguration it is strongly recommended that implementors understand IPv6 Neighbor Discovery. Dynamic Updates to DNS [23] 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. 4.1. IPv6 Terminology IPv6 terminology relevant to this specification from the IPv6 Protocol [5], IPv6 Addressing Architecture [9], and IPv6 Stateless Address Autoconfiguration [21] 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 link-only scope, indicated by having the prefix (FE80::/10), that can be used to reach Droms (ed.), et al. Expires 30 Apr 2003 [Page 4] Internet Draft DHCP for IPv6 (-28) 2 Nov 2002 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. 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 Droms (ed.), et al. Expires 30 Apr 2003 [Page 5] Internet Draft DHCP for IPv6 (-28) 2 Nov 2002 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>. 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).Options . . . . . . . . . . . . . . . . . . . . . 94 24.4. Status Codes . . . . . . . . . . . . . . . . . . . . . 95 24.5. DUIDA DHCP Unique IDentifier for a DHCP participant; each DHCP client and server has exactly one DUID. See section 9 for details. . . . . . . . . . . . . . . . . . . . . . . . . 95 25. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 95 26. References. . . . . . . . . . . . . . . . . . . . . . . . . . 96 26.1. Normative References . . . . . . . . . . . . . . . . . 96 26.2. Informative References . . . . . . . . . . . . . . . . 97 A. Appearance ofthe waysOptions inwhich a DUID may be constructed. Identity association (IA) A collectionMessage Types . . . . . . . . . . . . 98 B. Appearance ofaddresses 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 eachOptions in the Options Field ofits interfaces. Droms (ed.), et al. Expires 30 Apr 2003 [Page 6] Internet DraftDHCP Options . . 99 Chair's Address . . . . . . . . . . . . . . . . . . . . . . . . . 99 Authors' Addresses. . . . . . . . . . . . . . . . . . . . . . . . 100 Full Copyright Statement. . . . . . . . . . . . . . . . . . . . . 101 1. Introduction and Overview This document describes DHCP forIPv6 (-28) 2 Nov 2002 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 typeIPv6 (DHCP), a client/server protocol that provides managed configuration of devices. DHCP can provide a device with addressesin the IA. Identity association identifier (IAID) An identifier for an IA, chosenassigned bythe client. Each IA has an IAID,a DHCP server and other configuration information, whichis 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 thatarenot temporary addresses (see "identity association for temporary addresses") Identity association for temporary addresses (IA_TA) An IA that carries temporary addresses (see RFC 3041 [16]). message A unit of datacarriedasin options. DHCP can be extended through thepayloaddefinition ofa UDP datagram, exchanged amongnew options to carry configuration information not specified in this document. DHCPservers, relay agentsis the "stateful address autoconfiguration protocol" andclients. Reconfigure key An key supplied to a client by a server usedthe "stateful autoconfiguration protocol" referred toprovide securityin "IPv6 Stateless Address Autoconfiguration" [17]. The operational models and relevant configuration information forReconfigure messages. relaying A DHCP relay agent relays DHCP messagesDHCPv4 [18][19] and DHCPv6 are sufficiently different that integration betweenDHCP 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 programthe 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 andnetworking constants used by DHCP. 5.1. Multicast Addresses DHCP makes useconfiguration information. The remainder of this introduction summarizes DHCP, explaining thefollowing multicast addresses: All_DHCP_Relay_Agents_and_Servers (FF02::1:2) A link-scoped multicast address used by amessage 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 clientto communicate with Droms (ed.),and server operation in detail. Droms, et al.Expires 30 Apr 2003Standards Track [Page7] Internet Draft5] RFC 3315 DHCP for IPv6(-28) 2 Nov 2002 neighboring (i.e., on-link) relay agentsJuly 2003 1.1. Protocols and Addressing Clients andservers. Allservers exchange DHCP messages using UDP [15]. The client uses a link-local address or addresses determined through other mechanisms for transmitting andrelay agents are members of thisreceiving DHCP messages. DHCP servers receive messages from clients using a reserved, link-scoped multicastgroup. All_DHCP_Servers (FF05::1:3)address. Asite-scoped multicast address used by a relay agent to communicate with servers, either because the relay agent wants to sendDHCP client transmits most messages toall servers or because it doesthis reserved multicast address, so that the client need notknowbe configured with theunicastaddress or addresses oftheDHCP servers.Note that in order forTo allow arelay agentDHCP client touse this address, it must have an address of sufficient scopesend a message tobe reachable by the servers. All servers within the site are members of this multicast group. 5.2. UDP Ports Clients listen fora DHCP server that is not attached to the same link, a DHCPmessagesrelay agent onUDP port 546. Servers andthe client's link will relayagents listen for DHCPmessageson UDP port 547. 5.3. DHCP Message Types DHCP definesbetween thefollowing message types. More detail on these message types can be found in sections 6client and7. Message types not listed here are reserved for future use.server. Thenumeric encoding for each message typeoperation of the relay agent isshowntransparent to the client and the discussion of message exchanges inparentheses. SOLICIT (1) Athe remainder of this section will omit the description of message relaying by relay agents. Once the clientsendshas determined the address of aSolicit messageserver, it may under some circumstances send messages directly tolocate servers. ADVERTISE (2) Athe serversends an Advertise message to indicate that it is available forusing unicast. 1.2. Client-server Exchanges Involving Two Messages When a DHCPservice, in responseclient does not need to have aSolicit message received from a client. REQUEST (3) ADHCP server assign it IP addresses, the clientsendscan obtain configuration information such as aRequestlist of available DNS servers [20] or NTP servers [21] through a single messageto request configuration parameters, including IP addresses, fromand reply exchanged with aspecificDHCP server.CONFIRM (4) ATo obtain configuration information the client first sendsa Confirman Information-Request message toany available server to determine whether the addresses it was assigned are still appropriate to the link to whichtheclient is connected. RENEW (5) A client sendsAll_DHCP_Relay_Agents_and_Servers multicast address. Servers respond with aRenewReply messagetocontaining theserverconfiguration information for the client. This message exchange assumes thatoriginally providedtheclient's addresses andclient requires only configurationparameters to extend the lifetimes oninformation and does not require the assignment of any IPv6 addresses. When a server has IPv6 addressesassignedand other configuration information committed to a client, the client and server may be able toupdate other configuration parameters. Droms (ed.), et al. Expires 30 Apr 2003 [Page 8] Internet Draft DHCP for IPv6 (-28) 2 Nov 2002 REBIND (6) Acomplete the exchange using only two messages, instead of four messages as described in the next section. In this case, the client sends aRebindSolicit message toany available server to extendthelifetimes onAll_DHCP_Relay_Agents_and_Servers requesting the assignment of addressesassigned to the clientandto updateother configurationparameters; thisinformation. This messageis sent after aincludes an indication that the clientreceives no responseis willing toa Renew message. REPLY (7) A server sends aaccept an immediate Reply messagecontaining assigned addresses and configuration parameters in response to a Solicit, Request, Renew, Rebind message receivedfroma client. Athe server. The serversendsthat 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 Replymessage containingmessage. The configurationparametersinformation and the addresses inresponse to an Information-request message. A server sends athe Reply messagein response to a Confirm message confirming or denying thatare then immediately available for use by theaddressesclient. Each address assigned to the clientare appropriatehas associated preferred and valid lifetimes specified by the server. To request an extension of the lifetimes assigned to an address, thelinkclient sends a Renew message towhichtheclient is connected. Aserver. The server sends a Reply message toacknowledge receiptthe 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 ofa Releaseone orDecline message. RELEASE (8) Amore 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 aReleaseSolicit message to the All_DHCP_Relay_Agents_and_Servers address to find available DHCP servers. Any server thatassigned addresses tocan meet the client's requirements responds with an Advertise message. The client then chooses one of the servers and sends a Request message toindicate thattheclient will no longer use one or moreserver 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, theassigned addresses. DECLINE (9) Aclient sends aDeclineRenew message toathe server toindicate thatextend the lifetimes associated with its addresses, allowing the clienthas determined that one or moreto continue to use those addressesassigned by the serverwithout 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, arealreadyto be interpreted as described in [1]. This document also makes useon the linkof 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 towhich the clientdemonstrate protocol behavior. An implementation isconnected. RECONFIGURE (10) A server sends a Reconfigure message to a clientnot required toinformhave them in theclientexact 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 theserver has new or updated configuration parameters,base architecture and design of IPv6. Related work in IPv6 that would best serve an implementor to study includes theclient isIPv6 Specification [3], the IPv6 Addressing Architecture [5], IPv6 Stateless Address Autoconfiguration [17], IPv6 Neighbor Discovery Processing [13], and Dynamic Updates toinitiate a Renew/Reply or Information-request/Reply transaction withDNS [22]. These specifications enable DHCP to build upon theserver in orderIPv6 work toreceiveprovide both robust stateful autoconfiguration and autoregistration of DNS Host Names. The IPv6 Addressing Architecture specification [5] defines theupdated information. INFORMATION-REQUEST (11) A client sendsaddress scope that can be used in anInformation-request message to a server to requestIPv6 implementation, and the various configurationparameters withoutarchitecture guidelines for network designers of theassignmentIPv6 address space. Two advantages ofany IPIPv6 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 theclient. RELAY-FORW (12) A relay agent sendsuse of aRelay-forward message to relay messagesvalid lifetime toservers, either directly or through another relay agent. The received message, eithersupport renumbering of addresses on the Internet. In addition, the protocol interaction by which aclient messagenode begins stateless or stateful autoconfiguration is specified. DHCP is one vehicle to perform stateful autoconfiguration. Compatibility with stateless address autoconfiguration is aRelay-forward message from another relay agent,design requirement of DHCP. IPv6 Neighbor Discovery [13] isencapsulated in an option intheRelay-forward message. Droms (ed.), et al. Expires 30 Apr 2003 [Page 9] Internet Draft DHCP fornode discovery protocol in IPv6(-28) 2 Nov 2002 RELAY-REPL (13) A server sends a Relay-reply messagewhich 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 arelay agent containing a messagespecification that supports therelay agent delivers to a client. The Relay-reply message may be relayed by other relay agentsdynamic update of DNS records fordelivery to the destination relay agent. The server encapsulates the client message as an option in the Relay-reply message, which the relay agent extractsboth IPv4 andrelays toIPv6. DHCP can use theclient. 5.4. Status Codes DHCPv6 uses status codesdynamic updates tocommunicate the success or failure of operations requested in messages from clientsDNS to integrate addresses andservers,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 toprovide additional information about the specific cause ofthis specification from thefailureIPv6 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 amessage.router. IP Internet Protocol Version 6 (IPv6). Thespecific status codes are defined in section 24.4. 5.5. Transmissionterms IPv4 andRetransmission Parameters This section presents a table of valuesIPv6 are used only in contexts where it is necessary todescribeavoid ambiguity. interface A node's attachment to a link. link A communication facility or medium over which nodes can communicate at themessage transmission behavior of clientslink 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; andservers. 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 delayInternet (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 offirst 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 ininterfaces (typically belonging to different nodes). A packet sent to aRelay-forward message Droms (ed.),multicast address is delivered to all interfaces identified by that address. neighbor A node attached to the same link. Droms, et al.Expires 30 Apr 2003Standards Track [Page10] Internet Draft9] RFC 3315 DHCP for IPv6(-28) 2 Nov 2002 6. Client/Server Message Formats AllJuly 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 DHCPmessages sent between clients and servers share an identical fixed format header and a variable format area for options. All values incan be found below. appropriate to themessage header and in options are in network byte order. Options are stored serially inlink An address is "appropriate to theoptions field, with no padding betweenlink" when theoptions. Options are byte-aligned but are not aligned in any other way such as on 2 or 4 byte boundaries. The following diagram illustratesaddress is consistent with theformat ofDHCPmessages sent between clientsserver's knowledge of the network topology, prefix assignment andservers: 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 Identifiesaddress assignment policies. binding A binding (or, client binding) is a group of server data records containing theDHCP message type;information theavailable 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 describedserver has about the addresses insection 22. 7. Relay Agent/Server Message Formats Relay agents exchange messages with serversan IA or configuration information explicitly assigned torelay messages between clients and serversthe client. Configuration information thatare not connectedhas been returned to a client through a policy - for example, the information returned to all clients on the samelink. All values in the message header and in options are in network byte order. Options are stored serially inlink - does not require a binding. A binding containing information about an IA is indexed by theoptions field, with no padding betweentuple <DUID, IA-type, IAID> (where IA-type is theoptions. Options are byte-aligned but are not alignedtype of address inany other way such as on 2 or 4 byte boundaries. Droms (ed.),the IA; for example, temporary). A binding containing configuration information for a client is indexed by <DUID>. Droms, et al.Expires 30 Apr 2003Standards Track [Page11] Internet Draft10] RFC 3315 DHCP for IPv6(-28) 2 Nov 2002 There are two relay agent messages, which shareJuly 2003 configuration parameter An element of thefollowing 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 describeconfiguration information set on theuse ofserver and delivered to theRelay Agent message header. 7.1. Relay-forward Messageclient 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. Thefollowing table defines the use of message fieldsterms 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 aRelay-forward message. msg-type RELAY-FORW hop-count Numberlink 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 relayagents that have relayed this message link-addressagent (or relay agent) Aglobal or site-local addressnode thatwill be used byacts 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 toidentifyrequests from clients, and may or may not be on the same linkon whichas the client(s). DUID A DHCP Unique IDentifier for a DHCP participant; each DHCP clientis located. peer-address The addressand server has exactly one DUID. See section 9 for details of theclient or relay agent fromways in whichthe message toa DUID may berelayed was received options MUST includeconstructed. Identity association (IA) A collection of addresses assigned to a"Relay Message option" (see section 22.10); MAY include other options added by the relay agent Droms (ed.),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.Expires 30 Apr 2003Standards Track [Page12] Internet Draft11] RFC 3315 DHCP for IPv6(-28) 2 Nov 2002 7.2. Relay-reply Message The following table definesJuly 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 theusetype ofmessage fieldsaddresses ina Relay-reply message. msg-type RELAY-REPL hop-count Copied fromtheRelay-forward message link-address Copied fromIA. Identity association identifier (IAID) An identifier for an IA, chosen by theRelay-forwardclient. 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]). messagepeer-address Copied fromA unit of data carried as theRelay-forward message options MUST includepayload of a"Relay Message option"; see section 22.10; MAY include other options 8. RepresentationUDP datagram, exchanged among DHCP servers, relay agents andUse of Domain Names So that domain names may be encoded uniformly,clients. Reconfigure key A key supplied to adomain name orclient by alist of domain names is encoded using the technique described in section 3.1 of RFC1035 [14].server used to provide security for Reconfigure messages. relaying Adomain nameDHCP relay agent relays DHCP messages between DHCP participants. transaction ID An opaque value used to match responses with replies initiated either by a client orlist of domain names inserver. 5. DHCPMUST NOT be stored in compressed form as described inConstants This section4.1.4 of RFC1035. 9.describes various program and networking constants used by DHCP. Droms, et al. Standards Track [Page 12] RFC 3315 DHCPUnique Identifier (DUID) Eachfor 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 andserver has a DUID. DHCPservers. All serversuse DUIDs to identify clients for the selection of configuration parametersandin the associationrelay agents are members ofIAsthis multicast group. All_DHCP_Servers (FF05::1:3) A site-scoped multicast address used by a relay agent to communicate withclients. DHCP clients use DUIDsservers, either because the relay agent wants toidentify a server insend messageswhere a server needstobe identified. See sections 22.2 and 22.3 forall servers or because it does not know therepresentationunicast addresses ofa DUIDthe servers. Note that ina DHCP message. Clients and servers MUST treat DUIDs as opaque values and MUST only compare DUIDsorder forequality. Clients anda relay agent to use this address, it must have an address of sufficient scope to be reachable by the servers. All serversMUST NOT in any other way interpret DUIDs.within the site are members of this multicast group. 5.2. UDP Ports Clients listen for DHCP messages on UDP port 546. Servers andservers MUST NOT restrict DUIDs torelay 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 typesdefined in this document as additional DUID types maycan bedefinedfound inthe future.sections 6 and 7. Message types not listed here are reserved for future use. TheDUIDnumeric encoding for each message type iscarriedshown in parentheses. SOLICIT (1) A client sends a Solicit message to locate servers. ADVERTISE (2) A server sends anoption because it may be variable length and becauseAdvertise message to indicate that it isnot required in allavailable for DHCPmessages. The DUID is designedservice, in response tobe unique across all DHCP clients and servers, and stable for anya 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 clientorsends a Confirm message to any available server- that is,to determine whether the addresses it was assigned are still appropriate to the link to which theDUID used by aclientor server SHOULD NOT change over time if at all possible;is connected. Droms, et al. Standards Track [Page 13] RFC 3315 DHCP forexample, a device's DUID should not change as a result ofIPv6 July 2003 RENEW (5) A client sends achange inRenew message to thedevice's network hardware. The motivation for having more than one type of DUID isserver 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 theDUID must be globally unique,lifetimes on the addresses assigned to the client andmust also be easytogenerate. The sort of globally-unique identifier thatupdate other configuration parameters; this message iseasysent after a client receives no response togenerate for any given device can differ quite widely. Also, some devices may not contain Droms (ed.), et al. Expires 30 Apr 2003 [Page 13] Internet Draft DHCP for IPv6 (-28) 2 Nov 2002 any persistent storage. Retainingagenerated DUIDRenew message. REPLY (7) A server sends a Reply message containing assigned addresses and configuration parameters insuchresponse to adevice is not possible, so the DUID scheme must accommodate such devices. 9.1. DUID ContentsSolicit, Request, Renew, Rebind message received from a client. ADUID consists ofserver sends atwo-octet type code representedReply message containing configuration parameters innetwork byte order, followed byresponse to an Information-request message. A server sends avariable number of octetsReply message in response to a Confirm message confirming or denying thatmake 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 oftheDUID for each ofaddresses assigned to theabove typesclient areshown below. 9.2. DUID Based on Link-layer Address Plus Time [DUID-LLT] This type of DUID consists of a two octet type field containingappropriate to thevalue 1, a two octet hardware type code, four octets containinglink to which the client is connected. A server sends atime value, followed by link-layer addressReply message to acknowledge receipt ofany one network interface that is connecteda Release or Decline message. RELEASE (8) A client sends a Release message to theDHCP device atserver that assigned addresses to thetimeclient to indicate that theDUID is generated. The time value isclient will no longer use one or more of thetimeassigned addresses. DECLINE (9) A client sends a Decline message to a server to indicate that theDUID is generated represented in seconds since midnight (UTC), January 1, 2000, modulo 2^32. The hardware type MUST be a valid hardware typeclient has determined that one or more addresses assigned by theIANA as describedserver are already inRFC826 [18]. Bothuse on thetime andlink to which thehardware type are stored in network byte order. The link-layer addressclient isstored in canonical form, as described in RFC2464 [4]. The following diagram illustrates the format ofconnected. RECONFIGURE (10) A server sends aDUID-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) . . . +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The choice of network interface can be completely arbitrary, as long as that interface providesReconfigure message to aglobally unique link-layer address forclient to inform thelink type,client that the server has new or updated configuration parameters, and that thesame DUID-LLT SHOULD be used in configuring all network interfaces connectedclient is to initiate a Renew/Reply or Information-request/Reply transaction with thedevice, regardless of which interface's link-layer address was usedserver in order togeneratereceive theDUID-LLT. Droms (ed.),updated information. Droms, et al.Expires 30 Apr 2003Standards Track [Page 14]Internet DraftRFC 3315 DHCP for IPv6(-28) 2 Nov 2002 Clients and servers using this typeJuly 2003 INFORMATION-REQUEST (11) A client sends an Information-request message to a server to request configuration parameters without the assignment ofDUID MUST storeany IP addresses to theDUID-LLTclient. 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 instable storage, and MUST continuean option in the Relay-forward message. RELAY-REPL (13) A server sends a Relay-reply message touse this DUID-LLT even ifa relay agent containing a message that thenetwork interface usedrelay agent delivers to a client. The Relay-reply message may be relayed by other relay agents for delivery togeneratetheDUID-LLT is removed. Clientsdestination relay agent. The server encapsulates the client message as an option in the Relay-reply message, which the relay agent extracts andservers that do not have any stable storage MUST NOT use this typerelays to the client. 5.4. Status Codes DHCPv6 uses status codes to communicate the success or failure ofDUID. Clientsoperations requested in messages from clients and servers, andservers that use this DUID SHOULD attempttoconfigureprovide additional information about thetime prior to generatingspecific cause of theDUID, if that is possible, and MUST use some sortfailure oftime source (for example,areal-time clock)message. The specific status codes are defined ingenerating the DUID, even if that time source could not be configured priorsection 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 togeneratingdescribe theDUID. The usemessage transmission behavior ofa time source makes it unlikely that two identical DUID-LLTs will be generated if the network interface is removed from the clientclients andanother client then uses the same network interface to generateservers. 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 aDUID-LLT. A collision between two DUID-LLTs is very unlikely even if the clocks haven't been configured prior to generating the DUID. This methodRelay-forward message 5.6 Representation ofDUID generation is recommended for all general purpose computing devices such as desktop computers and laptop computers,time values andalso for devices such"Infinity" asprinters, routers,a time value All time values for lifetimes, T1 andso on, that contain some form of writable non-volatile storage. Despite our best efforts, itT2 are unsigned integers. The value 0xffffffff ispossible that this algorithm for generatingtaken to mean "infinity" when used as aDUID could resultlifetime (as in RFC2461 [17]) or aclient identifier collision. Avalue for T1 or T2. 6. Client/Server Message Formats All DHCPclient that generates a DUID-LLT using this mechanism MUST providemessages sent between clients and servers share anadministrative interface that replaces the existing DUID withidentical fixed format header and anewly-generated DUID-LLT. 9.3. DUID Assigned by Vendor Based on Enterprise Number [DUID-EN] This form of DUID is assigned byvariable format area for options. All values in thevendor tomessage 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 thedevice. It consists ofoptions field, with no padding between thevendor's registered Private Enterprise Numberoptions. Options are byte-aligned but are not aligned in any other way such asmaintained by IANA [10] followed by a unique identifier assigned by the vendor.on 2 or 4 byte boundaries. The following diagramsummarizesillustrates thestructureformat ofa DUID-EN: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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |2msg-type |enterprise-numbertransaction-id | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |enterprise-number (contd) ||+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | . identifier.. (variable length)options . . (variable) . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+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 atmsg-type Identifies thetime of Droms (ed.), et al. Expires 30 Apr 2003 [Page 15] Internet DraftDHCPfor IPv6 (-28) 2 Nov 2002 manufacture and storedmessage type; the available message types are listed insome form of non-volatile storage.section 5.3. transaction-id Thegenerated DUID SHOULD be recordedtransaction ID for this message exchange. options Options carried innon-erasable storage. The enterprise-number is the vendor's registered Private Enterprise Number as maintained by IANA [10]. The enterprise-number is stored as an unsigned 32 bit number. An example DUID ofthistype 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 interfacemessage; 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 thatis permanentlyare not connected to theclient or server device. For example, a host that has a network interface implementedsame link. All values ina chip that is unlikely to be removed and used elsewhere could use a DUID-LL. The hardware type MUST be a valid hardware type assigned bytheIANA as describedmessage header and inRFC826 [18]. The hardware type is storedoptions are in network byte order.The link-layer address isOptions are stored serially incanonical form, as describedthe options field, with no padding between the options. Options are byte-aligned but are not aligned inRFC2464 [4]. The following diagram illustratesany 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 theformat of a DUID-LL: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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |3msg-type |hardware type (16 bits)hop-count | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | | link-address | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | | peer-address | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+. . .link-layer addressoptions (variable number and length) .... .. .| | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Thechoice of network interface can be completely arbitrary, as long as that interface provides a unique link-layer address and is permanently attached tofollowing sections describe thedevice on whichuse of theDUID-LL is being generated.Relay Agent message header. 7.1. Relay-forward Message Thesame 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 generatefollowing table defines theDUID. DUID-LL is recommended for devicesuse of message fields in a Relay- forward message. msg-type RELAY-FORW hop-count Number of relay agents that havea permanently-connected network interface with a link-layerrelayed this message. link-address A global or site-local addressand do not have Droms (ed.), et al. Expires 30 Apr 2003 [Page 16] Internet Draft DHCP for IPv6 (-28) 2 Nov 2002 nonvolatile, writable stable storage. DUID-LL MUST NOTthat will be used byDHCP clients or servers that cannot tell whether or not a network interface is permanently attachedthe server to identify thedevicelink on which theDHCPclient isrunning. 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 eachlocated. peer-address The address ofits network interfaces for which it is to requesttheassignment of IPv6 addresses from a DHCP server. Theclientuses the IAs assigned to an interface to obtain configuration informationor relay agent froma server for that interface. Each IA must be associated with exactly one interface. The IAID uniquely identifieswhich theIA and must be chosenmessage to beunique among the IAIDs onrelayed was received. options MUST include a "Relay Message option" (see section 22.10); MAY include other options added by theclient.relay agent. Droms, et al. Standards Track [Page 18] RFC 3315 DHCP for IPv6 July 2003 7.2. Relay-reply Message TheIAID is chosen byfollowing table defines theclient. For any givenuse ofan IA bymessage fields in a Relay-reply message. msg-type RELAY-REPL hop-count Copied from the Relay-forward message link-address Copied from theclient,Relay-forward message peer-address Copied from theIAID for that IARelay-forward message options MUSTbe consistent across restartsinclude a "Relay Message option"; see section 22.10; MAY include other options 8. Representation and Use ofthe DHCP client. The clientDomain Names So that domain names maymaintain consistency either by storing the IAID in non-volatile storagebe encoded uniformly, a domain name orbya list of domain names is encoded usingan algorithm that will consistently producethesame IAID as longtechnique 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, asthe configurationdescribed in section 4.1.4 oftheRFC 1035. 9. DHCP Unique Identifier (DUID) Each DHCP client and server hasnot changed. There may be no way foraclientDUID. DHCP servers use DUIDs tomaintain consistency of the IAIDs if it does not have non-volatile storage andidentify clients for theclient's hardware configuration changes. Theselection of configurationinformationparameters and inan IA consiststhe association ofone or more IPv6 addresses alongIAs withthe times T1 and T2 for the IA.clients. DHCP clients use DUIDs to identify a server in messages where a server needs to be identified. Seesection 22.4sections 22.2 and 22.3 for the representation ofan IAa DUID in a DHCP message.Each address in an IA has a preferred lifetimeClients anda valid lifetime,servers MUST treat DUIDs asdefinedopaque values and MUST only compare DUIDs for equality. Clients and servers MUST NOT inRFC2462 [21]. The lifetimes are transmitted from the DHCP serverany other way interpret DUIDs. Clients and servers MUST NOT restrict DUIDs to theclienttypes defined in this document, as additional DUID types may be defined in theIA option.future. Thelifetimes apply to the use of IPv6 addresses as describedDUID is carried insection 5.5.4 of RFC2462. 11. Selecting Addresses for Assignment toanIA A server selects addresses tooption because it may beassigned to an IA accordingvariable length and because it is not required in all DHCP messages. The DUID is designed tothe address assignment policies determined by the server administratorbe unique across all DHCP clients andtheservers, and stable for any specificinformation the server determines about theclientfrom some combination of the following sources:or server -The link to whichthat is, the DUID used by a clientis attached. Theor serverdetermines the linkSHOULD NOT change over time if at all possible; for example, a device's DUID should not change asfollows: * If the server receives the message directly from the client and the source address in the IP datagram in which the message was received isalink-local address, thenresult of a change in theclient Droms (ed.),device's network hardware. Droms, et al.Expires 30 Apr 2003Standards Track [Page17] Internet Draft19] RFC 3315 DHCP for IPv6(-28) 2 Nov 2002 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 agentJuly 2003 The motivation for having more than one type of DUID isattached * If the server receives the message directly fromthat theclientDUID must be globally unique, andthe source address in the IP datagram in which the message was receivedmust 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 alink-local address, then the clientgenerated DUID in such a device ison the link identified bynot possible, so thesource addressDUID scheme must accommodate such devices. 9.1. DUID Contents A DUID consists of a two-octet type code represented inthe IP datagram (notenetwork byte order, followed by a variable number of octets thatthis situationmake up the actual identifier. A DUID canoccur only ifbe no more than 128 octets long (not including theserver has enabledtype 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 theusevariable field ofunicast message delivery by the client andtheclient has sent a messageDUID forwhich unicast delivery is allowed) - Theeach of the above types are shown below. 9.2. DUIDsupplied byBased on Link-layer Address Plus Time [DUID-LLT] This type of DUID consists of a two octet type field containing theclient - Other information in options suppliedvalue 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 theclient - Other information in options supplied byDHCP device at therelay agent Any address assigned by a servertime that the DUID is generated. The time value isbased on an EUI-64 identifier MUST include an interface identifier withthe"u" (universal/local) and "g" (individual/group) bits oftime that theinterface identifier set appropriately, as indicatedDUID is generated represented insection 2.5.1 of RFC 2373 [9]. A serverseconds since midnight (UTC), January 1, 2000, modulo 2^32. The hardware type MUSTNOT assign an address that is otherwise reserved for some other purpose. For example,be aserver MUST NOT assign reserved anycast addresses,valid hardware type assigned by the IANA asdefineddescribed inRFC2526, from any subnet. 12. Management of Temporary Addresses A client may request the assignment of temporary addresses (seeRFC3041 [16] for826 [14]. Both thedefinition 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 addressestime andservers assign them. Temporary addressesthe hardware type arecarriedstored in network byte order. The link-layer address is stored in canonical form, as described in RFC 2464 [2]. The following diagram illustrates theIdentity Association for Temporary Addresses (IA_TA) option (see section 22.5). Each IA_TA option contains at most one temporaryformat 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 addressfor 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. Droms (ed.),(variable length) . . . +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Droms, et al.Expires 30 Apr 2003Standards Track [Page18] Internet Draft20] RFC 3315 DHCP for IPv6(-28) 2 Nov 2002July 2003 Theserver MAY update the DNS forchoice of network interface can be completely arbitrary, as long as that interface provides atemporaryglobally unique link-layer addressas describedfor the link type, and the same DUID-LLT SHOULD be used insection 4configuring all network interfaces connected to the device, regardless ofRFC3041. 13. Transmissionwhich interface's link-layer address was used to generate the DUID-LLT. Clients and servers using this type ofMessages by a Client Unless otherwise specifiedDUID MUST store the DUID-LLT in stable storage, and MUST continue to use thisdocument or in a document that describes how IPv6DUID-LLT even if the network interface used to generate the DUID-LLT iscarried over a specificremoved. Clients and servers that do not have any stable storage MUST NOT use this type oflinkDUID. 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 (forlink typesexample, a real-time clock) in generating the DUID, even if thatdotime source could notsupport multicast), a client sends DHCP messagesbe configured prior to generating theAll_DHCP_Relay_Agents_and_Servers. ADUID. 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 usesmulticastthe same network interface toreach all servers or an individual server. An individual server is indicated by specifying that server's DUID ingenerate aServer Identifier option (see section 22.3) in the client's message (all servers will receive this message but onlyDUID-LLT. A collision between two DUID-LLTs is very unlikely even if theindicated server will respond). All servers are indicated byclocks have notsupplying this option. A client may send some messages directlybeen configured prior toa server using unicast, as described in section 22.12. 14. Reliabilitygenerating the DUID. This method ofClient Initiated Message Exchanges DHCP clients are responsibleDUID generation is recommended forreliable deliveryall 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 ofmessages in the client-initiated message exchanges describedwritable non-volatile storage. Despite our best efforts, it is possible that this algorithm for generating a DUID could result insections 17 and 18. Ifa client identifier collision. A DHCP clientfails to receive an expected response fromthat generates aserver,DUID-LLT using this mechanism MUST provide an administrative interface that replaces theclient must retransmit its message.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] Thissection describes the retransmission strategy to be usedform of DUID is assigned byclients in client-initiated message exchanges. Note thattheprocedure described in this section is slightly modified when used withvendor to theSolicit message. The modified procedure is described in section 17.1.2. The client beginsdevice. It consists of themessage exchangevendor's registered Private Enterprise Number as maintained by IANA [6] followed bytransmittingamessage tounique identifier assigned by theserver.vendor. Themessage exchange terminates when either the client successfully receivesfollowing diagram summarizes theappropriate response or responses fromstructure of aserver or servers, or whenDUID-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 themessage exchangeidentifier isconsidered to have failed accordingleft up to theretransmission 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 Droms (ed.), et al. Expires 30 Apr 2003 [Page 19] Internet Draft DHCP for IPv6 (-28) 2 Nov 2002 RAND Randomization factor Withvendor defining it, but eachmessage transmission or retransmission, the client sets RT according to the rules given below. If RT expires before the message exchange terminates,identifier part of each DUID-EN MUST be unique to theclient recomputes RTdevice that is using it, andretransmitsMUST be assigned to themessage. Each ofdevice at thecomputations of a new RT include a randomization factor (RAND), whichtime it isa random number chosen with a uniform distribution between -0.1manufactured and+0.1. The randomization factor is included to minimize synchronizationstored in some form ofmessages transmitted by DHCP clients.non-volatile storage. Thealgorithm for choosing a random number does not need togenerated DUID SHOULD becryptographically sound.recorded in non-erasable storage. Thealgorithm 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 transmissionenterprise-number isbased ontheprevious value of RT: RT = 2*RTprev + RAND*RTprev MRT specifiesvendor's registered Private Enterprise Number as maintained by IANA [6]. The enterprise-number is stored as anupper bound onunsigned 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 thevaluetwo-octet type ofRT (disregarding2, therandomization addedEnterprise Number (9), followed bythe use of RAND). If MRT has a valueeight octets of0, there is no upper limitidentifier data (0x0CC084D303000912). 9.4. DUID Based onthe valueLink-layer Address [DUID-LL] This type ofRT. Otherwise: if (RT > MRT) RT = MRT + RAND*MRT MRC specifies an upper bound onDUID consists of two octets containing thenumber of times a client may retransmitDUID type 3, amessage. Unless MRC is zero,two octet network hardware type code, followed by themessage exchange fails oncelink-layer address of any one network interface that is permanently connected to the client or server device. For example, a host that hastransmitted the message MRC times. MRD specifies an upper bound on the length of timeaclient may retransmitnetwork interface implemented in amessage. Unless MRDchip that iszero, the message exchange fails once MRD seconds have elapsed since the client first transmitted the message. If both MRCunlikely to be removed andMRD are non-zero, the message exchange fails whenever either ofDroms, 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 theconditions specifiedIANA, 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 theprevious two paragraphs are met. If both MRC and MRD are zero, the client continues to transmit the message until it receivesformat 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 aresponse. Droms (ed.), et al. Expires 30 Apr 2003 [Page 20] Internet Draft DHCP for IPv6 (-28) 2 Nov 2002 15. Message Validation Clientsunique link-layer address andservers SHOULD discard any messages that contain options that are not allowedis permanently attached toappear inthereceived message. For example, an IA optiondevice on which the DUID-LL isnot allowed to appearbeing generated. The same DUID-LL SHOULD be used inan Information-request message. Clients and server MAY chooseconfiguring all network interfaces connected toextract information from such a message iftheinformation isdevice, regardless ofusewhich interface's link-layer address was used to generate therecipient. A server MUST discard any Solicit, Confirm, Rebind or Information-request messages it receives with a unicast destination address. Message validation based on DHCP authenticationDUID. DUID-LL isdiscussed in section 21.4.2. Ifrecommended for devices that have aserver receivespermanently-connected network interface with amessage that contains options it shouldlink-layer address, and do notcontain (such as an Information-request message with an IA option), is missing optionshave nonvolatile, writable stable storage. DUID-LL MUST NOT be used by DHCP clients or servers thatit should contain,cannot tell whether oris otherwisenotvalid, it MAY send a Reply (or Advertise as appropriate) with a Server Identifier option,aClient Identifier option if one was included innetwork interface is permanently attached to themessage and a Status Code option with status UnSpecFail. 15.1. Use of Transaction IDs The "transaction-id" field holdsdevice on which the DHCP client is running. 10. Identity Association An "identity-association" (IA) is a construct through which avalue used by clients and servers to synchronizeserverresponses toand a clientmessages.can identify, group, and manage a set of related IPv6 addresses. Each IA consists of an IAID and associated configuration information. A clientSHOULD generate a random number that cannot easily be guessed or predicted to use as the transaction ID formust associate at least one distinct IA with eachnew message it sends. Note that if a client generates easily predictable transaction identifiers,of its network interfaces for which itmay become more vulnerableis tocertain kindsrequest the assignment ofattacksIPv6 addresses fromoff-path intruders. Aa DHCP server. The clientMUST leaveuses thetransaction 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 includeIAs assigned to an interface to obtain configuration information from aServer Identifier option. 15.3. Advertise Message Clients MUST discard any received Advertise messagesserver for thatmeetinterface. 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 thefollowing conditions: -client, themessage does not include a Server Identifier option -IAID for that IA MUST be consistent across restarts of themessage does not include a Client Identifier option Droms (ed.),DHCP client. The client may maintain consistency either by storing the IAID in non-volatile Droms, et al.Expires 30 Apr 2003Standards Track [Page21] Internet Draft23] RFC 3315 DHCP for IPv6(-28) 2 Nov 2002 - the contents ofJuly 2003 storage or by using an algorithm that will consistently produce theClient Identifier option does not matchsame IAID as long as theclient's DUID -configuration of the"transaction-id" field value doesclient has notmatch the value thechanged. There may be no way for a clientused in its Solicit message Servers and relay agents MUST discard any received Advertise messages. 15.4. Request Message Clients MUST discard any received Request messages. Servers MUST discard any received Request message that meet anyto maintain consistency of thefollowing conditions: - the messageIAIDs if it does notinclude a Server Identifier option -have non-volatile storage and thecontentsclient's hardware configuration changes. The configuration information in an IA consists of one or more IPv6 addresses along with theServer Identifier option do not matchtimes T1 and T2 for theserver's DUID -IA. See section 22.4 for themessage does not includerepresentation of an IA in aClient Identifier option 15.5. Confirm Message Clients MUST discard any received Confirm messages. Servers MUST discard any received Confirm messages that do not includeDHCP message. Each address in an IA has aClient Identifier option or that do includepreferred lifetime and aServer Identifiervalid lifetime, as defined in RFC 2462 [17]. The lifetimes are transmitted from the DHCP server to the client in the IA option.15.6. Renew Message Clients MUST discard any received Renew messages. Servers MUST discard any received Renew message that meets anyThe 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 followingconditions:sources: - The link to which the client is attached. The server determines the link as follows: * If the server receives the messageMUST include a Server Identifier option -directly from thecontents ofclient and theServer Identifier option MUST matchsource address in theserver's identifier -IP datagram in which the messageMUST include a Client Identifier option 15.7. Rebind Message Clients MUST discard any received Rebind messages. Droms (ed.), et al. Expires 30 Apr 2003 [Page 22] Internet Draft DHCP for IPv6 (-28) 2 Nov 2002 Servers MUST discard anywas receivedRebind messages that do not include a Client Identifier option or that do includeis aServer Identifier option. 15.8. Decline Messages Clients MUST discard any received Decline messages. Servers MUST discard any received Decline message that fails to meet any oflink-local address, then thefollowing conditions: -client is on themessage MUST include a Server Identifier option -same link to which thecontents ofinterface over which theServer Identifier option MUST matchmessage was received is attached. * If theserver's identifier -server receives the messageMUST includefrom aClient Identifier option 15.9. Release Message Clients MUST discard any received Release messages. Servers MUST discard any received Release message that failsforwarding relay agent, then the client is on the same link as the one tomeet any ofwhich thefollowing conditions: -interface, identified by themessage MUST include a Server Identifier option -link-address field in thecontents ofmessage from theServer Identifier option MUST matchrelay agent, is attached. * If theserver's identifier -server receives the messageMUST include a Client Identifier option 15.10. Reply Message Clients MUST discard any received Reply message that fails to meet any ofdirectly from thefollowing conditions: -client and themessage MUST include a Server Identifier option -source address in the"transaction-id" fieldIP datagram in which the messageMUST matchwas received is not a link-local address, then thevalue usedclient is on the link identified by the source address in theoriginal message -IP datagram (note that this situation can occur only if the server has enabled the use of unicast message delivery by the clientincludedand the client has sent aClient Identifier optionmessage for which unicast delivery is allowed). - The DUID supplied by the client. - Other information in options supplied by theoriginal message,client. Droms, et al. Standards Track [Page 24] RFC 3315 DHCP for IPv6 July 2003 - Other information in options supplied by themessagerelay agent. Any address assigned by a server that is based on an EUI-64 identifier MUST includea Client Identifier optionan interface identifier with the "u" (universal/local) and "g" (individual/group) bits of thecontentsinterface 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 theClient Identifier option MUST match the DUIDassignment of temporary addresses (see RFC 3041 [12] for theclient or, if the client did not include a Client Identifier optiondefinition 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 theoriginal message, the Reply message MUST NOT include a Client IdentifierIdentity Association for Temporary Addresses (IA_TA) optionServers and relay agents MUST discard any received Reply messages. Droms (ed.), et al. Expires 30 Apr 2003 [Page 23] Internet Draft DHCP(see section 22.5). Each IA_TA option contains at most one temporary address forIPv6 (-28) 2 Nov 2002 15.11. Reconfigure Message Servers and relay agents MUST discard any received Reconfigure messages. Clients MUST discard any Reconfigure messages that fails anyeach of thefollowing conditions: -prefixes on themessage MUST have been unicastlink to which the client-is attached. The IAID number space for themessage MUST include a Server IdentifierIA_TA option-IAID number space is separate from themessage MUST include a Client IdentifierIA_NA optionthat contains the client's DUID -IAID number space. The server MAY update themessage MUST containDNS for aReconfigure Message option and the msg-type must betemporary address, as described in section 4 of RFC 3041. 13. Transmission of Messages by avalid value - the message MUST NOT include any IA options if the msg-typeClient Unless otherwise specified inthe Reconfigure Message optionthis document, or in a document that describes how IPv6 isINFORMATION-REQUEST - the message MUST includecarried over a specific type of link (for link types that do not support multicast), a client sends DHCPauthentication: *messages to themessage MUST containAll_DHCP_Relay_Agents_and_Servers. A client uses multicast to reach all servers or anauthentication option * the message MUST pass the authentication validation performedindividual server. An individual server is indicated bythe client 15.12. Information-request Message Clients MUST discard any received Information-request messages. Servers MUST discard any received Information-request messagespecifying thatfails to meet any of the following conditions: - The message includesserver's DUID in a Server Identifier optionand the DUID(see section 22.3) in theoption does not match the server's DUID - Theclient's messageincludes an IA option 15.13. Relay-forward Message Clients MUST discard any received Relay-forward messages. 15.14. Relay-reply Message Clients and(all serversMUST discard any received Relay-reply messages. Droms (ed.),will receive this message but only the indicated server will respond). All servers are indicated by not supplying this option. Droms, et al.Expires 30 Apr 2003Standards Track [Page24] Internet Draft25] RFC 3315 DHCP for IPv6(-28) 2 Nov 2002 16.July 2003 A client may send some messages directly to a server using unicast, as described in section 22.12. 14. Reliability of ClientSource AddressInitiated Message Exchanges DHCP clients are responsible for reliable delivery of messages in the client-initiated message exchanges described in sections 17 andInterface Selection When18. 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 clientsendsbegins the message exchange by transmitting aDHCPmessage to theAll_DHCP_Relay_Agents_and_Servers address, it SHOULD send theserver. The messagethroughexchange terminates when either theinterface for which configuration informationclient successfully receives the appropriate response or responses from a server or servers, or when the message exchange isbeing requested. However,considered to have failed according to the retransmission mechanism described below. The clientMAY sendretransmission 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 messagethrough another interface attachedtransmission or retransmission, the client sets RT according to thesame link if and only ifrules given below. If RT expires before the message exchange terminates, the clientis certainrecomputes RT and retransmits thetwo interfaces are attached tomessage. Each of thesame link.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. Theclient MUST userandomization 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 alink-local address assignedrandom number does not need to be cryptographically sound. The algorithm SHOULD produce a different sequence of random numbers from each invocation of theinterfaceDHCP client. RT forwhichthe first message transmission is based on IRT: RT = IRT + RAND*IRT RT for each subsequent message transmission isrequesting configuration information as the source address inbased on theheaderprevious value of RT: RT = 2*RTprev + RAND*RTprev MRT specifies an upper bound on theIP datagram. When a client sends a DHCP message directly to a server using unicast (after receiving the Server Unicast option from that server),value of RT (disregarding thesource address inrandomization added by theheaderuse of RAND). If MRT has a value of 0, there is no upper limit on theIP datagram MUST bevalue of RT. Otherwise: if (RT > MRT) RT = MRT + RAND*MRT MRC specifies anaddress assigned to the interface for whichupper bound on the number of times a client may retransmit a message. Unless MRC isinterested in obtaining configuration and which is suitable for use by the server in responding tozero, theclient. 17. DHCP Server Solicitation This section describes how a client locates servers that will assign addresses to IAs belonging tomessage exchange fails once theclient. Theclientis responsible for creating IAs and requesting that a server assign IPv6 addresses tohas transmitted theIA. The client first creates an IA and assigns it an IAID. The client then transmits a SolicitmessagecontainingMRC times. MRD specifies anIA option describingupper bound on theIA. Servers that can assign addresses tolength of time a client may retransmit a message. Unless MRD is zero, theIA respond tomessage exchange fails once MRD seconds have elapsed since the clientwith an Advertisefirst transmitted the message.The client then initiates a configuration exchange as described in section 18.If both MRC and MRD are non-zero, theclient will accept a Replymessagewith committed address assignments and other resourcesexchange fails whenever either of the conditions specified inresponse totheSolicit message,previous two paragraphs are met. If both MRC and MRD are zero, the clientincludescontinues to transmit the message until it receives aRapid Commit option (see section 22.14)response. 15. Message Validation Clients and servers SHOULD discard any messages that contain options that are not allowed to appear in theSolicitreceived message.17.1. Client Behavior A client uses the Solicit messageFor example, an IA option is not allowed todiscover DHCPappear in an Information-request message. Clients and serversconfigured to assign addresses or return other configuration parameters on the linkMAY choose towhichextract information from such a message if theclientinformation isattached. 17.1.1. CreationofSolicit Messages The client sets the "msg-type" fielduse toSOLICIT. The client generates a transaction ID and inserts this value inthe"transaction-id" field. Droms (ed.),recipient. A server MUST discard any Solicit, Confirm, Rebind or Information-request messages it receives with a unicast destination address. Droms, et al.Expires 30 Apr 2003Standards Track [Page25] Internet Draft27] RFC 3315 DHCP for IPv6(-28) 2 Nov 2002 The client MUST includeJuly 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 optionto identify itself toif one was included in theserver.message and a Status Code option with status UnSpecFail. 15.1. Use of Transaction IDs Theclient includes IA options for any IAs"transaction-id" field holds a value used by clients and servers towhich it wants thesynchronize server responses toassign addresses. TheclientMAY include addresses in the IAs asmessages. A client SHOULD generate ahintrandom number that cannot easily be guessed or predicted to use as theserver about addressestransaction ID forwhich the client has a preference. The client MUST NOT include any other options in the Soliciteach new messageexcept as specifically allowed in the definition of individual options. Theit sends. Note that if a clientuses IA_NA optionsgenerates easily predictable transaction identifiers, it may become more vulnerable torequest the assignmentcertain kinds ofnon-temporary addresses and uses IA_TA options to requestattacks from off-path intruders. A client MUST leave theassignmenttransaction ID unchanged in retransmissions oftemporary addresses. Either IA_NA or IA_TA options, oracombination of both can be included in DHCPmessage. 15.2. Solicit Message Clients MUST discard any received Solicit messages.The client SHOULDServers MUST discard any Solicit messages that do not includean Option Requesta Client Identifier option(see section 22.7) to indicateor that do include a Server Identifier option. 15.3. Advertise Message Clients MUST discard any received Advertise messages that meet any of theoptionsfollowing conditions: - theclient is interested in receiving. The client MAY additionallymessage does not include a Server Identifier option. - the message does not includeinstancesa Client Identifier option. - the contents ofthose options that are identified intheOption RequestClient Identifier optionwith data values as hints todoes not match theserver about parameter valuesclient's DUID. - theclient would like to have returned. The client includes a Reconfigure Accept option (see section 22.20) if"transaction-id" field value does not match theclient is willing to accept Reconfigure messages fromvalue theserver. 17.1.2. Transmission of Solicit Messages The firstclient 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 messagefromthat meet any of theclient onfollowing conditions: - theinterface MUST be delayed bymessage does not include arandom amount of time between 0 and SOL_MAX_DELAY. InServer Identifier option. - thecasecontents ofa Solicit message transmitted when DHCP is initiated by IPv6 Neighbor Discovery, the delay givestheamount of time to wait after IPv6 Neighbor Discovery causesServer Identifier option do not match theclient to invokeserver's DUID. - thestateful address autoconfiguration protocol (see section 5.5.3message 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 ofRFC2462). This random delay desynchronizes clients which start atthesame time (for example, after a power outage). The client transmitsfollowing conditions: - the messageaccording to section 14, usingdoes not include a Server Identifier option. - thefollowing parameters: IRT SOL_TIMEOUT MRT SOL_MAX_RT MRC 0 MRD 0 Ifcontents of theclient has included a Rapid CommitServer Identifier optionin its Solicit message,does not match theclient terminatesserver's identifier. - thewaiting process as soon as a Replymessagewithdoes not include aRapid CommitClient 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 optionis 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 Droms (ed.),or that do include a Server Identifier option. Droms, et al.Expires 30 Apr 2003Standards Track [Page26] Internet Draft29] RFC 3315 DHCP for IPv6(-28) 2 Nov 2002 SolicitJuly 2003 15.8. Decline Messages Clients MUST discard any received Decline messages.TheServers MUST discard any received Decline messageexchange isthat meets any of the following conditions: - the message does notterminated byinclude a Server Identifier option. - thereceiptcontents ofan Advertise before the first RT has elapsed. Rather,theclient collects Advertise messages untilServer Identifier option does not match thefirst RT has elapsed. Also,server's identifier. - thefirst RT MUST be selected to be strictly greater than IRT by choosing RAND to be strictly greater than 0. A clientmessage does not include a Client Identifier option. 15.9. Release Message Clients MUSTcollect Advertise messages fordiscard any received Release messages. Servers MUST discard any received Release message that meets any of the following conditions: - thefirst RT seconds, unless it receives an Advertisemessagewithdoes not include apreference valueServer Identifier option. - the contents of255. The preference value is carried inthePreferenceServer Identifier option(section 22.8). Any Advertise thatdoes not match the server's identifier. - the message does not include aPreference option is considered to haveClient 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 apreferenceServer Identifier option. - the "transaction-id" field in the message does not match the valueof 0.used in the original message. If the clientreceives an Advertise message that includesincluded aPreferenceClient Identifier optionwithin the original message, the Reply message MUST include apreference valueClient Identifier option and the contents of255,the Client Identifier option MUST match the DUID of the client; OR, if the clientimmediately beginsdid not include aclient-initiated message exchange (as describedClient Identifier option insection 18) by sendingthe original message, the Reply message MUST NOT include aRequestClient 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 theserver from whichclient. - theAdvertisemessagewas received. Ifdoes not include a Server Identifier option. - theclient receives an Advertisemessagethatdoes not include aPreferenceClient Identifier optionwith a preference value of 255, the client continues to wait until the first RT elapses. If the first RT elapses andthat contains theclient has received an Advertise message,client's DUID. - theclient SHOULD continue with a client-initiatedmessageexchange by sending a Request message. If the clientdoes notreceive 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,contain a Reconfigure Message option and theclient acts onmsg-type must be a valid value. - thereceived Advertisemessagewithout waiting forincludes anyadditional Advertise messages. A DHCP client SHOULD choose MRCIA options andMRD to be 0. IftheDHCP client is configured with either MRC or MRD set to a value other than 0, it MUST stop trying to configuremsg-type in theinterface ifReconfigure Message option is INFORMATION-REQUEST. - the messageexchange fails. After thedoes not include DHCPclient stops trying to configureauthentication: * theinterface, it SHOULD restartmessage does not contain an authentication option. * thereconfiguration process after some external event, such as user input, system restart, or whenmessage does not pass theclient is attached to a new link. 17.1.3. Receiptauthentication 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 ofAdvertise Messagesthe following conditions: - Theclient MUST ignore any Advertisemessagethatincludes aStatus CodeServer Identifier optioncontaining the value NoAddrsAvail, with the exception that the client MAY display the associated status message toand theuser. Upon receipt of one or more valid Advertise messages,DUID in theclient selects one or more Advertise messages based uponoption does not match thefollowing criteria.server's DUID. -Those Advertise messages with the highest server preference value are preferred over all other AdvertiseThe message includes an IA option. 15.13. Relay-forward Message Clients MUST discard any received Relay-forward messages.Droms (ed.),15.14. Relay-reply Message Clients and servers MUST discard any received Relay-reply messages. Droms, et al.Expires 30 Apr 2003Standards Track [Page27] Internet Draft31] RFC 3315 DHCP for IPv6(-28) 2 Nov 2002 - Within a group of Advertise messages with the same server preference value,July 2003 16. Client Source Address and Interface Selection When a clientMAY select those servers whose Advertise messages advertise information of interestsends a DHCP message to theclient. For example,All_DHCP_Relay_Agents_and_Servers address, it SHOULD send theclient may choose a server that returned an advertisement withmessage through the interface for which configurationoptions of interest toinformation is being requested. However, theclient. - Theclient MAYchoose a less-preferred serversend the message through another interface attached to the same link, if and only ifthat server has a better set of advertised parameters, such astheavailable addresses advertised in IAs. Once aclienthas selected Advertise message(s),is certain the two interfaces are attached to the same link. The clientwill typically store information about each server, suchMUST use a link-local address assigned to the interface for which it is requesting configuration information asserver preference value, addresses advertised, whentheadvertisement was received, and so on. Ifsource address in the header of the IP datagram. When a clientneedssends a DHCP message directly toselect an alternatea serverinusing unicast (after receiving thecaseServer Unicast option from thata chosen server does not respond,server), theclient choosessource address in thenext server accordingheader of the IP datagram MUST be an address assigned to thecriteria given above. 17.1.4. Receipt of Reply Message Ifinterface for which the clientincludes a Rapid Commit optionis interested in obtaining configuration and which is suitable for use by theSolicit message, it will expect a Reply message that includes a Rapid Commit optionserver inresponse. Theresponding to the client. 17. DHCP Server Solicitation This section describes how a clientdiscards any Reply messages it receiveslocates servers thatdo not include a Rapid Commit option. Ifwill assign addresses to IAs belonging to the client. The clientreceives a valid Reply messageis responsible for creating IAs and requesting thatincludesaRapid Commit option, it processesserver assign IPv6 addresses to themessage as described in section 18.1.8. If it does not receive such a Reply messageIA. The client first creates an IA anddoes receive a valid Advertise message, theassigns it an IAID. The clientprocesses the Advertisethen transmits a Solicit messageas described in section 17.1.3. 17.2. Server Behavior A server sendscontaining anAdvertise message in response to valid Solicit messages it receives to announceIA option describing theavailability ofIA. Servers that can assign addresses to theserverIA respond to theclient. 17.2.1. Receipt of Solicit Messagesclient with an Advertise message. Theserver determines the information about theclientand its locationthen initiates a configuration exchange as described in section11 and checks its administrative policy about responding to the client.18. If theserver is not permitted to respondclient will accept a Reply message with committed address assignments and other resources in response to theclient,Solicit message, theserver discardsclient includes a Rapid Commit option (see section 22.14) in the Solicit message.For example, if17.1. Client Behavior A client uses theadministrative policy forSolicit message to discover DHCP servers configured to assign addresses or return other configuration parameters on theserver is that it may only respondlink toawhich the clientthatiswilling to accept a Reconfigure message, ifattached. 17.1.1. Creation of Solicit Messages The client sets the "msg-type" field to SOLICIT. The clientindicates withgenerates aReconfigure Accept optiontransaction ID and inserts this value in theSolicit message that it will not accept a Reconfigure message, the servers discards the Solicit message. Droms (ed.),"transaction-id" field. Droms, et al.Expires 30 Apr 2003Standards Track [Page28] Internet Draft32] RFC 3315 DHCP for IPv6(-28) 2 Nov 2002 If theJuly 2003 The clienthas includedMUST include aRapid CommitClient Identifier optioninto identify itself to theSolicit message andserver. The client includes IA options for any IAs to which it wants the serverhas been configuredtorespond with committed address assignments and other resources,assign addresses. The client MAY include addresses in theserver respondsIAs as a hint to theSolicit withserver about addresses for which the client has aReply messagepreference. The client MUST NOT include any other options in the Solicit message, except asdescribedspecifically allowed insection 17.2.3. Otherwise,theserver ignoresdefinition of individual options. The client uses IA_NA options to request theRapid Commit optionassignment of non- temporary addresses andprocessesuses IA_TA options to request theremainderassignment ofthe message as if no Rapid Commit option were present. 17.2.2. Creation and Transmissiontemporary addresses. Either IA_NA or IA_TA options, or a combination ofAdvertise Messagesboth, can be included in DHCP messages. Theserver sets the "msg-type" fieldclient SHOULD include an Option Request option (see section 22.7) toADVERTISE and copiesindicate thecontentsoptions the client is interested in receiving. The client MAY additionally include instances of those options that are identified in thetransaction-id field fromOption Request option, with data values as hints to theSolicit message received fromserver about parameter values the client would like tothe Advertise message.have returned. Theserverclient includesits server identifier inaServer IdentifierReconfigure Accept optionand copies(see section 22.20) if theClient Identifierclient is willing to accept Reconfigure messages from the server. 17.1.2. Transmission of Solicitmessage into the Advertise message.Messages Theserver MAY add a Preference option to carryfirst Solicit message from thepreference value forclient on theAdvertise message. The server implementation SHOULD allowinterface MUST be delayed by a random amount of time between 0 and SOL_MAX_DELAY. In thesettingcase of aserver preference value by the administrator. The server preference value MUST default to zero unless otherwise configuredSolicit message transmitted when DHCP is initiated by IPv6 Neighbor Discovery, theserver administrator. The server includes a Reconfigure Accept option ifdelay gives theserver wantsamount of time torequire thatwait after IPv6 Neighbor Discovery causes the clientaccept Reconfigure messages. The server includes options the server will returnto invoke theclient instateful 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 asubsequent Reply message.power outage). Theinformation in these options may be used by theclientintransmits theselection of a server ifmessage according to section 14, using theclient receives more than one Advertise message.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 includedan Option Requesta Rapid Commit option intheits Solicit message, theserver includes options inclient terminates theAdvertisewaiting process as soon as a Reply messagecontaining configuration parameterswith a Rapid Commit option is received. If the client is waiting forall ofan Advertise message, theoptions identifiedmechanism in section 14 is modified as follows for use in theOption Request option thattransmission of Solicit messages. The message exchange is not terminated by theserver has been configured to return toreceipt of an Advertise before theclient. The server MAY return additional options tofirst RT has elapsed. Rather, the clientif itcollects Advertise messages until the first RT hasbeen configured to do so. The server SHOULD limitelapsed. Also, theoptions returnedfirst 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 theclient soPreference option (section 22.8). Any Advertise thatthe DHCP message header and options dodoes notcause fragmentation.include a Preference option is considered to have a preference value of 0. If theSolicitclient receives an Advertise messagefromthat includes a Preference option with a preference value of 255, the clientincluded one or more IA options, the server MUST include IA optionsimmediately begins a client- initiated message exchange (as described inthe Advertisesection 18) by sending a Request messagecontaining any addresses that would be assignedtoIAs contained intheSolicit messageserver from which theclient.Advertise message was received. If the clienthas included addresses in the IAs in the Solicit message, the server uses those addresses as hints about the addressesreceives an Advertise message that does not include a Preference option with a preference value of 255, the clientwould likecontinues toreceive. Ifwait until theserver will not assign any addresses to any IAs in a subsequent Request fromfirst RT elapses. If theclient,first RT elapses and theserver MUST sendclient has received an Advertisemessage tomessage, the clientthat includes only a Status Code optionSHOULD continue withcode NoAddrsAvail andastatusclient-initiated messagefor the user,exchange by sending aServer Droms (ed.), et al. Expires 30 Apr 2003 [Page 29] Internet Draft DHCP for IPv6 (-28) 2 Nov 2002 Identifier option withRequest message. If theserver's DUIDclient 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, anda Client Identifier option withtheclient's DUID. Ifclient acts on theSolicit message wasreceiveddirectly by the server, the server unicasts theAdvertise messagedirectlywithout waiting for any additional Advertise messages. A DHCP client SHOULD choose MRC and MRD to be 0. If the DHCP clientusing the address in the source address field fromis configured with either MRC or MRD set to a value other than 0, it MUST stop trying to configure theIP datagram in whichinterface if theSolicit message was received. The AdvertisemessageMUST be unicast onexchange fails. After thelink from whichDHCP client stops trying to configure theSolicit message was received. Ifinterface, it SHOULD restart theSolicit message was received in a Relay-forward message,reconfiguration process after some external event, such as user input, system restart, or when theserver constructsclient is attached to aRelay-reply message with thenew 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 messagein the payload ofthat includes a"relay-message" option. IfStatus Code option containing theRelay-forward messages included an Interface-id option,value NoAddrsAvail, with theserver copiesexception thatoption totheRelay-reply message. The server unicastsclient MAY display theRelay-replyassociated status messagedirectlyto therelay agent using the address in the source address field fromuser. Upon receipt of one or more valid Advertise messages, theIP datagram in whichclient selects one or more Advertise messages based upon theRelay-forward message was received. 17.2.3. Creation and Transmission of Reply Messages The server MUST commitfollowing criteria. - Those Advertise messages with theassignment of any addresses orhighest server preference value are preferred over all otherconfiguration information message before sendingAdvertise messages. - Within aReply message togroup of Advertise messages with the same server preference value, a clientin responseMAY select those servers whose Advertise messages advertise information of interest toa Solicit message. DISCUSSION: When usingtheSolicit-Reply message exchange,client. For example, the client may choose a servercommits the assignmentthat returned an advertisement with configuration options ofany addresses before sendinginterest to theReply message.client. - The clientcan assume itMAY choose a less-preferred server if that server hasbeen assigneda better set of advertised parameters, such as the available addresses advertised inthe Reply message and does not need to sendIAs. Once aRequest message for those addresses. Typically, servers that are configured to useclient has selected Advertise message(s), theSolicit-Reply message exchangeclient willbe deployed so that only onetypically store information about each server, such as serverwill respondpreference value, addresses advertised, when the advertisement was received, and so on. If the client needs to select an alternate server in the case that aSolicit message. If more than onechosen serverresponds,does not respond, the clientwill only usechooses theaddresses from one ofnext server according to theservers andcriteria given above. 17.1.4. Receipt of Reply Message If theaddresses fromclient includes a Rapid Commit option in theother serversSolicit message, it willbe committed to theexpect a Reply message that includes a Rapid Commit option in response. The clientbutdiscards any Reply messages it receives that do notused by the client. The server includesinclude a Rapid Commitoption inoption. If the client receives a valid Reply messageto indicatethatthe Reply is in response to a Solicit message. The serverincludes aReconfigure Accept option if the server wants to require that the client accept Reconfigure messages. The server producesRapid Commit option, it processes theReplymessage asthough it had received a Request message, asdescribed in section18.2.1. The server transmits the18.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 section18.2.8. Droms (ed.),17.1.3. Droms, et al.Expires 30 Apr 2003Standards Track [Page30] Internet Draft35] RFC 3315 DHCP for IPv6(-28) 2 Nov 2002 18. DHCP Client-Initiated Configuration Exchange AJuly 2003 If the clientinitiatessubsequently receives a valid Reply messageexchange withthat includes aserver or servers to acquire or update configuration information of interest. The client may initiateRapid Commit option, it either: processes theconfiguration exchangeReply message aspart of the operating system configuration process, when requesteddescribed in section 18.1.8, and discards any Reply messages received in response todo so bytheapplication layer, when required by Stateless Address AutoconfigurationRequest message, oras requiredprocesses any Reply messages received in response toextendthelifetime of an address (RenewRequest message andRebind messages). 18.1. Clientdiscards 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 clientuses Request, Renew, Rebind, ReleaseandDecline messages duringits location as described in section 11 and checks its administrative policy about responding to thenormal life cycle of addresses. It uses Confirmclient. If the server is not permitted tovalidate addresses whenrespond to the client, the server discards the Solicit message. For example, if the administrative policy for the server is that it mayhave movedonly respond to anew link. It uses Information-Request messages whenclient that is willing to accept a Reconfigure message, if the client indicates with a Reconfigure Accept option in the Solicit message that itneeds configuration information but no addresses.will not accept a Reconfigure message, the servers discard the Solicit message. If the client has included asource address of sufficient scope that can be used byRapid Commit option in the Solicit message and the serveras a returnhas been configured to respond with committed address assignments and other resources, theclient has receivedserver responds to the Solicit with aServer Unicast option (section 22.12) fromReply message as described in section 17.2.3. Otherwise, theserver,server ignores theclient SHOULD unicast any Request, Renew, ReleaseRapid Commit option andDecline messages toprocesses theserver. DISCUSSION: Use of unicast may avoid delays due to relayingremainder ofmessages by relay agents as wellthe message asavoid overheadif no Rapid Commit option were present. 17.2.2. Creation andduplicate responses by servers dueTransmission of Advertise Messages The server sets the "msg-type" field todeliveryADVERTISE and copies the contents of the transaction-id field from the Solicit message received from the clientmessagestomultiple servers. Requiringtheclient to relay allAdvertise 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 DHCPmessages throughfor IPv6 July 2003 The server MAY add arelay agent enablesPreference option to carry theinclusionpreference value for the Advertise message. The server implementation SHOULD allow the setting ofrelay agent options in all messages senta server preference value by theclient.administrator. The servershould enablepreference value MUST default to zero unless otherwise configured by theuse of unicast only when relay agent options will not be used. 18.1.1. Creation and Transmission of Request Messagesserver administrator. Theclient usesserver includes aRequest messageReconfigure Accept option if the server wants topopulate IAs with addresses and obtain other configuration information. Therequire that the client accept Reconfigure messages. The server includesone or more IAoptionsintheRequest message. Theserverthen returns addresses and other information about the IAswill return to the client inIA options ina subsequent Reply message. Theclient generates a transaction ID and inserts this valueinformation in these options may be used by the"transaction-id" field. Theclientplacesin theidentifierselection ofthe destination server in a Server Identifier option. The client MUST includeaClient Identifier option to identify itself toserver if theserver. Theclientadds any other appropriate options, Droms (ed.), et al. Expires 30 Apr 2003 [Page 31] Internet Draft DHCP for IPv6 (-28) 2 Nov 2002 including one orreceives moreIA options (ifthan one Advertise message. If the clientis requesting thathas 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 theserver assign it some network addresses). The client MUST include anOption Request option(see section 22.7) to indicatethat theoptionsserver has been configured to return to theclient is interested in receiving.client. Theclientserver MAYincludereturn additional optionswith data values as hintsto theserver about parameter values theclientwould likeif it has been configured tohave returned.do so. Theclient includes a Reconfigure Accept option (see section indicating whether or not the client is willing to accept Reconfigure messages fromserver must be aware of theserver. The client transmitsrecommendations on packet sizes and themessage according touse of fragmentation in section14, using the following parameters: IRT REQ_TIMEOUT MRT REQ_MAX_RT MRC REQ_MAX_RC MRD 05 of RFC 2460. If the Solicit messageexchange fails,from the clienttakes an action based on the client's local policy. Examples of actionsincluded one or more IA options, theclient might take include: - Select anotherserverfrom a list of servers known toMUST include IA options in theclient; for example, servers that responded with anAdvertise 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 thecontaining any addressesassigned to the interfaces onthatlink may no longerwould beappropriate to the linkassigned towhichIAs contained in theclient 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 disconnectedSolicit message froma wired connection o Thethe client. If the clientreturns from sleep mode o Thehas included addresses in the IAs in the Solicit message, the server uses those addresses as hints about the addresses the clientusing a wireless technology changes access points Inwould like to receive. If the server will not assign anysituation when a client may have movedaddresses to any IAs in anew link,subsequent Request from theclientclient, the server MUSTinitiate a Confirm/Replysend an Advertise messageexchange. The client includes any IAs assignedto theinterfaceclient thatmay have moved toincludes only aDroms (ed.), et al. Expires 30 Apr 2003 [Page 32] Internet Draft DHCPStatus Code option with code NoAddrsAvail and a status message forIPv6 (-28) 2 Nov 2002 new link, alongthe user, a Server Identifier option with theaddresses associatedserver's DUID, and a Client Identifier option withthose IAs, in its Confirm message. Any responding servers will indicate whether those addresses are appropriate tothelink to whichclient's DUID. If theclient is attached withSolicit message was received directly by thestatus inserver, theReplyserver unicasts the Advertise messageit returnsdirectly to theclient. Theclientsetsusing the"msg-type"address in the source address fieldto CONFIRM. The client generates a transaction ID and inserts this valuefrom the IP datagram in which the"transaction-id" field.Solicit message was received. TheclientAdvertise message MUSTincludebe unicast on the link from which the Solicit message was received. If the Solicit message was received in aClient IdentifierRelay-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 toidentify itself totheserver.Relay-reply message. Theclient includes IA options for all ofserver unicasts theIAs assignedRelay-reply message directly to theinterfacerelay 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 theConfirmRelay- forward messageis being sent. The IA options include allwas received. 17.2.3. Creation and Transmission ofthe addresses the client currently has associated with those IAs.Reply Messages Theclient SHOULD setserver MUST commit theT1 and T2 fields inassignment of anyIA_NA options and the preferred-lifetime and valid-lifetime fieldsaddresses or other configuration information message before sending a Reply message to a client inthe IA Address optionsresponse to0, asa Solicit message. DISCUSSION: When using theserver will ignore these fields. The first ConfirmSolicit-Reply messagefromexchange, theclient onserver commits theinterface MUST be delayed by a random amountassignment oftime between 0 and CNF_MAX_DELAY.any addresses before sending the Reply message. The clienttransmitscan assume it has been assigned the addresses in the Reply messageaccordingand does not need tosection 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 thesend a Request messagetransmission process as described in section 14 terminates, the client SHOULD continuefor those addresses. Typically, servers that are configured to useany IP addresses, usingthelast known lifetimes for those addresses, and SHOULD continueSolicit-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 useany other previously obtained configuration parameters. 18.1.3. Creation and Transmissionthe addresses from one ofRenew Messages To extendthevalid and preferred lifetimes forservers, while the addressesassociated with an IA,from the other servers will be committed to the clientsendsbut not used by the client. The server includes aRenewRapid 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 serverfrom whichwants to require that the clientobtainedaccept Reconfigure messages. The server produces theaddressesReply message as though it had received a Request message, as described in section 18.2.1. The server transmits theIA containing an IA option for the IA.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 clientincludes IA Address options inmay initiate theIA option forconfiguration exchange as part of theaddresses associated withoperating system configuration process, when requested to do so by theIA. The server determines new lifetimesapplication 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 addressesin the IA accordingwhen it may have moved tothe administrativea 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 theserver. Theservermay also add new addresses toas a return address, and theIA. The server may remove addressesclient has received a Server Unicast option (section 22.12) from theIA by settingserver, thepreferredclient SHOULD unicast any Request, Renew, Release andvalid lifetimes of those addressesDecline messages tozero. Droms (ed.), et al. Expires 30 Apr 2003 [Page 33] Internet Draft DHCP for IPv6 (-28) 2 Nov 2002 The server controls the time at whichtheclient contacts the serverserver. DISCUSSION: Use of unicast may avoid delays due toextend the lifetimes on assigned addresses throughtheT1relaying of messages by relay agents, as well as avoid overhead andT2 parameters assignedduplicate responses by servers due toan IA. At time T1 for an IA,the delivery of clientinitiates a Renew/Reply message exchangemessages toextend the lifetimes on any addresses inmultiple servers. Requiring theIA. Theclientincludes an IA option with all addresses currently assignedto relay all DHCP messages through a relay agent enables theIAinclusion of relay agent options inits Renew message. If T1 or T2 is set to 0all messages sent by the client. The server(for an IA_NA) or there are no T1 or T2 times (for an IA_TA),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 clientmay senduses aRenew or Rebind message, respectively, at the client's discretion.Request message to populate IAs with addresses and obtain other configuration information. The clientsetsincludes one or more IA options in the"msg-type" fieldRequest message. The server then returns addresses and other information about the IAs toRENEW.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 IAoptions. The client MUST include the list of addressesoptions (if the clientcurrently has associated with the IAs inis requesting that theRenew message.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: IRTREN_TIMEOUTREQ_TIMEOUT MRTREN_MAX_RTREQ_MAX_RT MRC0REQ_MAX_RC MRDRemaining time until T2 The0 If the message exchangeis terminated when time T2 is reached (seefails, 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 section18.1.4), at17. - 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 whichtimethe clientbeginsis 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 aRebind message exchange. 18.1.4. Creation and Transmission of Rebind Messages At time T2 for an IA (which will only be reached if the serverwireless technology changes access points. In any situation when a client may have moved towhich the Renew message was sent at time T1 has not responded),a new link, the clientinitiatesMUST initiate aRebind/ReplyConfirm/Reply messageexchange with any available server.exchange. The client includesan IA option with all addresses currentlyany IAs assigned to theIAinterface that may have moved to a new link, along with the addresses associated with those IAs, in itsRebind message. Droms (ed.),Droms, et al.Expires 30 Apr 2003Standards Track [Page34] Internet Draft40] RFC 3315 DHCP for IPv6(-28) 2 Nov 2002July 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 toREBIND.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 clientadds any appropriate options, including one or moreincludes IAoptions.options for all of the IAs assigned to the interface for which the Confirm message is being sent. Theclient MUSTIA options includethe listall of the addresses the client currently has associated withthe IAs in the Rebind message.those IAs. The clientMUST include an Option Request option (see section 22.7) to indicateSHOULD set theoptionsT1 and T2 fields in any IA_NA options, and theclient is interestedpreferred-lifetime and valid-lifetime fields inreceiving. The client MAY includethe IA Address optionswith data values as hintsto 0, as the serverabout parameter valueswill ignore these fields. The first Confirm message from the clientwould like to have returned.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: IRTREB_TIMEOUTCNF_TIMEOUT MRTREB_MAX_RTCNF_MAX_RT MRC 0 MRDRemaining time until validCNF_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 ofall addresses have expired The message exchange is terminated whenRenew Messages To extend the valid and preferred lifetimesof all offor the addressesassignedassociated with an IA, the client sends a Renew message to theIA expire (see section 10), atserver from whichtimethe clienthas several alternative actions to choose from;obtained the addresses in the IA containing an IA option forexample: -the IA. The clientmay choose to use a Solicit message to locate a new DHCPincludes IA Address options in the IA option for the addresses associated with the IA. The serverand send a Requestdetermines new lifetimes for theexpiredaddresses in the IA according to thenewadministrative 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. Theclientserver mayhave otherremove addressesin other IAs, sofrom the IA by setting the preferred and valid lifetimes of those addresses to zero. The server controls the time at which the clientmay choosecontacts the server todiscardextend the lifetimes on assigned addresses through the T1 and T2 parameters assigned to an IA. At time T1 for an IA, theexpired IA and useclient initiates a Renew/Reply message exchange to extend the lifetimes on any addresses in theother IAs 18.1.5. Creation and Transmission of Information-request MessagesIA. The clientusesincludes anInformation-request message to obtain configuration information without havingIA option with all addresses currently assigned toit.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 toINFORMATION-REQUEST.RENEW. The client generates a transaction ID and inserts this value in the "transaction-id" field. The clientSHOULDplaces 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.If theThe clientdoes not include a Client Identifier option, the server will not be able to returnadds anyDroms (ed.), et al. Expires 30 Apr 2003 [Page 35] Internet Draft DHCP for IPv6 (-28) 2 Nov 2002 client-specific options to the client,appropriate options, including one orthe server may choose not to respond to the message at all.more IA options. The client MUST includea Client Identifier option iftheInformation-Request message will be authenticated.list of addresses the client currently has associated with the IAs in the Renew message. The client MUST include an Option Request option (see section22.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. In the case of a Solicit message transmitted when DHCP is initiated by IPv6 Neighbor Discovery,22.7) to indicate thedelay givesoptions theamount of timeclient is interested in receiving. The client MAY include options with data values as hints towait after IPv6 Neighbor Discovery causesthe server about parameter values the client would like toinvoke the stateful address autoconfiguration protocol (see section 5.5.3 of RFC2462).have returned. The client transmits the message according to section 14, using the following parameters: IRTINF_TIMEOUTREN_TIMEOUT MRTINF_MAX_RTREN_MAX_RT MRC 0 MRD0 18.1.6.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 ofReleaseRebind MessagesTo release one or more addresses, aAt 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 clientsendsinitiates aReleaseRebind/Reply message exchange with any available server. The client includes an IA option with all addresses currently assigned to theserver.IA in its Rebind message. The client sets the "msg-type" field toRELEASE.REBIND. The client generates a transaction ID andplacesinserts this value in the "transaction-id" field. The clientplaces the identifier of the server that allocated the address(es) in a Server Identifier option. The clientMUST include a Client Identifier option to identify itself to the server. The clientincludes options containing the IAs foradds any appropriate options, including one or more IA options. The client MUST include the list of addressesit is releasingthe client currently has associated with the IAs in the"options" field.Rebind message. Theaddresses to be releasedclient MUSTbe included ininclude an Option Request option (see section 22.7) to indicate theIAs. Any addresses foroptions the client is interested in receiving. The client MAY include options with data values as hints to theIAsserver about parameter values the clientwishes to continue to use MUST NOT be in addedwould like tothe IAs.have returned. The clientMUST NOT use any oftransmits 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 addressesithave expired The message exchange isreleasing as the source address interminated when theRelease message or in any subsequently transmitted message. Because Release messages may be lost,valid lifetimes of all theclient should retransmitaddresses assigned to theRelease if no Reply is received. However, there are scenarios whereIA expire (see section 10), at which time the client has several alternative actions to choose from; for example: - The client maynot wishchoose towaituse a Solicit message to locate a new DHCP server and send a Request for thenormal retransmission Droms (ed.),expired IA to the new server. Droms, et al.Expires 30 Apr 2003Standards Track [Page36] Internet Draft43] RFC 3315 DHCP for IPv6(-28) 2 Nov 2002 timeout before giving up (e.g., on power down). Implementations SHOULD retransmit one or more times, but MAYJuly 2003 - The client may have other addresses in other IAs, so the client may choose toterminatediscard theretransmission procedure early.expired IA and use the addresses in the other IAs. 18.1.5. Creation and Transmission of Information-request Messages The clienttransmits theuses an Information-request messageaccordingtosection 14, using the following parameters: IRT REL_TIMEOUT MRT 0 MRC REL_MAX_MRC MRD 0obtain configuration information without having addresses assigned to it. The clientMUST stop using all ofsets theaddresses being released as soon as"msg-type" field to INFORMATION-REQUEST. The client generates a transaction ID and inserts this value in the "transaction-id" field. The clientbeginsSHOULD include a Client Identifier option to identify itself to theRelease message exchange process.server. Ifaddresses are released buttheReply fromclient does not include aDHCP server is lost,Client Identifier option, theclientserver willretransmitnot be able to return any client- specific options to theRelease message, andclient, or the server may choose not to respondwith a Reply indicating a status of NoBinding. Therefore,to theclient does not treat a Replymessagewith a status of NoBinding inat all. The client MUST include aRelease message exchange asClient Identifier option ifit indicatesthe Information-Request message will be authenticated. The client MUST include anerror. Note that ifOption Request option (see section 22.7) to indicate the options the clientfailsis interested in receiving. The client MAY include options with data values as hints toreleasetheaddresses, each address assignedserver about parameter values the client would like to have returned. The first Information-request message from theIA willclient on the interface MUST bereclaimeddelayed by a random amount of time between 0 and INF_MAX_DELAY. The client transmits theserver whenmessage according to section 14, using thevalid lifetime of that address expires. 18.1.7.following parameters: IRT INF_TIMEOUT MRT INF_MAX_RT MRC 0 MRD 0 18.1.6. Creation and Transmission ofDeclineRelease MessagesIf a client detects thatTo release one or moreaddresses assigned to it byaddresses, aserver are already in use by another node, theclient sends aDeclineRelease message to theserver to inform it that the address is suspect.server. The client sets the "msg-type" field toDECLINE.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 isdecliningreleasing in the "options" field. The addresses to bedeclinedreleased MUST be included in the IAs. Any addresses for the IAs the client wishes to continue to useshould notMUST NOT beinadded to the IAs. The client MUST NOT use any of the addresses it isdecliningreleasing as the source address in theDeclineRelease message or in any subsequently transmitted message.The client transmits the message according to section 14, using the following parameters: Droms (ed.), et al. Expires 30 Apr 2003 [Page 37] Internet Draft DHCP for IPv6 (-28) 2 Nov 2002 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 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 [21] 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 fromBecause Release messages may be lost, theIA options contained inclient should retransmit the Release if no Replymessage: - Record T1 and T2 times - Add any new addresses inis received. However, there are scenarios where theIA optionclient may not wish to wait for theIA as recorded bynormal 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- Update lifetimes for any addresses intransmits theIA option thatmessage according to section 14, using the following parameters: IRT REL_TIMEOUT MRT 0 MRC REL_MAX_RC MRD 0 The clientalready has recorded inMUST stop using all of theIA - Discard anyaddressesfrom the IAbeing released as soon asrecorded bythe clientthat have a valid lifetime of 0 inbegins theIA Address option Management ofRelease message exchange process. If addresses are released but thespecific configuration informationReply from a DHCP server isdetailed inlost, thedefinitionclient will retransmit the Release message, and the server may respond with a Reply indicating a status ofeach option, in section 22. IfNoBinding. Therefore, the clientreceivesdoes not treat a Reply message with aStatus Code containing UnspecFail, the server is indicating that it was unable to process thestatus of NoBinding in a Release messagedue toexchange as if it indicates anunspecified failure condition. Iferror. Note that if the clientretransmitsfails to release theoriginal messageaddresses, each address assigned to thesameIA will be reclaimed by the serverto retrywhen theDroms (ed.),valid lifetime of that address expires. Droms, et al.Expires 30 Apr 2003Standards Track [Page38] Internet Draft45] RFC 3315 DHCP for IPv6(-28) 2 Nov 2002 desired operation, theJuly 2003 18.1.7. Creation and Transmission of Decline Messages If a clientMUST limit the rate at whichdetects that one or more addresses assigned to itretransmitsby a server are already in use by another node, the client sends a Decline messageand limit the duration ofto thetime during whichserver to inform itretransmitsthat themessage. Whenaddress is suspect. The client sets the "msg-type" field to DECLINE. The clientreceives a Reply message withgenerates aStatus Code option withtransaction ID and places this valueUseMulticast,in the "transaction-id" field. The clientrecordsplaces thereceiptidentifier of themessage and sends subsequent messages to theserverthroughthat allocated theinterface on whichaddress(es) in a Server Identifier option. The client MUST include a Client Identifier option to identify itself to themessage was received using multicast.server. The clientresendsincludes options containing theoriginal message using multicast. WhenIAs for theclient receives a NotOnLink status fromaddresses it is declining in theserver"options" field. The addresses to be declined MUST be included inresponsethe IAs. Any addresses for the IAs the client wishes to continue to use should not be in added toa Confirm message,the IAs. The clientperforms DHCP server solicitationMUST NOT use any of the addresses it is declining asdescribedthe source address insection 17 and client-initiated configuration as describedthe Decline message or in any subsequently transmitted message. The client transmits the message according to section18.14, using the following parameters: IRT DEC_TIMEOUT MRT 0 MRC DEC_MAX_RC MRD 0 If addresses are declined but theclient receives any Reply messages that do not indicateReply from aNotOnLink status,DHCP server is lost, the clientcan use the addresses inwill retransmit theIADecline message, andignore any messages that do indicatethe server may respond with aNotOnLink status. WhenReply indicating a status of NoBinding. Therefore, the clientreceivesdoes not treat a Reply message with aNotOnLinkstatusfromof NoBinding in a Decline message exchange as if it indicates an error. 18.1.8. Receipt of Reply Messages Upon theserverreceipt of a valid Reply message in response to a Solicit (with a Rapid Commit option), Request, Confirm, Renew, Rebind or Information-request message, the clientcan either re-issue the Request without specifying any addresses or restartextracts the configuration Droms, et al. Standards Track [Page 46] RFC 3315 DHCPserver discovery process (see section 17). Whenfor IPv6 July 2003 information contained in the Reply. The clientreceives a NoAddrsAvailMAY choose to report any status code or message from theserverstatus code option inresponse to a Request,the Reply message. The clientcan either try another server (perhaps restarting the DHCP server discovery process) or use the Information-Request to obtain configuration parameters only. WhenSHOULD perform duplicate address detection [17] on each of theclientaddresses in any IAs it receivesa NoBinding statusinan IA fromtheserver in response to a RenewReply messageor a Rebind message,before using that address for traffic. If any of theclient sends a Requestaddresses are found toreestablish an IA withbe in use on theserver. Whenlink, the clientreceivessends avalid ReplyDecline messagein responsetoa Release message, the client considers the Release event completed, regardless of the Status Code option(s) returned bytheserver. Whenserver as described in section 18.1.7. If theclient receives a validReplymessagewas received in response to aDeclineSolicit (with a Rapid Commit option), Request, Renew or Rebind message, the clientconsiders the Decline event completed, regardless of the Status Code option(s) returned byupdates theserver. 18.2. Server Behavior For this discussion,information it has recorded about IAs from theServer is assumed to have been configuredIA options contained inan implementation specific manner with configuration of interest to clients. In most instances,theserver will send aReply message: - Record T1 and T2 times. - Add any new addresses inresponse to a client message. This Reply message MUST always containtheServer IdentifierIA optioncontainingto theserver's DUID andIA as recorded by theClient Identifierclient. - Update lifetimes for any addresses in the IA optionfromthat the clientmessage if one was present. Droms (ed.), et al. Expires 30 Apr 2003 [Page 39] Internet Draft DHCP for IPv6 (-28) 2 Nov 2002 In most Reply messages, the server includes options containing configuration information foralready has recorded in theclient. The server SHOULD limitIA. - Discard any addresses from theoptions returned toIA, as recorded by theclient soclient, that have a valid lifetime of 0 in theDHCP message header and options do not cause fragmentation. IfIA Address option. - Leave unchanged any information about addresses the clientincluded an Option Request optionhas recorded inits message,theserver includes optionsIA but that were not included in theReply message containing configuration parameters for allIA from the server. Management of theoptions identifiedspecific configuration information is detailed in theOption Requestdefinition of each optionthatin section 22. If the client receives a Reply message with a Status Code containing UnspecFail, the serverhas been configured to returnis indicating that it was unable to process theclient. The server MAY return additional optionsmessage due to an unspecified failure condition. If the clientif it has been configured to do so. 18.2.1. Receipt of Request Messages Whenretransmits theserver receives a Requestoriginal messagevia unicast from a clienttowhichthe same serverhas not sent a unicast option,to retry theserver discardsdesired operation, the client MUST limit the rate at which it retransmits theRequestmessage andresponds withlimit the duration of the time during which it retransmits the message. When the client receives a Reply messagecontainingwith a Status Code option with the value UseMulticast,a Server Identifier option containingtheserver's DUID,client records theClient Identifier option fromreceipt of theclientmessage andno other options. When the server receives a valid Request message, the server creates the bindings for that client accordingsends subsequent messages to theserver's policy and configuration information and records the IAs and other information requested by the client. Theserverconstructs a Reply message by setting the "msg-type" field to REPLY, copyingthrough thetransaction ID frominterface on which theRequestmessageinto the transaction-id field.was received using multicast. Theserver MUST include a Server Identifier option containingclient resends theserver's DUID andoriginal message using multicast. Droms, et al. Standards Track [Page 47] RFC 3315 DHCP for IPv6 July 2003 When theClient Identifier optionclient receives a NotOnLink status from theRequest messageserver in response to a Confirm message, theReply message. If theclient performs DHCP serverfinds that the prefix on one or more IP addresses in any IAsolicitation, as described inthe message fromsection 17, and client-initiated configuration as described in section 18. If the clientisreceives any Reply messages that do notappropriate to the link to whichindicate a NotOnLink status, the clientis connected,can use theserver MUST returnaddresses in the IAtoand ignore any messages that indicate a NotOnLink status. When the clientwithreceives aStatus Code option with value NotOnLink. IfNotOnLink status from the servercannot assign any addresses to an IAin response to a Request, themessage fromclient can either re-issue theclient,Request without specifying any addresses or restart the DHCP serverMUST includediscovery process (see section 17). The client examines theIAstatus code in each IA individually. If theReply message withstatus code is NoAddrsAvail, the client has received no usable addresses in the IA anda Status Code option in the IA containing status code NoAddrsAvail. For any IAsmay choose towhich the server can assign addresses, the server includestry obtaining addresses for the IAwithfrom another server. The client uses addresses and otherconfiguration parameters and records the IA as a new client binding. The server includesinformation from any IAs that do not contain aReconfigure AcceptStatus Code optionif the server wants to require thatwith theclient accept Reconfigure messages. The server includes other options containing configuration information to be returned toNoAddrsAvail code. If the clientas describedreceives no addresses insection 18.2. Droms (ed.), et al. Expires 30 Apr 2003 [Page 40] Internet Draft DHCP for IPv6 (-28) 2 Nov 2002 18.2.2. Receiptany ofConfirm Messages Whenthe IAs, it may either try another serverreceives a Confirm message,(perhaps restarting the DHCP serverdetermines if the addresses indiscovery process) or use theConfirm message are appropriateInformation-request message to obtain other configuration information only. When thelinkclient receives a Reply message in response towhicha Renew or Rebind message, the clientis attached. If all of the addressesexamines each IA independently. For each IA in theConfirmoriginal Renew or Rebind message, the client: - sends a Request messagepass this test,if theserver returnsIA contained astatus of Success. If any ofStatus Code option with theaddresses doNoBinding status (and does notpass this test, the server returnssend any additional Renew/Rebind messages) - sends astatus of NotOnLink. IfRenew/Rebind if theserverIA isunable to perform this test (for example, the server doesnothavein the Reply message - otherwise accepts the informationabout prefixes onin thelink to whichIA When the clientis connected) or there were no addressesreceives a valid Reply message inanyresponse to a Release message, the client considers the Release event completed, regardless of theIAs sentStatus Code option(s) returned by theclient,server. When theserver MUST NOT sendclient receives areplyvalid Reply message in response to a Decline message, theclient. The server ignoresclient considers theT1 and T2 fields inDecline event completed, regardless of theIA options andStatus Code option(s) returned by thepreferred-lifetime and valid-lifetime fieldsserver. 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, theIA Address options. Theserverconstructswill send a Replymessage by setting the "msg-type" fieldin response toREPLY, copying the transaction ID from the Confirma client message. This Reply messageinto the transaction-id field. The serverMUSTinclude aalways contain the Server Identifier option containing the server's DUID and the Client Identifier option from theConfirmclient messagein theif one was present. In most Replymessage. Themessages, the server includesa Status Codeoptions 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 optionindicatingin its message, thestatusserver includes options in the Reply message containing configuration parameters for all of theConfirm message. 18.2.3.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 ofRenewRequest Messages When the server receives aRenewRequest message via unicast from a client to which the server has not sent a unicast option, the server discards theRenewRequest 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 clientmessagemessage, and no other options. When the server receives aRenew 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 to 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. Thevalid Request message, the servermay choosecreates the bindings for that client according tochangethelist of addressesserver's policy and configuration information and records thelifetimes of addresses inIAsthat are returned toand other information requested by the client.Droms (ed.), et al. Expires 30 Apr 2003 [Page 41] Internet Draft DHCP for IPv6 (-28) 2 Nov 2002The server constructs a Reply message by setting the "msg-type" field to REPLY, and copying the transaction ID from theRenewRequest 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 theRenewRequest 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 WhenIf the serverreceives a Rebind message that contains an IA option from a client, it locates the client's binding and verifiesfinds that theinformationprefix on one or more IP addresses intheany IA in the message from the clientmatches the information storedis not appropriate forthat client. Iftheserver cannot find a client entry forlink to which theIAclient is connected, the serverreturnsMUST return the IAcontaining no addressesto the client with a Status Code optionset to NoBinding inwith theReply message.value NotOnLink. If the serverfinds thatcannot assign anyof theaddressesare no longer appropriateto an IA in thelink to whichmessage from theclient is attached,client, the serverreturnsMUST include theaddress toIA in theclientReply message withlifetimes of 0. If the server finds theno addresses in the IAfor the client then the server SHOULD send back the IA to the client with new lifetimesandT1/T2 times. The server constructsaReply message by settingStatus Code option in the"msg-type" fieldIA containing status code NoAddrsAvail. Droms, et al. Standards Track [Page 49] RFC 3315 DHCP for IPv6 July 2003 For any IAs toREPLY, copying the transaction ID fromwhich theRebind message intoserver can assign addresses, thetransaction-id field. TheserverMUST include a Server Identifier option containingincludes theserver's DUIDIA with addresses and other configuration parameters, and records theClient IdentifierIA as a new client binding. The server includes a Reconfigure Accept optionfromif theRebind message inserver wants to require that theReply message.client accept Reconfigure messages. The server includes other options containing configuration information to be returned to the client as described in section 18.2.18.2.5.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 ofInformation-requestConfirm Messages When the server receivesan Information-requesta Confirm message, the server determines whether the addresses in the Confirm message are appropriate for the link to which the client isrequesting configuration information that does not includeattached. If all of theassignmentaddresses in the Confirm message pass this test, the server returns a status of Success. If anyaddresses. Theof the addresses do not pass this test, the serverdetermines all configuration parameters appropriatereturns 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,based onthe serverconfiguration policies knownMUST NOT send a reply to theserver. Droms (ed.), et al. Expires 30 Apr 2003 [Page 42] Internet Draft DHCP for IPv6 (-28) 2 Nov 2002client. 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 theInformation-requestConfirm message into the transaction-id field. The server MUST include a Server Identifier option containing the server's DUIDin the Reply message. Ifand theclient included aClientIdentificationIdentifier optionin the Information-request message,from theserver copies that option toConfirm message in the Reply message. The server includesoptions 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 containinga Status Code optionwith value UseMulticast, a Server Identifier option containing the server's DUID, the Client Identifier option from the client message and no other options. Uponindicating thereceiptstatus ofa 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 deletestheaddresses from the IAs and makes the addresses availableConfirm message. Droms, et al. Standards Track [Page 50] RFC 3315 DHCP forassignment to other clients. The server ignores addresses not assigned toIPv6 July 2003 18.2.3. Receipt of Renew Messages When theIA, although it may chooseserver receives a Renew message via unicast from a client tolog an error. After allwhich theaddresses have been processed,server has not sent a unicast option, the servergeneratesdiscards the Renew message and responds with a Reply messageand includescontaining a Status Code option with the valueSuccess,UseMulticast, a Server Identifier optionwithcontaining the server'sDUID and aDUID, the Client Identifier optionwithfrom theclient's DUID. For eachclient 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 theRelease messageIA from the client matches the information stored forwhichthat client. If the serverhas no binding information,cannot find a client entry for theserver adds anIAoption usingtheIAID fromserver returns theRelease message and includesIA containing no addresses with a Status Code optionwith the valueset to NoBinding in theIA option. No other options are included inReply message. If theIA option. Aservermay choose to retain a recordfinds that any ofassignedthe addressesand IAs afterare not appropriate for the link to which the client is attached, the server returns the address to the client with lifetimesonof 0. If the server finds the addresseshave expiredin the IA for the client then the server sends back the IA toallowthe client with new lifetimes and T1/T2 times. The server may choose toreassignchange thepreviously assignedlist of addressesto a client. Droms (ed.), et al. Expires 30 Apr 2003 [Page 43] Internet Draft DHCP for IPv6 (-28) 2 Nov 2002 18.2.7. Receiptand the lifetimes ofDecline Messages Whenaddresses in IAs that are returned to the client. The serverreceivesconstructs aDeclineReply messagevia unicast from a client to whichby setting theserver has not sent a unicast option,"msg-type" field to REPLY, and copying theserver discardstransaction ID from theDecline message and responds with a ReplyRenew messagecontaining a Status Code option with value UseMulticast,into the transaction-id field. The server MUST include a Server Identifier option containing the server'sDUID,DUID and the Client Identifier option from theclientRenew messageand noin the Reply message. The server includes otheroptions. Uponoptions containing configuration information to be returned to thereceiptclient as described in section 18.2. 18.2.4. Receipt ofa valid Decline message,Rebind Messages When the serverexaminesreceives a Rebind message that contains an IA option from a client, it locates theIAsclient's binding and verifies that theaddressesinformation in theIAsIA from the client matches the information stored forvalidity.that client. Droms, et al. Standards Track [Page 51] RFC 3315 DHCP for IPv6 July 2003 If theIAs in the message are inserver cannot find abindingclient entry for theclientIA and the server determines that the addresses in theIAs have been assigned byIA are not appropriate for theserverlink tothose IA,which theserver deletesclient's interface is attached according to theaddresses fromserver's explicit configuration information, theIAs. Theserverignores addresses not assignedMAY send a Reply message to the client containing the client's IA, with the lifetimes for the addresses in the IA(though it may chooseset tologzero. This Reply constitutes anerrorexplicit 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 findssuch an address). The client has foundthat any of the addressesinare no longer appropriate for theDecline messageslink tobe already in use on its link. Therefore,which the client is attached, the serverSHOULD markreturns theaddresses declined byaddress to the clientso that those addresses are not assigned to other clients, and MAY choose to make a notification that addresses were declined. Local policy onwith lifetimes of 0. If the serverdetermines whenfinds the addressesidentifiedina Decline message may be made availablethe IA forassignment. After alltheaddress have been processed,client then the servergeneratesSHOULD 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, andincludes a Status Code option with value Success,copying the transaction ID from the Rebind message into the transaction-id field. The server MUST include a Server Identifier optionwithcontaining the server's DUID andathe Client Identifier optionwith the client's DUID. For each IA infrom theDeclineRebind messagefor whichin the Reply message. The serverhas no binding information,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 serveraddsreceives anIA option usingInformation-request message, theIAID fromclient is requesting configuration information that does not include theReleaseassignment 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, andincludescopying the transaction ID from the Information-request message into the transaction-id field. The server MUST include aStatus CodeServer Identifier optionwith the value NoBinding incontaining theIA option. No other options are includedserver's DUID in theIA option. 18.2.8. Transmission ofReplyMessagesmessage. If theoriginal message was received directly byclient included a Client Identification option in theserver,Information-request message, the serverunicastscopies that option to the Replymessage directlymessage. 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 clientusing the addressas described in section 18.2. If thesource address fieldInformation-request message received from theIP datagram in whichclient did not include a Client Identifier option, theoriginal message was received. Theserver SHOULD respond with a Reply messageMUST be unicast throughcontaining any configuration parameters that are not determined by theinterface on whichclient's identity. If theoriginalserver chooses not to respond, the client may continue to retransmit the Information-request messagewas received. Ifindefinitely. 18.2.6. Receipt of Release Messages When theoriginalserver receives a Release messagewas received invia unicast from aRelay-forward message,client to which the serverconstructshas not sent aRelay-replyunicast option, the server discards the Release message and responds withthea Reply messagein the payload ofcontaining aRelay MessageStatus Code option(see section 22.10). Ifwith value UseMulticast, a Server Identifier option containing theRelay-forward messages included an Interface-id option,server's DUID, theserver copies thatClient Identifier optiontofrom theRelay-reply message. The server unicastsclient message, and no other options. Upon theRelay-reply message directly toreceipt of a valid Release message, therelay agent usingserver examines the IAs and theaddressaddresses in thesource address field fromIAs for validity. If theIP datagramIAs inwhichtheRelay-forwardmessagewas received. Droms (ed.), et al. Expires 30 Apr 2003 [Page 44] Internet Draft DHCP for IPv6 (-28) 2 Nov 2002 19. DHCP Server-Initiated Configuration Exchange A server initiatesare in aconfiguration exchange to cause DHCP clients to obtain new addressesbinding for the client, andother configuration information. For example, an administrator may use a server-initiated configuration exchange when links intheDHCP domain are to be renumbered. Other examples include changesaddresses in thelocation of directory servers, addition of new services such as printing, and availability of new software. 19.1. Server Behavior AIAs have been assigned by the serversends a Reconfigure messagetocause a client to initiate immediately a Renew/Reply or Information-request/Reply message exchange withthose IAs, theserver. 19.1.1. Creation and Transmission of Reconfigure Messages Theserversetsdeletes the"msg-type" fieldaddresses from the IAs and makes the addresses available for assignment toRECONFIGURE.other clients. The serversetsignores addresses not assigned to thetransaction-id fieldIA, although it may choose to0. Thelog 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 optioncontaining its DUIDwith the server's DUID, and a Client Identifier optioncontainingwith the client'sDUIDDUID. For each IA in theReconfigure message. TheRelease message for which the serverMAY includehas no binding information, the server adds anOption RequestIA optionto informusing theclient of what information has been changed or new information that has been added. In particular,IAID from the Release message, and includes a Status Code option with theserver specifiesvalue NoBinding in the IAoptionoption. No other options are included in theOption Request option if theIA option. A serverwants the clientmay choose toobtain new address information. If the server identifiesretain a record of assigned addresses and IAs after theIA option inlifetimes on theOption Request option,addresses have expired to allow the serverMUST include an IA option that contains no other sub-options to identify each IA that istobe reconfigured onreassign the previously assigned addresses to a client.Because of the risk of denial18.2.7. Receipt ofservice attacks against DHCP clients,Decline Messages When theuse of a security mechanism is mandated in Reconfigure messages. TheserverMUST use DHCP authentication inreceives a Decline message via unicast from a client to which theReconfigure message. TheserverMUST includehas not sent aReconfigure Message option (defined in section 22.19) to select whetherunicast option, theclientserver discards the Decline message and responds with aRenewReply messageor an Information-Request message. The server MUST NOT include any other options incontaining a Status Code option with theReconfigure except as specifically allowed invalue UseMulticast, a Server Identifier option containing thedefinition of individualserver's DUID, the Client Identifier option from the client message, and no other options.A server sends each Reconfigure message to a singleDroms, et al. Standards Track [Page 53] RFC 3315 DHCPclient, using anfor IPv6unicast addressJuly 2003 Upon the receipt ofsufficient scope belonging toa 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 theDHCP client. Ifclient, and theserver does notaddresses in the IAs havean address to which it can sendbeen assigned by theReconfigure message directlyserver to those IAs, theclient,server deletes the addresses from the IAs. The serveruses a Relay-reply message (as described in section 20.3)ignores addresses not assigned tosendtheReconfigure messageIA (though it may choose toa relay agent that will relaylog an error if it finds such an address). The client has found any addresses in themessageDecline messages toDroms (ed.), et al. Expires 30 Apr 2003 [Page 45] Internet Draft DHCP for IPv6 (-28) 2 Nov 2002be already in use on its link. Therefore, theclient. Theservermay obtainSHOULD mark theaddress ofaddresses declined by the client(and the appropriate relay agent, if required) through the informationso that those addresses are not assigned to other clients, and MAY choose to make a notification that addresses were declined. Local policy on the serverhas about clients that have beendetermines when the addresses identified incontact witha Decline message may be made available for assignment. After all theserver, or through some external agent. To reconfigure more than one client,addresses have been processed, the serverunicastsgenerates aseparateReply messageto each client. The server may initiateand includes a Status Code option with thereconfiguration of multiple clients concurrently; for example,value Success, aserver may sendServer Identifier option with the server's DUID, and aReconfigure message to additional clients while previous reconfiguration message exchanges are still in progress. The Reconfigure message causesClient Identifier option with the client's DUID. For each IA in theclient to initiate a Renew/Reply or Information-request/ReplyDecline messageexchange withfor which theserver. Theserverinterpretshas no binding information, thereceipt of a Renew or Information-request message (whichever was specified inserver adds an IA option using theoriginal Reconfigure message)IAID from theclient as satisfying the ReconfigureRelease messagerequest. 19.1.2. Time OutandRetransmissionincludes 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 ofReconfigureReply Messages If the original message was received directly by the server, the serverdoes not receive a Renew or Information-requestunicasts the Reply messagefromdirectly to the client using the address inREC_TIMEOUT milliseconds,theserver retransmitssource address field from theReconfigure message, doublesIP datagram in which theREC_TIMEOUT value and waits again.original message was received. Theserver continues this process until REC_MAX_RC unsuccessful attempts have been made, atReply message MUST be unicast through the interface on whichpointtheserver SHOULD abortoriginal message was received. If thereconfigure process for that client. Default and initial values for REC_TIMEOUT and REC_MAX_RC are documentedoriginal message was received insection 5.5. 19.2. Receipt of Renew Messages The server generates and sendsaReply message toRelay-forward message, theclient as described in sections 18.2.3 and 18.2.8, including options for configuration parameters. TheserverMAY include options containing the IAs and new values for other configuration parameters inconstructs a Relay-reply message with the Replymessage, even if those IAs and parameters were not requestedmessage in theRenew message frompayload of a Relay Message option (see section 22.10). If the Relay-forward messages included an Interface-id option, theclient. 19.3. Receipt of Information-request Messagesserver copies that option to the Relay-reply message. The servergenerates and sends a Replyunicasts the Relay-reply message directly to theclient as describedrelay agent using the address insections 18.2.5 and 18.2.8, including options for configuration parameters. Thethe source address field from the IP datagram in which the Relay-forward message was received. 19. DHCP Server-Initiated Configuration Exchange A serverMAY include options containinginitiates a configuration exchange to cause DHCP clients to obtain newvalues foraddresses and other configurationparameters in the Reply message, even if those parameters were not requestedinformation. For example, an administrator may use a server-initiated configuration exchange when links in theInformation-request message from the client. Droms (ed.),DHCP domain are to be renumbered. Other Droms, et al.Expires 30 Apr 2003Standards Track [Page46] Internet Draft54] RFC 3315 DHCP for IPv6(-28) 2 Nov 2002 19.4. Client Behavior A client receives Reconfigure messages sent to 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,July 2003 examples include changes in theclient SHOULD log these events, and MAY notify these programslocation ofthe change through an implementation-specific interface. 19.4.1. Receiptdirectory servers, addition ofReconfigure Messages Upon receiptnew services such as printing, and availability of new software. 19.1. Server Behavior A server sends avalidReconfiguremessage, themessage to cause a clientresponds with eitherto initiate immediately aRenew messageRenew/Reply oran Information-requestInformation-request/Reply messageas indicated byexchange with theReconfigure Message option (as defined in section 22.19).server. 19.1.1. Creation and Transmission of Reconfigure Messages Theclient ignoresserver sets thetransaction-id"msg-type" fieldinto RECONFIGURE. The server sets thereceived Reconfigure message. Whiletransaction-id field to 0. The server includes a Server Identifier option containing its DUID and a Client Identifier option containing thetransaction isclient's DUID inprogress,theclient silently discards anyReconfiguremessages it receives. DISCUSSION:message. TheReconfigure message acts as a trigger that signals the clientserver MAY include an Option Request option tocomplete a successful message exchange. Onceinform the client of what information hasreceived a Reconfigure,been changed or new information that has been added. In particular, theclient proceeds withserver specifies themessage exchange (retransmittingIA option in theRenew or Information-request messageOption Request option ifnecessary); the client ignores any additional Reconfigure messages untiltheexchange is complete. Subsequent Reconfigure messages causeserver wants the client toinitiate aobtain newexchange. How does this mechanism work inaddress information. If theface of duplicated or retransmitted Reconfigure messages? Duplicate messages will be ignored becauseserver identifies theclient will beginIA option in theexchange afterOption Request option, thereceiptserver 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 thefirst Reconfigure. Retransmitted messages will either triggerrisk of denial of service attacks against DHCP clients, theexchange (ifuse of a security mechanism is mandated in Reconfigure messages. The server MUST use DHCP authentication in thefirstReconfigurewas not received bymessage. The server MUST include a Reconfigure Message option (defined in section 22.19) to select whether theclient)client responds with a Renew message orwill be ignored.an Information-Request message. The servercan discontinue retransmissionMUST NOT include any other options in the Reconfigure except as specifically allowed in the definition of individual options. A server sends each Reconfiguremessagesmessage to a single DHCP client, using an IPv6 unicast address of sufficient scope belonging to theclient onceDHCP client. If the serverreceivesdoes not have an address to which it can send theRenew or Information-requestReconfigure messagefromdirectly to theclient. It might be possible forclient, the server uses aduplicate or retransmitted ReconfigureRelay-reply message (as described in section 20.3) tobe sufficiently delayed (and delivered out of order)send the Reconfigure message toarrive ata relay agent that will relay theclient aftermessage to theexchange (initiated byclient. The server may obtain theoriginal Reconfigure) has been completed. In this case,address of the clientwould initiate a redundant exchange. The likelihood of delayed and out of order delivery is small enough to be ignored. The consequence of(and theredundant exchange is inefficiency rather than incorrect operation. Droms (ed.),Droms, et al.Expires 30 Apr 2003Standards Track [Page47] Internet Draft55] RFC 3315 DHCP for IPv6(-28) 2 Nov 2002 19.4.2. Creation and TransmissionJuly 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 ofRenew Messages When respondingmultiple 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 aReconfigure,Renew/Reply or Information-request/Reply message exchange with theclient creates and sendsserver. The server interprets the receipt of a Renew or Information-request message (whichever was specified inexactly the same manner as outlined in section 18.1.3, withtheexception thatoriginal Reconfigure message) from the clientcopies the Option Request option and any IA options fromas satisfying the Reconfigure messageinto the Renew message. 19.4.3. Creationrequest. 19.1.2. Time Out andTransmissionRetransmission ofInformation-requestReconfigure MessagesWhen responding to a Reconfigure, the client creates and sendsIf the server does not receive a Renew or Information-request messagein exactly the same manner as outlined in section 18.1.5, with the exception thatfrom the clientincludes a Server Identifier option within REC_TIMEOUT milliseconds, theidentifier fromserver retransmits the Reconfiguremessage tomessage, 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 theclient is responding. 19.4.4. Time Outserver SHOULD abort the reconfigure process for that client. Default andRetransmissioninitial values for REC_TIMEOUT and REC_MAX_RC are documented in section 5.5. 19.2. Receipt of Renewor Information-requestMessages Theclient uses the same variablesserver generates andretransmission algorithm as it does with Renew or Information-request messages generated as part ofsends aclient-initiated configuration exchange. SeeReply message to the client as described in sections18.1.318.2.3 and18.1.518.2.8, including options fordetails. If the client does not receive a response from theconfiguration parameters. The serverby the end ofMAY include options containing theretransmission process,IAs and new values for other configuration parameters in theclient ignoresReply message, even if those IAs anddiscardsparameters were not requested in theReconfigure message. 19.4.5.Renew message from the client. 19.3. Receipt ofReplyInformation-request MessagesUpon the receipt ofThe server generates and sends avalidReplymessage,message to the clientprocesses the optionsas described in sections 18.2.5 andsets (or resets)18.2.8, including options for configurationparameters appropriately. The client records and updates the lifetimesparameters. Droms, et al. Standards Track [Page 56] RFC 3315 DHCP forany addresses specified in IAs in the Reply message. 20. Relay Agent BehaviorIPv6 July 2003 Therelay agent MAY be configured to use a list of destination addresses, whichserver MAY includeunicast addresses, the All_DHCP_Servers multicast address, oroptions containing new values for otheraddresses selected by the network administrator. Ifconfiguration parameters in therelay agent hasReply message, even if those parameters were notbeen explicitly configured, it MUST use the All_DHCP_Servers multicast address asrequested in thedefault. IfInformation-request message from therelay agent relaysclient. 19.4. Client Behavior A client receives Reconfigure messages sent to theAll_DHCP_Servers multicast address or other multicast addresses, it sets the Hop Limit field to 32. Droms (ed.), et al. Expires 30 Apr 2003 [Page 48] Internet Draft DHCPUDP port 546 on interfaces forIPv6 (-28) 2 Nov 2002 20.1. Relaying a Client Message or a Relay-forward Message A relay agent relays both messages from clients and Relay-forwardwhich it has acquired configuration information through DHCP. These messagesfrom other relay agents. When a relay agent receives a valid message tomay berelayed, it constructs a new Relay-forward message. The relay agent copiessent at any time. Since thesource address fromresults of a reconfiguration event may affect application layer programs, theheaderclient SHOULD log these events, and MAY notify these programs of theIP datagram in which the message was received to the peer-address fieldchange through an implementation-specific interface. 19.4.1. Receipt of Reconfigure Messages Upon receipt of a valid Reconfigure message, theRelay-forward message. The relay agent copies the received DHCPclient responds with either a Renew message(excluding any IPorUDP headers) into a Relayan Information-request message as indicated by the Reconfigure Message option (as defined in section 22.19). The client ignores thenewtransaction-id field in the received Reconfigure message.The relay agent adds toWhile theRelay-forward messagetransaction is in progress, the client silently discards anyother optionsReconfigure messages itis configured to include. 20.1.1. Relayingreceives. DISCUSSION: The Reconfigure message acts as aMessage fromtrigger that signals the client to complete aClient Ifsuccessful message exchange. Once therelay agentclient has received a Reconfigure, the client proceeds with the messageto be relayed from a client,exchange (retransmitting therelay agent places a globalRenew orsite-scoped address with a prefix assignedInformation-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 thelink on whichface of duplicated or retransmitted Reconfigure messages? Duplicate messages will be ignored because the clientshouldwill 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 beassigned an address inignored. The server can discontinue retransmission of Reconfigure messages to thelink-address field. This address will be used byclient once the serverto determinereceives thelinkRenew or Information-request message fromwhichtheclient shouldclient. It might beassigned an address and other configuration information. The hop-count in the Relay-forward message is setpossible for a duplicate or retransmitted Reconfigure to0. If the relay agent cannot use the address in the link-address fieldbe sufficiently delayed (and delivered out of order) toidentifyarrive at theinterface through whichclient after theresponse toexchange (initiated by the original Reconfigure) has been completed. In this case, the clientwillwould 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 berelayed,ignored. The consequence of therelay agent MUST include an Interface-id option (see section 22.18) inredundant exchange is inefficiency rather than incorrect operation. 19.4.2. Creation and Transmission of Renew Messages When responding to a Reconfigure, theRelay-forward message. The server will includeclient creates and sends theInterface-id option in its Relay-reply message. The relay agent fillsRenew message in exactly thelink-address fieldsame manner asdescribedoutlined in section 18.1.3, with theprevious paragraph regardless of whetherexception that therelay agent includes an Interface-id option inclient copies theRelay-forward message. 20.1.2. Relaying a MessageOption Request option and any IA options froma Relay Agent Ifthe Reconfigure messagereceived byinto therelay agent is a Relay-forward messageRenew message. 19.4.3. Creation and Transmission of Information-request Messages When responding to a Reconfigure, thehop-count in the message is greater than or equal to HOP_COUNT_LIMIT, the relay agent discards the received message. The relay agent copiesclient creates and sends thesource address fromInformation-request message in exactly theIP datagramsame manner as outlined inwhichsection 18.1.5, with themessage was received fromexception that the clientintoincludes a Server Identifier option with thepeer-address field inidentifier from theRelay-forwardReconfigure messageand sets the hop-count fieldto which thevalueclient is responding. 19.4.4. Time Out and Retransmission of Renew or Information-request Messages The client uses thehop-count field in the received message incremented by 1.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 thesource addressclient does not receive a response from theIP datagram headerserver by the end of thereceived message is a global or site-local address (andretransmission process, thedevice on whichclient ignores and discards therelay agent is running belongs to only one site),Reconfigure message. 19.4.5. Receipt of Reply Messages Upon therelay agent setsreceipt of a valid Reply message, thelink-address field to 0; otherwiseclient processes therelay agentoptions and sets (or resets) configuration parameters appropriately. The client records and updates thelink-address field to a global or site-local address assigned to the interface on which the message was received, or includes an Droms (ed.), et al. Expires 30 Apr 2003 [Page 49] Internet Draft DHCPlifetimes forIPv6 (-28) 2 Nov 2002 Interface-ID option to identify the interface on which the message was received. 20.2. Relaying a Relay-reply Message The relay agent processesanyoptions includedaddresses specified inthe Relay-reply messageIAs inaddition tothe Reply message. 20. RelayMessage option and then discards those options.Agent Behavior The relay agentextractsMAY be configured to use a list of destination addresses, which MAY include unicast addresses, themessage fromAll_DHCP_Servers multicast address, or other addresses selected by theRelay Message option and relaysnetwork administrator. If the relay agent has not been explicitly configured, ittoMUST use the All_DHCP_Servers multicast addresscontained in the peer-address field ofas theRelay-reply message.default. Droms, et al. Standards Track [Page 58] RFC 3315 DHCP for IPv6 July 2003 If theRelay-reply message includes an Interface-id option, therelay agent relaysthe message from the servermessages to theclient on the link identified by the Interface-id option. Otherwise, ifAll_DHCP_Servers multicast address or other multicast addresses, it sets thelink-addressHop Limit fieldis not settozero, the32. 20.1. Relaying a Client Message or a Relay-forward Message A relay agent relaysthe message on the link identified by the link-address field. 20.3. Construction of Relay-reply Messages A server usesboth messages from clients and Relay-forward messages from other relay agents. When aRelay-reply message to returnrelay agent receives aresponsevalid message to be relayed, it constructs aclient ifnew Relay-forward message. The relay agent copies theoriginal messagesource address from theclient was relayed toheader of theserverIP datagram ina Relay-forward message or to send a Reconfigure message to a client if the server does not have an address it can use to sendwhich the messagedirectly to the client. A responsewas received to theclient MUST be relayed through the same relay agents aspeer-address field of theoriginal clientRelay-forward message. Theserver causes this to happen by creating a Relay-replyrelay agent copies the received DHCP messagethat includes(excluding any IP or UDP headers) into a Relay Message optioncontaining the message forin thenextnew message. The relay agentin the return pathadds to theclient. The contained Relay-replyRelay-forward messagecontains another Relayany other options it is configured to include. 20.1.1. Relaying a Messageoptionfrom a Client If the relay agent received the message to besent torelayed from a client, thenextrelayagent, and so on. The server must recordagent places a global or site-scoped address with a prefix assigned to thecontents oflink on which thepeer-address fieldsclient should be assigned an address in thereceived message so it can constructlink-address field. This address will be used by theappropriate Relay-reply message carryingserver to determine theresponselink from which theserver. For example, ifclientC sent a message that was relayed by relay agent A to relay agent Bshould be assigned an address andthen to the server, the server would sendother configuration information. The hop-count in thefollowing Relay-ReplyRelay-forward message is set to 0. If the relay agentB: 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:cannot use the addressfrom link to which C is attached peer-address: C Droms (ed.), et al. Expires 30 Apr 2003 [Page 50] Internet Draft DHCP for IPv6 (-28) 2 Nov 2002 Relay Message option: <response from server> When sending a Reconfigure messagein the link-address field toa clientidentify the interface througha relay agent,which theserver creates a Relay-reply message that includes a Relay Message option containingresponse to theReconfigure message forclient will be relayed, thenextrelay agent MUST include an Interface-id option (see section 22.18) in thereturn path to the client.Relay-forward message. The serversetswill include thepeer-address fieldInterface-id option intheits Relay-replymessage header to the address of the client, and setsmessage. The relay agent fills in the link-address field asrequired bydescribed in the previous paragraph regardless of whether the relay agenttoincludes 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 theReconfiguremessage is greater than or equal to HOP_COUNT_LIMIT, theclient.relay agent discards the received message. Theserver obtainsrelay agent copies theaddresses ofsource address from theclient andIP datagram in which therelay agent through prior interaction withmessage was received from the clientor through some external mechanism. 21. Authentication of DHCP Messages Some network administrators may wish to provide authentication ofinto thesourcepeer-address field in the Relay-forward message andcontents of DHCP messages. For example, clients may be subject to denial of service attacks throughsets theuse of bogus DHCP servers, or may simply be misconfigured due to unintentionally instantiated DHCP servers. Network administrators may wishhop-count field toconstraintheallocation of addresses to authorized hosts to avoid denialvalue ofservice 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 onthedesign of authentication for DHCPv4 [7]. 21.1. Security of Messages Sent Between Servers and Relay Agents Relay agents and servers that exchange messages securely usehop-count field in theIPsec mechanismsreceived message incremented by 1. Droms, et al. Standards Track [Page 59] RFC 3315 DHCP for IPv6[11]. Relay agents and servers MUST support manual configuration and installation of static keys.July 2003 Ifa clientthe source address from the IP datagram header of the received message isrelayed through multiple relay agents, each ofa global or site-local address (and therelay agents must have established independent, pairwise trust relationships. That is, if messages from client C will be relayed by relay agent A to relay agent B and then todevice on which theserver,relayagents A and B must be configuredagent is running belongs touse IPSec foronly one site), themessages they exchange, andrelay agentB andsets theserver must be configuredlink-address field touse IPSec for0; otherwise themessages they exchange. Relay agents and servers that support securerelay agent sets the link-address field toservera global orrelay agentsite-local address assigned torelay agent communication use IPsec under the following conditions: Selectors Relay agents are manually configured withtheaddresses ofinterface on which therelay agentmessage was received, orserverincludes an Interface-ID option to identify the interface on whichDHCP messages are to be forwarded. Eachthe message was received. 20.2. Relaying a Relay-reply Message The relay agentand server that will be using IPsec for securing DHCP messages must also be configured Droms (ed.), et al. Expires 30 Apr 2003 [Page 51] Internet Draft DHCP for IPv6 (-28) 2 Nov 2002 with a list ofprocesses any options included in therelay agentsRelay-reply message in addition towhich messages will be returned.the Relay Message option, and then discards those options. Theselectors for therelayagentsagent extracts the message from the Relay Message option andservers will berelays it to thepairsaddress contained in the peer-address field ofaddresses definingthe Relay-reply message. If the Relay-reply message includes an Interface-id option, the relayagents and servers that exchange DHCP messagesagent relays the message from the server to the client on theDHCPv6 UDP ports 546 and 547. Mode Relay agents and servers use transport mode and ESP. The information in DHCP messageslink identified by the Interface-id option. Otherwise, if the link-address field is notgenerally considered confidential, so encryption need not be used (i.e., NULL encryption can be used). Key management Becauseset to zero, the relayagents and servers must be manually configured, no automated key management is required. Security policy DHCP messages between relay agents and servers should only be accepted from DHCP peers asagent relays the message on the link identifiedinby thelocal configuration. Authentication Shared keys, indexedlink-address field. 20.3. Construction of Relay-reply Messages A server uses a Relay-reply message to return a response to a client if thesource IP address oforiginal message from thereceived DHCP message, are adequate in this application. Availability Appropriate IPsec implementations are likelyclient was relayed tobe available for servers and for relay agents in more featureful devices usedthe server inenterprise and core ISP networks. IPsec is less likelya 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 beavailable forrelayed through the same relay agentsin low end devices primarily used inas thehome or small office markets. 21.2. Summary of DHCP Authentication Authentication of DHCP messages is accomplished throughoriginal client message. The server causes this to happen by creating a Relay-reply message that includes a Relay Message option containing theuse ofmessage for theAuthentication option (see section 22.11). The authentication information carriednext relay agent in theAuthenticationreturn path to the client. The contained Relay-reply message contains another Relay Message optioncanto beusedsent toreliably identifythesourcenext relay agent, and so on. The server must record the contents ofathe 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 toconfirm thatthecontents ofserver, theDHCPserver would send the following Relay-Reply messagehave not been tampered with. The Authentication option providesto 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 aframework for multiple authentication protocols. Two such protocols are defined here. Other protocols defined in the future will be specified in separate documents. Any DHCPReconfigure messageMUST NOT include more than one Authentication option. The protocol field into a client through a relay agent, theAuthenticationserver creates a Relay-reply message that includes a Relay Message optionidentifiescontaining thespecific protocol used to generateReconfigure message for theauthentication information carriednext relay agent in theoption. The algorithm field identifies a specific Droms (ed.), et al. Expires 30 Apr 2003 [Page 52] Internet Draft DHCP for IPv6 (-28) 2 Nov 2002 algorithm withinreturn path to theauthentication protocol; for example,client. The server sets thealgorithmpeer-address fieldspecifiesin thehash algorithm usedRelay-reply message header togeneratethemessage authentication code (MAC) inaddress of theauthentication option. The replay detection method (RDM)client, and sets the link-address fieldspecifiesas required by thetype of replay detection used inrelay agent to relay thereplay detection field. 21.3. Replay DetectionReconfigure message to the client. TheReplay Detection Method (RDM) field determinesserver obtains thetypeaddresses ofreplay detection used intheReplay Detection field. Ifclient and theRDM field contains 0x00,relay agent through prior interaction with thereplay detection field MUST be setclient or through some external mechanism. 21. Authentication of DHCP Messages Some network administrators may wish tothe valueprovide authentication ofa monotonically increasing counter. Using a counter value such asthecurrent timesource and contents ofday (forDHCP messages. For example,an NTP-format timestamp [13]) can reduceclients may be subject to denial of service attacks through thedangeruse ofreplay attacks. This method MUSTbogus DHCP servers, or may simply besupported by all protocols. 21.4. Delayed Authentication Protocol Ifmisconfigured 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 theprotocol fieldnetwork medium is2, the messagenot physically secured, such as wireless networks or college residence halls. The DHCP authentication mechanism isusing the "delayed authentication" mechanism. In delayed authentication,based on theclient requestsdesign of authenticationin its Solicit messagefor DHCPv4 [4]. 21.1. Security of Messages Sent Between Servers andthe server replies with an Advertise messageRelay Agents Relay agents and servers thatincludes authentication information. This authentication information contains a nonce value generated byexchange messages securely use thesource asIPsec mechanisms for IPv6 [7]. If a client messageauthentication code (MAC) to provide message authentication and entity authentication. The use of a particular technique based on the HMAC protocol [12] using the MD5 hash [20]isdefined here. 21.4.1. Userelayed through multiple relay agents, each of theAuthentication Option in the Delayed Authentication Protocol In a Solicit message, therelay agents must have established independent, pairwise trust relationships. That is, if messages from clientfills in the protocol, algorithmC 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 andRDM fields in the Authentication option with the client's preferences. The client setsthen to thereplay detection fieldserver, relay agents A and B must be configured tozerouse IPSec for the messages they exchange, and relay agent B andomitstheauthentication information field. The client setsserver must be configured to use IPSec for theoption-len fieldmessages they exchange. Relay agents and servers that support secure relay agent to server or relay agent to11. In all other messages, the protocol and algorithm fields identifiesrelay agent communication use IPsec under themethod used to constructfollowing conditions: Selectors Relay agents are manually configured with thecontentsaddresses of theauthentication information field. The RDM field identifies the method usedrelay agent or server toconstruct the contents of the replay detection field. Droms (ed.), et al. Expires 30 Apr 2003 [Page 53] Internet Draftwhich DHCP messages are to be forwarded. Each relay agent and server that will be using IPsec forIPv6 (-28) 2 Nov 2002 The formatsecuring DHCP messages must also be configured with a list of theAuthentication 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 realmrelay agents to which messages will be returned. TheDHCP realm that identifiesselectors for thekey used to generaterelay agents and servers will be theHMAC-MD5 value key ID The key identifierpairs of addresses defining relay agents and servers thatidentified the key used to generateexchange DHCP messages on theHMAC-MD5 value HMAC-MD5DHCPv6 UDP ports 546 and 547. Mode Relay agents and servers use transport mode and ESP. Themessage authentication code generated by applying MD5 to theinformation in DHCPmessage usingmessages 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 keyidentified byschemes are not necessary. Because theDHCP realm, client DUIDrelay agents and servers must be manually configured, manually configured keyID The sender computes the MAC using the HMAC generation algorithm [12]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 andthe MD5 hash function [20]. The entireservers should only be accepted from DHCPmessage (setting the MAC field ofpeers as identified in theauthentication optionlocal configuration. Authentication Shared keys, indexed tozero), includingthe source IP address of the received DHCPmessage headermessage, are adequate in this application. Availability Appropriate IPsec implementations are likely to be available for servers andthe options field, isfor relay agents in more featureful devices usedas inputin 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 theHMAC-MD5 computation function. DISCUSSION: Algorithm 1 specifies the usehome or small office markets. 21.2. Summary ofHMAC-MD5. UseDHCP Authentication Authentication ofa different technique, such as HMAC-SHA, will be specified as a separate protocol. TheDHCPrealm used to identify authentication keysmessages ischosen to be unique among administrative domains. Useaccomplished through the use of theDHCP realm allows DHCP administrators to avoid conflictAuthentication option (see section 22.11). The authentication information carried in theuseAuthentication option can be used to reliably identify the source ofkey identifiers, and allowsahost usingDHCP message and touse authenticated DHCP while roaming among DHCP administrative domains. 21.4.2. Message Validation Anyconfirm that the contents of the DHCP messagethat includes more than one authenticationhave not been tampered with. The Authentication optionMUST be discarded. Droms (ed.), et al. Expires 30 Apr 2003 [Page 54] Internet Draft DHCPprovides a framework forIPv6 (-28) 2 Nov 2002 To validate an incoming message, the receiver first checks that the valuemultiple authentication protocols. Two such protocols are defined here. Other protocols defined in thereplay detection field is acceptable according to the replay detection methodfuture will be specifiedby the RDM field. Next, the receiver computes the MAC as describedin[12]. The entireseparate documents. Any DHCP message(setting the MACMUST NOT include more than one Authentication option. The protocol fieldofin theauthenticationAuthentication optionto 0), isidentifies the specific protocol usedas inputto generate theHMAC-MD5 computation function. If the MAC computed by the receiver does not match the MAC containedauthentication information carried in the option. The algorithm field identifies a specific algorithm within the authenticationoption,protocol; for example, thereceiver MUST discardalgorithm field specifies theDHCP message. 21.4.3. Key Utilization Each DHCP client has a set of keys. Each key is identifier by <DHCP realm, client DUID, key id>. Each key also has a lifetime. The key may not behash algorithm usedpast the end of its lifetime. The client's keys are initially distributedto generate theclient through some out-of-band mechanism. The lifetime for each key is distributed withmessage authentication code (MAC) in thekey. Mechanisms for key distribution and lifetime specification are beyondauthentication option. The replay detection method (RDM) field specifies thescopetype ofthis document.replay detection used in the replay detection field. 21.3. Replay Detection Theclient and server use oneReplay Detection Method (RDM) field determines the type of replay detection used in theclient's keysReplay Detection field. If the RDM field contains 0x00, the replay detection field MUST be set toauthenticate DHCP messages duringthe value of asession (untilmonotonically increasing counter. Using a counter value, such as thenext Solicit message broadcast bycurrent time of day (for example, an NTP- format timestamp [9]), can reduce theclient). 21.4.4. Client Considerations fordanger of replay attacks. This method MUST be supported by all protocols. 21.4. Delayed Authentication ProtocolTheIf the protocol field is 2, the message is using the "delayed authentication" mechanism. In delayed authentication, the clientannounces its intention to use DHCPrequests authenticationby including an Authentication optionin its Solicitmessage. The server selects a key for the client based on the client's DUID. The clientmessage, and the serverusereplies with an Advertise message thatkey to authenticate allincludes authentication Droms, et al. Standards Track [Page 63] RFC 3315 DHCPmessages exchanged during the session. 21.4.4.1. Sending Solicit Messages Whenfor IPv6 July 2003 information. This authentication information contains a nonce value generated by theclient sendssource as aSolicitmessageand wishesauthentication code (MAC) to provide message authentication and entity authentication. The useauthentication, it includes anof a particular technique based on the HMAC protocol [8] using the MD5 hash [16] is defined here. 21.4.1. Use of the Authenticationoption withOption in the Delayed Authentication Protocol In a Solicit message, the client fills in thedesiredprotocol, algorithm and RDMas describedfields insection 21.4.the Authentication option with the client's preferences. The clientdoes not include anysets the replay detectionorfield to zero and omits the authentication informationin the Authentication option. 21.4.4.2. Receiving Advertise Messagesfield. The clientvalidates any Advertise messages containing an Authentication option specifyingsets the option-len field to 11. In all other messages, thedelayed authenticationprotocolusingand algorithm fields identify the method used to construct the contents of thevalidation test described in section 21.4.2. Client behavior if no Advertise messages includeauthentication informationor passfield. The RDM field identifies thevalidation test is controlled by local policy onmethod used to construct theclient. Accordingcontents 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 toclient policy,generate theclient MAY chooseHMAC-MD5 value. key ID The key identifier that identified the key used torespondgenerate the HMAC-MD5 value. HMAC-MD5 The message authentication code generated by applying MD5 toa Advertisethe DHCP messagethat has not been authenticated. Droms (ed.),using the key identified by the DHCP realm, client DUID, and key ID. Droms, etal. Expires 30 Apr 2003al. Standards Track [Page55] Internet Draft64] RFC 3315 DHCP for IPv6(-28) 2 Nov 2002July 2003 Thedecision to set local policy to accept unauthenticated messages should be made with care. Accepting an unauthenticated Advertise message can makesender computes theclient vulnerable to spoofingMAC using the HMAC generation algorithm [8] andother attacks. If local users are not explicitly informed thattheclient has accepted an unauthenticated Advertise message,MD5 hash function [16]. The entire DHCP message (setting theusers may incorrectly assume thatMAC field of theclient has received an authenticated address and is not subjectauthentication option to zero), including the DHCPattacks through unauthenticated messages. A client MUST be configurable to discard unauthenticated messages,message header andSHOULD be configured by defaultthe options field, is used as input todiscard unauthenticated messages iftheclient has been configured with an authentication key or other authentication information. A client MAY chooseHMAC- 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 todifferentiate between Advertise messages with noidentify authenticationinformation and Advertise messages that do not passkeys is chosen to be unique among administrative domains. Use of thevalidation test; for example, a client might acceptDHCP realm allows DHCP administrators to avoid conflict in theformeruse of key identifiers, anddiscard the latter. Ifallows aclient does accepthost 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 anunauthenticatedincoming message, theclient SHOULD inform any local users and SHOULD logreceiver first checks that theevent. 21.4.4.3. Sending Request, Confirm, Renew, Rebind, Decline or Release Messages Ifvalue in theclient authenticatedreplay detection field is acceptable according to theAdvertise message through whichreplay detection method specified by theclient selectedRDM field. Next, theserver,receiver computes the MAC as described in [8]. The entire DHCP message (setting the MAC field of theclient MUST generateauthenticationinformation for subsequent Request, Confirm, Renew, Rebind or Release messages sentoption tothe server0) is used asdescribedinput to the HMAC-MD5 computation function. If the MAC computed by the receiver does not match the MAC contained insection 21.4. Whentheclient sends a subsequent message, itauthentication option, the receiver MUSTusediscard thesameDHCP message. 21.4.3. Key Utilization Each DHCP client has a set of keys. Each keyusedis 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 togenerateauthenticate DHCP messages during a session (until theauthentication information. 21.4.4.4. Sending Information-request Messages Ifnext 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 serverhas selectedselects a key for the clientin a previous message exchange (see section 21.4.5.1),based on the client's DUID. The clientMUSTand server usethe samethat key togenerate the authentication information throughoutauthenticate all DHCP messages exchanged during the session.21.4.4.5. Receiving Reply21.4.4.1. Sending Solicit MessagesIf the client authenticated the Advertise it accepted, the client MUST validate the associated Reply message fromWhen theserver. TheclientMUST discard the Reply if thesends a Solicit messagefails to pass the validation testandMAY log the validation failure. If the Reply failswishes topass the validation test, the client MUST restart the DHCP configuration process by sending a Solicit message. Ifuse authentication, it includes an Authentication option with the desired protocol, algorithm and RDM as described in section 21.4. The clientaccepted an Advertise message that diddoes not include any replay detection or authentication informationor did not pass the validation test, the client MAY accept an unauthenticated Reply message fromin theserver. Droms (ed.), et al. Expires 30 Apr 2003 [Page 56] Internet Draft DHCP for IPv6 (-28) 2 Nov 2002 21.4.4.6.Authentication option. 21.4.4.2. ReceivingReconfigureAdvertise Messages The clientMUST discard the Reconfigure ifvalidates any Advertise messages containing an Authentication option specifying themessage fails to passdelayed authentication protocol using the validation testand MAY logdescribed in section 21.4.2. Client behavior, if no Advertise messages include authentication information or pass the validationfailure. 21.4.5. Server Considerations for Delayed Authentication Protocol After receiving a Solicit message that contains an Authentication option,test, is controlled by local policy on theserver selects a key forclient. According to client policy, the clientbased on the client's DUID and key selection policies with which the serverMAY choose to respond to an Advertise message that has not beenconfigured.authenticated. Theserver identifies the selected key in the Advertise message and uses the keydecision tovalidate subsequentset local policy to accept unauthenticated messagesbetweenshould 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 theserver. 21.4.5.1. Receiving Solicit Messages and Sendingclient has accepted an unauthenticated AdvertiseMessages The server selects a key formessage, the users may incorrectly assume that the client has received an authenticated address andincludes authentication information in the Advertise message returnedis not subject totheDHCP attacks through unauthenticated messages. A clientas specified in section 21.4. The serverMUSTrecord the identifier of the key selected forbe configurable to discard unauthenticated messages, and SHOULD be configured by default to discard unauthenticated messages if the clientand use that samehas been configured with an authentication keyfor validating subsequentor other authentication information. A client MAY choose to differentiate between Advertise messages withthe client. 21.4.5.2. Receiving Request, Confirm, Renew, Rebind or Release Messagesno authentication information andSending Reply Messages The server usesAdvertise messages that do not pass thekey identified invalidation test; for example, a client might accept themessageformer andvalidatesdiscard themessage as specified in section 21.4.2.latter. Ifthe message fails to pass the validation test or the servera client doesnot know the key identified by the 'key ID' field, the server MUST discardaccept an unauthenticated message, themessageclient SHOULD inform any local users andMAY choose toSHOULD log thevalidation failure.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 messagepassesthrough which thevalidation test,client selected theserver responds toserver, thespecific message as described in section 18.2. The serverclient MUSTincludegenerate authentication informationgenerated using the key identified infor subsequent Request, Confirm, Renew, Rebind or Release messages sent to thereceived messageserver, asspecifieddescribed in section 21.4.21.5. Reconfigure Key Authentication Protocol The Reconfigure key authentication protocol provides protection against misconfiguration of aWhen the clientcaused bysends aReconfigure message sentsubsequent message, it MUST use the same key used bya malicious DHCP server. In this protocol, a DHCPthe serversends a Reconfigure Keyto generate the authentication information. 21.4.4.4. Sending Information-request Messages If the server has selected a key for the client inthe initiala previous message exchangeof DHCP messages. The client records(see section 21.4.5.1), theReconfigure Key forclient MUST usein authenticating subsequent Reconfigure messages from that server. The server then includes an HMAC computed fromtheReconfigure Key in subsequent Reconfigure messages. Bothsame key to generate theReconfigure Key sent fromauthentication information throughout theserver tosession. 21.4.4.5. Receiving Reply Messages If the clientandauthenticated theHMAC in subsequent Reconfigure messages are carried asAdvertise it accepted, theDroms (ed.), et al. Expires 30 Apr 2003 [Page 57] Internet Draft DHCP for IPv6 (-28) 2 Nov 2002 Authentication information in an Authentication option. The format ofclient MUST validate theAuthentication information is defined inassociated Reply message from thefollowing section.server. TheReconfigure Key protocol is used (initiated byclient MUST discard theserver) onlyReply if theclient and server are not using any other authentication protocol andmessage fails to pass theclientvalidation test andserver have negotiatedMAY log the validation failure. If the Reply fails touse Reconfigure messages. 21.5.1. Use ofpass theAuthentication Option invalidation test, theReconfigure Key Authentication Protocol The following fields are set in an Authentication option forclient MUST restart theReconfigure Key Authentication Protocol: protocol 3 algorithm 1 RDM 0 The format ofDHCP configuration process by sending a Solicit message. If theAuthenticationclient accepted an Advertise message that did not include authentication informationforor did not pass the validation test, the client MAY accept an unauthenticated Reply message from the server. 21.4.4.6. Receiving ReconfigureKey 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: 1Messages The client MUST discard the ReconfigureKey value (used in Reply message) 2 HMAC-MD5 digest ofif the message(used in Reconfigure message) Value Data as defined by field 21.5.2.fails to pass the validation test and MAY log the validation failure. 21.4.5. ServerconsiderationsConsiderations forReconfigure Key protocol TheDelayed Authentication Protocol After receiving a Solicit message that contains an Authentication option, the server selects aReconfigure Keykey fora client duringtheRequest/Reply, Solicit/Reply or Information-request/Reply message exchange.client, based on the client's DUID and key selection policies with which the server has been configured. The serverrecordsidentifies theReconfigure Keyselected key in the Advertise message andtransmits thatuses the key to validate subsequent messages between the clientin an Authentication option inand theReply message. Droms (ed.),server. Droms, et al.Expires 30 Apr 2003Standards Track [Page58] Internet Draft67] RFC 3315 DHCP for IPv6(-28) 2 Nov 2002 The Reconfigure Key is 128 bits long,July 2003 21.4.5.1. Receiving Solicit Messages andMUST be a cryptographically strong random or pseudo-random number that cannot easily be predicted. To provide authentication for a Reconfigure message, theSending Advertise Messages The server selects areplay detection value accordingkey for the client and includes authentication information in the Advertise message returned to theRDM selected byclient as specified in section 21.4. The server MUST record theserver, and computes an HMAC-MD5identifier of theReconfigure message usingkey selected for theReconfigure Keyclient 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 servercomputesuses theHMAC-MD5 over then entire DHCP Reconfigure message, includingkey identified in theAuthentication option;message and validates theHMAC-MD5 fieldmessage as specified in section 21.4.2. If theAuthentication option is setmessage fails tozero forpass the validation test or theHMAC-MD5 computation. Theserverincludesdoes 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 theHMAC-MD5specific message as described inthesection 18.2. The server MUST include authentication informationfield in an Authentication option included ingenerated using theReconfigure message sent tokey identified in theclient. 21.5.3. Client considerations forreceived message, as specified in section 21.4. 21.5. Reconfigure KeyprotocolAuthentication Protocol The Reconfigure key authentication protocol provides protection against misconfiguration of a clientwill receivecaused by a Reconfigure message sent by a malicious DHCP server. In this protocol, a DHCP server sends a Reconfigure Keyfromto theserverclient in the initialReply message from the server.exchange of DHCP messages. The client records the Reconfigure Key for use in authenticating subsequent Reconfiguremessages. To authenticate a Reconfigure message, the client computesmessages from that server. The server then includes anHMAC-MD5 overHMAC computed from theDHCPReconfiguremessage, usingKey in subsequent Reconfigure messages. Both the Reconfigure Keyreceivedsent from theserver. If this computed HMAC-MD5 matches the value in the Authentication option,server to the clientacceptsand the HMAC in subsequent Reconfiguremessage. 22. DHCP Options Optionsmessages areused to carry additional information and parameters in DHCP messages. Every option shares a common base format,carried asdescribed in section 22.1. All values in options are represented in network byte order. This document describestheDHCP options defined as partAuthentication information in an Authentication option. The format of thebase DHCP specification. Other options may beAuthentication information is defined in thefuture in separate documents. Unless otherwise noted, each option may appearfollowing section. The Reconfigure Key protocol is used (initiated by the server) onlyinif theoptions area of a DHCP messageclient andmay appear only once. If an option does appear multiple times, each instance is considered separateserver are not using any other authentication protocol and thedata areas of the options MUST NOT be concatenated or otherwise combined. Droms (ed.),client and server have negotiated to use Reconfigure messages. Droms, et al.Expires 30 Apr 2003Standards Track [Page59] Internet Draft68] RFC 3315 DHCP for IPv6(-28) 2 Nov 2002 22.1. FormatJuly 2003 21.5.1. Use ofDHCP Optionsthe 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 ofDHCP optionsthe 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |option-code | option-lenType |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+Value (128 bits) |option-data+-+-+-+-+-+-+-+-+ | . . . . . +-+-+-+-+-+-+-+-+ |(option-len octets)|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ option-code An unsigned integer identifying+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 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 thespecific option type carried in this option. option-len An unsigned integer givingHMAC-MD5 over thelength ofentire DHCP Reconfigure message, including theoption-dataAuthentication option; the HMAC-MD5 field inthisthe Authentication optionin octets. option-data The datais set to zero for theoption; the format of this data depends on the definition ofHMAC-MD5 computation. The server includes theoption. DHCPv6 options are scoped by using encapsulation. Some options apply generally toHMAC-MD5 in theclient, some are specific toauthentication information field in anIA, and some are specificAuthentication option included in the Reconfigure message sent to theaddresses within an IA. These latter two cases are discussed in sections 22.4 and 22.6. 22.2.client. 21.5.3. ClientIdentifier Optionconsiderations for Reconfigure Key protocol TheClient Identifier option is used to carry a DUID (see section 9) identifying a client between aclientandwill receive a Reconfigure Key from the server in the initial Reply message from the server. Theformat ofclient records theClient 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 DUIDReconfigure 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 inoctets Droms (ed.), et al. Expires 30 Apr 2003 [Page 60] Internet Draft DHCP for IPv6 (-28) 2 Nov 2002 DUID The DUID forthe Authentication option, the client22.3. Server Identifier Option The Server Identifier option isaccepts the Reconfigure message. 22. DHCP Options Options are used to carrya DUID (see section 9) identifying a server between a clientadditional information and parameters in DHCP messages. Every option shares aserver. The formatcommon 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 theServer Identifierbase DHCP specification. Other options may be defined in the future in separate documents. Unless otherwise noted, each optionis: 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 DUIDmay appear only inoctets DUID The DUID fortheserver 22.4. Identity Association for Non-temporary Addresses Option The Identity Association for Non-temporary Addressesoptions area of a DHCP message and may appear only once. If an option(IA_NA option)does appear multiple times, each instance isused to carry an identity association, the parameters associated with the IAconsidered separate and thenon-temporary addresses associated withdata areas of theIA_NA. Addresses appearing in an IA_NA option are not temporary addresses (see section 22.5). Droms (ed.),options MUST NOT be concatenated or otherwise combined. Droms, et al.Expires 30 Apr 2003Standards Track [Page61] Internet Draft70] RFC 3315 DHCP for IPv6(-28) 2 Nov 2002July 2003 22.1. Format of DHCP Options The format ofthe IA_NA optionDHCP 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_IA_NAoption-code | option-len | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |IAID (4 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | T1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | T2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+option-data | |. 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; the IAID must be unique among the identifiers for all of this client's IAs. 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