view Side-By-Side changes
Internet Engineering Task Force J. Bound INTERNET DRAFT Compaq Computer Corp. DHC Working Group M. Carney Obsoletes:draft-ietf-dhc-dhcpv6-14.txtdraft-ietf-dhc-dhcpv6-15.txt Sun Microsystems, Inc C. Perkins Nokia Research Center5 MayR. Droms(ed.) Cisco Systems 22 November 2000 Dynamic Host Configuration Protocol for IPv6 (DHCPv6)draft-ietf-dhc-dhcpv6-15.txtdraft-ietf-dhc-dhcpv6-16.txt Status of This Memo This document is a submission by the Dynamic Host Configuration Working Group of the Internet Engineering Task Force (IETF). Comments should be submitted to the dhcp-v6@bucknell.edu mailing list. 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.txt The list of Internet-Draft Shadow Directories can be accessed at: http://www.ietf.org/shadow.html. Abstract The Dynamic Host Configuration Protocol for IPv6 (DHCP) enables DHCP servers to pass configuration parametersusing extensionssuch 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''[15],[14], and can be used Bound, Carney, Perkins, Droms (ed.) Expires 1 May 2001 [Page i] Internet Draft DHCP for IPv6 22 November 2000 separately or concurrently with the latter to obtain configuration parameters. Bound, Carney,PerkinsPerkins, Droms (ed.) Expires 1November 2000May 2001 [Pagei]ii] Internet Draft DHCP for IPv65 May22 November 2000 Contents Status of This Memo i Abstract i 1. Introduction 1 2. Terminology 2 2.1. IPv6 Terminology . . . . . . . . . . . . . . . . . . . . 2 2.2. DHCP Terminology . . . . . . . . . . . . . . . . . . . . 3 3. DHCP Constants54 3.1. Multicast Addresses . . . . . . . . . . . . . . . . . . . 5 3.2. UDP ports . . . . . . . . . . . . . . . . . . . . . . . . 5 3.3. DHCP message types . . . . . . . . . . . . . . . . . . .65 3.4. Error Values . . . . . . . . . . . . . . . . . . . . . .87 3.4.1. Generic Error Values . . . . . . . . . . . . . .87 3.4.2. Server-specific Error Values . . . . . . . . . .87 3.5. Configuration Variables . . . . . . . . . . . . . . . . . 8 4. Requirements98 5. Background 9 6. Design Goals1110 7. Non-Goals 11 8. Overview1211 8.1. How does a node know to use DHCP? . . . . . . . . . . . .1211 8.2. How does a client find out about DHCP agents? . . . . . .1211 8.3. What if the client and server(s) are on different links?1211 8.4. How does a client request configuration parameters from servers? . . . . . . . . . . . . . . . . . . . . . . .1312 8.5.What are releasable resources,How do clients andwhen are they used? .servers identify and manage addresses? 13 8.6. Can a client release itsreleasable resourcesassigned addresses before the lease expires? . . . . . . . . . . . . . . . . . . . . . . .1413 8.7. What if the client determines one or more of itsreleasable resource isassigned addresses are already being used by another client? .. . . . . . . 1413 8.8. How are clients notified of server configuration changes?1413 9. Message Formats15and Identity Associations 14 9.1. DHCP Solicit Message Format . . . . . . . . . . . . . . .1514 9.2. DHCP Advertise Message Format . . . . . . . . . . . . . .1615 9.3. DHCP Request Message Format . . . . . . . . . . . . . . .1816 Bound, Carney,PerkinsPerkins, Droms (ed.) Expires 1November 2000May 2001 [Pageii]iii] Internet Draft DHCP for IPv65 May22 November 2000 9.4. DHCP Reply Message Format . . . . . . . . . . . . . . . .1917 9.5. DHCP Release Message Format . . . . . . . . . . . . . . .2018 9.6. DHCP Reconfigure Message Format . . . . . . . . . . . . .2218 9.7. DHCP Reconfigure-reply Message Format . . . . . . . . . .2318 9.8. DHCP Reconfigure-init Message Format . . . . . . . . . .2419 9.9. Relay-forward message . . . . . . . . . . . . . . . . . . 20 9.10. Server-forward message . . . . . . . . . . . . . . . . . 20 9.11. Identity association . . . . . . . . . . . . . . . . . . 21 10. DHCP Server Solicitationand Subnet Prefix Discovery 2521 10.1. Solicit Message Validation . . . . . . . . . . . . . . .2521 10.2. Advertise Message Validation . . . . . . . . . . . . . .2521 10.3. Client Behavior . . . . . . . . . . . . . . . . . . . . .2622 10.3.1. Creation and sending of the Solicit message . . .2622 10.3.2. Time out and retransmission of Solicit Messages .2722 10.3.3. Receipt of Advertise messages . . . . . . . . . .2723 10.4. Relay Behavior . . . . . . . . . . . . . . . . . . . . .2823 10.4.1. Relaying of Solicit messages . . . . . . . . . .2823 10.4.2. Relaying of Advertise messages . . . . . . . . .2824 10.5. Server Behavior . . . . . . . . . . . . . . . . . . . . .2824 10.5.1. Receipt of Solicit messages . . . . . . . . . . .2824 10.5.2. Creation and sending of Advertise messages . . .2924 11. DHCP Client-Initiated Configuration Exchange2925 11.1. Request Message Validation . . . . . . . . . . . . . . .2925 11.2. Reply Message Validation . . . . . . . . . . . . . . . .3026 11.3. Release Message Validation . . . . . . . . . . . . . . .3126 11.4. Client Behavior . . . . . . . . . . . . . . . . . . . . .3126 11.4.1. Creation and sending of Request messages . . . .3227 11.4.2. Time out and retransmission of Request Messages .3327 11.4.3. Receipt of Reply message in response to a Request3328 11.4.4. Creation and sending of Release messages . . . .3328 11.4.5. Time out and retransmission of Release Messages .3429 11.4.6. Receipt of Reply message in response to a Release35 11.5. Relay Behavior .29 11.4.7. When a client should send a Request message . . . 29 11.4.8. Initialization . . . . . . . . . . . . . . . . .35 11.5.1. Relaying29 11.4.9. Confirming the validity of IPv6 addresses . . . . 29 11.4.10. Extending the lifetimes on IPv6 addresses . . . . 30 11.5. Relay Behavior . . . . . . . . . . . . . . . . . . . . . 31 11.5.1. Relaying of Request or Release messages . . . . .3531 11.6. Server Behavior . . . . . . . . . . . . . . . . . . . . .3531 11.6.1. Receipt of Request messages . . . . . . . . . . .3531 11.6.2. Receipt of Release messages . . . . . . . . . . .3631 11.6.3. Creation and sending of Reply messages . . . . .3632 12. DHCP Server-Initiated Configuration Exchange3733 12.1. Reconfigure Message Validation . . . . . . . . . . . . .3733 12.2. Reconfigure-reply Message Validation . . . . . . . . . .3833 12.3. Reconfigure-init Message Validation . . . . . . . . . . .3833 Bound, Carney, Perkins, Droms (ed.) Expires 1 May 2001 [Page iv] Internet Draft DHCP for IPv6 22 November 2000 12.4. Server Behavior . . . . . . . . . . . . . . . . . . . . .3833 12.4.1. Creation and sending of Reconfigure messages . .3934 12.4.2. Time out and retransmission of Reconfigure messages . . . . . . . . . . . . . . . . .4034 12.4.3. Receipt of Reconfigure-reply messages . . . . . .4034 12.4.4. Creation and sending of Reconfigure-init messages40 Bound, Carney, Perkins Expires 1 November 2000 [Page iii] Internet Draft DHCP for IPv6 5 May 200034 12.4.5. Time out and retransmission of Reconfigure-init messages . . . . . . . . . . . . . . . . .4135 12.4.6. Receipt of Request messages . . . . . . . . . . .4135 12.5. Client Behavior . . . . . . . . . . . . . . . . . . . . .4135 12.5.1. Receipt ofReconfigure messages . . . . . . . . . 42 12.5.2. Creation and sending of Reconfigure-reply messages 42 12.5.3. Receipt ofReconfigure-init messages . . . . . .43 12.5.4.35 12.5.2. Creation and sending of Request messages . . . .43 12.5.5.36 12.5.3. Time out and retransmission of Request messages .43 12.5.6.36 12.5.4. Receipt of Reply messages . . . . . . . . . . . .4336 13. Using DHCP for network renumbering43 13.1. Passive Renumbering . . . . . . . . . . . . . . . . . . . 44 13.2. Active Renumbering . . . . . . . . . . . . . . . . . . . 4436 14. DHCP ClientImplementatorImplementor Notes4437 14.1. Primary Interface . . . . . . . . . . . . . . . . . . . .4537 14.2. Advertise Message and Configuration Parameter Caching . .4537 14.3. Time out and retransmission variables . . . . . . . . . .4537 14.4. Server Preference . . . . . . . . . . . . . . . . . . . .4538 15. DHCP ServerImplementatorImplementor Notes4638 15.1. Client Bindings . . . . . . . . . . . . . . . . . . . . .4638 15.2.ReconfigureReconfigure-init Considerations . . . . . . . . . . . . .. . 4638 15.3. Server Preference . . . . . . . . . . . . . . . . . . . .4639 15.4. Request Message Transaction-ID Cache . . . . . . . . . .4739 16. DHCP RelayImplementatorImplementor Notes4739 17. Open Issues for Working Group Discussion4739 17.1.Trade-offs: Optional fields in DHCP messagesAuthentication . . . . . .47 17.2. Use DHCPv4 authentication or the current DHCPv6 method?.48 17.3. The Reconfigure Message and Subnet Prefix Extensions. .48 17.4. ``R'' bit in Request message not needed?. . . . . . . .48 18. Security Considerations 48 19. Year. . . . 39 17.2. DHCP-DNS interaction . . . . . . . . . . . . . . . . . . 39 17.3. Release vs. Decline . . . . . . . . . . . . . . . . . . 40 17.4. Request messages . . . . . . . . . . . . . . . . . . . . 40 17.5. Use of term ``agent'' . . . . . . . . . . . . . . . . . . 40 17.6. Use of terms ``subnet'' and ``network'' . . . . . . . . . 40 18. Security 40 19. Year 2000 considerations4941 20. IANA Considerations4941 21.Acknowledgements 50 A. Comparison between DHCPv4 and DHCPv6 50 B. Full Copyright Statement 52 Chair's Address 55 Bound, Carney, Perkins Expires 1 November 2000 [Page iv] Internet DraftAcknowledgments 41 22. DHCPfor IPv6 5 May 2000 Author's Address 55options 42 22.1. Format of DHCP options . . . . . . . . . . . . . . . . . 42 Bound, Carney,PerkinsPerkins, Droms (ed.) Expires 1November 2000May 2001 [Page v] Internet Draft DHCP for IPv65 May22 November 20001. Introduction This document describes DHCP for IPv6 (DHCP), a UDP [14] client / server protocol designed to reduce the cost of management of IPv6 nodes in environments where network managers require more control over the allocation of network resources more varied than that offered by ``IPv6 Stateless Autoconfiguration'' [15]. The DHCP is a stateful counterpart to stateless autoconfiguration. Note that both stateful and stateless autoconfiguration can be used concurrently in the same environment, leveraging the strengths of both mechanisms22.2. Identity association option . . . . . . . . . . . . . . . 43 22.3. Option request option . . . . . . . . . . . . . . . . . . 44 22.4. Client message option . . . . . . . . . . . . . . . . . . 45 22.5. Server message option . . . . . . . . . . . . . . . . . . 45 22.6. Retransmission parameter option . . . . . . . . . . . . . 46 22.7. Authentication option . . . . . . . . . . . . . . . . . . 46 23. Changes inorder to reduce the cost of ownership and management of network nodes. The DHCP reduces the cost of ownership by centralizing the managementthis draft 46 23.1. Order ofnetworksections . . . . . . . . . . . . . . . . . . . . 47 23.2. Reconfigure message . . . . . . . . . . . . . . . . . . . 47 23.3. Releasable resourcessuch as IP addresses, routing information, OS installation information, directory service information, and other such information on a few DHCP servers, rather than distributing such information in local configuration files among each network node. The. . . . . . . . . . . . . . . . . . 47 23.4. DHCPis designed to be easily extended to carry new configuration parameters through the addition of new DHCP ``extensions''message header . . . . . . . . . . . . . . . . . . . 47 23.5. Design goals . . . . . . . . . . . . . . . . . . . . . . 47 23.6. Overview . . . . . . . . . . . . . . . . . . . . . . . . 47 23.7. Message formats, 9 . . . . . . . . . . . . . . . . . . . 47 23.8. Solicit and Advertise messages, (section 10) . . . . . . 48 23.9. Prefix advertisement . . . . . . . . . . . . . . . . . . 48 23.10. Identity Associations . . . . . . . . . . . . . . . . . . 48 23.11. Extensions renamed options; definedto carry this information. Seein thisdocument's companion specification, ``Extensions for the Dynamic Host Configuration Protocol for IPv6'' [2] for specifications of existing extensions as well as information on the process by which an interested party might specify new extensions. Those readers familiar with DHCP for IPv4 [7] will find DHCP for IPv6 provides a superset of features, and benefits from the additional features of IPv6 and freedom from BOOTP [5]-backward compatibility constraints. For more information about the differences between DHCP for IPv6 and DHCP for IPv4, see Appendix A. Thisdocumentis organized as follows. Section 2 defines terminology used throughout this document. Section 3 defines constant values used by DHCP. Section 4 briefly discusses requirement levels. Section 5 points the reader to helpful background specifications covering related IPv6 protocols. Section 6 discusses the design goals that influenced DHCP. Section 7 identifies some of the non-goals of this specification. Section 8 gives a high level overview of DHCP, its message types, and identifies DHCP functional entities (client, relay, server). Section 9 describes in detail the format of each DHCP message type. Section 10 discusses DHCP server solicitation and subnet prefix discovery. Section 11 discusses DHCP client-initiated configuration information exchange. Section 12 discusses DHCP server-initiated configuration information exchange. Section 13 describes how DHCP can be used to renumber networks. Section 14 presents helpful notes for DHCP client implementators. Section 15 presents helpful notes for DHCP server implementors. Bound, Carney, Perkins Expires 1 November 2000 [Page 1] Internet Draft DHCP for IPv6 5 May 2000 Section 16 presents helpful notes for DHCP relay implementors. Section 18 discusses security considerations for DHCP. 2. Terminology 2.1. IPv6 Terminology IPv6 terminology relevant to this specification from the IPv6 Protocol [6], IPv6 Addressing Architecture [8], and IPv6 Stateless Address Autoconfiguration [15] is included below. address An IP layer identifier for an interface or a set of interfaces. unicast address An identifier for a single interface. A packet sent to a unicast address is delivered to the interface identified by that 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. 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 IP address having link-only scope, indicated by Bound, Carney, Perkins Expires 1 November 2000 [Page 2] Internet Draft DHCP for IPv6 5 May 2000 having the subnet prefix (FE80::0000/64), that can be used to reach neighboring nodes attached to the same link. Every interface has a link-local address. message A unit of data carried in a packet, exchanged between DHCP agents and clients. neighbor A node attached to the same link. node A device that implements IP. packet An IP header plus payload. prefix A bit string that consists of some number of initial bits of an address. router A node that forwards IP packets not explicitly addressed to itself. 2.2. DHCP Terminology Terminology specific to DHCP can be found below. abort status A status value returned to the application that has invoked a DHCP client operation, indicating anything other than success. agent address The address of a neighboring DHCP Agent on the same link as the DHCP client. binding A binding (or, client binding) is a group of server data records indexed by <client's link-local address, subnet prefix> containing the releasable resource data which a DHCP server has assigned to a client. Note that the transaction-ID from the Request message that produced the assignment of the releasable resource is also stored in the server data record including the releasable resource identifier. DHCP Dynamic Host Configuration Protocol for IPv6. The terms DHCPv4 and DHCPv6 are used only in contexts where it is necessary to avoid ambiguity. Bound, Carney, Perkins Expires 1 November 2000 [Page 3] Internet Draft DHCP for IPv6 5 May 2000 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 client (or client) A node that initiates requests on a link to obtain configuration parameters from one or more DHCP servers. DHCP domain A chunk of network topology managed by DHCP and operated by a single administrative entity. DHCP server (or server) A server is a node that responds to requests from clients, and may or may not be on the same link as the client(s). DHCP relay (or relay) A node that acts as an intermediary to deliver DHCP messages between clients and servers, and is on the same link as a client. DHCP agent (or agent) Either a DHCP server on the same link as a client, or a DHCP relay. Releasable resource Any configuration resource allocated by a server for a finite period of time. As of this writing, the only example of such a resource is the IP address. Releasable resources are carried in extensions allocated out of the 1--8192 range. solicit-ID An unsigned integer generated by the client and inserted into its DHCP Solicit messages, and echoed back to the client by the server in its resultant DHCP Advertise message(s). The client uses the solicit-ID to match received Advertise messages to Solicit messages it has generated. transaction-ID An unsigned integer to match responses with replies initiated either by a client or server. Servers Bound, Carney, Perkins Expires 1 November 2000 [Page 4] Internet Draft DHCP for IPv6 5 May 2000 allocate their transaction-IDs from the range of 0--1023, and clients allocate their transaction-IDs from the range of 1024--65535. Limiting clients and servers to different ranges prevents transaction-ID collisions (e.g. client and server happen to use the same transaction-ID for unrelated transactions (e.g. client Request, server Reconfigure-init). 3. DHCP Constants This section describes various program and networking constants used by DHCP. 3.1. Multicast Addresses The DHCP makes use of the following multicast addresses: All DHCP Agents address: FF02::1:2 This link-local multicast address is used by clients to communicate with the on-link agent(s) when they do not know those agents' link-local address(es). All agents (servers and relays) are members of this multicast group. All DHCP Servers address: FF05::1:3 This site-local multicast address is used by clients or relays to communicate with server(s), either because they want to send messages to all servers or because they do not know the server(s) unicast address(es). Note that in order for a client to use this address, it must have an address of sufficient scope to be reachable by the server(s). All servers within the site are members of this multicast group. 3.2. UDP ports The DHCP uses the following destination UDP [14] port numbers. While source ports MAY be arbitrary, client implementations SHOULD permit their specification through a local configuration parameter to facilitate the use of DHCP through firewalls. 546 Client port. Used by agents to send messages to clients. Also used by servers to send messages to relays. Bound, Carney, Perkins Expires 1 November 2000 [Page 5] Internet Draft DHCP for IPv6 5 May 2000 547 Agent port. Used by clients to send messages to agents. Also used by relays to send messages to servers. 3.3. DHCP message types The DHCP defines the following message types. More detail on these message types can be found in Section 9. Message types 0 and 9--255 are reserved and MUST be silently ignored. 01 DHCP Solicit The DHCP Solicit (or Solicit) message is used by clients to locate servers and (optionally) learn about the subnet prefixes on the client's link for networks that are managed by DHCP. This message is multicast using the All-DHCP-Agents address. Relay(s) forward Solicits as necessary to off-link servers. Section 9.1 contains more details about the Solicit message. 02 DHCP Advertise The DHCP Advertise (or Advertise) message is used by servers responding to Solicits. This message is unicast to the client's link-local address (if the server and client are on the same link) or unicast to the relay through which the Solicit was sent for final delivery to the client. Section 9.2 contains more details about the Advertise message. 03 DHCP Request The DHCP Request (or Request) message is used by clients to request configuration parameters from servers. This message is unicast to the server if the client has an address with sufficient scope to be reachable by the server, otherwise it is unicast to the on-link relay through which the Advertise message was relayed. Section 9.3 contains more details about the Request message. 04 DHCP Reply The DHCP Reply (or Reply) message is used by servers responding to Request and Release messages. In the case of responding to a Request message, the Reply contains configuration parameters destined for the client. This message is unicast to the client if the client has an address of sufficient scope that is Bound, Carney, Perkins Expires 1 November 2000 [Page 6] Internet Draft DHCP for IPv6 5 May 2000 reachable by the server. Otherwise, it is unicast to the relay through which the Request or Release message was sent for final delivery to the client. Section 9.4 contains more details about the Reply message. 05 DHCP Release The DHCP Release (or Release) message is used by clients to return one or more instances of releasable resources (e.g. IP addresses) to servers. This message is unicast to the server if the client will have an address of sufficient scope after the Release operation to receive a Reply message. Otherwise, the Release message is sent through the relay. The server will acknowledge the receipt of the Release message by sending the client a Reply message. Section 9.5 contains more details about the Release message. 06 DHCP Reconfigure The DHCP Reconfigure (or Reconfigure) message is sent by servers to client(s). It contains new or updated configuration parameters for use by the client(s). This message may be unicast or multicast to the client(s). Section 9.6 contains more details about the Reconfigure message. 07 DHCP Reconfigure-reply The DHCP Reconfigure-reply (or Reconfigure-reply) message is unicast by client(s) to the server to acknowledge the receipt of a Reconfigure message. Section 9.7 contains more details about the Reconfigure-reply message. 08 DHCP Reconfigure-init The DHCP Reconfigure-init (or Reconfigure-init) message is set by server(s) to inform client(s) that the server(s) has new or updated configuration parameters, and that the client(s) are to initiate a Request/Reply transaction with the server(s) in order to receive the updated information. Section 9.8 contains more details about the Reconfigure-init message. Bound, Carney, Perkins Expires 1 November 2000 [Page 7] Internet Draft DHCP for IPv6 5 May 2000 3.4. Error Values This section describes error values exchanged between DHCP implementations. 3.4.1. Generic Error Values The following symbolic names are used between client and server implementations to convey error conditions. The following table contains the actual numeric values for each name. Note that the numeric values do not start at 1, nor are they consecutive. The errors are organized in logical groups. _______________________________________________________________ |_Error_Name___|Error_ID_|Description__________________________| |_Success______|00_______|Success______________________________| |_UnspecFail___|16_______|Failure,_reason_unspecified__________| |_AuthFailed___|17_______|Authentication_failed_or_nonexistent_| |_PoorlyFormed_|18_______|Poorly_formed_message________________| |_Unavail______|19_______|Resources_unavailable________________| 3.4.2. Server-specific Error Values The following symbolic names are used by server implementations to convey error conditions to clients. The following table contains the actual numeric values for each name. _______________________________________________________________ |_Error_Name____|Error_ID_|Description_________________________| |_NoBinding_____|20_______|Client_record_(binding)_unavailable_| |_InvalidSource_|21_______|Invalid_Client_IP_address___________| |_NoServer______|23_______|Relay_cannot_find_Server_Address____| |_ICMPError_____|64_______|Server_unreachable_(ICMP_error)_____| 3.5. Configuration Variables This section presents a table of client and server configuration variables and the default or initial values for these variables. The client-specific variables MAY be configured on the server and MAY be delivered to the client through the ``DHCP Retransmission Parameter Extension''carried in a Reply message. This extension is documented in the ``extensions document'' [2]. Bound, Carney, Perkins Expires 1 November 2000 [Page 8] Internet Draft DHCP for IPv6 5 May 2000 ______________________________________________________________ |_Parameter__________|Default_|Description____________________| |_MIN_SOL_DELAY______|1_______|MIN_(secs)_to_delay_1st_mesg___| |_MAX_SOL_DELAY______|5_______|MAX_(secs)_to_delay_1st_mesg___| |_ADV_MSG_TIMEOUT____|500_____|SOL_Retrans_timer_(msecs)______| |_ADV_MSG_MAX________|30______|MAX_timer_value_(secs)_________| |_SOL_MAX_ATTEMPTS___|-1______|MAX_attempts_(-1_=_infinite)___| |_REP_MSG_TIMEOUT____|250_____|REQ_Retrans_timer_(msecs)______| |_REQ_MSG_ATTEMPTS___|10______|MAX_Request_attempts___________| |_REL_MSG_ATTEMPTS___|5_______|MAX_Release_attempts___________| |_RECREP_MSG_TIMEOUT_|2000____|Retrans_timer_(msecs)__________| |_REC_MSG_ATTEMPTS___|10______|Reconfigure_attempts___________| |_REC_REP_MIN________|5_______|Minimum_pause_interval_(secs)__| |_REC_REP_MAX________|7200____|Maximum_pause_interval_(secs)__| |_REC_THRESHOLD______|100_____|%_of_required_clients__________| |_SRVR_PREF_WAIT_____|2_______|Advertise_Collect_timer_(secs)_| 4. Requirements The keywords MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL, when they appear in this document, are to be interpreted as described in [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 demostrate 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. 5. Background Related work in IPv6 that would best serve an implementor to study is the IPv6 Specification [6], the IPv6 Addressing Architecture [8], IPv6 Stateless Address Autoconfiguration [15], IPv6 Neighbor Discovery Processing [12], and Dynamic Updates to DNS [17]. These specifications enable DHCP to build upon the IPv6 work to provide both robust stateful autoconfiguration and autoregistration of DNS Host Names. The IPv6 Specification provides the base architecture and design of IPv6. A key point for DHCP implementors to understand is that IPv6 requires that every link in the Internet have an MTU of 1280 octets or greater (in IPv4 the requirement is 68 octets). This means that a UDP packet of 536 octets will always pass through an internetwork Bound, Carney, Perkins Expires 1 November 2000 [Page 9] Internet Draft DHCP for IPv6 5 May 2000 (less 40 octets for the IPv6 header), as long as there are no IP options prior to the UDP header in the packet. But, IPv6 does not support fragmentation at routers, so that fragmentation takes place end-to-end between hosts. If a DHCP implementation needs to send a packet greater than 1500 octets it can either fragment the UDP packet into fragments of 1500 octets or less, or use Path MTU Discovery [10] to determine the size of the packet that will traverse a network path. DHCP clients use Path MTU discovery when they have an address of sufficient scope to reach the DHCP server. If a DHCP client does not have such an address, that client MUST fragment its packets if the resultant message size is greater than the minimum 1280 octets. Path MTU Discovery for IPv6 is supported for both UDP and TCP and can cause end-to-end fragmentation when the PMTU changes for a destination. The IPv6 Addressing Architecture specification [8] 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. This means that a client can immediately use its link-local address and a well-known multicast address to begin communications to discover neighbors on the link. For instance, a client can send a Solicit message and locate a server or relay. IPv6 Stateless Address Autoconfiguration [15] (Addrconf) specifies procedures by which a node may autoconfigure addresses based on router advertisements [12], 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. The DHCP is one vehicle to perform stateful autoconfiguration. Compatibility with addrconf is a design requirement of DHCP (see Section 6). IPv6 Neighbor Discovery [12] is the node discovery protocol in IPv6 which replaces and enhances functions of ARP [13]. To understand IPv6 and Addrconf it is strongly recommended that implementors understand IPv6 Neighbor Discovery. Dynamic Updates to DNS [17] 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. The security model to be used with DHCPv6 should conform as closely as possible to the authentication model outlined in RFC2402 [9]. Bound, Carney, Perkins Expires 1 November 2000 [Page 10] Internet Draft DHCP for IPv6 5 May 2000 6. Design Goals - DHCP is a mechanism rather than a policy. Network administrators set their administrative policies through the configuration parameters they place upon the DHCP servers in the DHCP domain they're managing. DHCP is simply used to deliver parameters according to that policy to each of the DHCP clients within the domain. - DHCP is compatible with IPv6 stateless autoconf [15]. - DHCP does not require manual configuration of network parameters on DHCP clients, except in cases where such configuration is needed for security reasons. A node configuring itself using DHCP should require no user intervention. - DHCP does not require a server on each link. To allow for scale and economy, DHCP must work across DHCP relays. - DHCP coexists with statically configured, non-participating nodes and with existing network protocol implementations. - DHCP clients can operate on a link without IPv6 routers present. - DHCP will provide the ability to renumber network(s) when required by network administrators [4]. - A DHCP client can make multiple, different requests for configuration parameters when necessary from one or more DHCP servers at any time. DHCP will provide enough information to enable a DHCP server to keep track of a DHCP client's configuration state. - DHCP will contain the appropriate time out and retransmission mechanisms to efficiently operate in environments with high latency and low bandwidth characteristics. 7. Non-Goals This specification explicitly does not cover the following: - Specification of a DHCP server to server protocol. - How a DHCP server stores its DHCP data. - How to manage a DHCP domain or DHCP server. Bound, Carney, Perkins Expires 1 November 2000 [Page 11] Internet Draft DHCP for IPv6 5 May 2000 - How a DHCP relay is configured or what sort of information it may log. 8. Overview This section provides a general overview of the interaction between the functional entities of DHCP. The overview is organized as a series of questions and answers. Details of DHCP such as message formats and retransmissions are left to sections 9, 10, 11, 12, 14, 15, and 16. 8.1. How does a node know to use DHCP? An unconfigured node determines that it is to use DHCP for configuration of an interface by detecting the presence (or absence) of routers on the link. If router(s) are present, the node examines router advertisements to determine if DHCP should be used to configure the interface. If there are no routers present, then the node MUST use DHCP to configure the interface. Detail on this process can be found in neighbor discovery [12] and stateless autoconfiguration [15]. 8.2. How does a client find out about DHCP agents? The client forms a Solicit message, and multicasts it to the FF02::1:2(All DHCP Agents) address. Server(s) receiving the Solicit respond with Advertise message(s). If requested in the client's Solicit message, the Advertise message(s) can include one or more subnet prefix extensions [2], informing the client of subnet prefixes for the networks(s) managed by the server(s) on the client's link. Now that the client knows the IP address(es) of agents(s) on the link, it can request configuration parameters from servers. 8.3. What if the client and server(s) are on different links? Use of DHCP in such environments requires one or more DHCP relays be set up on the client's link, because a client may only have a link-local address. Relays pick up the Solicit and Request messages from the client and forward them to some set of servers within the DHCP domain. A relay will include one of its own addresses (of sufficient scope) of the interface on the same link as the client. The relay also includes the subnet prefix length of that address in the client's messages. Servers receiving the forwarded traffic use this information to aid in selecting configuration parameters appropriate to the client's link. The servers also use the relay's Bound, Carney, Perkins Expires 1 November 2000 [Page 12] Internet Draft DHCP for IPv6 5 May 2000 address as the destination to forward client-destined messages for final delivery by the relay. Relays forward client messages to servers using some combination of the FF05::1:3(All Servers) site-local multicast address, some other (perhaps a combination) of site-local multicast addresses set up within the DHCP domain to include the servers in that domain, or a list of unicast addresses for servers. The network administrator makes relay configuration decisions based upon the topological requirements (scope) of the DHCP domain they are managing. Note that if the DHCP domain spans more than the site-local scope, then the relays MUST be configured with global addresses for the client's link so as to be reachable by servers outside the relays' site-local environment. 8.4. How does a client request configuration parameters from servers? To request configuration parameters, the client forms a Request message, and sends it to the server either directly (client has an address of sufficient scope) or indirectly (through the on-link relay). The client MAY include a Extension Request Extension [2] along with other extensions to request specific information from the server. Note that the client MAY form multiple Request messages and send each of them to different servers to request potentially different information (perhaps based upon what was advertised) in order to satisfy its needs. As a client's needs may change over time (perhaps based upon an application's requirements), the client may form additional Request messages to request additional information as it is needed. The server(s) respond with Reply messages containing the requested configuration parameters, which can include status information regarding the information requested by the client. The Reply MAY also include additional information, such as a reconfiguration event multicast group for the client to join to monitor reconfiguration events, as described in section 8.8. The receipt of a Reply from a server concludes the basic request/reply transaction of the protocol. 8.5. What are releasable resources,. . 48 23.12. Transaction-ID ranges . . . . . . . . . . . . . . . . . . 48 23.13. Release messages andwhen are they used? A releasable resource is configuration information leased to a client by a server for some finite period of time. When negotiating for a releasable resource, the clientrelays . . . . . . . . . . . . . . . 48 23.14. Discovering relay agents . . . . . . . . . . . . . . . . 48 A. Comparison between DHCPv4 andserver agree upon a finite period of time the client may use the resource. The client MAY request a renewal of the lease on the resource at any time. The length of time of the lease (and whether it is renewable) are server-based policy tunables. The client MUST stop using the resource when the lease onDHCPv6 49 B. Full Copyright Statement 51 Chair's Address 54 Author's Address 54 Bound, Carney,PerkinsPerkins, Droms (ed.) Expires 1November 2000May 2001 [Page13]vi] Internet Draft DHCP for IPv65 May22 November 2000the resource expires. The server MUST NOT reallocate an assigned resource before either its lease expires or the client releases the resource. See the ``extensions document'' [2]1. Introduction This document describes DHCP formore information about releasable resources. 8.6. CanIPv6 (DHCP), a UDP [13] clientrelease its releasable resources before/ server protocol designed to reduce thelease expires? A client forms a Release message, including extensions carryingcost of management of IPv6 nodes in environments where network managers require more control over theresource(s)allocation of IPv6 addresses and configuration of network stack parameters than that offered by ``IPv6 Stateless Autoconfiguration'' [14]. DHCP is a stateful counterpart to stateless autoconfiguration. Note that both stateful and stateless autoconfiguration can bereleased. The client sends the Release toused concurrently in theserver which leasedsame environment, leveraging theresource(s)strengths of both mechanisms in order to reduce theclient initially. If that server cannot be reached after a certain numbercost ofattempts (see section 3.5), the client can abandon the Release attempt. In this case,ownership and management of network nodes. DHCP reduces theresource(s) will be reclaimedcost of ownership by centralizing theserver(s) when the client's lease(s) expire. 8.7. What if the client determines its releasable resourcemanagement of network resources such as IP addresses, routing information, OS installation information, directory service information, and other such information on a few DHCP servers, rather than distributing such information in local configuration files among each network node. DHCP isalready being used by another client? If the client determinesdesigned to be easily extended to carry new configuration parameters througha releasable resource-specific manner that the resource it was assigned bytheserver is alreadyaddition of new DHCP ``options'' defined to carry this information. (What were called ``extensions'' inuse by another client,theclient-15 draft are now called ``options''; see section 23.11.) Those readers familiar with DHCP for IPv4 [6] willformfind DHCP for IPv6 provides aRelease message, including the extension carrying the in-use resource. The extension's status field MUST be set to the extension-specific value reflecting the ``in use'' statussuperset of features, and benefits from theresource.additional features of IPv6 and freedom from BOOTP [4]-backward compatibility constraints. Forexample, ifmore information about thereleasable resourcedifferences between DHCP for IPv6 and DHCP for IPv4, see Appendix A. This document isan IP address,organized as follows. Section 2 defines terminology used throughout this document. Section 3 defines constant values used by DHCP. Section 4 briefly discusses requirement levels. Section 5 points theclient uses Duplicate Address Detection (DAD)reader toverify that the IP address is not in use. Ifhelpful background specifications covering related IPv6 protocols. Section 6 discusses theclient determinesdesign goals that influenced DHCP. Section 7 identifies some of theIP address is already in use, it formsnon-goals of this specification. Section 8 gives aReleasehigh level overview of DHCP, its messageincluding the IP address extension containing the appropriate status valuetypes, andsends it to the server. See the ``extensions document''for details onidentifies DHCP functional entities (client, relay, server). Section 9 describes in detail theIP address extension. [2]. 8.8. How are clients notifiedformat of each DHCP message type. Section 10 discusses DHCP serverconfiguration changes? There are two possibilities. Either the clients discover the new information when they revisit the server(s) to request additionalsolicitation. Section 11 discusses DHCP client-initiated configuration information/ renew the lease on a releasable resource, or through a server-initiated event known as a reconfigure event. The reconfiguration feature ofexchange. Section 12 discusses DHCPoffers network administrators the opportunity to updateserver-initiated configuration informationonexchange. Section 14 presents helpful notes for DHCPclients whenever necessary. Ifclient implementors. Section 15 presents helpful notes for DHCP server implementors. Section 16 presents helpful notes for DHCP relay implementors. Section 18 discusses security considerations for DHCP. Section 23 describes theinformation to be updated is notchanges between this version of the DHCPv6 specification and draft-ietf-dhc-dhcpv6-15.txt. Bound, Carney,PerkinsPerkins, Droms (ed.) Expires 1November 2000May 2001 [Page14]1] Internet Draft DHCP for IPv65 May22 November 2000client-specific, the server will form a Reconfigure message and add the new or changed configuration information2. Terminology 2.1. IPv6 Terminology IPv6 terminology relevant toit. The Reconfigure may be unicastthis specification from the IPv6 Protocol [5], IPv6 Addressing Architecture [7], and IPv6 Stateless Address Autoconfiguration [14] is included below. address An IP layer identifier for an interface ormulticast (toapreassigned multicastset of interfaces. unicast address An identifier forthis purpose) to one or more client(s)a single interface. A packet sent towhich the new or updated information needsa unicast address is delivered tobe directed. The client(s) will acknowledge the receipt oftheReconfigure messageinterface identified byformingthat address. multicast address An identifier for aReconfigure-reply message and unicasting itset of interfaces (typically belonging tothe server. If the configuration information change isdifferentfor each client (e.g.nodes). A packet sent to achange in subnet prefix, perhaps, which would affect the IPmulticast addressreleasable resource(s)), the server will formis delivered to all interfaces identified by that address. host Any node that is not aReconfigure-init messagerouter. IP Internet Protocol Version 6 (IPv6). The terms IPv4 andunicast / multicast as neededIPv6 are used only in contexts where it is necessary tothe client(s).avoid ambiguity. interface AReconfigure-init is a trigger which will cause the client(s)node's attachment toinitiateastandard Request/Reply exchange withlink. link A communication facility or medium over which nodes can communicate at theserver in order to acquirelink layer, i.e., thenewlayer 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 orupdated resources. 9. Message Formats All reserved fields in a message MUST be transmitted as zeroesToken Ring network interfaces, andignored by the receiver of the message. 9.1. DHCP Solicit Message Format A client multicasts a DHCP Solicit message to the FF02::1:2(All DHCP agents)E.164 addresses for ISDN links. link-local addressoverAn IP address having link-only scope, indicated by having theinterface toprefix (FE80::0000/64), that can beconfigured to locate one or more servers which are configured to provide configuration parametersused to reach neighboring nodesonattached to theclient'ssame link.Unless otherwise noted, the value of all fields are set by the client. 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 = 1 |C|P| reserved | prefix-len | solicit-ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | client'sEvery interface has a link-localaddress | | (16 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | relay-address | | (16 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ C If set, the client requests that all servers receiving the message deallocate the releasable resources (e.g. IP addresses) associated with the client's binding.address. Bound, Carney,PerkinsPerkins, Droms (ed.) Expires 1November 2000May 2001 [Page15]2] Internet Draft DHCP for IPv65 May22 November 2000P If set, the client requests that all servers receiving themessageSHOULD return a listA unit ofsubnet prefix extensions identifying the networks ondata carried in a packet, exchanged between DHCP agents and clients. neighbor A node attached to theclient's linksame link. node A device thatthe server(s) are configured to manage. reserved 0 prefix-lenimplements IP. packet Anunsigned 7IP header plus payload. prefix A bitnumber (0-127) non-zero prefix-len is thestring that consists of some number ofleftmostinitial bits ofthe agent's IPv6 address which make up the subnet prefix. The prefix-len field is set by the relay if the relay receives the Solicit message andan address. router A node that forwardsitIP packets not explicitly addressed to itself. 2.2. DHCP Terminology Terminology specific to DHCP can be found below. abort status A status value returned toone or more servers. solicit-ID An unsigned 9 bit number (0-511) generated bythe application that has invoked a DHCP clientused to identify this Solicit message. client's link-localoperation, indicating anything other than success. agent address TheIP link-localaddress ofthe client interface through which the client will issue the Solicit message. relay-address Set by the client to be zero. If received byarelay, set by the relay to the site-local IP address of the interfaceneighboring DHCP Agent onwhich the relay receivedtheclient's Solicit message. Note that ifsame link as the DHCPdomain crosses site boundaries, the relay MUST place a globally-scoped address in this field.client. binding A binding (or, clientMUST send the Solicit message to the All-DHCP-Agents multicast group (see section 3.1), setting the relay-address to zero. 9.2. DHCP Advertise Message Format A server sends an Advertise message in response tobinding) is aclient's Solicit message. The Advertise message notifies the clientgroup ofthe server's IP address. If theserveris so configureddata records indexed by <prefix, UUID> containing thenetwork administrator and the client requests it through the ``P'' bit in its Solicit message,server's information about theserver SHOULD add a list of subnet prefix extensionsaddresses and other information assigned to theAdvertise messageIA. DHCP Dynamic Host Configuration Protocol for IPv6. The terms DHCPv4 and DHCPv6 are used only in contexts where it is necessary tonotify the clientavoid ambiguity. configuration parameter An element of thenetworks it managesconfiguration information set on theclient's link. Whenserver 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 andserver areenable communication ondifferent links, the server sends the Advertise message back through the relay whence the corresponding Solicit came. The solicit-ID is copied from the client's Solicita link or internetwork, for example. Bound, Carney,PerkinsPerkins, Droms (ed.) Expires 1November 2000May 2001 [Page16]3] Internet Draft DHCP for IPv65 May22 November 2000Message. The value of all fields in the Advertise message are filled in by the server and not changed in any way by any intervening relay. 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 = 2 | reserved | solicit-ID | preference | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | client's link-local address | | (16 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | relay-address | | (16 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | server-address | | (16 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | extensions (variable number and length) ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ reserved 0 solicit-ID An unsigned 9 bit number (0-511) usedDHCP client (or client) A node that initiates requests on a link toidentify this Advertise message. Copiedobtain configuration parameters fromthe client's Solicit message. preference An octet (unsigned) indicatingone or more DHCP servers. DHCP domain A chunk of network topology managed by DHCP and operated by aserver's willingness to provide servicesingle administrative entity. DHCP server (or server) A server is a node that responds tothe client. client's link-local address The IP link-local address of the client interfacerequests fromwhich the client issuedclients, and may or may not be on theSolicit message. relay-address The IP address ofsame link as the client(s). DHCP relayinterface(or relay) A node that acts as an intermediary to deliver DHCP messages between clients and servers, and is on the same link asthea client.Copied from the client's Solicit. If theDHCP agent (or agent) Either a DHCP serverison the same link asthea client,then this field MUST be zero. server-address The site-local IP addressor a DHCP relay. Identity association (IA) A collection of addresses assigned to a client. Each IA has an associated UUID. A server identifies an IA by the tuple (prefix, UUID), where ``prefix'' is a prefix assigned to the link to which the client is attached, An IA may have 0 or more addresses associated with it. Releasable resource (Removed; see section 23.3.) transaction-ID An unsigned integer to match responses with replies initiated either by a client or server.IfUUID A universally unique identifier for a client. DISCUSSION: Rules for choosing a UUID are TBD. 3. DHCP Constants This section describes various program and networking constants used by DHCP. Bound, Carney, Perkins, Droms (ed.) Expires 1 May 2001 [Page 4] Internet Draft DHCP for IPv6 22 November 2000 3.1. Multicast Addresses DHCP makes use of the following multicast addresses: All DHCPdomain crosses site boundaries, thenAgents address: FF02::1:2 This link-local multicast address is used by clients to communicate with the on-link agent(s) when they do not know those agents' link-local address(es). All agents (servers and relays) are members of this multicast group. All DHCP Servers address: FF05::1:3 This site-local multicast addressMUST be globally-scoped. extensions See the ``extensions document'' for details [2]. See Sections 14.4 and 15.3 for information about howis used by clientsandor relays to communicate with server(s), either because they want to send messages to all servershandleor because they do not know thepreference field. Bound, Carney, Perkins Expires 1 November 2000 [Page 17] Internet Draft DHCPserver(s) unicast address(es). Note that in order forIPv6 5 May 2000 9.3. DHCP Request Message Format A client sends a Request message to request configuration parameters from a server. It MAY append appropriate extensions [2]. Whena clientreboots,to use this address, itoften does notmust havea valid IPan address of sufficient scopefor the servertocommunicate withbe reachable by theclient. In such cases,server(s). All servers within the site are members of this multicast group. 3.2. UDP ports DHCP uses the following destination UDP [13] port numbers. While source ports MAY be arbitrary, clientMUST NOT unicastimplementations SHOULD permit their specification through a local configuration parameter to facilitate the use of DHCP through firewalls. 546 Client port. Used by agents to send messages to clients. Also used by servers to send messages to relays. 547 Agent port. Used by clients to send messages to agents. Also used by relays to send messages to servers. 3.3. DHCP message types DHCP defines the following message types. More detail on these message types can be found in Section 9. Message types 0 and 9--255 are reserved and MUST be silently ignored. 01 DHCP Solicit The DHCP Solicit (or Solicit) message is used by clients to locate servers. This message is multicast using theserver because the server could not return a responseBound, Carney, Perkins, Droms (ed.) Expires 1 May 2001 [Page 5] Internet Draft DHCP for IPv6 22 November 2000 All-DHCP-Agents address. Relay(s) forward Solicits as necessary to off-link servers. Section 9.1 contains more details about theclient.Solicit message. 02 DHCP Advertise Theclient MUST send theDHCP Advertise (or Advertise) messageto the server indirectly,is used byusing the on-link relay. The client MUST fill inservers responding to Solicits. This message is unicast to therelayclient's link-local addressfield with(if theon-link relay's IP address. Ifserver and client are on theRequest message is being formed in responsesame link) or unicast toa Reconfigure-init message fromtheserver, thenrelay through which thetransaction ID used must be copied fromSolicit was sent for final delivery to theReconfigure-init. All fields inclient. Section 9.2 contains more details about the Advertise message. 03 DHCP Request The DHCP Request (or Request) messageare enteredis used by clients to request configuration parameters from servers. This message is multicast using theclient. 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 = 3 |C|R| reserved | transaction-ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | client's link-local address | | (16 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | relay-address | | (16 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | server-address | | (16 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | extensions (variable number and length) .... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ C If set, the client requests the server to remove all releasable resources associated with the client binding, except those releasable resources providedAll-DHCP-Agents address. Relay(s) forward Requests asextensions. R If set,necessary to off-link servers. Section 9.3 contains more details about theclient has rebootedRequest message. 04 DHCP Reply The DHCP Reply (or Reply) message is used by servers responding to Request andrequests thatRelease messages. In theserver clear any transaction-ID cache entriescase of responding to a Request message, the Reply contains configuration parameters destined for the client.reserved 0 Bound, Carney, Perkins Expires 1 November 2000 [Page 18] Internet Draft DHCP for IPv6 5 May 2000 transaction-ID An unsigned integer identifier usedThis message is unicast toidentify this request. client's link-local address The link-local address ofthe clientinterface from whichif the clientwill issue the Request message. relay-address The IPhas an address ofa relay's interface, copied from an Advertise message. Ifsufficient scope that is reachable by theserverserver. Otherwise, it isonunicast to thesame link asrelay through which theclient, then this field MUST BE zero. server-addressRequest or Release message was sent for final delivery to the client. Section 9.4 contains more details about the Reply message. 05 DHCP Release The DHCP Release (or Release) message is used by clients to return one or more IPaddressaddresses to servers. The server will acknowledge the receipt of theserver to whichRelease message by sending the client a Reply message. Section 9.5 contains more details about theclient's RequestRelease message. Bound, Carney, Perkins, Droms (ed.) Expires 1 May 2001 [Page 6] Internet Draft DHCP for IPv6 22 November 2000 06 DHCP Reconfigure 07 DHCP Reconfigure-reply Removed; see section 23.2. 08 DHCP Reconfigure-init The DHCP Reconfigure-init (or Reconfigure-init) message isdirected, copied from an Advertise message. extensions See the ``extensions document'' [2]. A DHCP client selectsset by server(s) to inform client(s) that thetransaction-ID fromserver(s) has new or updated configuration parameters, and that therange of 1024--65535 usedclient(s) are toidentify its Request. In contrast,initiate atransaction-ID fromRequest/Reply transaction with therange of 0--1023is selected by a DHCP serverserver(s) in order toidentify a Reconfigure-init. In the latter case,receive thetransaction ID fromupdated information. Section 9.8 contains more details about the Reconfigure-initis copied by the client into its Requestmessage.When the3.4. Error Values This section describes error values exchanged between DHCP implementations. 3.4.1. Generic Error Values The following symbolic names are used between clientsets the `C' bitandadds extensions documenting the releasable resources the client wishes to keep, theserveris expectedimplementations todeallocate all other releasable resources not listed.convey error conditions. Theserver SHOULD examinefollowing table contains theincluded extensions to check whetheractual numeric values for each name. Note that theclient is still authorized to use them. 9.4. DHCP Reply Message Format A server sends a Reply messagenumeric values do not start at 1, nor are they consecutive. The errors are organized inresponselogical groups. _______________________________________________________________ |Error_Name___|Error_ID|_Description_________________________|_ |Success______|00______|_Success_____________________________|_ |UnspecFail___|16______|_Failure,_reason_unspecified_________|_ |AuthFailed___|17______|_Authentication_failed_or_nonexistent|_ |PoorlyFormed_|18______|_Poorly_formed_message_______________|_ |Unavail______|19______|_Addresses_unavailable_______________|_ 3.4.2. Server-specific Error Values The following symbolic names are used by server implementations toa client's Request message or Release message. If a Request message is received whichconvey error conditions to clients. The following table containsa non-zero relay address field, thenthe actual numeric values for each name. Bound, Carney, Perkins, Droms (ed.) Expires 1 May 2001 [Page 7] Internet Draft DHCP for IPv6 22 November 2000 _______________________________________________________________ |Error_Name____|Error_ID|_Description________________________|_ |NoBinding_____|20______|_Client_record_(binding)_unavailable|_ |InvalidSource_|21______|_Invalid_Client_IP_address__________|_ |NoServer______|23______|_Relay_cannot_find_Server_Address___|_ |ICMPError_____|64______|_Server_unreachable_(ICMP_error)____|_ 3.5. Configuration Variables This section presents a table of clientcould not unicastand server configuration variables and theRequest message todefault or initial values for these variables. The client-specific variables MAY be configured on the server andthus hadMAY be delivered touse a on-link relay. In that case,theserver unicastsclient through the ``DHCP Retransmission Parameter Option'' in a Replymessagemessage. This option is TBD. ______________________________________________________________ |Parameter__________|Default|_Description___________________|_ |MIN_SOL_DELAY______|1______|_MIN_(secs)_to_delay_1st_mesg__|_ |MAX_SOL_DELAY______|5______|_MAX_(secs)_to_delay_1st_mesg__|_ |ADV_MSG_TIMEOUT____|500____|_SOL_Retrans_timer_(msecs)_____|_ |ADV_MSG_MAX________|30_____|_MAX_timer_value_(secs)________|_ |SOL_MAX_ATTEMPTS___|-1_____|_MAX_attempts_(-1_=_infinite)__|_ |REP_MSG_TIMEOUT____|250____|_REQ_Retrans_timer_(msecs)_____|_ |REQ_MSG_ATTEMPTS___|10_____|_MAX_Request_attempts__________|_ |REL_MSG_ATTEMPTS___|5______|_MAX_Release_attempts__________|_ |RECREP_MSG_TIMEOUT_|2000___|_Retrans_timer_(msecs)_________|_ |REC_MSG_ATTEMPTS___|10_____|_Reconfigure_attempts__________|_ |REC_REP_MIN________|5______|_Minimum_pause_interval_(secs)_|_ |REC_REP_MAX________|7200___|_Maximum_pause_interval_(secs)_|_ |REC_THRESHOLD______|100____|_%_of_required_clients_________|_ |SRVR_PREF_WAIT_____|2______|_Advertise_Collect_timer_(secs)|_ 4. Requirements The keywords MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL, when they appear in this document, are tothe relay address foundbe interpreted as described inthe Request message. If a Release message[2]. 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 isreceived which contains a non-zero relay address field, then the client willnothave an IP address of sufficient scope after the Releaserequired toreceivehave them in theReply message. Inexact form described here, so long as its external behavior is consistent with that described in this document. Bound, Carney,PerkinsPerkins, Droms (ed.) Expires 1November 2000May 2001 [Page19]8] Internet Draft DHCP for IPv65 May22 November 2000this case, the server unicasts the Reply message5. Background Related work in IPv6 that would best serve an implementor to study is therelay address found inIPv6 Specification [5], theRelease message. AllIPv6 Addressing Architecture [7], IPv6 Stateless Address Autoconfiguration [14], IPv6 Neighbor Discovery Processing [11], and Dynamic Updates to DNS [16]. These specifications enable DHCP to build upon thefields inIPv6 work to provide both robust stateful autoconfiguration and autoregistration of DNS Host Names. The IPv6 Specification provides the base architecture and design of IPv6. A key point for DHCPReply message are set byimplementors to understand is that IPv6 requires that every link in theDHCP server. 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 = 4 |R| status | transaction-ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | client's link-local address | | (16 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | relay-address (if present) | | (16 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | extensions (variable number and length) .... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ R If set,Internet have an MTU of 1280 octets or greater (in IPv4 the``relay-address'' fieldrequirement ispresent. status68 octets). This7-bit field contains onemeans that a UDP packet of 536 octets will always pass through an internetwork (less 40 octets for thevalues inIPv6 header), as long as there are no IP options prior to theerrors tableUDP header insection 3.4. transaction-ID Copied fromtheclient's Request or Release. client's link-local address Copied frompacket. But, IPv6 does not support fragmentation at routers, so that fragmentation takes place end-to-end between hosts. If a DHCP implementation needs to send a packet greater than 1500 octets it can either fragment theclient's RequestUDP packet into fragments of 1500 octets orRelease message. relay-address The IPless, or use Path MTU Discovery [9] to determine the size of the packet that will traverse a network path. DHCP clients use Path MTU discovery when they have an address ofa relay's interface, copied fromsufficient scope to reach theRequest or Release message.DHCP server. If a DHCP client does not have such an address, that client MUST fragment its packets if theserverresultant message size isongreater than thesame link asminimum 1280 octets. Path MTU Discovery for IPv6 is supported for both UDP and TCP and can cause end-to-end fragmentation when theclient, thenPMTU changes for a destination. The IPv6 Addressing Architecture specification [7] defines the``R'' bit is not setaddress scope that can be used in an IPv6 implementation, andthis fieldthe various configuration architecture guidelines for network designers of the IPv6 address space. Two advantages of IPv6 are that support for multicast isnot present. extensions Seerequired, and nodes can create link-local addresses during initialization. This means that a client can immediately use its link-local address and a well-known multicast address to begin communications to discover neighbors on the``extensions document'' [2]. 9.5. DHCP Release Message Format Alink. For instance, a clientsendscan send aReleaseSolicit messagetoand locate a serverwhen it wishes to return oneormore releasable resources to the serverrelay. IPv6 Stateless Address Autoconfiguration [14] (Addrconf) specifies procedures by whichallocated them. This can occur either because the client no longer needs the resource(s) or the client has determined througharesource-specific manner thatnode may autoconfigure addresses based on router advertisements [11], and theresource(s) are already inuse of a valid lifetime to support renumbering of addresses on the Internet. In addition the protocol interaction bydifferentwhich a node begins stateless or stateful autoconfiguration is specified. DHCP is one vehicle to perform Bound, Carney,PerkinsPerkins, Droms (ed.) Expires 1November 2000May 2001 [Page20]9] Internet Draft DHCP for IPv65 May22 November 2000client(s). The client communicates the reason for the premature releasestateful autoconfiguration. Compatibility with addrconf is a design requirement of DHCP (see Section 6). IPv6 Neighbor Discovery [11] is theresourcenode discovery protocol inthe status fieldIPv6 which replaces and enhances functions ofthe resource's extension. See ``extensions document'' [2] for more details. When a client sends a Release message,ARP [12]. To understand IPv6 and Addrconf itneeds to have a valid IP address with sufficient scopeis strongly recommended that implementors understand IPv6 Neighbor Discovery. Dynamic Updates toallow access by the target server. If such an addressDNS [16] isnot available,arelay is used. Only those releasable resources identified by extensions are released. If no extensions are included in the Release message, then all releasable resources associated withspecification that supports theclient's binding are to be released. The values of all fieldsdynamic update of DNS records for both IPv4 and IPv6. DHCP can use theRelease message are set by the client. The DHCP server acknowledges the Release message by sending a Reply message. 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 = 5 |R| reserved | transaction-ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | client's link-local address | | (16 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | server-address | | (16 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | X-address | | (16 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | extensions (variable number and length) .... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ R If set, the ``X-address'' field contains the address of relay. Ifdynamic updates to DNS to integrate addresses and name space to notset,only support autoconfiguration, but also autoregistration in IPv6. The security model to be used with DHCPv6 should conform as closely as possible to the``X-address'' field containsauthentication model outlined in RFC2402 [8]. 6. Design Goals - DHCP is anon-local scope client address. reserved 0 transaction-ID An unsigned integer identifiermechanism rather than a policy. Network administrators set their administrative policies through the configuration parameters they place upon the DHCP servers in the DHCP domain they're managing. DHCP is simply used toidentify this Release message. client's link-local address The client's link-local address fordeliver parameters according to that policy to each of theinterface from whichDHCP clients within theclient issueddomain. - DHCP is compatible with IPv6 stateless autoconf [14]. - DHCP does not require manual configuration of network parameters on DHCP clients, except in cases where such configuration is needed for security reasons. A node configuring itself using DHCP should require no user intervention. - DHCP does not require a server on each link. To allow for scale and economy, DHCP must work across DHCP relays. - DHCP coexists with statically configured, non-participating nodes and with existing network protocol implementations. - DHCP clients can operate on a link without IPv6 routers present. - DHCP will provide theRelease message (andability towhich the releasable resources are boundrenumber network(s) when required by network administrators [3]. - A DHCP client can make multiple, different requests for configuration parameters when necessary from one or more DHCP servers atthe server).any time. Bound, Carney,PerkinsPerkins, Droms (ed.) Expires 1November 2000May 2001 [Page21]10] Internet Draft DHCP for IPv65 May22 November 2000server-address The IP address of the server which allocated the resource. X-address If the ``R'' bit is set,- DHCP will contain the``X-address'' field containsappropriate time out and retransmission mechanisms to efficiently operate in environments with high latency and low bandwidth characteristics. 7. Non-Goals This specification explicitly does not cover theIP addressfollowing: - Specification ofthea DHCP server to server protocol. - How a DHCP server stores its DHCP data. - How to manage a DHCP domain or DHCP server. - How a DHCP relayinterface on the same link asis configured or what sort of information it may log. 8. Overview This section provides a general overview of theclient. Ifinteraction between the``R'' bitfunctional entities of DHCP. The overview isnot set, this field containsorganized as anon-link-local IP addressseries ofthe clientquestions and answers. Details of DHCP such as message formats and retransmissions are left to sections 9, 10, 11, 12, 14, 15, and 16. 8.1. How does a node know to use DHCP? An unconfigured node determines that it is to use DHCP for configuration of an interfacefrom which the the client issued the Release message. extensions Seeby detecting the``extensions document'' [2]. A client selectspresence (or absence) of routers on thetransaction-ID fromlink. If router(s) are present, therange of 1024--65535node examines router advertisements to determine if DHCP should be used toidentifyconfigure theRelease message. A clientinterface. If there are no routers present, then the node MUSTNOT specify an IP address inuse DHCP to configure theclient-address field that it is releasinginterface. Detail on this process can be found in neighbor discovery [11] and stateless autoconfiguration [14]. 8.2. How does a client find out about DHCP agents? (Section removed, see 23.6 8.3. What if theextensions field. 9.6.client and server(s) are on different links? Use of DHCPReconfigure Message Format A server sends a Reconfigure message when it wishes to informin such environments requires one or moreclients of new or updated values for configuration parameters. The new configuration parameters are carried in the extensions portion ofDHCP relays be set up on theReconfigure message. Note thatclient's link, because aReconfigure message MUST NOT carry releasable resource extensions. Reconfigure messages can ONLY be sent to clients whichclient may only haveestablished an IP address of sufficient scope as to be directly reachable by the server. Clients acknowledge Reconfigure messages with Reconfigure-reply messages. 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 = 6 | reserved | transaction-ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | server-address | | (16 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | extensions (variable number and length) .... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ reserved 0a Bound, Carney,PerkinsPerkins, Droms (ed.) Expires 1November 2000May 2001 [Page22]11] Internet Draft DHCP for IPv65 May22 November 2000transaction-ID An unsigned integer identifierlink-local address. Relays receive the Solicit and Request messages from the client and forward them to some set of servers within the DHCP domain. The client message is forwarded verbatim as the payload in a message from the relay to therangeserver. A relay will include one of0--1023 chosen byits own addresses (of sufficient scope) from theserverinterface on the same link as the client, as well as the prefix length of that address, in its message toidentifythe server. Servers receiving the forwarded traffic use thisReconfigure message. server-addressinformation to aid in selecting configuration parameters appropriate to the client's link. TheIPservers also use the relay's address as the destination to forward client-destined messages for final delivery by the relay. Relays forward client messages to servers using some combination of the FF05::1:3(All Servers) site-local multicast address, some other (perhaps a combination) of site-local multicast addresses set up within the DHCPserver issuingdomain to include theReconfigure message.servers in that domain, or a list of unicast addresses for servers. The network administrator makes relay configuration decisions based upon the topological requirements (scope) of the DHCP domain they are managing. Note that if the DHCP domain spans more than the site-local scope, then the relays MUST beof sufficient scopeconfigured with global addresses for the client's link so as to be reachable byall clients. extensions Seeservers outside the``extensions document'' [2]. 9.7. DHCP Reconfigure-reply Message Format Arelays' site-local environment. 8.4. How does a clientsendsrequest configuration parameters from servers? To request configuration parameters, the client forms aReconfigure-reply messageRequest message, and sends it toacknowledge receiptthe server either directly (client has an address of sufficient scope) or indirectly (through the on-link relay). The client MAY include aReconfigure messageOption Request Option 22.3 (ORO) along with other options to request specific information froma server. A Reconfigure-reply message can only be sent ifthe server. Note that the clienthas an IP addressMAY form multiple Request messages and send each ofsufficient scopethem tocontact the server. No interaction withdifferent servers to request potentially different information (perhaps based upon what was advertised) in order to satisfy its needs. As arelayclient's needs may change over time (perhaps based upon an application's requirements), the client may form additional Request messages to request additional information as it ispossible. All fields inneeded. The server(s) respond with Reply messages containing theDHCP Reconfigure-reply message are enteredrequested configuration parameters, which can include status information regarding the information requested by the client.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 = 7 |r| status | transaction-ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | client's link-local address | | (16 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | server-address | | (16 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ r reserved (0) status This 7-bit field contains one of the values fromThe Reply MAY also include additional information, such as a reconfiguration event multicast group for theerrors tableclient to join to monitor reconfiguration events, as described in section3.4. transaction-ID An unsigned integer identifier copied from the server's Reconfigure message.8.8. Bound, Carney,PerkinsPerkins, Droms (ed.) Expires 1November 2000May 2001 [Page23]12] Internet Draft DHCPfor IPv6 5 May 2000 client's link-local address The client's link-local address forfor IPv6 22 November 2000 8.5. How do clients and servers identify and manage addresses? Servers and clients manage addresses in groups called ``identity associations.'' Each identity associations is identified using a unique identifier. An identity association may contain one or more IPv6 addresses. DHCP servers assign addresses to identity associations. DHCP clients use the addresses in an identity association to configure interfaces. There is always at least one identity association per interfacefrom which the client issued the Reconfigure-reply message. server-address Copied from the Reconfigure message. 9.8. DHCP Reconfigure-init Message Format A server sendsthat aReconfigure-init message when itclient wishes tonotify one or more clientsconfigure. Each address in an IA has its own preferred and valid lifetime. Over time, the server may change the characteristics ofnewthe addresses in an IA; for example, by changing the preferred orupdated valuesvalid lifetime forconfiguration parameters available onan address in theserver. Reconfigure-init messagesIA. The server may also add or delete addresses from an IA; for example, deleting old addresses and adding new addresses to renumber a client. A client canONLY be sentrequest the current list of addresses assigned toclients which have establishedanIP addressIA from a server through an exchange ofsufficient scope as to be directly reachable byprotocol messages. 8.6. Can a client release its assigned addresses before theserver.lease expires? A``Reconfigure-init'' serves asclient forms atrigger which will causeRelease message, including options identifying theclientsIA toinitiate a Request/Reply exchange withbe released. The client sends theserver in orderRelease toreceivethenew information. 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 = 8 | reserved | transaction-ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | server-address | | (16 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | extensions (variableserver which assigned the addresses to the client initially. If that server cannot be reached after a certain numberand length) .... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ reserved 0 transaction-ID An unsigned integer identifierof attempts (see section 3.5), the client can abandon the Release attempt. In this case, the address(es) in therangeIA will be reclaimed by the server(s) when the lifetimes on the addresses expire. 8.7. What if the client determines one or more of0--1023 chosenits assigned addresses are already being used by another client? If the client determines through a mechanism like Duplicate Address Detection [14] that theserver to identify this Reconfigure-init message. server-address The IPaddressofit was assigned by theDHCPserverissuingis already in use by another client, theReconfigure-init message.client will form a Release message, including the option carrying the in-use address. The option's status field MUST be set to the value reflecting the ``in use'' status ofsufficient scopethe address. 8.8. How are clients notified of server configuration changes? There are two possibilities. Either the clients discover the new information when they revisit the server(s) tobe reachable by all clients. extensions SHOULD only include an ERE and/or authentication extensions. Norequest additional configuration informationSHOULD be/ extend the lifetime on an address. or through a server-initiated event known as a reconfigure event. Bound, Carney,PerkinsPerkins, Droms (ed.) Expires 1November 2000 [Page 24] Internet Draft DHCP for IPv6 5 May 2000 included. See the ``extensions document'' [2] for more information about extensions. 10. DHCP Server Solicitation and Subnet Prefix Discovery This section describes how a client locates agents (relays and servers) and how it can learn about the networks on its link that are managed by these servers.May 2001 [Page 13] Internet Draft DHCP for IPv6 22 November 2000 Thebehaviorreconfiguration feature ofclient, server, and relay implementations is discussed, along withDHCP offers network administrators themessages they use. 10.1. Solicit Message Validation Clients MUST silently discard any received Solicit messages. Agents MUST discard any received Solicit messages ifopportunity to update configuration information on DHCP clients whenever necessary. To signal the``client's link-local address'' field does not containneed for client reconfiguration, the server will unicast avalid link-local address. Servers MUST discard each received SolicitReconfigure-init messagewhich meet the following criteria: oto each client individually. The``relay-address'' field does not contain an address of sufficient scopeserver may use multicast to signal the reconfiguration to multiple clients simultaneously. (Note that there isreachable byno mechanism defined in theserver. o The ``relay-address'' field is non-zero, but prefix-lenprotocol to guarantee that every client actually performs a reconfiguration in response to a multicast reconfigure-init message.) A Reconfigure-init iszero. An errora trigger which will cause the client(s) to initiate a standard Request/Reply exchange with the server in order to acquire the new or updated addresses. 9. Message Formats and Identity Associations All reserved fields in a messageMAYMUST beloggedtransmitted as zeroes and ignored by theagent. The loggingreceiver ofsuch messages SHOULD be controlled bythe message. DISCUSSION: Each DHCP message has anagent implementation configuration flag. 10.2. Advertise Message Validation Servers MUST silently discard any received Advertise messages. Clients MUST discard any Advertiseidentical fixed format header; some messagesthat meet any ofalso allow a variable format area for options. Not all fields in thefollowing criteria: o The ``Solicit-ID''header are used in every message. In this section, every fieldvalue doesis included in every message format diagram and fields that are notmatch the value the clientused inits Solicit message. o The ``client's link-local address'' field value does not match the link-local address of the interface upon whicha message are marked as ``unused''. As an alternative, theclient sentunused fields could be labeled ``unused'' in the format diagram. 9.1. DHCP Solicitmessage. Relays MUST discard any Advertise messages that meet any of the following criteria:Message 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 = 1 | preference | transaction-ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | client-link-local-address | | (16 octets) | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | server-address | | (16 octets) | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Bound, Carney,PerkinsPerkins, Droms (ed.) Expires 1November 2000May 2001 [Page25]14] Internet Draft DHCP for IPv65 May22 November 2000o The ``relay-address'' field does not contain the relay's address on the same link as the client. o The ``client's link-local address'' field does not contain a valid link-local address. 10.3. Client Behavior Clients use the Solicit message primarily to discover DHCP servers configured to serve networks on the link containing the client. Optionally, the client MAY set the ``P'' bit which has the effect of requesting that the server return subnet prefix extensions identifying the networks on the client's link the server is configured to manage. 10.3.1. Creation and sending of the Solicit message When creating a Solicit message,preference (unused) MUST be 0 transaction-ID An unsigned integer generated by the clientSHOULD start out with a buffer initialized with zeroed octets. The client sets the ``msg-type'' field to 1, and places theused to identify this Solicit message. client-link-local-address The link-local address of the interfaceit wishes to configure in the link-local address field. Iffor which the client isprepared to process multipleusing DHCP. server-address (unused) MUST be 0 9.2. DHCP Advertisemessages in response to its Solicit message, the client will set the Solicit-ID field to 1. Every time the client initiates a new server solicitation attempt (notMessage 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 = 2 | preference | transaction-ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | client-link-local-address | | (16 octets) | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | server-address | | (16 octets) | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | options (variable number and length) .... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ preference An unsigned integer indicating aretransmission), the client increments the Solicit-ID by one. If the 9-bit field rolls overserver's willingness to0, then the client sets the Solicit-IDprovide service to1. A client which will only accept the first Advertise message it receives leavestheSolicit-ID field initializedclient. transaction-ID An unsigned integer used tozero. The ``C'' bit of the Solicit message is set by the client when the client has no cached knowledge of previous DHCP configuration for the interface. Settingidentify thisbit requests that the server release any information assigned to the client for the networks onAdvertise message. Copied from the client'slink. If the client desires to learnSolicit message. client-link-local-address The IP link-local address of thenetworks managed by DHCP on the link itsclient interfaceis attached to, it setsfrom which the``P'' bit inclient issued the Solicit message. server-address Theclient transmitsIP address of theSolicit message toserver. If theFF02::1:2 (AllDHCPAgents) multicast address, destination port 547. The source port selection can be arbitrary, although it SHOULD be possible using a client configuration facility to set a specific source port value.domain Bound, Carney,PerkinsPerkins, Droms (ed.) Expires 1November 2000May 2001 [Page26]15] Internet Draft DHCP for IPv65 May22 November 200010.3.2. Time out and retransmission of Solicit Messages The client's first Solicit message on the interfacecrosses site boundaries, then this address MUST bedelayed by a random amount of time between the interval of MIN_SOL_DELAYglobally-scoped. options Options are described elsewhere in this document See Sections 14.4 andMAX_SOL_DELAY. This random delay desynchronizes15.3 for information about how clientswhich start at the same time (e.g., after a power outage). The client waits ADV_MSG_TIMEOUT, collecting Advertise messages. If no Advertise messages are received, the client retransmits the Solicit,anddoubles the ADV_MSG_TIMEOUT value. This process continues until either one or more Advertise messages are received or ADV_MSG_TIMEOUT reachesservers handle theADV_MSG_MAX value. Thereafter, Solicits are retransmitted every ADV_MSG_MAX until SOL_MAX_ATTEMPTS have been made, at which timepreference field. 9.3. DHCP Request Message 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 = 3 | preference | transaction-ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | client-link-local-address | | (16 octets) | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | server-address | | (16 octets) | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | options (variable number and length) .... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ preference (unused) MUST be 0 transaction-ID An unsigned integer generated by the clientstops trying to DHCP configure the interface. An event external to DHCP is requiredused torestart the DHCP configuration process. Default and initial values for MIN_SOL_DELAY, MAX_SOL_DELAY, ADV_MSG_TIMEOUT, AND ADV_MSG_MAX are documented in section 3.5. 10.3.3. Receipt of Advertise messages Upon receiptidentify this Request message. client-link-local-address The link-local address ofone or more validated Advertise messages,the clientselects one or more Advertise messages based uponinterface from which thefollowing criteria. - Those Advertise messages withclient will issue thehighest server preference value (see section 14.4) are preferred over all other Advertise messages. - Within a groupRequest message. server-address The IP address ofAdvertise messages withthesameserverpreference value, a client MAY select those servers whoseto which the the client's Request message is directed, copied from an Advertisemessages advertise information of interestmessage. options Options are described elsewhere in this document. Bound, Carney, Perkins, Droms (ed.) Expires 1 May 2001 [Page 16] Internet Draft DHCP for IPv6 22 November 2000 9.4. DHCP Reply Message 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 = 4 | preference | transaction-ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | client-link-local-address | | (16 octets) | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | server-address | | (16 octets) | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | options (variable number and length) .... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ preference An unsigned integer indicating a server's willingness to provide service to the client.For example, one server may be advertisingtransaction-ID An unsigned integer used to identify this Reply message. Copied from theavailability of IP addresses on networks which have anclient's Request message. client-link-local-address The link-local addressscopeofinterest totheclient. Once a client has selected Advertise message(s),interface for which the clientwill typically store information about each server, such as relayis using DHCP. server-address The IP addressand prefix length, server preference value, networks advertised, when the advertisement was received, and so on. Depending on the requirementsof theclient's invoking user, the client MAY initiate a configuration exchange withserver. If theserver(s) immediately, or MAY deferDHCP domain crosses site boundaries, then thisexchange until later.address MUST be globally-scoped. options Options are described elsewhere in this document. Bound, Carney,PerkinsPerkins, Droms (ed.) Expires 1November 2000May 2001 [Page27]17] Internet Draft DHCP for IPv65 May22 November 200010.4. Relay Behavior For this discussion, the Relay is assumed to have been configured with some list of server destination addresses, which may be unicast, the FF05::1:3 (All9.5. DHCPServers) multicast address, or some other multicast address selectedRelease Message 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 = 5 | preference | transaction-ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | client-link-local-address | | (16 octets) | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | server-address | | (16 octets) | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | options (variable number and length) .... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ preference (unused) MUST be 0 transaction-ID An unsigned integer generated by thenetwork administrator. 10.4.1. Relaying of Solicit messages When a Relay receives a valid Solicit message, it places the IPclient used to identify this Release message. P (unused) MUST be 0 client-link-local-address The client's link-local addressoffor the interfaceuponfrom whichit received the Solicit message inthe``relay-address'' field ofclient issued theSolicit.Release message. server-address TheRelay also places the number of bits of that make up the subnet prefix for thisIP addressin the ``prefix-len'' fieldof theSolicit. The Relay then forwards this Solicit to the list ofserverdestination addressesthatitassigned the addresses. options See section 22. 9.6. DHCP Reconfigure Message Format The Reconfigure message has beenconfigured with. 10.4.2. Relaying of Advertise messages When a Relay receives a valid Advertise message, it unicasts thedeleted (see section 23.2). 9.7. DHCP Reconfigure-reply Message Format The Reconfigure-reply messageto the link-local address found in the ``client's link-local address'' fieldhas been deleted (see section 23.2). Bound, Carney, Perkins, Droms (ed.) Expires 1 May 2001 [Page 18] Internet Draft DHCP for IPv6 22 November 2000 9.8. DHCP Reconfigure-init Message 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 = 8 | preference | transaction-ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | client-link-local-address | | (16 octets) | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | server-address | | (16 octets) | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | options (variable number and length) .... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ preference (unused) MUST be 0 transaction-ID An unsigned integer generated byway of the appropriate network interface. 10.5. Server Behavior For this discussion,theServer is assumed to have been configured in an implementation specific manner. This configuration is assumedserver tocontain all network topology information for the DHCP domain, as well as any necessary authentication information. 10.5.1. Receipt of Solicit messages Upon the receiptidentify this Reconfigure-init message client-link-local-address (unused) MUST be 0 server-address The IP address ofa valid Solicit message, the server first identifies the client's location withinthe DHCPdomain. Ifserver issuing the``relay-address'' and / or ``prefix-len'' fieldsReconfigure-init message. MUST be ofthe Solicit are zeroed, then the client is attachedsufficient scope tothe same link as the server. If these fields are non-zero, then the client exists on the same link as the network identifiedbe reachable bythese two fields. If administrative policy permits the server to respond to a client on that link, the server will generate and sendall clients. options SHOULD only include anAdvertise message to the client.``Options request option'' (ORO) and/or authentication options. No configuration information SHOULD be included. See section 22 more information about options. Bound, Carney,PerkinsPerkins, Droms (ed.) Expires 1November 2000May 2001 [Page28]19] Internet Draft DHCP for IPv65 May22 November 200010.5.2. Creation and sending of Advertise messages When creating an Advertise message, the server SHOULD start out with a buffer initialized with zeroed octets. The server sets the ``msg-type'' field to9.9. Relay-forward message 0 1 2and copies the values of the following fields from the client's Solicit to the Advertise message: o solicit-ID o client's link-local address o3 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 TBD | prefix length | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | | relay-address | | | | |-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | options (variable number and length) .... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ msg-type TBD prefix-length Theserver places one of its IP addresses (determined through administrator setting) in the ``server-address'' field of the Advertise message. The server initializes the ``preference'' field from its configuration information. See section 15.3 for a descriptionlength ofserver preference. Iftheclient requests subnetprefixextensions (by setting the ``P'' bitinits Solicit) and the server implements and is configured to provide prefix extensions, the server will generate and insert a subnet prefix extension for each network ontheclient's link it is configured to manage. Ifaddress in the ``relay-address''field of the Advertise message is zero, then the server unicasts the Advertise message directlyfield. relay-address An address assigned to theclient using the ``client's link-local address'' field value as destination address. If the ``relay-address'' field is non-zero, then the server unicastsinterface through which theAdvertisemessagedirectly to the relay using the ``relay-address'' field value asfrom thedestination address. 11. DHCP Client-Initiated Configuration Exchange Aclientinitiates a configuration exchange with one or more servers it has found through DHCP server solicitation whenever requested to do so by the application layer in order to acquire configuration information of interest. 11.1. Request Message Validation Clients MUST silently discard any received Request messages. Agentswas received. options MUSTdiscard any Request messages in which the ``client's link-local address'' field does not containinclude avalid link-local address.``Client message option''; see section 22.4. 9.10. Server-forward message 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 TBD | prefix length | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | | relay-address | | | | |-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | options (variable number and length) .... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ msg-type TBD Bound, Carney,PerkinsPerkins, Droms (ed.) Expires 1November 2000May 2001 [Page29]20] Internet Draft DHCP for IPv65 May22 November 2000Relays MUST discard any received Request messagesprefix-length The length of the prefix in the address inwhichthe ``relay-address''field value does not match any offield. relay-address An address identifying therelay's addresses. Servers MUST discard any received Request messageinterface through whichmeets any ofthefollowing criteria: o The ``server-address'' field value does not match any ofmessage from theserver's addresses. o Ifserver should be forwarded; copied from the``relay-address'' field``client-forward'' message. options MUST include a ``Server message option''; see section 22.5. 9.11. Identity association An ``identity-association'' (IA) isset,a construct through which a server andthat field's value does not contain an addressa client can identify, group and manage IPv6 addresses. Each IA consists ofsufficient scope as toa UUID and a list of associated IPv6 addresses (the list may bereachable byempty). A client associates an IA with one of its interfaces and uses the IA to obtain IPv6 addresses for that interface from a server.o10. DHCP Server Solicitation This section describes how a client locates servers. The``extensions'' field contains an authentication extension,behavior of client, server, and relay implementations is discussed, along with theserver cannot successfully authenticatemessages they use. (Prefix advertisements have been deleted; see 23.9.) 10.1. Solicit Message Validation Clients MUST silently discard any received Solicit messages. Agents MUST silently discard any received Solicit messages if theclient. 11.2. Reply``client-link-local-address'' field does not contain a valid link-local address. 10.2. Advertise Message Validation Servers MUSTsilentlydiscard any receivedReplyAdvertise messages. Clients MUST discard anyReply messageAdvertise messages thatmeetsmeet any of the following criteria: Bound, Carney, Perkins, Droms (ed.) Expires 1 May 2001 [Page 21] Internet Draft DHCP for IPv6 22 November 2000 o The``transaction-ID''``Transaction-ID'' field value does not match the value the client used in itsRequest or ReleaseSolicit message. o The``client's link-local address''``client-link-local-address'' field value does not match the link-local address of the interface upon which the client sentin its Request or Releasethe Solicit message.o The Reply10.3. Client Behavior Clients use the Solicit messagecontains an authentication extension,to discover DHCP servers configured to serve addresses on the link to which the client is attached. (Prefix advertisement by servers has been deleted; see section 23.9.) 10.3.1. Creation and sending of theclient's attemptSolicit message The client sets the ``msg-type'' field to 1, and places the link-local address of the interface it wishes to configure in the ``client-link-local-address'' field. The client sets all other fields to zero. The client sends the Solicit message toauthenticatethe FF02::1:2 (All DHCP Agents) multicast address, destination port 547. The source port selection can be arbitrary, although it SHOULD be possible using a client configuration facility to set a specific source port value. 10.3.2. Time out and retransmission of Solicit Messages The client's first Solicit messagefails. Relayson the interface MUSTdiscard any Reply message that meets anybe delayed by a random amount of time between the interval of MIN_SOL_DELAY and MAX_SOL_DELAY. This random delay desynchronizes clients which start at the same time (e.g., after a power outage). The client waits ADV_MSG_TIMEOUT, collecting Advertise messages. If no Advertise messages are received, the client retransmits the Solicit, and doubles the ADV_MSG_TIMEOUT value. This process continues until either one or more Advertise messages are received or ADV_MSG_TIMEOUT reaches thefollowing criteria: o The ``R'' bit isn't set. o The ``relay-address'' field value does not containADV_MSG_MAX value. Thereafter, Solicits are retransmitted every ADV_MSG_MAX until SOL_MAX_ATTEMPTS have been made, at which time therelay's address onclient stops trying to DHCP configure thesame link asinterface. An event external to DHCP is required to restart theclient. o The ``client's link-local address'' field value does not contain a valid link-local address.DHCP configuration process. Default and initial values for MIN_SOL_DELAY, MAX_SOL_DELAY, ADV_MSG_TIMEOUT, AND ADV_MSG_MAX are documented in section 3.5. Bound, Carney,PerkinsPerkins, Droms (ed.) Expires 1November 2000May 2001 [Page30]22] Internet Draft DHCP for IPv65 May22 November 200011.3. Release Message Validation Clients MUST silently discard any received Release messages. Agents MUST discard any Release message that meets any10.3.3. Receipt ofthe following criteria: o The ``transaction-ID'' field contains a value not in the 1024--65535 range. o The ``client's link-local address'' field does not contain a valid link-local address. Relays MUST discard any received Release message that meets anyAdvertise messages Upon receipt of one or more validated Advertise messages, the client selects one or more Advertise messages based upon the followingcriteria: o The ``R'' bit is not set. o The ``X-address'' fieldcriteria. - Those Advertise messages with the highest server preference valuedoes not match any(see section 14.4) are preferred over all other Advertise messages. - Within a group of Advertise messages with therelay's addresses. Servers MUST discard any received Release message which meets anysame server preference value, a client MAY select those servers whose Advertise messages advertise information of interest to thefollowing criteria: o The ``X-address'' field does not containclient. For example, one server may be advertising the availability of IP addresses which have an addressof sufficientscopeasof interest tobe reachable by the server. o The ``extensions'' field contains an authentication extension, and the server cannot successfully authenticatethe client.11.4. Client Behavior AOnce a client has selected Advertise message(s), the client willgenerate one or more Request messagestypically store information about each server, such as server preference value, addresses advertised, whenprompted bytheapplication layer in order to acquire configuration information. Aadvertisement was received, and so on. Depending on the requirements of the client's invoking user, the clientmayMAY initiatesuch ana configuration exchangeautomatically in orderwith the server(s) immediately, or MAY defer this exchange until later. 10.4. Relay Behavior For this discussion, the Relay may be configured toacquireuse a list of server destination addresses, which may include unicast addresses, the FF05::1:3 (All DHCP Servers) multicast address, or other multicast addresses selected by thenecessarynetworkparameters to communicate with nodes off-link.administrator. If the Relay has not been explicitly configured, it will use the FF05::1:3 (All DHCP Servers) multicast address as the default. 10.4.1. Relaying of Solicit messages When a Relay receives a valid Solicit message, it constructs a Relay-forward message. The clientusesSolicit message is carried as theserver andpayload of a ``client-message'' option. The relay places an addressinformation from previous Advertise message(s) for use in delivering Request message(s). Note that a client may request configuration informationfromone or more servers at any time. A client usestheReleaseinterface on which the Solicit message was received in themanagement of releasable resources when: o The client has determined through a resource-specific manner``relay-address'' field and the prefix length for that address in theresource assigned by``prefix-length'' field. The Relay then sends the Relay-forward message to the list of serveris already in use by a different client.destination addresses that it has been configured with. Bound, Carney,PerkinsPerkins, Droms (ed.) Expires 1November 2000May 2001 [Page31]23] Internet Draft DHCP for IPv65 May22 November 2000o The client has been instructed to release the resource prior to the lease expiration time since it is no longer needed. 11.4.1. Creation and sending10.4.2. Relaying ofRequestAdvertise messages Whencreating a Request message,theclient SHOULD start out withrelay receives abuffer initialized with zeroed octets. The client sets the ``msg-type'' field to 3, and places the link-local address of the interfaceRelay-reply message, itwishes to associate withextracts theconfiguration information with inserver message from the``client's link-local address'' field. Unless``server-message'' option and forwards theRequestserver messageis created in responsetoa Reconfigure-init message,theclient generates a transaction IDaddress in therange of 1024--65535 and inserts this valueclient-link-local-address field in the``transaction-ID'' field.server message. Theclient places the address ofrelay forwards thedestinationserverin the ``server-address'' field. If the client is not on the same link as the destination server, the client placesmessage through theappropriate relay's addressinterface identified in the ``relay-address''field. Iffield in theclientRelay-reply message. 10.5. Server Behavior For this discussion, the Server isacquiringassumed to have been configured in an implementation specific manner. This configuration is assumed to contain all network topology informationon the interfacefor thefirst time, the client SHOULD set the ``C'' bit inDHCP domain, as well as any necessary authentication information. 10.5.1. Receipt of Solicit messages If theheader. Howserver receives a Solicit message, the clientdetermines if this is the first configuration attemptmust be on theinterface is implementation-specific. A client may implementsame link as the server. If the server receives acache of configuration information onRelay-forward message containing aper-interface basis; if that cache does not exist, thatSolicit message, the clientwould setmust be on the``C'' bit. Clientslink to whichdo not implement caching of per-interface configuration information MUST always setthe``C'',prefix identified by the ``relay-address'' andinclude any extensions carrying releasable resources received from earlier configuration exchanges``prefix-length'' fields in theextensionsRelay-forward message is assigned. The server records the ``relay-address'' fieldoffrom theRequest.Relay-forward message and extracts the solicit message from the ``client-message'' option. If administrative policy permits the server to respond to a clienthas determined through an implementation-specific manneron that link, theclient implementation itself has restarted, it MUST setserver will generate and send an Advertise message to the``R'' bit inclient. 10.5.2. Creation and sending of Advertise messages The server sets theheader. After``msg-type'' field to 2 and copies thefirst successful exchange withvalues of theserver,following fields from theclient MUST NOT setclient's Solicit to the``R'' bitAdvertise message: o transaction-ID o client-link-local-address The server places one of its IP addresses (determined through administrator setting) insubsequent Request messages. Client considerations for extensions are now considered (seethe``extensions document'', [2]``server-address'' field of the Advertise message. The server sets the ``preference'' field according to its configuration information. See section 15.3 formore details).a description of server preference. Bound, Carney, Perkins, Droms (ed.) Expires 1 May 2001 [Page 24] Internet Draft DHCP for IPv6 22 November 2000 If theclient already has an IP addressSolicit message was received in a Relay-forward message, the server constructs a Relay-reply message with the Advertise message in the payload ofsufficient scopea ``server-message'' option. The server unicasts the Relay-reply message to the address in the ``relay-address'' field from the Relay-forward message. If the Solicit message was received directlyreachby the server,thentheclient SHOULD unicastserver unicasts theRequestAdvertise message directly to theserver. Otherwise, ifclient using theserver is off-link,``client-link-local-address'' field value as theclient unicastsdestination address. The Advertise message MUST be unicast through theRequestinterface on which the Solicit message was received. DISCUSSION: (From Ted Lemon) There is a danger in using Solicit versus DHCPDISCOVER: in the Solicit paradigm, the client has to choose theappropriate relay. Bound, Carney, Perkins Expires 1 November 2000 [Page 32] Internet DraftDHCPfor IPv6 5 May 2000 11.4.2. Time out and retransmission of Request Messages The client waits REP_MSG_TIMEOUT milliseconds, collecting Reply messages. If no Reply messages are received,server before it knows if theclient retransmitsDHCP server will give it an IP address, or which addresses theRequest withserver is willing to assign to the client. It may be that there are two or more DHCP servers owned by the sametransaction-ID,administrative domain, anddoublesboth are theoretically willing to give theREP_MSG_TIMEOUT value, and waits again. Theclientcontinues this process until a Reply is received or REQUEST_MSG_ATTEMPTS unsuccessful attempts have been made, at which time theaddresses, but only one actually has any addresses to give. 11. DHCP Client-Initiated Configuration Exchange A clientMUST abortuses the Request-Reply message exchange to acquire configurationattempt.information of interest. The clientSHOULD reportmay initiate theabort statusconfiguration exchange as part of the operating system configuration process or when requested to do so by the application layer.Default and initial values for REP_MSG_TIMEOUT and REQ_MSG_ATTEMPTS are documented in section 3.5. 11.4.3. Receipt of Reply message in response to a Request UponA client uses thereceipt of a valid Reply message,Release-Reply message exchange to indicate to the DHCP server that the clientextractswill no longer be using theconfiguration information containedaddresses in theReply. Ifreleased IA. 11.1. Request Message Validation Clients MUST silently discard any received Request messages. Agents MUST discard any Request messages in which the``status''``client-link-local-address'' fieldcontainsdoes not contain anon-zero value, the client reports the error status tovalid link-local address. Servers MUST discard any received Request message which meets any of theapplication layer. Iffollowing criteria: Bound, Carney, Perkins, Droms (ed.) Expires 1 May 2001 [Page 25] Internet Draft DHCP for IPv6 22 November 2000 o The ``server-address'' field value does not match any of theextensionsserver's addresses. o The ``options'' field containsone or more ``Reconfigure Multicast Address'' extensions (see ``extensions document'', ``Reconfigure Multicast Address Extension'' section [2]),an authentication option, and theclientserver cannot successfully authenticate the client. 11.2. Reply Message Validation Servers MUSTjoin these multicast groups, andsilently discard any received Reply messages. Clients MUSTmonitordiscard any Reply message that meets any of theUDP 546 port for Reconfigure or Reconfigure-init messages onfollowing criteria: o The ``transaction-ID'' field value does not match thenetworks configured by DHCP. Ifvalue theconfiguration information returnedclient used in its Request or Release message. o The ``client-link-local-address'' field value does not match the link-local address of the interface upon which the client sent in its Request or Release message. o The Reply message containsreleasable resources, thenan authentication option, and theclient MUST take over lease management ofclient's attempt to authenticate theresource. A clientmessage fails. Relays MUSTNOT request releasable resources unless it is prepared to appropriately managediscard any Relay-reply message in which theresource lease. 11.4.4. Creation and sending of Release messages When creating``client-link-local-address'' in the encapsulated Reply message does not contain a valid link-local address. 11.3. Releasemessage,Message Validation Clients MUST silently discard any received Release messages. Agents MUST discard any Release message in which theclient SHOULD start out with``client-link-local-address'' field does not contain abuffer initialized with zeroed octets. The client setsvalid link-local address. Servers MUST discard any received Release message in which the``msg-type''``options'' fieldto 5,contains an authentication option, andplacesthelink-local address of the interfaceserver cannot successfully authenticate theconfiguration information it wishesclient. 11.4. Client Behavior A client will generate one or more Request messages torelease is associated with in the ``client's link-local address'' field. Theacquire configuration information. A clientgenerates a transaction ID in the range of 1024--65535 and inserts this valuemay initiate such an exchange automatically in order to acquire the``transaction-ID'' field.necessary network parameters to communicate with nodes off-link. The clientincludes extensions containinguses thereleasable resources it is releasingserver address information from previous Advertise message(s) for use inthe ``extensions'' field. The appropriate ``status''Bound, Carney,PerkinsPerkins, Droms (ed.) Expires 1November 2000May 2001 [Page33]26] Internet Draft DHCP for IPv65 May22 November 2000field in the extensions MUST be set to indicateconstructing Request message(s). Note that a client may request configuration information from one or more servers at any time. A client uses thereason forRelease message in therelease.management of IAs when: o The clientplaces the IP addresshas determined through DAD or some other method that one or more of theserver who allocatedaddresses assigned by theresource(s)server in the``server-address'' field. If the client will have an appropriately scoped IP address after the release transactionIA iscompleted, the client clears the ``R'' bit and places this addressalready inthe ``X-address'' field. If theuse by a different client. o The clientwill not have an appropriately scoped IP address after thehas been instructed to releasetransaction is completed,the IA prior to the IA expiration time since it is no longer needed. 11.4.1. Creation and sending of Request messages The client sets the``R'' bit``msg-type'' field to 3, and places the link-local address of theappropriate relayinterface it wishes to acquire configuration information for in the``X-address''``client-link-local-address'' field.If the client is configured to use authentication, theThe client generatesthe appropriate authentication extension, and addsa transaction ID inserts thisextension tovalue in the``extensions''``transaction-ID'' field.Note thatThe client places theauthentication extension MUST beaddress of thelast extensiondestination server in the``extensions''``server-address'' field.See the ``extension document'' forThe client adds any appropriate options, including one or moredetails about the authentication extension [2]. IfIA options (if the``R'' bitclient isset, thenrequesting that the server assign it some network addresses). If the client does include any IA options, it MUSTunicast the Release to the relay indicated ininclude the``X-address'' field. Otherwise,list of addresses the clientunicasts the Release message directly tocurrently has associated with that IA. If theserver indicated inclient is requesting configuration of a new IA, the``server-address'' field. 11.4.5.list of addresses MUST be empty. 11.4.2. Time out and retransmission ofReleaseRequest Messages Theclient waits REP_MSG_TIMEOUT milliseconds, collectingserver will respond to the Request message with a Replymessages.message. If no Replymessages are received,message is received within REP_MSG_TIMEOUT milliseconds, the client retransmits theRelease,Request with the same transaction-ID, and doubles the REP_MSG_TIMEOUT value, and waits again. The client continues this process until a Reply is received orREL_MSG_ATTEMPTSREQUEST_MSG_ATTEMPTS unsuccessful attempts have been made, at which time the clientSHOULDMUST abort thereleaseconfiguration attempt. The client SHOULDreturnreport the abort statusto the application, if an application initiated the release. Default and initial values for REP_MSG_TIMEOUT and REL_MSG_ATTEMPTS are documented in section 3.5. Note that if the client fails to release the resource, the resource will be reclaimed by the server when the lease associated with it expires.to the application layer. Default and initial values for REP_MSG_TIMEOUT and REQ_MSG_ATTEMPTS are documented in section 3.5. Bound, Carney,PerkinsPerkins, Droms (ed.) Expires 1November 2000May 2001 [Page34]27] Internet Draft DHCP for IPv65 May22 November 200011.4.6.11.4.3. Receipt of Reply message in response to aReleaseRequest Upon the receipt of a valid Reply message, the clientcan considerextracts theRelease event successful, and SHOULD returnconfiguration information contained in thesuccessfulReply. If the ``status'' field contains a non-zero value, the client reports the error status to the applicationlayer, if an application initiated the release. 11.5. Relay Behavior 11.5.1. Relaying of Request or Release messages When a Relay receives a valid Request or Release message, it forwards it tolayer. The client records theIP address foundT1 and T2 times for each IA in the``server-address'' field ofReply message. The client records any addresses included with IAs in the Reply message.11.6. Server Behavior For this discussion,The client updates theServer is assumed to have been configuredpreferred and valid lifetimes for the addresses inan implementation specific manner with configuration of interest to clients. Such configuration information MAY contain releasable resources such as IP addresses. 11.6.1. Receipt of Request messages Uponthereceipt of a valid Request messageIA fromathe lifetime information in the IA option. The client leaves any addresses that theserver can respond to, (implementation-specific administrative policy satisfied)client has associated with theserver scansIA that are not included in theextensions field. IfIA option unchanged. Management of the specific configuration information is detailed in the definition of each option, in section 22. 11.4.4. Creation and sending of Release messages The clienthas setsets the``C'' bit,``msg-type'' field to 5, and places theserver MUST release all releasable resources currentlylink-local address of the interface associated with theclient's binding that do not appearconfiguration information it wishes to release in the``extensions''``client-link-local-address'' field.If theThe clienthas setgenerates a transaction ID and places this value in the``R'' bit,``transaction-ID'' field. The client includes options containing theserver MUST delete any transaction-ID cache entriesIAs it ismaintaining for this client, if the server implements such a cache. Server considerations for extensions are now evaluated (seereleasing in the``extensions document'', [2] for more details). If``options'' field. The appropriate ``status'' field in theconfiguration information tooptions MUST bereturnedset to indicate the reason for the release. The clientincludes releasable resources,places the IP address of the serverchecks if a binding already exists forthat allocated theclient.address(es) in the ``server-address'' field. Ifso,theserver examinesclient is configured to use authentication, thedata records withinclient generates thebindingappropriate authentication option, and adds this option todetermine iftheclient's Request is a retransmission of an earlier Request or a new Request. Releasable resource identifiers are stored within``options'' field. Note that thebinding withauthentication option MUST be thetransaction-ID used bylast option in the ``options'' field. See section 22.7 for more details about the authentication option. (The client always forwards Release messages torequesttheresource's assignment. If the transaction-ID's match, this isserver through aretransmissionrelay; see section 11.5.) Bound, Carney,PerkinsPerkins, Droms (ed.) Expires 1November 2000May 2001 [Page35]28] Internet Draft DHCP for IPv65 May22 November 2000 11.4.5. Time out andthe server simply return the contentsretransmission ofthe client's binding which satisfy its request.Release Messages If no Reply message is received within REP_MSG_TIMEOUT milliseconds, thetransaction-ID's do not match,client retransmits theserver recordsRelease, doubles theadditional resources itREP_MSG_TIMEOUT value, and waits again. The client continues this process until a Reply isassigning in the existing binding withreceived or REL_MSG_ATTEMPTS unsuccessful attempts have been made, at which time thenew Request's transaction-ID. Ifclient SHOULD abort the release attempt. The clientdoes not haveSHOULD return the abort status to the application, if anexisting binding,application initiated theserver creates a bindingrelease. Default and initial values for REP_MSG_TIMEOUT and REL_MSG_ATTEMPTS are documented in section 3.5. Note that if the clientand recordsfails to release theresources it is assigning in this binding along withIA, thetransaction-ID fromaddresses assigned to the IA will be reclaimed by theclient's Request. Theserverthen constructs a Reply message and sends it towhen theclient. 11.6.2.lease associated with it expires. 11.4.6. Receipt of Reply message in response to a ReleasemessagesUponthereceipt of a validReleaseReply message, theserver performs a lookup to find the client's binding. If the binding is found, the server examines the binding to see if the resource(s) identified by theclientincan consider the Releasemessage's extensions field are in fact assigned to the client. If they are, the server deletes these resources from the client's binding, making them available to other clients. The server then generates a Reply message. If a binding was foundevent successful, and SHOULD return theresources presented to the server were deleted from the client's binding, the server sets the ``status'' fieldsuccessful status to``Success''. If no binding is found,theserver setsapplication layer, if an application initiated the``status'' field to ``NoBinding''(section 3.4). 11.6.3. Creation and sending of Reply messagesrelease. 11.4.7. WhencreatingaReply message, the server SHOULD start out withclient should send abuffer initialized with zeroed octets.Request message Theserver sets the ``msg-type'' field to 4 and copies the valuesdescription of thefollowing fields fromRequest/Reply message exchange in this section makes no assumptions about theclient's Requesttiming orRelease to the Reply message: o transaction-ID o client's link-local address o Ifstate of theclient'sclient when it initiates a Request/Reply messageisexchange. Sections 11.4.8 through 11.4.10 describe when aRequest withclient MAY initiate anon-zero ``relay-address'' field value, the server sets the ``R'' bit in the ReplyRequest/Reply message exchange. The procedures for timeout andcopies the ``relay-address'' field value from theretransmission of Requestto the Reply.messages are described in section 11.4.2. 11.4.8. Initialization Ifthe client's message isaReleaseclient has no valid IPv6 addresses of sufficient scope to communicate with a DHCP server, it may a Request message to obtain new addresses. The client includes one or more IAs in the``R'' bit set,Request message, to which the serversetsassigns new addresses. The server then returns to IA(s) to the``R'' bitclient inthea Replyand setsmessage. 11.4.9. Confirming the``relay-agent'' fieldvalidity of IPv6 addresses Whenever a client may have moved tothe contentsa new link, its IPv6 addresses may no longer be valid. Examples ofthe Release's X-address field.times when a client may have moved to a new link include: Bound, Carney,PerkinsPerkins, Droms (ed.) Expires 1November 2000May 2001 [Page36]29] Internet Draft DHCP for IPv65 May22 November 2000 o Theserver sets the ``status'' field appropriately (see the table in section 3.4) based upon the results of processing the client's request. If configured to do so,client reboots o The client is physically disconnected from aserver will include ``Reconfigure Multicast Address'' extensions (see ``extensions document'', ``Reconfigure Multicast Address Extension'' [2]), in Reply messages sent in response towired connection o The client returns from sleep mode o The client using a wireless technology changes cells In any situation when aRequest, informing theclientof one or more multicast groups it should joinmay have moved tofacilitate the receipt of Reconfigure or Reconfigure-init messages. If the DHCP domain is using authentication, the server will generate an authentication extension witha new link, theappropriate settings and add that extension asclient MUST initiate a Request/Reply message exchange. The client includes any IAs, along with thelast extensionaddresses associated with those IAs, inthe ``extensions'' field of the Replyits Request message.IfThe server returns the``relay-address'' fieldIAs with updated list of addresses and associated lifetimes. 11.4.10. Extending theReply message is zero, thenlifetimes on IPv6 addresses IPv6 addresses assigned to a client through an IA use the same preferred and valid lifetimes as IPv6 addresses obtained through stateless autoconfiguration. The serverunicastsassigns preferred and valid lifetimes to theReply directlyIPv6 addresses it assigns to an IA. To extend those lifetimes, the clientusing the ``client's link-local address'' field value as destination address. Ifsends a Request to the``relay-address'' field is non-zero, thenserver containing an ``IA option'' for the IA and its associated addresses. The serverunicastsdetermines new lifetimes for theReply directlyaddresses in the IA according to therelay usingserver's administrative configuration. The server may also add new addresses to the``relay-address'' field value asIA. The server remove addresses from thedestination address. IfIA by setting the preferred and valid lifetimes of those addresses to zero. The serverimplements a transaction-ID cache,controls theserver would add an entry fortime at which the clientto this cache. 12. DHCP Server-Initiated Configuration Exchange Acontacts the serverinitiates a configuration exchangeto extend the lifetimes onbehalf ofassigned addresses through theadministrator ofT1 and T2 parameters assigned to an IA. If theDHCP domain. An administrator may initiate suchserver does not assign anexchange when new networks are addedexplicit value tothe domainT1 orexisting networks areT2 for an IA, T1 defaults tobe renumbered. Other examples include changes in0.5 times thelocation of directory servers, addition of new services such as printing, and availabilityshortest preferred lifetime ofnew software (system or application). 12.1. Reconfigure Message Validation Agents MUST silently discardanyreceived Reconfigure messages. Clients MUST discardaddress assigned to the IA and T2 defaults to 0.875 times the shortest preferred lifetime of anyReconfigureaddress assigned to the IA. At time T1 for an IA, the client initiates a Request/Reply messagethat meetsexchange to extend the lifetimes on anyofaddresses in thefollowing criteria: oIA. The``transaction-ID'' field value is not withinclient includes an IA option with all addresses currently assigned to the0--1023 range. oIA in its Request message. TheReconfigureclient unicasts this Request messagecontainsto the server that originally assigned the addresses to the IA. At time T2 for anauthentication extension, andIA (which will only be reached if theclient's attemptserver toauthenticatewhich the Request messagefails.was sent at time T1 has not responded), the client initiates a Request/Reply message exchange. The client includes an IA option with all addresses currently assigned to the IA in its Request message. The client multicasts this message to the FF02::1:2 (All DHCP Agents) multicast address. Bound, Carney,PerkinsPerkins, Droms (ed.) Expires 1November 2000May 2001 [Page37]30] Internet Draft DHCP for IPv65 May22 November 200012.2. Reconfigure-reply Message Validation Clients and Relays MUST silently discard any received Reconfigure-reply messages. Servers MUST discard any Reconfigure-reply message that meets any11.5. Relay Behavior 11.5.1. Relaying ofthe following criteria: oRequest or Release messages When a Relay receives a valid Request or Release message, it constructs a Relay-forward message. The``transaction-ID'' field valueclient message isnot that same valuecarried as theserver used in its Reconfigure message. opayload of a ``client-message'' option. The``server-address'' field value does not matchrelay places an address from thevalueinterface on which theserver placed in its Reconfigure message. 12.3. Reconfigure-init Message Validation Agents MUST silently discard anyclient message was receivedReconfigure-init messages. Clients MUST discard any Reconfigure-init messagesin the ``relay-address'' field and the prefix length for thatmeets any ofaddress in thefollowing criteria: o``prefix-length'' field. The``transaction-ID'' field value is not withinRelay then forwards the0--1023 range. o The Reconfigure-initRelay-forward messagecontains an authentication extension, and the client's attempttoauthenticatethemessage fails. 12.4.list of server destination addresses that it has been configured with. 11.6. Server Behavior For this discussion, theserverServer is assumed to havea implementation-specific interface by whichbeen configured in anadministrator may initiate a reconfiguration eventimplementation specific manner withsome setconfiguration of interest to clients.There are two methods11.6.1. Receipt of Request messages Upon the receipt ofinitiatingareconfiguration event. Each has its advantages: Reconfigure with payload This method usesvalid Request message from a client theReconfigure message. Items to be changed are included as extensions inserver can respond to, (implementation-specific administrative policy satisfied) the``extensions''server scans the options field. The server then constructs a Reply message and sends it to the client. DISCUSSION: Thismethod MUST NOTsection needs text about managing IAs and determining options to beusedreturned toreconfigure releasable resources. Examplesclient. 11.6.2. Receipt ofinformation which can be reconfigured using this methodRelease messages Upon the receipt of a valid Release message, the server examines the IAs and the addresses in the IAs for validity. If the IAs in the message areDNS domainin a binding for the client andservers, NTP servers,the addresses in the IAs have been assigned by the server to those IA, the server deletes the addresses from the IAs and makes the addresses available for assignment to othername service parameters.clients. The server then generates a Reply message. If all of the IAs were valid andsendstheReconfigure message; clients respond with Reconfigure-reply messages.addresses successfully released,, the server sets the ``status'' field to ``Success''. If any of the IAs were invalid or if any of the addresses were not successfully released, the server Bound, Carney,PerkinsPerkins, Droms (ed.) Expires 1November 2000May 2001 [Page38]31] Internet Draft DHCP for IPv65 May22 November 2000Reconfigure Trigger This method usesreleases none of theReconfigure-init message. When a client receives a Reconfigure-init message, it initiates a Request/Reply exchange withaddresses in theserver. Any kind of resource can be reconfigured using this method, including releasable resources. An examplemessage and sets the ``status'' field to ``NoBinding''(section 3.4). DISCUSSION: What is the behavior of the server relative to a ``partially released'' IA; i.e., anreleasable resource isIA for which some but not all addresses are released? Can a client send anIP address. A serverempty IA to release all addresses in the IA? If the IA becomes empty - all addresses are released - cansend Reconfigurethe server discard any record of the IA? 11.6.3. Creation andReconfigure-init messages only to those clients who have an addresssending ofsufficient scopeReply messages DISCUSSION: XXX - This section needs to bereachable byfixed (see section 11.6.1). The server sets theserver. Thus, those clients who have not requested an IP address``msg-type'' field to 4 andare off-link cannot be reconfigured bycopies theserver. Before initiating a reconfigure process,values of the following fields from the client's Request or Release to the Reply message: o transaction-ID o client's link-local address o server-address The serverSHOULD be configured with a REC_THRESHOLD threshold value which representssets thepercentage of clients successfully reconfigured before``status'' field appropriately (see thereconfigure process is considered a success. Seetable in section3.5 for3.4) based upon thedefault settingresults ofREC_THRESHOLD. Note thatprocessing the client's request. If the Request or Release message from the client was originally received by the server, the serverMUST be ableunicasts the Reply message todetermine the set of clients that should receivethereconfigure,link-local address inorder to determine whenthereconfigure process is complete. 12.4.1. Creation and sending of Reconfigure messages When creating a Reconfigure message,``client-link-local-address'' field. If theserver SHOULD start out withmessage was originally received in abuffer initialized with zeroed octets. TheForward-request or Forward-release message from a relay, the serversetsplaces the``msg-type''Reply message in the options fieldto 6. The server generatesof atransaction-ID from the 0--1023 rangeResponse-reply message andinserts it inunicasts the``transaction-ID'' field. The server places itsmessage to the relay's address(of appropriate scope) infrom the``server-address'' field. The server then generates extensionsoriginal message. Bound, Carney, Perkins, Droms (ed.) Expires 1 May 2001 [Page 32] Internet Draft DHCP for IPv6 22 November 2000 12. DHCP Server-Initiated Configuration Exchange A server initiates a configuration exchange on behalf of thenon-releasable resourcesadministrator of the DHCP domain. An administrator may initiate such an exchange when new links are added to the domain or existing links are to bechanged and places themrenumbered. Other examples include changes in the``extensions'' field. Iflocation of directory servers, addition of new services such as printing, and availability of new software (system or application). DISCUSSION: Changed ``networks'' to ``links'' here (ed.). Why would adding new links cause a server-initiated configuration exchange? 12.1. Reconfigure Message Validation Reconfigure messages have been deleted; see section 23.2. 12.2. Reconfigure-reply Message Validation Reconfigure-reply messages have been deleted; see section 23.2. 12.3. Reconfigure-init Message Validation Agents MUST silently discard any received Reconfigure-init messages. Clients MUST discard any Reconfigure-init messages that do not contain an authentication option or that fail theDHCP domain is using authentication,client's authentication check. 12.4. Server Behavior For this discussion, the serverwill generateis assumed to have a implementation-specific interface by which anauthentication extensionadministrator may initiate a reconfiguration event withthe appropriate settings and add that extension as the last extension in the ``extensions'' fieldsome set ofthe Reconfigure message. Theclients. A servermulticasts the Reconfiguresends a Reconfigure-init message toone or more Reconfigure Multicast Addresses previously sent as extensionstrigger a client tothe clients. Note thatinitiate immediately a Request/Reply message exchange with the server. A serverMAY unicast Reconfigure message(s)can send Reconfigure-init messages only tospecificthose clientsby walking its listwho have an address ofbindingssufficient scope todetermine the unicast address(es) of the clients. Whether or notbe reachable by theReconfigure is multicast or unicast is an implementation detail. A server waits for Reconfigure-reply messages fromserver. Thus, those clientsconfirming that theywho havereceivednot requested an IP address and are off-link cannot be reconfigured by theReconfigure.server. DISCUSSION: Bound, Carney,PerkinsPerkins, Droms (ed.) Expires 1November 2000May 2001 [Page39]33] Internet Draft DHCP for IPv65 May22 November 200012.4.2. Time out and retransmission of Reconfigure messages The server waits RECREP_MSG_TIMEOUT milliseconds, collecting Reconfigure-reply messages. If all the expected Reconfigure-reply messages are received, then the reconfigure process is successful. If some or all of the expected Reconfigure-replyIt would be possible to forward Reconfigure-init messagesare not received, thenthrough relays if the serverretransmits the Reconfigure, and doublesrecords theRECREP_MSG_TIMEOUT value,client's link-local address andwaits again. The server continues this process until all Reconfigure-reply messages are received or REC_MSG_ATTEMPTS unsuccessful attempts have been made, at which time the server SHOULD abort the reconfigure process. The server SHOULD logtheresult ofrelay's address from thereconfigure process. Default and initial values for RECREP_MSG_TIMEOUTclient's Request message. 12.4.1. Creation andREC_MSG_ATTEMPTS are documented insending of Reconfigure messages Reconfigure messages have been deleted; see section3.5.23.2. 12.4.2. Time out and retransmission of Reconfigure messages 12.4.3. Receipt of Reconfigure-reply messagesUpon receipt of a valid Reconfigure-reply message, the server removes that client from the list of clients it is expecting a Reconfigure-reply message from.12.4.4. Creation and sending of Reconfigure-init messagesWhen creating a Reconfigure-init message, the server SHOULD start out with a buffer initialized with zeroed octets.The server sets the ``msg-type'' field to 8. The server generates a transaction-IDfrom the 0--1023 rangeand inserts it in the ``transaction-ID'' field. The server places its address (of appropriate scope) in the ``server-address'' field. The server MAYgenerateinclude anERE extensionORO option to inform the client of what information has been changed or new information that has been added.If the DHCP domain is using authentication, theThe serverwill generateMUST include an authenticationextensionoption with the appropriate settings and add thatextensionoption as the lastextensionoption in the``extensions''``options'' field of the Reconfigure-init message. Typically, the server will not provide more than anEREORO and / or Authenticationextension,option, since it will provide the new configuration information as part of the Request/Reply transaction triggered by the Reconfigure-init message. The servermulticastsmay either unicast the Reconfigure-init message to one client or multicast the message to one or more Reconfigure Multicast Addresses previously sent asextensionsoptions to the clients.Note that aThe serverMAYmay unicast Reconfigure-initBound, Carney, Perkins Expires 1 November 2000 [Page 40] Internet Draft DHCP for IPv6 5 May 2000 message(s)messages tospecific clients by walking its list of bindingsmore than one client concurrently; for example, todeterminereliably reconfigure all clients, the server will unicastaddress(es) of the clients. Whether or not thea Reconfigure-initis multicast or unicast is an implementation detail. Amessage to each client. If the server unicasts to one or more clients, it waits for a Request message fromeach clientthose clients confirming thatthey haveit has received the Reconfigure-init and are thus initiating a Request/Reply transaction with theserver. Theserver. The server can determine that a Request message is in response to a Reconfigure-init because the transaction-ID in the Request will be the same value as was used in the Reconfigure-init message. Bound, Carney, Perkins, Droms (ed.) Expires 1 May 2001 [Page 34] Internet Draft DHCP for IPv6 22 November 2000 If the server multicasts the Reconfigure-init message, it must use some TBD authentication mechanism that can authenticate the server to multiple clients. There is no reliability mechanism for multicast Reconfigure-init messages. A server might use multicast in the case where it does not have a list of its clients; for example, a servercan determinethata Request message is in responsedistributes configuration information to clients using stateless autoconfiguration might not keep aReconfigure-init because the transaction-ID in the Request will be the same value as was used in the Reconfigure-init message.list of clients it has communicated with. 12.4.5. Time out and retransmission of Reconfigure-init messagesThe server usesIt thesame algorithm and configuration values for sending Reconfigure-init messages as itserver doeswith Reconfigure messages. See Section 12.4.2 for this algorithm. 12.4.6. Receipt of Request messages Upon receipt ofnot receive avalidRequest messagewithfrom thesame transaction-ID asclient in RECREP_MSG_TIMEOUT milliseconds, the server retransmits the Reconfigure-initmessages it sent,message, doubles the RECREP_MSG_TIMEOUT value and waits again. The serverremoves that client fromcontinues this process until REC_MSG_ATTEMPTS unsuccessful attempts have been made, at which point thelistserver SHOULD abort the reconfigure process. Default and initial values for RECREP_MSG_TIMEOUT and REC_MSG_ATTEMPTS are documented in section 3.5. 12.4.6. Receipt ofclients it is expecting to initiate a Request/Reply transaction.Request messages The server generates and sends Reply message(s) to the client as described in section 11.6.3, including in the``extension''``option'' field new values for configuration parameters.If the extensions include releasable resources, the server will include two extensions for each resource - one with the original values with the lease times set to zero, and another with new values and lease times. Note that the server can terminate the client's ability to use a resource simply by including only the first extension value.12.5. Client Behavior A client MUST always monitor UDP port 546 forReconfigure andReconfigure-init messages on interfaces upon which it has acquired DHCP parameters. Since the results of a reconfiguration event may affect application layer programs, the client SHOULD log these events, and MAY notify these programs of the change through an implementation-specific interface.Bound, Carney, Perkins Expires 1 November 2000 [Page 41] Internet Draft DHCP for IPv6 5 May 200012.5.1. Receipt ofReconfigureReconfigure-init messages Upon receipt of a validReconfigure message, the client extracts the configuration parameters contained in the ``extensions'' field, and notifies the application layer that new values for these parameters are available. TheReconfigure-init message, the clientthen generates and sendsinitiates aReconfigure-reply message toRequest/Reply transaction with the server. Bound, Carney, Perkins, Droms (ed.) Expires 1 May 2001 [Page 35] Internet Draft DHCP for IPv6 22 November 2000 12.5.2. Creation and sending ofReconfigure-replyRequest messages Whencreatingresponding to aReconfigure-reply message,Reconfigure-init, the clientSHOULD start out with a buffer initialized with zeroed octets. The client sets the ``msg-type'' field to 7,creates andplaces the link-local address of the interface upon which it receivedsends theReconfigureRequest message in exactly the``client's link-local address'' field. The client copies the values ofsame manner as outlined in section 11.4.1 with the followingfields from the Reconfigure message to the Reconfigure-reply message: odifferences: transaction-IDo server-addressThe clientsets the ``status'' field appropriately (seecopies thetable in section 3.4) based upontransaction-ID from theresults of processingReconfigure-init message into theserver's reconfigure-reply.Request message. IAs The clientplaces the address of the destination server in the ``server-address'' field. Ifincludes IA options containing theclient is configured to use authentication,addresses the clientgenerates the appropriate authentication extension, and adds this extensioncurrently has assigned to those IAs for the``extensions'' field. Note that the authentication extension MUST be the last extension ininterface through which the``extensions'' field.Reconfigure-init message was received. Pause before sending Request The clientdelays thepauses before sendingoftheReconfigure-reply by someRequest for a random valueselected inwithin the rangeofREC_REP_MIN and REC_REP_MAX seconds. This delay helps reduce theload onload on the server generated by processing large numbers of triggered Request messages from a multicast Reconfigure-init message. 12.5.3. Time out and retransmission of Request messages The client uses the same variables and retransmission algorithm as it does with Request messages generated as part of a client-initiated configuration exchange. See section 11.4.2 for details. 12.5.4. Receipt of Reply messages Upon the receipt of a valid Reply message, the client extracts theserver generated by processing large numberscontents ofReconfigure-reply messages. Default and initial values for REC_REP_MINthe ``option'' field, andREC_REP_MAX are documented in section 3.5.sets (or resets) configuration parameters appropriately. The clientunicasts the Reconfigure-reply torecords and updates theaddress identifiedlifetimes for any addresses specified in IAs in the``server-address'' field. SendingReply message. If theReconfigure-reply completesconfiguration parameters changed were requested by thereconfiguration process forapplication layer, theclient.client notifies the application layer of the changes using an implementation-specific interface. 13. Using DHCP for network renumbering This section has been deleted (to be moved to ``Notes about DHCP'' doc?). Bound, Carney,PerkinsPerkins, Droms (ed.) Expires 1November 2000May 2001 [Page42]36] Internet Draft DHCP for IPv65 May22 November 200012.5.3. Receipt of Reconfigure-init messages Upon receipt14. DHCP Client Implementor Notes This section provides helpful information for the client implementor regarding their implementations. The text described here is not part of the protocol, but rather avalid Reconfigure-init message,discussion of implementation features we feel the implementor should consider during implementation. 14.1. Primary Interface Since configuration parameters acquired through DHCP can be interface-specific or more general, the clientinitiatesimplementor SHOULD provide aRequest/Reply transaction withmechanism by which theserver. 12.5.4. Creation and sending of Request messages When respondingclient implementation can be configured toa Reconfigure-init,specify which interface is the primary interface. The clientcreates and sendsSHOULD always query theRequest message in exactlyDHCP data associated with thesame manner as outlinedprimary interface for non-interface specific configuration parameters. An implementation MAY implement a list of interfaces which would be scanned insection 11.4.1 withorder to satisfy the general request. In either case, thefollowing differences: transaction-ID The client copiesfirst interface scanned is considered thetransaction-ID fromprimary interface. By allowing theReconfigure-init message intospecification of a primary interface, theRequest message. Pause before sending Request Theclientpauses before sending the Requestimplementor identifies which interface is authoritative fora random valuenon-interface specific parameters, which prevents configuration information ambiguity within therange REC_REP_MIN and REC_REP_MAX seconds, as outlined in section 12.5.2. 12.5.5. Time outclient implementation. 14.2. Advertise Message andretransmission of Request messages TheConfiguration Parameter Caching If the hardware the clientusesis running on permits it, thesame variables and retransmission algorithm as it does with Request messages generated as part ofimplementor SHOULD provide aclient-initiated configuration exchange. See section 11.4.2cache fordetails. 12.5.6. Receipt of ReplyAdvertise messagesUpon the receipt ofand avalid Reply message, the client extracts the contentscache ofthe ``extension'' field, and sets (or resets) configuration parameters appropriately. If theconfiguration parameterschanged were requested byreceived through DHCP. Providing these caches prevents unnecessary DHCP traffic and theapplication layer,subsequent load this generates on theclient notifiesservers. The implementor SHOULD provide a configuration knob for setting theapplication layeramount of time thechanges using an implementation-specific interface. If the resources changedcache(s) arereleasable,valid. 14.3. Time out and retransmission variables Note that the clientmakestime out and retransmission variables outlined in section 3.5 can be configured on theappropriate adjustmentsserver and sent toits management oftheleases of these resources. 13. Using DHCP for network renumbering An administrator can use DHCP to renumber links within her DHCP domainclient throughtwo techniques, passive renumbering and active renumbering.the use of the ``DHCP Retransmission Parameter Option'', which is documented in section 22.6. A client implementation SHOULD be able to reset these variables using the values from this option. Bound, Carney,PerkinsPerkins, Droms (ed.) Expires 1November 2000May 2001 [Page43]37] Internet Draft DHCP for IPv65 May22 November 200013.1. Passive Renumbering The administrator can configure her servers to return relatively short preferred and valid lifetimes14.4. Server Preference A client MUST wait forthe IP addresses she makes available to clients. When she determines that she'd like to renumberSRVR_PREF_WAIT seconds after sending anetwork, she configures her servers through an implementation-specific mannerDHCP Solicit message todisallowcollect Advertise messages and compare their preferences (see section 15.3), unless it receives an Advertise message with a preference of 255. If theextensionclient receives an Advertise message with a preference of 255, then theIP address lifetimesclient MAY act immediately on that Advertise without waiting for any more additional Advertise messages. 15. DHCP Server Implementor Notes This section provides helpful information for theoriginal network,server implementor. 15.1. Client Bindings A server implementation MUST use the IA's UUID andaddsthenew networkprefix specification from which the client sent its Request message(s) as an index for finding configurationdataparameters assigned to theserver's database.client. While it isn't critical to keep track of the other parameters assigned to a client, the server MUST keep track of the addresses it has assigned to an IA. Theclients onserver should periodically scan its bindings for addresses whose leases have expired. When theoriginal network will failserver finds expired addresses, it MUST delete the assignment of those addresses, thereby making these addresses available toacquire lifetime extensionsother clients. The client bindings MUST be stored in non-volatile storage. The server implementation should provide policy knobs to control whether or not the lifetimes ontheir IP addresses, and will request and acquire IPassigned addressesfromare renewable, and by how long. 15.2. Reconfigure-init Considerations A server implementation MUST provide an interface to thenew network whenadministrator for initiating reconfigure-init events. A server implementation may provide a mechanism for allowing thevalid lifetimespecification of how many clients comprise a reconfigure multicast group. This enables theoriginal IP addresses approaches expiration. Whenadministrator to control thelifetimeshit a server takes when a reconfigure-init event occurs. Bound, Carney, Perkins, Droms (ed.) Expires 1 May 2001 [Page 38] Internet Draft DHCP forall of the IP addresses on the original network expire, the network can be considered renumbered. 13.2. Active RenumberingIPv6 22 November 2000 15.3. Server Preference Theadministrator can forceserver implementation SHOULD allow therenumberingsetting ofnetworks in her DHCP domaina server preference value byusing the reconfigure feature of DHCP. She instructs her servers ofthenetwork renumbering through an implementation-specific interface.administrator. Theservers in the domain will generate Reconfigure-init messages, which will cause the clients to initiate a Request/Reply transactionserver preference variable is an unsigned single octet value (0--255), with theserver. The servers will include two IP address extensions for each IP addresslowest preference beingchanged. The first will contain the original IP address, with the preferred0 andvalid lifetimes set to zero. The second will containthenew IP address,highest 255. Clients will choose higher preference servers over those withnon-zero preferred and valid lifetimes. A server implementation MAY permit the administratorlower preference values. If you don't choose to implement this feature in your server, you MUST set theoriginal IP address lifetimes to some small value greater than zero, to allow applications running on the client to orderly transferserver preference field to 0 in thenew network over time. 14. DHCP Client Implementator NotesAdvertise messages generated by your server. 15.4. Request Message Transaction-ID Cache In order to improve performance, a server implementation MAY include an in memory transaction-ID cache. Thissection provides helpful information for the client implementor regarding their implementations. The text described herecache isnot part ofindexed by client binding and transaction-ID, and enables theprotocol, but ratherserver to quickly determine whether adiscussion of implementation features we feel the implementor should consider during implementation. Bound, Carney, Perkins Expires 1 November 2000 [Page 44] Internet Draft DHCP for IPv6 5 May 2000 14.1. Primary Interface Since configuration parameters acquired through DHCP can be interface-specificRequest is a retransmission ormore general,a new Request without theclientcost of a database lookup. If an implementor chooses to implement this cache, then they SHOULD provide amechanism by which the client implementation can be configuredconfiguration knob tospecify which interface istune theprimary interface. The client SHOULD always querylifetime of the cache entries. 16. DHCPdata associated with the primary interface for non-interface specific configuration parameters. AnRelay Implementor Notes A relay implementationMAY implementSHOULD allow the specification of a list ofinterfaces which would be scanneddestination addresses for forwarded messages. This list MAY contain any mixture of unicast addresses and multicast addresses. If a relay receives an ICMP message inorderresponse tosatisfy the general request. In either case,a DHCP message it has forwarded, it SHOULD log this event. 17. Open Issues for Working Group Discussion This section contains some items for discussion by thefirst interface scannedworking group. 17.1. Authentication Authentication isconsidered the primary interface. By allowing the specification of a primary interface, the client implementor identifies which interfacenot discussed in this document. 17.2. DHCP-DNS interaction Interaction among DHCP servers, clients and DNS servers isauthoritativenot discussed in this document. Bound, Carney, Perkins, Droms (ed.) Expires 1 May 2001 [Page 39] Internet Draft DHCP fornon-interface specific parameters,IPv6 22 November 2000 17.3. Release vs. Decline Should there be a separate Decline message through whichprevents configuration information ambiguity withinthe clientimplementation. 14.2. Advertise Message and Configuration Parameter Caching If the hardwareinforms theclientserver that it has discovered an address that isrunning on permits it,in use by some other host? 17.4. Request messages In DHCPv4, there has been much confusion about overloading DHCPREQUEST with theimplementor SHOULD provide a cacheactions of initial address allocation (INIT), address confirmation (INIT-REBOOT), and extending leases (RENEW/REBIND). The model forAdvertiseDHCPv6 messagesand a cachedescribed in section 11 also uses one type of message, Request, in each ofconfiguration parameters received through DHCP. Providing these caches prevents unnecessary DHCP traffic andthesubsequent loadscenarios in sections 11.4.8 through 11.4.10. The DHCPv6 specification in thisgenerates ondocument does not differentiate theservers. The implementor SHOULD provideactions taken by aconfiguration knob for settingserver based on different times at which a client might initiate a Request/Reply exchange with a server. That is, theamountdescription oftime the cache(s) are valid. 14.3. Time out and retransmission variables Note that the client time out and retransmission variables outlinedserver actions in section3.5 can be configured11.6.1 does not differentiate among Requests received from clients based on theserver and sent to theclient behavior described in sections 11.4.8 throughthe use11.4.10. It may be necessary to define different server behaviors for each of the``DHCP Retransmission Parameter Extension'', which is documentedclient scenarios. For example, in the``extensions document'' [2]. A client implementation SHOULD be ableaddress-reconfirmation scenario (section 11.4.9), servers cannot safely assign new addresses toreset these variables usinga client. The reconfirmation Request is broadcast to multiple servers, which cannot coordinate thevalues fromassignment of any addresses. Therefore, in thisextension. 14.4. Server Preference A client MUST wait for SRVR_PREF_WAIT seconds after sending a DHCP Solicit messagescenario, servers can only acknowledge or deny the validity of addresses but cannot allocate any new addresses. 17.5. Use of term ``agent'' The term ``agent'', taken tocollect Advertise messages and compare their preferences (see section 15.3), unless it receives an Advertise message with a preferencemean ``relay agent or server'', may be confusing. ``relay agent or server'' might be clearer. 17.6. Use of255. Ifterms ``subnet'' and ``network'' The term ``subnet'' has been eliminated from theclient receives an Advertise message withdocument. The term ``network'' is no longer used to describe apreferencelink, collection of255, then the client MAY act immediately on that Advertise without waiting for any more additional Advertise messages.links or collection of IPv6 addresses. 18. Security This document references an ``authentication option'' which is TBD. Bound, Carney,PerkinsPerkins, Droms (ed.) Expires 1November 2000May 2001 [Page45]40] Internet Draft DHCP for IPv65 May22 November 200015. DHCP Server Implementator Notes This section provides helpful information for the server implementor. 15.1. Client Bindings A server implementation can use the client's link-local address and the subnet prefix specification from which the client sent its Request message(s) as an index for finding configuration parameters assigned toDISCUSSION: Based on theclient. While it isn't critical to keep trackdiscussion ofwhich clients were given information (resources) that isn't releasable, it IS critical forsecurity issues at theserver to keep track of which client it has assigned releasable resources. The server MUST include8/31/00 design team teleconference and subsequent DHC WG mailing list discussion, DHCPv6 will use thetransaction-IDsecurity model from DHCPv4, as described in draft-ietf-dhc-authentication-15.txt. 19. Year 2000 considerations Since all times are relative to theclient's Request along withcurrent time of thereleasable resource identifier(s)transaction, there is no problem within thebinding.DHCPv6 protocol related to any hardcoded dates or two-digit representation of the current year. 20. IANA Considerations Thisis done sodocument defines message types 1--8 to be received by UDP at port numbers 546 and 547. Additional message types may be defined in the future. Section 3.1 lists several multicast addresses used by DHCP. This document also defines several status codes that are to be returned with theserver can detect whether a client Request is a retransmission of an earlier Request or an entirely new Request.Reply and Reconfigure-reply messages (see sections 9.4 and 9.7). Theserver should periodically scan its bindingsnon-zero values forreleasable resources whose leases have expired. When the server finds expired resource assignments, it MUST delete these assignments, thereby makingtheseresources available to other clients. The client bindings MUST be storedstatus codes which are currently specified are shown innon-volatile storage. The server implementation should provide policy knobs to control whether or notthelease on a releasable resourcetable in section 3.4. There isrenewable,a DHCPv6 option described in section 22.6, which allows clients andby how long. 15.2. Reconfigure Considerations A server implementation MUST provide an interfaceservers tothe administratorexchange values forinitiating reconfigure events. A server implementation may providesome of the timing and retransmission parameters defined in section 3.5. Adding new parameters in the future would require extending the values by which the parameters are indicated in the DHCP option. Since there needs to be amechanism for allowinglist kept, thespecificationdefault values for each parameter should also be stored as part ofhow many clients comprise a reconfigure multicast group. This enablestheadministratorlist. All of these protocol elements may be specified tocontrolassume new values at some point in thehit a server takes when a reconfigure event occurs. 15.3. Server Preference The server implementation SHOULD allowfuture. New values should be approved by thesettingprocess of IETF Consensus [10]. 21. Acknowledgments Thanks to the DHC Working Group for their time and input into the specification. Ralph Droms and Thomas Narten have had aserver preference value bymajor role in shaping theadministrator. The server preference variable is an unsigned single octet value (0--255), withcontinued improvement of thelowest preference being 0protocol by their careful reviews. Many thanks to Matt Crawford, Erik Nordmark, Gerald Maguire, and Mike Carney for their studied review as part of thehighest 255. Clients will choose higher preference servers over those with lower preference values. If youBound, Carney,PerkinsPerkins, Droms (ed.) Expires 1November 2000May 2001 [Page46]41] Internet Draft DHCP for IPv65 May22 November 2000don't choose to implement this feature in your server, you MUST set the server preference field to 0 inLast Call process. Thanks also for theAdvertise messages generated by your server. 15.4. Request Message Transaction-ID Cache In order to improve performance, a server implementation MAY include an in memory transaction-ID cache. This cache is indexed by client bindingconsistent input, ideas, andtransaction-ID,review by (in alphabetical order) Brian Carpenter, Jack McCann, Yakov Rekhter, Matt Thomas, Sue Thomson, andenables the serverPhil Wells. Thanks toquickly determine whether a Request is a retransmission or a new Request withoutSteve Deering and Bob Hinden, who have consistently taken thecost of a database lookup. If an implementor chooses to implement this cache, then they SHOULD provide a configuration knobtime totunediscuss thelifetimemore complex parts of thecache entries. 16.IPv6 specifications. 22. DHCPRelay Implementator Notes A relay implementation SHOULD allow the specification of a list of destination addresses for Solicit messages. This list MAY contain any mixture of unicast addressesoptions Options are used to carry additional information andmulticast addresses. If a relay receives an ICMP messageparameters inresponse to aDHCPmessage it has forwarded, it SHOULD log this event. 17. Open Issues for Working Group Discussion Thismessages. Every option shares a common base format, as described in sectioncontains some items for discussion by22.1. this document describes theworking group. 17.1. Trade-offs: Optional fields inDHCPmessages You'll notice that the message formats have changed. In particular, someoptions defined as part of theoptional fields are now required. This will increase the size ofbase DHCPmessagesspecification. Other options may be defined insome cases, consuming network bandwidth and memory onthe future in a separate document. 22.1. Format of DHCPclient (an issue for small devices such as PDAs). The changes were made foroptions 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | option-code | option-len | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | option-data | | (option-len octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ option-code An unsigned integer identifying the specific option type carried in this option. option-len An unsigned integer giving thefollowing reasons: o Fields that were used mostlength of thetime were made required. o Some fields that were optional were either made required or added to messages which previously didn't have them. This was donedata in this option in bytes. option-data The data forrobustness reasons (receivers can validate thatthemessage is for them, and inoption; thecaseformat ofclients, know which interfacethis data depends on themessage is intended for). o Simplicity.definition of the option. Bound, Carney,PerkinsPerkins, Droms (ed.) Expires 1November 2000May 2001 [Page47]42] Internet Draft DHCP for IPv65 May22 November 2000Please look at the messages as they are now defined, and let us know your opinion. 17.2. Use DHCPv4 authentication or22.2. Identity association option The identity association option is used to carry an identity association, thecurrent DHCPv6 method? Now thatparameters associated with theDHCPv4 authentication draft is in last call, should we useIA and thetechnique described in that documentaddresses assigned toprovide authentication for DHCPv6, or should we continue withtheauthentication technique currently documented inIA. The format of theextensions draft? 17.3.IA 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TBD | variable | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IA UUID | | (8 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | T1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | T2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | num-addrs | IPv6 address | +-+-+-+-+-+-+-+-+ (16 octets) | | | | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | pref. len | preferred lifetime | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | pref. lifetime (cont.) | valid lifetime | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | valid lifetime (cont.) | IPv6 address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ option-code TBD option-len Variable; equal to 17 + num-addrs*25 IA UUID TheReconfigure Message and Subnet Prefix Extensionsunique identifier for this IA; chosen by the client T1 Thedrafts currently specify that Releasable resources (such as an IP address) can only be reconfigured usingtime at which the client contacts the server from which theReconfigure-init trigger message. This was done for simplicity (enables clientsaddresses in the IA were obtained toperform DAD onextend thenew address and returnlifetimes of theappropriate resultaddresses assigned to theserver) usingIA. Bound, Carney, Perkins, Droms (ed.) Expires 1 May 2001 [Page 43] Internet Draft DHCP for IPv6 22 November 2000 T2 The time at which thesame mechanism as a standard Request/Reply/Release exchange. This method also makes no assumptions aboutclient contacts any available server to extend thecharactisticslifetimes of thereleasable resource. However, for IPaddresseswith interface IDs, one could send out two IPassigned to the IA. num-addrs An unsigned integer giving the number of addresses carried in this IA option (MAY be zero). IPv6 addressextensions, oneAn IPv6 address assigned to this IA. preferred lifetime The preferred lifetime for theold prefix and oneassociated IPv6 address. valid lifetime The valid lifetime for thenew, and cause clients to change the prefixassociated IPv6 address. The ``IPv6 address'', ``preferred lifetime'' andthus renumber over time. This scheme avoids the added DHCP Request traffic - clients acknowledge with a Reconfigure-reply message. 17.4. ``R'' bit``valid lifetime'' fields are repeated for each address inRequest message not needed? Now thatthetransaction-ID is stored along withIA option (as determined by thereleasable resource identifier in a client's binding,``num-addrs'' field). DISCUSSION: The details of thetransaction-ID cache becomesformat and the selection of anoptional featureIA's UUID are TBD. DISCUSSION: An IA has no explicit ``lifetime'' or ``lease length'' of its own. When theDHCP server implementation, not a requirementlifetimes of all of theprotocol. Should we do away with the ``R'' bit? 18. Security Considerations Clients and servers oftenaddresses in an IA haveto authenticate the messages they exchange. For instance, a server may wish to be certain that a Request originated from the client identified by the <link-local address, subnet-prefix> fields included within the Request message header. Conversely, it is quite often essential for a client to be certain thatexpired, theconfiguration parametersIA can be considered as having expired. T1 andaddresses it has received were sentT2 are included toit by an authoritative server. Similarly,give servers explicit control over when a client recontacts the servershould only acceptabout aRelease message which seems to be from one of its clients, if it has some assurance that the client actuallyspecific IA. 22.3. Option request option 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | option-code | option-len | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | requested-option-code-1 | requested-option-code-2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Bound, Carney,PerkinsPerkins, Droms (ed.) Expires 1November 2000May 2001 [Page48]44] Internet Draft DHCP for IPv65 May22 November 2000did transmit the Release message. Again, a client might wish to only accept Reconfigure or Reconfigure-init messages that are certain to have originated from a server with authorityoption-code TBD. option-len Variable; equal toissue them. The IPv6 Authentication Header can provide security for DHCPv6 messages when both endpoints have a suitable IP address. However, a client often has only a link-local address, and such an address is not sufficient for a server which is off-link. In those circumstances the relay is involved, so that the DHCP message MUST havetwice therelay's addressnumber of option codes carried in this option. option-data A list of theIP destination address field, even thoughoption codes for the options requested in this option. 22.4. Client message option 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | option-code | option-len | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DHCP clientaimsmessage | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ option-code TBD option-len Variable; equal todeliverthe length of the forwarded DHCP client message. option-data The message received from the client; forwarded verbatim to the server.The DHCP Client-Server Authentication Extension [2] is intended to be used in these circumstances. Note that, if a client receives a22.5. Server message option 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | option-code | option-len | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DHCP server messagewhich fails authentication, it should continue to wait| | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ option-code TBD Bound, Carney, Perkins, Droms (ed.) Expires 1 May 2001 [Page 45] Internet Draft DHCP foranother message which might be correctly authenticated just as if the failed message had never arrived; however, receiving such failed messages SHOULD be logged. 19. YearIPv6 22 November 2000considerations Since all times are relativeoption-len Variable; equal to thecurrent time of the transaction, there is no problem within the DHCPv6 protocol related to any hardcoded dates or two-digit representationlength of thecurrent year. 20. IANA Considerations This document definesforwarded DHCP server message. option-data The messagetypes 1--8 to bereceivedby UDP at port numbers 546 and 547. Additional message types may be defined infrom thefuture. Section 3.1 lists several multicast addresses used by DHCP. This document also defines several status codes that areserver; forwarded verbatim tobe returned withtheReply and Reconfigure-reply messages (see sections 9.4 and 9.7).client. 22.6. Retransmission parameter option 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | option-code | option-len | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | option-data | | (option-len octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ option-code An unsigned integer identifying the specific option type carried in this option. option-len An unsigned integer giving the length of the data in this option in bytes. option-data Thenon-zero valuesdata forthese status codes which are currently specified are shown inthetableoption; the format of this data depends on the definition of the option. 22.7. Authentication option The authentication option is TBD. 23. Changes in this draft This section3.4. There is adescribes the changes between this version of the DHCPv6extension [2] which allows clientsspecification andservers to exchange valuesdraft-ietf-dhc-dhcpv6-15.txt. Bound, Carney, Perkins, Droms (ed.) Expires 1 May 2001 [Page 46] Internet Draft DHCP forsomeIPv6 22 November 2000 23.1. Order of sections New sections have been added at thetiming and retransmission parameters definedend of this document to minimize changes in section3.5. Adding new parametersnumbering. Those sections will be rearranged inthea futurewould require extendingrevision. 23.2. Reconfigure message DHCP Reconfigure and Reconfigure-reply messages and thevalues by whichassociated mechanisms have been removed from this draft of theparametersspecification. 23.3. Releasable resources ``Releasable resources'' have been removed from this draft. 23.4. DHCP message header A common fixed DHCP message header has been defined. Not all fields areindicatedused in all messages. 23.5. Design goals The second sentence in the 8th design goal bullet has been removed. 23.6. Overview Section 8.2 (DHCP agents) has been removed. DHCPextension. Since there needsclients no longer need tobe a list kept,know about specific DHCP agents. Section 8.3 has been modified to reflect thedefault values for each parameter should also be stored as partnew encapsulating mechanism through which relays forward client messages to servers. Section 8.6 and 8.7 have been modified to describe ``identity associations''. Section 8.8 has been modified to reflect the deletion of ``reconfigure'' and ``reconfigure-reply'' messages. 23.7. Message formats, 9 Message formats have been changed. All messages share a common fixed message header followed by options. The various control bits (``P'', ``C'') have been removed from thelist.message header. Bound, Carney,PerkinsPerkins, Droms (ed.) Expires 1November 2000May 2001 [Page49]47] Internet Draft DHCP for IPv65 May22 November 2000All23.8. Solicit and Advertise messages, (section 10) The description ofthese protocol elements may be specified to assume new values at some point inthefuture.message exchanges have been changed to reflect: - Newvalues should be approved by the processrelay behavior - encapsulated client messages - Use ofIETF Consensus [11]. 21. Acknowledgements Thanks to the DHC Working Group for their time and input into the specification. Ralph Droms and Thomas Narten have had a major roleIAs 23.9. Prefix advertisement Servers no longer advertise prefixes. 23.10. Identity Associations Section 9.11 describes IAs inshaping the continued improvementdetail. A definition ofthe protocol by their careful reviews. Many thanks``IA'' has been added toMatt Crawford, Erik Nordmark, Gerald Maguire, and Mike Carney for their studied review as partsection 2. The description of messages exchanges have been extended to include IAs. The IA option is defined in section 22.2 23.11. Extensions renamed options; defined in this document ``extensions'' are now called ``options''; theLast Call process. Thanks also for the consistent input, ideas,options referenced in this document are defined in section 22. 23.12. Transaction-ID ranges Solicit, Advertise, Request, Reply, Release andreviewReconfigure-init messages all use an unsigned 16-bit integer ``Transaction-ID''. Transaction-IDs generated by(in alphabetical order) Brian Carpenter, Jack McCann, Yakov Rekhter, Matt Thomas, Sue Thomson, and Phil Wells. Thanksclients are considered toSteve Deeringbe chosen from a different namespace than those chosen by servers. There is no need to restrict clients andBob Hinden, who have consistently taken the timeservers todiscussselect Transaction-IDs from specific ranges to avoid conflicts. 23.13. Release messages and relays Release/Reply messages are forwarded through relays. This mechanism eliminates themore complex partsneed for an 'R' bit. 23.14. Discovering relay agents Clients no longer learn the identity of relay agents. When the client only has a link-local address (e.g., the client has no Bound, Carney, Perkins, Droms (ed.) Expires 1 May 2001 [Page 48] Internet Draft DHCP for IPv6specifications.22 November 2000 assigned addresses), it now multicasts Request message, which is then forwarded by a relay agent on the same link. A. Comparison between DHCPv4 and DHCPv6 This appendix is provided for readers who will find it useful to see a model and architecture comparison between DHCPv4[7,[6, 1] and DHCPv6. There are three key reasons for the differences: o IPv6 inherently supports a new model and architecture for communications and autoconfiguration of addresses. o DHCPv6 benefits from the new IPv6 features. o New features were added to support the expected evolution and the existence of more complicated Internet network service requirements. IPv6 Architecture/Model Changes: o The link-local address permits a node to have an address immediately when the node boots, which means all clients have a source IP address at all times to locate an on-link server or relay. o The need for BOOTP compatibility and the broadcast flag have been removed. o Multicast and address scoping in IPv6 permit the design of discovery packets that would inherently define their range by the multicast address for the function required.Bound, Carney, Perkins Expires 1 November 2000 [Page 50] Internet Draft DHCP for IPv6 5 May 2000o Stateful autoconfiguration has to coexist and integrate with stateless autoconfiguration supporting Duplicate Address Detection and the two IPv6 lifetimes, to facilitate the dynamic renumbering of addresses and the management of those addresses. o Multiple addresses per interface are inherently supported in IPv6. o Some DHCPv4 options are unnecessary now because the configuration parameters are either obtained through IPv6 Neighbor Discovery or the Service Location protocol[16].[15]. DHCPv6 Architecture/Model Changes: o The message type is the first byte in the packet. Bound, Carney, Perkins, Droms (ed.) Expires 1 May 2001 [Page 49] Internet Draft DHCP for IPv6 22 November 2000 o IPv6 Address allocations are now handled in a messageextensionoption as opposed to the message header. o Client/Server bindings are now mandatory and take advantage of the client's link-local address to always permit communications either directly from an on-link server, or from a off-link server through an on-link relay. o Servers are discovered by a client Solicit, followed by a server Advertise message o The client will know if the server is on-link or off-link. o The on-link relay may locate off-link server addresses from system configuration or by the use of a site-wide multicast packet. o ACKs and NAKs are not used. o The server assumes the client receives its responses unless it receives a retransmission of the same client request. This permits recovery in the case where the network has faulted. o Clients can issue multiple, unrelated Request messages to the same or different servers. o The function of DHCPINFORM is inherent in the new packet design; a client can request configuration parameters other than IPv6 addresses in the optionalextensionoption headers. o Clients MUST listen to their UDP port for the new Reconfigure message from servers.Bound, Carney, Perkins Expires 1 November 2000 [Page 51] Internet Draft DHCP for IPv6 5 May 2000o Newextensionsoptions have been defined. With the changes just enumerated, we can support new user features, including o Configuration of Dynamic Updates to DNS o Address deprecation, for dynamic renumbering. o Relays can be preconfigured with server addresses, or use of multicast. o Authentication o Clients can ask for multiple IP addresses. Bound, Carney, Perkins, Droms (ed.) Expires 1 May 2001 [Page 50] Internet Draft DHCP for IPv6 22 November 2000 o Addresses can be reclaimed using the Reconfigure-init message. o Integration between stateless and stateful address autoconfiguration. o Enabling relays to locate off-link servers. B. Full Copyright Statement Copyright (C) The Internet Society (2000). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATIONBound, Carney, Perkins Expires 1 November 2000 [Page 52] Internet Draft DHCP for IPv6 5 May 2000HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. References [1] S. Alexander and R. Droms. DHCP Options and BOOTP Vendor Extensions. Request for Comments (Draft Standard) 2132, Internet Engineering Task Force, March 1997. [2]J. Bound, M. Carney, and C. Perkins. Extensions for the Dynamic Host Configuration Protocol for IPv6. draft-ietf-dhc-dhcpv6ext-12.txt, May 2000. (work in progress). [3]S. Bradner. Key words for use in RFCs to Indicate Requirement Levels. Request for Comments (Best Current Practice) 2119, Internet Engineering Task Force, March 1997.[4]Bound, Carney, Perkins, Droms (ed.) Expires 1 May 2001 [Page 51] Internet Draft DHCP for IPv6 22 November 2000 [3] S. Bradner and A. Mankin. The Recommendation for the IP Next Generation Protocol. Request for Comments (Proposed Standard) 1752, Internet Engineering Task Force, January 1995.[5][4] W. J. Croft and J. Gilmore. Bootstrap Protocol. Request for Comments 951, Internet Engineering Task Force, September 1985.[6][5] S. Deering and R. Hinden. Internet Protocol, Version 6 (IPv6) Specification. Request for Comments (Draft Standard) 2460, Internet Engineering Task Force, December 1998.[7][6] R. Droms. Dynamic Host Configuration Protocol. Request for Comments (Draft Standard) 2131, Internet Engineering Task Force, March 1997.[8][7] R. Hinden and S. Deering. IP Version 6 Addressing Architecture. Request for Comments (Proposed Standard) 2373, Internet Engineering Task Force, July 1998.[9][8] S. Kent and R. Atkinson. IP Authentication Header. Request for Comments (Proposed Standard) 2402, Internet Engineering Task Force, November 1998.[10][9] J. McCann, S. Deering, and J. Mogul. Path MTU Discovery for IP version 6. Request for Comments (Proposed Standard) 1981, Internet Engineering Task Force, August 1996.[11][10] T. Narten and H. Alvestrand. Guidelines for Writing an IANA Considerations Section in RFCs. Request for Comments (Best Current Practice) 2434, Internet Engineering Task Force, October 1998.Bound, Carney, Perkins Expires 1 November 2000 [Page 53] Internet Draft DHCP for IPv6 5 May 2000 [12][11] T. Narten, E. Nordmark, and W. Simpson. Neighbor Discovery for IP Version 6 (IPv6). Request for Comments (Draft Standard) 2461, Internet Engineering Task Force, December 1998.[13][12] D. C. Plummer. Ethernet Address Resolution Protocol: Or converting network protocol addresses to 48.bit Ethernet address for transmission on Ethernet hardware. Request for Comments (Standard) 826, Internet Engineering Task Force, November 1982.[14][13] J. Postel. User Datagram Protocol. Request for Comments (Standard) 768, Internet Engineering Task Force, August 1980.[15][14] S. Thomson and T. Narten. IPv6 Stateless Address Autoconfiguration. Request for Comments (Draft Standard) 2462, Internet Engineering Task Force, December 1998.[16]Bound, Carney, Perkins, Droms (ed.) Expires 1 May 2001 [Page 52] Internet Draft DHCP for IPv6 22 November 2000 [15] J. Veizades, E. Guttman, C. Perkins, and S. Kaplan. Service Location Protocol. Request for Comments (Proposed Standard) 2165, Internet Engineering Task Force, June 1997.[17][16] P. Vixie, Ed., S. Thomson, Y. Rekhter, and J. Bound. Dynamic Updates in the Domain Name System (DNS UPDATE). Request for Comments (Proposed Standard) 2136, Internet Engineering Task Force, April 1997. Bound, Carney,PerkinsPerkins, Droms (ed.) Expires 1November 2000May 2001 [Page54]53] Internet Draft DHCP for IPv65 May22 November 2000 Chair's Address The working group can be contacted via the current chair: Ralph DromsComputer Science Department 323 Dana Engineering Bucknell University Lewisburg, PA 17837Cisco Systems 300 Apollo Drive Chelmsford, MA 01824 Phone:(570) 577-1145(978) 244-4733 E-mail:droms@bucknell.edurdroms@cisco.com Author's Address Questions about this memo can be directed to: Jim Bound Compaq Computer Corporation Mail Stop: ZK03-3/U14 110 Spitbrook Road Nashua, NH 03062 USA Phone: +1-603-884-0400 Email: bound@zk3.dec.com Mike Carney Sun Microsystems, Inc Mail Stop: UMPK17-202 901 San Antonio Road Palo Alto, CA 94303-4900 USA Phone: +1-650-786-4171 Email: mwc@eng.sun.com Charles E. Perkins Communications Systems Lab Nokia Research Center 313 Fairchild Drive Mountain View, California 94043 USA Phone: +1-650 625-2986 EMail: charliep@iprg.nokia.com Fax: +1 650 625-2502 Bound, Carney,PerkinsPerkins, Droms (ed.) Expires 1November 2000May 2001 [Page55]54] ----