<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.35 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-dhc-addr-notification-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.17.4 -->
  <front>
    <title abbrev="Registering SLAAC Addresses using DHCPv6">Registering Self-generated IPv6 Addresses using DHCPv6</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-dhc-addr-notification-00"/>
    <author initials="W." surname="Kumari" fullname="Warren Kumari">
      <organization>Google, LLC</organization>
      <address>
        <email>warren@kumari.net</email>
      </address>
    </author>
    <author initials="S." surname="Krishnan" fullname="Suresh Krishnan">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <email>suresh.krishnan@gmail.com</email>
      </address>
    </author>
    <author initials="R." surname="Asati" fullname="Rajiv Asati">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <street>7025 Kit Creek road</street>
          <city>Research Triangle Park</city>
          <code>27709-4987</code>
          <country>USA</country>
        </postal>
        <email>rajiva@cisco.com</email>
      </address>
    </author>
    <author initials="L." surname="Colitti" fullname="Lorenzo Colitti">
      <organization>Google, LLC</organization>
      <address>
        <postal>
          <street>Shibuya 3-21-3</street>
          <country>Japan</country>
        </postal>
        <email>lorenzo@google.com</email>
      </address>
    </author>
    <author initials="J." surname="Linkova" fullname="Jen Linkova">
      <organization>Google, LLC</organization>
      <address>
        <postal>
          <street>1 Darling Island Rd</street>
          <city>Pyrmont</city>
          <code>2009</code>
          <country>Australia</country>
        </postal>
        <email>furry@google.com</email>
      </address>
    </author>
    <author initials="S." surname="Jiang" fullname="Sheng Jiang">
      <organization>Beijing University of Posts and Telecommunications</organization>
      <address>
        <postal>
          <street>No. 10 Xitucheng Road</street>
          <city>Beijing</city>
          <region>Haidian District</region>
          <code>100083</code>
          <country>China</country>
        </postal>
        <email>shengjiang@bupt.edu.cn</email>
      </address>
    </author>
    <date year="2023" month="June" day="23"/>
    <area>Internet</area>
    <workgroup>Dynamic Host Configuration</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 101?>

<t>This document defines a method to inform a DHCPv6 server that a device has a self-generated or statically configured address.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://wkumari.github.io/draft-wkumari-dhc-addr-notification/draft-wkumari-dhc-addr-notification.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-dhc-addr-notification/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Dynamic Host Configuration Working Group mailing list (<eref target="mailto:dhcwg@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/dhcwg/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/dhcwg/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/wkumari/draft-wkumari-dhc-addr-notification"/>.</t>
    </note>
  </front>
  <middle>
    <?line 106?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>It is very common operational practice, especially in enterprise networks, to use IPv4 DHCP logs for troubleshooting or security purposes. Examples of this include a helpdesk dealing with a ticket such as "The CEO's laptop cannot connect to the printer"; if the MAC address of the printer is known (for example from an inventory system), the IPv4 address can be retrieved from the DHCP logs and the printer pinged to determine if it is reachable. Another common example is a Security Operations team discovering suspicious events in outbound firewall logs and then consulting DHCP logs to determine which employee's laptop had that IPv4 address at that time so that they can quarantine it and remove the malware.</t>
      <t>This operational practice relies on the DHCP server knowing the IP address assignments. Therefore, the practice does not work if static IP addresses are manually configured on devices or self-assigned addresses (such as when self-configuring an IPv6 address using SLAAC <xref target="RFC4862"/>) are used.</t>
      <t>The lack of this parity with IPv4 is one of the reasons which may be hindering IPv6 deployment, especially in enterprise networks.</t>
      <t>This document provides a mechanism for a device to inform the DHCPv6 server that it has a self-configured IPv6 address (or has a statically configured address), and thus provides parity with IPv4 in this aspect.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="registration-mechanism-overview">
      <name>Registration Mechanism Overview</name>
      <t>The DHCPv6 protocol is used as the address registration protocol when a DHCPv6 server performs the role of an address registration server.
The DHCPv6 IA Address option <xref target="RFC8415"/> is used to specify the address to be registered.</t>
      <t>After successfully assigning a self-generated IPv6 address on one of its interfaces, a client implementing this specification <bcp14>SHOULD</bcp14> multicast an ADDR-REG-INFORM message in order to inform the DHCPv6 server that this self-generated address is in use.</t>
      <figure anchor="figops">
        <name>Address Registration Procedure</name>
        <artwork><![CDATA[
+----+   +----------------+                  +---------------+
|Host|   |First-hop router|                  |Addr-Reg Server|
+----+   +----------------+                  +---------------+
|   SLAAC   |                                      |
|<--------->|                                      |
|           |                                      |
|           |        ADDR-REG-INFORM               |
|------------------------------------------------->|
|           |                                      |Register / log
|           |        ADDR-REG-REPLY                |address
|<-------------------------------------------------

]]></artwork>
      </figure>
    </section>
    <section anchor="dhcpv6-addr-reg-inform-message">
      <name>DHCPv6 ADDR-REG-INFORM Message</name>
      <t>The DHCPv6 client sends an ADDR-REG-INFORM message to inform that an IPv6 address is in use.  The format of the ADDR-REG-INFORM message is described as follows:</t>
      <figure anchor="message-inform">
        <name>DHCPv6 ADDR-REG-INFORM message</name>
        <artwork><![CDATA[
  0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |    msg-type   |               transaction-id                  |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                                                               |
 .                            options                            .
 .                           (variable)                          .
 |                                                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  msg-type             Identifies the DHCPv6 message type;
                       Set to ADDR-REG-INFORM (TBA1).

  transaction-id       The transaction ID for this message exchange.

  options              Options carried in this message.
]]></artwork>
      </figure>
      <t>The ADDR-REG-INFORM message <bcp14>MUST NOT</bcp14> contain server-identifier option and <bcp14>MUST</bcp14> contain the IA Address option. The ADDR-REG-INFORM message is dedicated for clients to initiate an address registration request toward an address registration server.  Consequently, clients <bcp14>MUST NOT</bcp14> put any Option Request Option(s) in the ADDR-REG-INFORM message. Clients <bcp14>MAY</bcp14> include other options, such as the Client FQDN Option <xref target="RFC4704"/>.</t>
      <t>Clients <bcp14>MUST</bcp14> discard any received ADDR-REG-INFORM messages.</t>
      <t>Servers <bcp14>MUST</bcp14> discard any ADDR-REG-INFORM messages that meet any of the following conditions:</t>
      <ul spacing="normal">
        <li>the address is not appropriate for the link;</li>
        <li>the message does not include a Client Identifier option;</li>
        <li>the message includes a Server Identifier option;</li>
        <li>the message does not include the IA Address option;</li>
        <li>the message includes an Option Request Option.</li>
      </ul>
    </section>
    <section anchor="dhcpv6-addr-reg-reply-message">
      <name>DHCPv6 ADDR-REG-REPLY Message</name>
      <t>The DHCPv6 server sends an ADDR-REG-REPLY message in response to a valid ADDR-REG-INFORM message.  The format of the ADDR-REG-REPLY message is described as follows:</t>
      <figure anchor="message-reply">
        <name>DHCPv6 ADDR-REG-REPLY message</name>
        <artwork><![CDATA[
  0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |    msg-type   |               transaction-id                  |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                                                               |
 .                            options                            .
 .                           (variable)                          .
 |                                                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  msg-type             Identifies the DHCPv6 message type;
                       Set to ADDR-REG-REPLY (TBA2).

  transaction-id       The transaction ID for this message exchange.

  options              Options carried in this message.
]]></artwork>
      </figure>
      <t>The ADDR-REG-INFORM message <bcp14>MUST</bcp14> contain an IA Address option for the address being registered.</t>
      <t>Servers <bcp14>MUST</bcp14> ignore any received ADDR-REG-REPLY messages.</t>
      <t>Clients <bcp14>MUST</bcp14> discard any ADDR-REG-REPLY messages that meet any of the following conditions:</t>
      <ul spacing="normal">
        <li>The IPv6 destination address does not match the address being registered.</li>
        <li>The IA-Address option does not match the address being registered</li>
        <li>The address being registered is not assigned to the interface receiving the message.</li>
        <li>The transaction-id does not match the transaction-id the client used in its ADDR-REG-INFORM messages.</li>
      </ul>
    </section>
    <section anchor="dhcpv6-address-registration-procedure">
      <name>DHCPv6 Address Registration Procedure</name>
      <section anchor="dhcpv6-address-registration-request">
        <name>DHCPv6 Address Registration Request</name>
        <t>The client sends a DHCPv6 ADDR-REG-INFORM message to the address registration server to the All_DHCP_Relay_Agents_and_Servers multicast address (ff02::1:2).
The client <bcp14>MUST</bcp14> only send the packet on the network interface that has the address being registered (i.e. if the client has multiple interfaces with different addresses, it should only send the packet on the interface with the address being registered).
The client <bcp14>MUST</bcp14> send the packet from the address being registered. This is primarily for "fate sharing" purposes - for example, if the network implements some form of L2 security to prevent a client from spoofing other clients' addresses this prevents an attacker from spoofing ADDR-REG-INFORM messages. The client <bcp14>MUST</bcp14> send separate messages for each address being registered.</t>
        <t>The client <bcp14>MUST</bcp14> include a Client Identifier option in the ADDR-REG-INFORM message.</t>
        <t>The client <bcp14>MUST</bcp14> generate a transaction ID and insert this value in the "transaction-id" field.</t>
        <t>The client <bcp14>MUST</bcp14> only send the ADDR-REG-INFORM message for valid (<xref target="RFC4862"/>) addresses of global scope (<xref target="RFC4007"/>).
The client <bcp14>MUST NOT</bcp14> send the  ADDR-REG-INFORM message for addresses configured by DHCPv6.</t>
        <t>The client <bcp14>MUST NOT</bcp14> send the ADDR-REG-INFORM message if it has not received any Router Advertisement message with either M or O flags set to 1.</t>
        <t>After receiving this ADDR-REG-INFORM message, the address registration server <bcp14>SHOULD</bcp14> verify that the address being registered is "appropriate to the link" as defined by <xref target="RFC8415"/>. If the server believes that  address being registered is not appropriate to the link <xref target="RFC8415"/>, it <bcp14>MUST</bcp14> drop the message, and <bcp14>SHOULD</bcp14> log this fact. If the address is appropriate, the server:</t>
        <ul spacing="normal">
          <li>
            <bcp14>SHOULD</bcp14> register or update a binding between the provided Client Identifier and IPv6 address in its database;</li>
          <li>
            <bcp14>SHOULD</bcp14> log the address registration information (as is done normally for clients which have requested an address), unless configured not to do so;</li>
          <li>
            <bcp14>SHOULD</bcp14> mark the address as unavailable for use and not include it in future ADVERTISE messages.</li>
          <li>
            <bcp14>SHOULD</bcp14> send back an ADDR-REG-REPLY message.</li>
        </ul>
        <t>If the DHCPv6 server does not support the address registration function, it <bcp14>MUST</bcp14> drop the message, and <bcp14>SHOULD</bcp14> log this fact.</t>
        <t>DHCPv6 relay agents and switches that relay address registration messages directly from clients <bcp14>SHOULD</bcp14> include the client's link-layer address in the relayed message using the Client Link-Layer Address option (<xref target="RFC6939"/>)</t>
      </section>
      <section anchor="dhcpv6-address-registration-acknowledgement">
        <name>DHCPv6 Address Registration Acknowledgement</name>
        <t>The server <bcp14>SHOULD</bcp14> acknowledge receipt of an ADDR-REG-INFORM message by sending a ADDR-REG-REPLY message back, using the  address being registered as the destination address for the packet.</t>
        <t>The server <bcp14>MUST</bcp14> copy the transaction-id from the ADDR-REG-INFORM message to the transaction-id field of the ADDR-REG-REPLY.</t>
        <t>The ADDR-REG-REPLY message only indicates that the ADDR-REG-INFORM message has been received. The ADDR-REG-REPLY message <bcp14>MUST NOT</bcp14> be considered as any indication of the address validity and <bcp14>MUST NOT</bcp14> be required for the address to be usable. DHCPv6 relays, or other devices that snoop ADDR-REG-REPLY messages, <bcp14>MUST NOT</bcp14> add or alter any forwarding or security state based on the ADDR-REG-REPLY message.</t>
      </section>
      <section anchor="registration-expiry-and-refresh">
        <name>Registration Expiry and Refresh</name>
        <t>The client <bcp14>MUST</bcp14> refresh the registration every AddrRegRefresh seconds, where  AddrRegRefresh is min(1/3 of the Valid Lifetime filed in the very first PIO received to form the address; 4 hours ). Registration refresh packets <bcp14>SHOULD</bcp14> be retransmitted using the same logic as described in the 'Retransmission' section below. In particular, retransmissions <bcp14>SHOULD</bcp14> be jittered to avoid synchronization causing a large number of registrations to expire at the same time.</t>
        <t>The client <bcp14>SHOULD</bcp14> generate a new transaction ID when refreshing the registration.</t>
        <t>If the address registration server does not receive such a refresh after the preferred lifetime has passed, it <bcp14>SHOULD</bcp14> remove the record of the Client-Identifier-to-IPv6-address binding.</t>
        <t>The client <bcp14>MAY</bcp14> choose to notify the server when an address is no longer being used (the client is disconnecting from the network, the address lifetime expired or the address is being removed from the interface). To indicate that the address is not being used anymore the client <bcp14>MUST</bcp14> set the preferred-lifetime and valid-lifetime fields of the IA Address option to zero.</t>
      </section>
      <section anchor="retransmission">
        <name>Retransmission</name>
        <t>To reduce the effects of packet loss on registration, the client <bcp14>SHOULD</bcp14> retransmit the registration message. Retransmissions <bcp14>SHOULD</bcp14> follow the standard retransmission logic specified by section 15 of <xref target="RFC8415"/> with the following default parameters:</t>
        <ul spacing="normal">
          <li>IRT 1 sec</li>
          <li>MRC 3</li>
        </ul>
        <t>The client <bcp14>SHOULD</bcp14> allow these parameters to be configured by the administrator.</t>
        <t>To comply with section 16.1 of <xref target="RFC8415"/>, the client <bcp14>MUST</bcp14> leave the transaction ID unchanged in retransmissions of an ADDR-REG-INFORM message.</t>
        <t>If an ADDR-REG-REPLY message is received for the address being registered, the client <bcp14>MUST</bcp14> stop retransmission. However, the client cannot rely on the server acknowledging receipt of the registration message, because the server might not support address registration.</t>
      </section>
    </section>
    <section anchor="host-configuration">
      <name>Host configuration</name>
      <t>DHCP clients <bcp14>SHOULD</bcp14> allow the administrator to disable sending ADDR-REG-INFORM messages. This could be used, for example, to reduce network traffic on networks where the servers are known not to support the message type. Sending the messages <bcp14>SHOULD</bcp14> be enabled by default.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>An attacker may attempt to register a large number of addresses in quick succession in order to overwhelm the address registration server and / or fill up log files. Similar attack vectors exist today, e.g. an attacker can DoS the server with messages contained spoofed DUIDs.</t>
      <t>If a network is using FCFS SAVI <xref target="RFC6620"/>, then the DHCPv6 server can trust that the ADDR-REG-INFORM message was sent by the legitimate holder of the address. This prevents a host from registering an address owned by another host.</t>
      <t>One of the use-cases for the mechanism described in this document is to identify sources of malicious traffic after the fact. Note, however, that as the device itself is responsible for informing the DHCPv6 server that it is using an address, a malicious or compromised device can simply not send the ADDR-REG-INFORM message. This is an informational, optional mechanism, and is designed to aid in troubleshooting and forensics. On its own, it is not intended to be a strong security access mechanism.
In particular, the ADDR-REG-INFORM message <bcp14>MUST</bcp14> not be used for authentication and authorization purposes, because in addition to the reasons above, the packets containing the message may be dropped.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document defines a new DHCPv6 message, the ADDR-REG-INFORM message (TBA1) described in Section 4, that requires an allocation out of the registry of Message Types defined at http://www.iana.org/assignments/dhcpv6-parameters/</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized.  This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC4007">
          <front>
            <title>IPv6 Scoped Address Architecture</title>
            <author fullname="S. Deering" initials="S." surname="Deering"/>
            <author fullname="B. Haberman" initials="B." surname="Haberman"/>
            <author fullname="T. Jinmei" initials="T." surname="Jinmei"/>
            <author fullname="E. Nordmark" initials="E." surname="Nordmark"/>
            <author fullname="B. Zill" initials="B." surname="Zill"/>
            <date month="March" year="2005"/>
            <abstract>
              <t>This document specifies the architectural characteristics, expected behavior, textual representation, and usage of IPv6 addresses of different scopes.  According to a decision in the IPv6 working group, this document intentionally avoids the syntax and usage of unicast site-local addresses. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4007"/>
          <seriesInfo name="DOI" value="10.17487/RFC4007"/>
        </reference>
        <reference anchor="RFC4862">
          <front>
            <title>IPv6 Stateless Address Autoconfiguration</title>
            <author fullname="S. Thomson" initials="S." surname="Thomson"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <author fullname="T. Jinmei" initials="T." surname="Jinmei"/>
            <date month="September" year="2007"/>
            <abstract>
              <t>This document specifies the steps a host takes in deciding how to autoconfigure its interfaces in IP version 6.  The autoconfiguration process includes generating a link-local address, generating global addresses via stateless address autoconfiguration, and the Duplicate Address Detection procedure to verify the uniqueness of the addresses on a link. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4862"/>
          <seriesInfo name="DOI" value="10.17487/RFC4862"/>
        </reference>
        <reference anchor="RFC6939">
          <front>
            <title>Client Link-Layer Address Option in DHCPv6</title>
            <author fullname="G. Halwasia" initials="G." surname="Halwasia"/>
            <author fullname="S. Bhandari" initials="S." surname="Bhandari"/>
            <author fullname="W. Dec" initials="W." surname="Dec"/>
            <date month="May" year="2013"/>
            <abstract>
              <t>This document specifies the format and mechanism that is to be used for encoding the client link-layer address in DHCPv6 Relay-Forward messages by defining a new DHCPv6 Client Link-Layer Address option.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6939"/>
          <seriesInfo name="DOI" value="10.17487/RFC6939"/>
        </reference>
        <reference anchor="RFC8415">
          <front>
            <title>Dynamic Host Configuration Protocol for IPv6 (DHCPv6)</title>
            <author fullname="T. Mrugalski" initials="T." surname="Mrugalski"/>
            <author fullname="M. Siodelski" initials="M." surname="Siodelski"/>
            <author fullname="B. Volz" initials="B." surname="Volz"/>
            <author fullname="A. Yourtchenko" initials="A." surname="Yourtchenko"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="S. Jiang" initials="S." surname="Jiang"/>
            <author fullname="T. Lemon" initials="T." surname="Lemon"/>
            <author fullname="T. Winters" initials="T." surname="Winters"/>
            <date month="November" year="2018"/>
            <abstract>
              <t>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).</t>
              <t>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.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8415"/>
          <seriesInfo name="DOI" value="10.17487/RFC8415"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC4704">
          <front>
            <title>The Dynamic Host Configuration Protocol for IPv6 (DHCPv6) Client Fully Qualified Domain Name (FQDN) Option</title>
            <author fullname="B. Volz" initials="B." surname="Volz"/>
            <date month="October" year="2006"/>
            <abstract>
              <t>This document specifies a new Dynamic Host Configuration Protocol for IPv6 (DHCPv6) option that can be used to exchange information about a DHCPv6 client's Fully Qualified Domain Name (FQDN) and about responsibility for updating DNS resource records (RRs) related to the client's address assignments. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4704"/>
          <seriesInfo name="DOI" value="10.17487/RFC4704"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC6620">
          <front>
            <title>FCFS SAVI: First-Come, First-Served Source Address Validation Improvement for Locally Assigned IPv6 Addresses</title>
            <author fullname="E. Nordmark" initials="E." surname="Nordmark"/>
            <author fullname="M. Bagnulo" initials="M." surname="Bagnulo"/>
            <author fullname="E. Levy-Abegnoli" initials="E." surname="Levy-Abegnoli"/>
            <date month="May" year="2012"/>
            <abstract>
              <t>This memo describes First-Come, First-Served Source Address Validation Improvement (FCFS SAVI), a mechanism that provides source address validation for IPv6 networks using the FCFS principle.  The proposed mechanism is intended to complement ingress filtering techniques to help detect and prevent source address spoofing. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6620"/>
          <seriesInfo name="DOI" value="10.17487/RFC6620"/>
        </reference>
      </references>
    </references>
    <?line 315?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Much thanks to Bernie Volz for significant review and feedback, as well as Hermin Anggawijaya, Stuart Cheshire, Alan DeKok, Ryan Globus, Erik Kline, David Lamparter, Ted Lemon, Eric Levy-Abegnoli, Jim Reid, Michael Richardson, Mark Smith, Eric Vynke, Timothy Winter for their feedback, comments and guidance.</t>
      <t>This document borrows heavily from a previous document, draft-ietf-dhc-addr-registration, which defined "a mechanism to register self-generated and statically configured addresses in DNS through a DHCPv6 server". That document was written Sheng Jiang, Gang Chen, Suresh Krishnan, and Rajiv Asati.</t>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="G." surname="Chen" fullname="Gang Chen">
        <organization>China Mobile</organization>
        <address>
          <postal>
            <street>53A, Xibianmennei Ave.</street>
            <street>Xuanwu District</street>
            <city>Beijing</city>
            <country>P.R. China</country>
          </postal>
          <email>phdgang@gmail.com</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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
hUIAAA==

-->

</rfc>
