Tech-invite3GPPspaceIETFspace
959493929190898887868584838281807978777675747372717069686766656463626160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111009080706050403020100
in Index   Prev   Next

RFC 8415

Dynamic Host Configuration Protocol for IPv6 (DHCPv6)

Pages: 154
Proposed Standard
Errata
Obsoletes:  3315363337364242708372837550
Part 1 of 14 – Pages 1 to 9
None   None   Next

Top   ToC   RFC8415 - Page 1
Internet Engineering Task Force (IETF)                      T. Mrugalski
Request for Comments: 8415                                  M. Siodelski
Obsoletes: 3315, 3633, 3736, 4242, 7083,                             ISC
           7283, 7550                                            B. Volz
Category: Standards Track                                 A. Yourtchenko
ISSN: 2070-1721                                                    Cisco
                                                           M. Richardson
                                                                     SSW
                                                                S. Jiang
                                                                  Huawei
                                                                T. Lemon
                                                     Nibbhaya Consulting
                                                              T. Winters
                                                                 UNH-IOL
                                                           November 2018


         Dynamic Host Configuration Protocol for IPv6 (DHCPv6)

Abstract

This document describes the Dynamic Host Configuration Protocol for IPv6 (DHCPv6): an extensible mechanism for configuring nodes with network configuration parameters, IP addresses, and prefixes. Parameters can be provided statelessly, or in combination with stateful assignment of one or more IPv6 addresses and/or IPv6 prefixes. DHCPv6 can operate either in place of or in addition to stateless address autoconfiguration (SLAAC). This document updates the text from RFC 3315 (the original DHCPv6 specification) and incorporates prefix delegation (RFC 3633), stateless DHCPv6 (RFC 3736), an option to specify an upper bound for how long a client should wait before refreshing information (RFC 4242), a mechanism for throttling DHCPv6 clients when DHCPv6 service is not available (RFC 7083), and relay agent handling of unknown messages (RFC 7283). In addition, this document clarifies the interactions between models of operation (RFC 7550). As such, this document obsoletes RFC 3315, RFC 3633, RFC 3736, RFC 4242, RFC 7083, RFC 7283, and RFC 7550.
Top   ToC   RFC8415 - Page 2
Status of This Memo

   This is an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in Section 2 of RFC 7841.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   https://www.rfc-editor.org/info/rfc8415.

Copyright Notice

   Copyright (c) 2018 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

   This document may contain material from IETF Documents or IETF
   Contributions published or made publicly available before November
   10, 2008.  The person(s) controlling the copyright in some of this
   material may not have granted the IETF Trust the right to allow
   modifications of such material outside the IETF Standards Process.
   Without obtaining an adequate license from the person(s) controlling
   the copyright in such materials, this document may not be modified
   outside the IETF Standards Process, and derivative works of it may
   not be created outside the IETF Standards Process, except to format
   it for publication as an RFC or to translate it into languages other
   than English.
Top   ToC   RFC8415 - Page 3

Table of Contents

1. Introduction ....................................................6 1.1. Relationship to Previous DHCPv6 Standards ..................7 1.2. Relationship to DHCPv4 .....................................8 2. Requirements ....................................................8 3. Background ......................................................8 4. Terminology .....................................................9 4.1. IPv6 Terminology ...........................................9 4.2. DHCP Terminology ..........................................11 5. Client/Server Exchanges ........................................16 5.1. Client/Server Exchanges Involving Two Messages ............16 5.2. Client/Server Exchanges Involving Four Messages ...........17 5.3. Server/Client Exchanges ...................................18 6. Operational Models .............................................18 6.1. Stateless DHCP ............................................18 6.2. DHCP for Non-temporary Address Assignment .................19 6.3. DHCP for Prefix Delegation ................................19 6.4. DHCP for Customer Edge Routers ............................22 6.5. DHCP for Temporary Addresses ..............................22 6.6. Multiple Addresses and Prefixes ...........................22 7. DHCP Constants .................................................23 7.1. Multicast Addresses .......................................23 7.2. UDP Ports .................................................24 7.3. DHCP Message Types ........................................24 7.4. DHCP Option Codes .........................................26 7.5. Status Codes ..............................................26 7.6. Transmission and Retransmission Parameters ................27 7.7. Representation of Time Values and "Infinity" as a Time Value ................................................28 8. Client/Server Message Formats ..................................29 9. Relay Agent/Server Message Formats .............................30 9.1. Relay-forward Message .....................................31 9.2. Relay-reply Message .......................................31 10. Representation and Use of Domain Names ........................32 11. DHCP Unique Identifier (DUID) .................................32 11.1. DUID Contents ............................................33 11.2. DUID Based on Link-Layer Address Plus Time (DUID-LLT) ....33 11.3. DUID Assigned by Vendor Based on Enterprise Number (DUID-EN) .........................................35 11.4. DUID Based on Link-Layer Address (DUID-LL) ...............36 11.5. DUID Based on Universally Unique Identifier (DUID-UUID) ..37 12. Identity Association ..........................................37 12.1. Identity Associations for Address Assignment .............38 12.2. Identity Associations for Prefix Delegation ..............38
Top   ToC   RFC8415 - Page 4
   13. Assignment to an IA ...........................................39
      13.1. Selecting Addresses for Assignment to an IA_NA ...........39
      13.2. Assignment of Temporary Addresses ........................40
      13.3. Assignment of Prefixes for IA_PD .........................41
   14. Transmission of Messages by a Client ..........................41
      14.1. Rate Limiting ............................................41
      14.2. Client Behavior when T1 and/or T2 Are 0 ..................42
   15. Reliability of Client-Initiated Message Exchanges .............43
   16. Message Validation ............................................45
      16.1. Use of Transaction IDs ...................................45
      16.2. Solicit Message ..........................................46
      16.3. Advertise Message ........................................46
      16.4. Request Message ..........................................46
      16.5. Confirm Message ..........................................47
      16.6. Renew Message ............................................47
      16.7. Rebind Message ...........................................47
      16.8. Decline Message ..........................................47
      16.9. Release Message ..........................................48
      16.10. Reply Message ...........................................48
      16.11. Reconfigure Message .....................................48
      16.12. Information-request Message .............................49
      16.13. Relay-forward Message ...................................49
      16.14. Relay-reply Message .....................................49
   17. Client Source Address and Interface Selection .................49
      17.1. Source Address and Interface Selection for
            Address Assignment .......................................49
      17.2. Source Address and Interface Selection for Prefix
            Delegation ...............................................50
   18. DHCP Configuration Exchanges ..................................50
      18.1. A Single Exchange for Multiple IA Options ................53
      18.2. Client Behavior ..........................................53
           18.2.1. Creation and Transmission of Solicit Messages .....55
           18.2.2. Creation and Transmission of Request Messages .....57
           18.2.3. Creation and Transmission of Confirm Messages .....59
           18.2.4. Creation and Transmission of Renew Messages .......60
           18.2.5. Creation and Transmission of Rebind Messages ......62
           18.2.6. Creation and Transmission of
                   Information-request Messages ......................63
           18.2.7. Creation and Transmission of Release Messages .....64
           18.2.8. Creation and Transmission of Decline Messages .....65
           18.2.9. Receipt of Advertise Messages .....................67
           18.2.10. Receipt of Reply Messages ........................68
                  18.2.10.1. Reply for Solicit (with Rapid
                             Commit), Request, Renew, or Rebind ......69
                  18.2.10.2. Reply for Release and Decline ...........72
                  18.2.10.3. Reply for Confirm .......................72
                  18.2.10.4. Reply for Information-request ...........72
Top   ToC   RFC8415 - Page 5
           18.2.11. Receipt of Reconfigure Messages ..................72
           18.2.12. Refreshing Configuration Information .............73
      18.3. Server Behavior ..........................................74
           18.3.1. Receipt of Solicit Messages .......................75
           18.3.2. Receipt of Request Messages .......................77
           18.3.3. Receipt of Confirm Messages .......................79
           18.3.4. Receipt of Renew Messages .........................79
           18.3.5. Receipt of Rebind Messages ........................81
           18.3.6. Receipt of Information-request Messages ...........83
           18.3.7. Receipt of Release Messages .......................84
           18.3.8. Receipt of Decline Messages .......................85
           18.3.9. Creation of Advertise Messages ....................85
           18.3.10. Transmission of Advertise and Reply Messages .....87
           18.3.11. Creation and Transmission of Reconfigure
                    Messages .........................................87
      18.4. Reception of Unicast Messages ............................88
   19. Relay Agent Behavior ..........................................89
      19.1. Relaying a Client Message or a Relay-forward Message .....89
           19.1.1. Relaying a Message from a Client ..................90
           19.1.2. Relaying a Message from a Relay Agent .............90
           19.1.3. Relay Agent Behavior with Prefix Delegation .......91
      19.2. Relaying a Relay-reply Message ...........................91
      19.3. Construction of Relay-reply Messages .....................91
      19.4. Interaction between Relay Agents and Servers .............92
   20. Authentication of DHCP Messages ...............................93
      20.1. Security of Messages Sent between Servers and
            Relay Agents .............................................94
      20.2. Summary of DHCP Authentication ...........................94
      20.3. Replay Detection .........................................94
      20.4. Reconfiguration Key Authentication Protocol (RKAP) .......95
           20.4.1. Use of the Authentication Option in RKAP ..........96
           20.4.2. Server Considerations for RKAP ....................96
           20.4.3. Client Considerations for RKAP ....................97
   21. DHCP Options ..................................................97
      21.1. Format of DHCP Options ...................................98
      21.2. Client Identifier Option .................................99
      21.3. Server Identifier Option .................................99
      21.4. Identity Association for Non-temporary Addresses
            Option ..................................................100
      21.5. Identity Association for Temporary Addresses Option .....102
      21.6. IA Address Option .......................................104
      21.7. Option Request Option ...................................106
      21.8. Preference Option .......................................108
      21.9. Elapsed Time Option .....................................108
      21.10. Relay Message Option ...................................109
      21.11. Authentication Option ..................................110
      21.12. Server Unicast Option ..................................111
      21.13. Status Code Option .....................................112
Top   ToC   RFC8415 - Page 6
      21.14. Rapid Commit Option ....................................114
      21.15. User Class Option ......................................115
      21.16. Vendor Class Option ....................................116
      21.17. Vendor-specific Information Option .....................117
      21.18. Interface-Id Option ....................................119
      21.19. Reconfigure Message Option .............................121
      21.20. Reconfigure Accept Option ..............................121
      21.21. Identity Association for Prefix Delegation Option ......122
      21.22. IA Prefix Option .......................................124
      21.23. Information Refresh Time Option ........................126
      21.24. SOL_MAX_RT Option ......................................127
      21.25. INF_MAX_RT Option ......................................128
   22. Security Considerations ......................................130
   23. Privacy Considerations .......................................133
   24. IANA Considerations ..........................................133
   25. Obsoleted Mechanisms .........................................138
   26. References ...................................................139
      26.1. Normative References ....................................139
      26.2. Informative References ..................................140
   Appendix A. Summary of Changes ...................................146
   Appendix B. Appearance of Options in Message Types ...............149
   Appendix C. Appearance of Options in the "options" Field of DHCP
               Options ..............................................151
   Acknowledgments ..................................................152
   Authors' Addresses ...............................................153

1. Introduction

This document describes DHCP for IPv6 (DHCPv6), a client/server protocol that provides managed configuration of devices. The basic operation of DHCPv6 provides configuration for clients connected to the same link as the server. Relay agent functionality is also defined for enabling communication between clients and servers that are not on the same link. DHCPv6 can provide a device with addresses assigned by a DHCPv6 server and other configuration information; this data is carried in options. DHCPv6 can be extended through the definition of new options to carry configuration information not specified in this document. DHCPv6 also provides a mechanism for automated delegation of IPv6 prefixes using DHCPv6, as originally specified in [RFC3633]. Through this mechanism, a delegating router can delegate prefixes to requesting routers. Use of this mechanism is specified as part of [RFC7084] and by [TR-187].
Top   ToC   RFC8415 - Page 7
   DHCP can also be used just to provide other configuration options
   (i.e., no addresses or prefixes).  That implies that the server does
   not have to track any state; thus, this mode is called "stateless
   DHCPv6".  Mechanisms necessary to support stateless DHCPv6 are much
   smaller than mechanisms needed to support stateful DHCPv6.  [RFC3736]
   was written to document just those portions of DHCPv6 needed to
   support DHCPv6 stateless operation.

   The remainder of this introduction summarizes the relationship to the
   previous DHCPv6 standards (see Section 1.1) and clarifies the stance
   with regard to DHCPv4 (see Section 1.2).  Section 5 describes the
   message exchange mechanisms to illustrate DHCP operation rather than
   provide an exhaustive list of all possible interactions, and
   Section 6 provides an overview of common operational models.
   Section 18 explains client and server operation in detail.

1.1. Relationship to Previous DHCPv6 Standards

The initial specification of DHCPv6 was defined in [RFC3315], and a number of follow-up documents were published over the years: - [RFC3633] ("IPv6 Prefix Options for Dynamic Host Configuration Protocol (DHCP) version 6") - [RFC3736] ("Stateless Dynamic Host Configuration Protocol (DHCP) Service for IPv6") - [RFC4242] ("Information Refresh Time Option for Dynamic Host Configuration Protocol for IPv6 (DHCPv6)") - [RFC7083] ("Modification to Default Values of SOL_MAX_RT and INF_MAX_RT") - [RFC7283] ("Handling Unknown DHCPv6 Messages") - [RFC7550] ("Issues and Recommendations with Multiple Stateful DHCPv6 Options") This document provides a unified, corrected, and cleaned-up definition of DHCPv6 that also covers all applicable errata filed against older RFCs (see the list in Appendix A). As such, it obsoletes the RFCs listed in the previous paragraph. Also, there are a small number of mechanisms that were obsoleted; see Section 25 and Appendix A.
Top   ToC   RFC8415 - Page 8

1.2. Relationship to DHCPv4

The operational models and relevant configuration information for DHCPv4 [RFC2131] [RFC2132] and DHCPv6 are sufficiently different that integration between the two services is not included in this document. [RFC3315] suggested that future work might be to extend DHCPv6 to carry IPv4 address and configuration information. However, the current consensus of the IETF is that DHCPv4 should be used rather than DHCPv6 when conveying IPv4 configuration information to nodes. For IPv6-only networks, [RFC7341] describes a transport mechanism to carry DHCPv4 messages using the DHCPv6 protocol for the dynamic provisioning of IPv4 address and configuration information. Merging DHCPv4 and DHCPv6 configuration is out of scope for this document. [RFC4477] discusses some issues and possible strategies for running DHCPv4 and DHCPv6 services together. While [RFC4477] is a bit dated, it provides a good overview of the issues at hand.

2. Requirements

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. This document also makes use of internal conceptual variables to describe protocol behavior and external variables that an implementation must allow system administrators to change. The specific variable names, how their values change, and how their settings influence protocol behavior are provided to demonstrate protocol behavior. An implementation is not required to have them in the exact form described here, as long as its external behavior is consistent with that described in this document.

3. Background

[RFC8200] ("Internet Protocol, Version 6 (IPv6) Specification") provides the base architecture and design of IPv6. In addition to [RFC8200], related work in IPv6 that an implementer would be best served to study includes - [RFC4291] ("IP Version 6 Addressing Architecture") - [RFC4862] ("IPv6 Stateless Address Autoconfiguration") - [RFC4861] ("Neighbor Discovery for IP version 6 (IPv6)")
Top   ToC   RFC8415 - Page 9
   These specifications enable DHCP to build upon the IPv6 work to
   provide robust stateful autoconfiguration.

   [RFC4291] defines the address scope that can be used in an IPv6
   implementation and also provides various configuration architecture
   guidelines for network designers of the IPv6 address space.  Two
   advantages of IPv6 are that support for multicast is required and
   nodes can create link-local addresses during initialization.  The
   availability of these features means that a client can use its
   link-local address and a well-known multicast address to discover and
   communicate with DHCP servers or relay agents on its link.

   [RFC4862] specifies procedures by which a node may autoconfigure
   addresses based on Router Advertisements [RFC4861] and the use of a
   valid lifetime to support renumbering of addresses on the Internet.
   Compatibility with stateless address autoconfiguration is a design
   requirement of DHCP.

   IPv6 Neighbor Discovery [RFC4861] is the node discovery protocol in
   IPv6 that replaces and enhances functions of ARP [RFC826].  To
   understand IPv6 and stateless address autoconfiguration, it is
   strongly recommended that implementers understand IPv6 Neighbor
   Discovery.



(page 9 continued on part 2)

Next Section