<?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.7.4 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-dhc-addr-notification-08" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.19.1 -->
  <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-08"/>
    <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="2024" month="January" day="16"/>
    <area>Internet</area>
    <workgroup>Dynamic Host Configuration</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 102?>

<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 107?>

<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 help desk 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.
This document introduces a new Address Registration (OPTION_ADDR_REG_ENABLE) option which indicates that the server supports the registration mechanism.
Before registering any addresses, the client <bcp14>MUST</bcp14> determine whether the network supports address registration. It can do this by including the Address Registration option code the Option Request option (see Section 21.7 of <xref target="RFC8415"/>) of the Information-Request, Solicit, Request, Renew, or Rebind messages it sends to the server as part of the regular stateless or stateful DHCPv6 configuration process. If the server supports address registration, it includes an Address Registration option in its Reply message.
If the network does not support (or is not willing to receive) any address registration information, the client <bcp14>MUST NOT</bcp14> register any addresses. Otherwise, the client registers addresses as described below.</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. Each ADDR-REG-INFORM message contains an DHCPv6 IA Address option <xref target="RFC8415"/> to specify the address to being registered.</t>
      <t>The address registration mechanism overview is shown in Fig.1.</t>
      <artwork><![CDATA[
+------+          +------------------+       +---------------+
| HOST |          | FIRST-HOP ROUTER |       | DHCPv6 SERVER |
+---+--+          +---------+--------+       +-------+-------+
    |      SLAAC            |                        |
    |<--------------------> |                        |
    |                       |                        |
    |                                                |
    |  src: link-local address                       |
    | -------------------------------------------->  |
    |    INFORMATION-REQUEST or SOLICIT/...          |
    |       - OPTION REQUEST OPTION                  |
    |          -- OPTION_ADDR_REG_ENABLE code        |
    |                                                |
    |    ...                                         |
    |                                                |
    |                                                |
    |<---------------------------------------------  |
    |     REPLY MESSAGE                              |
    |       - OPTION_ADDR_REG_ENABLE                 |
    |                                                |
    |                                                |
    |  src: address being registered                 |
    | -------------------------------------------->  |
    |    ADDR-REG-INFORM MESSAGE                     |Register/
    |                                                |log addresses
    |                                                |
    |                                                |
    | <--------------------------------------------  |
    |        ADD-REG-REPLY MESSAGE                   |
    |                                                |

]]></artwork>
      <t>Figure 1: Address Registration Procedure Overview</t>
    </section>
    <section anchor="dhcpv6-address-registration-procedure">
      <name>DHCPv6 Address Registration Procedure</name>
      <section anchor="dhcpv6-address-registration-option">
        <name>DHCPv6 Address Registration Option</name>
        <t>The DHCPv6 server includes an Address Registration option (OPTION_ADDR_REG_ENABLE) to indicate that the server supports the mechanism described in this document.
The format of the Address Registration option is described as follows:</t>
        <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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |          option-code          |           option-len          |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

 option-code           OPTION_ADDR_REG_ENABLE (TBA0)

 option-len            0
]]></artwork>
        <t>Figure 2: DHCPv6 Address Registration option</t>
        <t>If a client has the address registration mechanism enabled, it <bcp14>SHOULD</bcp14> include this option in all Option Request options that it sends.</t>
        <t>A server which supports the address registration mechanism <bcp14>MUST</bcp14> include this option in Reply messages.</t>
      </section>
      <section anchor="dhcpv6-address-registration-request-message">
        <name>DHCPv6 Address Registration Request 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>
        <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>
        <t>Figure 3: DHCPv6 ADDR-REG-INFORM message</t>
        <t>The client <bcp14>MUST</bcp14> generate a transaction ID as described in <xref target="RFC8415"/> and insert this value in the "transaction-id" field.</t>
        <t>The client <bcp14>MUST</bcp14> include a Client Identifier option in the ADDR-REG-INFORM message.</t>
        <t>The ADDR-REG-INFORM message <bcp14>MUST NOT</bcp14> contain the Server Identifier option and <bcp14>MUST</bcp14> contain exactly one IA Address option containing the address being registered. The valid-lifetime and preferred-lifetime fields in the option <bcp14>MUST</bcp14> match the current Valid Lifetime and Preferred Lifetime of the address being registered.</t>
        <t>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>The client sends the DHCPv6 ADDR-REG-INFORM message to the All_DHCP_Relay_Agents_and_Servers multicast address (ff02::1:2). The client <bcp14>MUST</bcp14> send separate messages for each address being registered.</t>
        <t>Unlike other types of messages, which are sent from the link-local address of the client, the ADDR-REG-INFORM message <bcp14>MUST</bcp14> be sent 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.</t>
        <t>On clients with multiple interfaces, the client <bcp14>MUST</bcp14> only send the packet on the network interface that has the address being registered, even if it has multiple interfaces with different addresses. If the same address is configured on multiple interfaces, then the client <bcp14>MUST</bcp14> send ADDR-REG-INFORM each time the address is configured on an interface that did not previously have it, and refresh each registration independently from the others.</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"/>). This includes ULA addresses, which are defined in <xref target="RFC4193"/> to have global scope.
The client <bcp14>MUST NOT</bcp14> send the  ADDR-REG-INFORM message for addresses configured by DHCPv6.</t>
        <t>The client <bcp14>SHOULD 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>Clients <bcp14>MUST</bcp14> discard any received ADDR-REG-INFORM messages.</t>
        <section anchor="server-message-processing">
          <name>Server message processing</name>
          <t>Servers <bcp14>MUST</bcp14> discard any ADDR-REG-INFORM messages that meet any of the following conditions:</t>
          <ul spacing="normal">
            <li>
              <t>the message does not include a Client Identifier option;</t>
            </li>
            <li>
              <t>the message includes a Server Identifier option;</t>
            </li>
            <li>
              <t>the message does not include the IA Address option, or the IP address in the IA Address option does not match the source address of the original ADDR-REG-INFORM message sent by the client. The source address of the original message is the source IP address of the packet if it is not relayed, or the Peer-Address field of the innermost Relay-Forward message if it is relayed.</t>
            </li>
            <li>
              <t>the message includes an Option Request Option.</t>
            </li>
          </ul>
          <t>If the message is not discarded, the address registration server <bcp14>SHOULD</bcp14> verify that the address being registered is "appropriate to the link" as defined by <xref target="RFC8415"/> or within a prefix delegated to the client. Otherwise, it <bcp14>MUST</bcp14> drop the message, and <bcp14>SHOULD</bcp14> log this fact. Otherwise, the server:</t>
          <ul spacing="normal">
            <li>
              <t><bcp14>SHOULD</bcp14> register or update a binding between the provided Client Identifier and IPv6 address in its database. The lifetime of the binding is equal to the Valid Lifetime of the address reported by the client. If there is already a binding between the registered address and another another client, the server <bcp14>SHOULD</bcp14> log the fact and update the binding.</t>
            </li>
            <li>
              <t><bcp14>SHOULD</bcp14> log the address registration information (as is done normally for clients to which it has assigned an address), unless configured not to do so.</t>
            </li>
            <li>
              <t><bcp14>SHOULD</bcp14> mark the address as unavailable for use and not include it in future ADVERTISE messages.</t>
            </li>
            <li>
              <t><bcp14>MUST</bcp14> send back an ADDR-REG-REPLY message to ensure the client does not retransmit.</t>
            </li>
          </ul>
          <t>Although a client "<bcp14>MUST NOT</bcp14> send the ADDR-REG-INFORM message for addresses configured by DHCPv6", if a server does receive such a message, it should log and discard it.</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>
      <section anchor="dhcpv6-address-registration-acknowledgement">
        <name>DHCPv6 Address Registration Acknowledgement</name>
        <t>The server <bcp14>MUST</bcp14> acknowledge receipt of a valid ADDR-REG-INFORM message by sending back an ADDR-REG-REPLY message. The format of the ADDR-REG-REPLY message is described as follows:</t>
        <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>
        <t>Figure 4: DHCPv6 ADDR-REG-REPLY message</t>
        <t>If the ADDR-REG-INFORM message that the server is replying to was not relayed, then the IPv6 destination address of the message <bcp14>MUST</bcp14> be the address being registered. If the ADDR-REG-INFORM message was relayed, then the server <bcp14>MUST</bcp14> construct the Relay-reply message as specified in <xref target="RFC8415"/> section 19.3.</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 <bcp14>MUST</bcp14> contain an IA Address option for the address being registered. The option <bcp14>MUST</bcp14> be identical to the one in the ADDR-REG-INFORM message that the server is replying to.</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>
            <t>The IPv6 destination address does not match the address being registered.</t>
          </li>
          <li>
            <t>The IA-Address option does not match the address being registered.</t>
          </li>
          <li>
            <t>The address being registered is not assigned to the interface receiving the message.</t>
          </li>
          <li>
            <t>The transaction-id does not match the transaction-id the client used in the corresponding ADDR-REG-INFORM message.</t>
          </li>
        </ul>
        <t>The ADDR-REG-REPLY message only indicates that the ADDR-REG-INFORM message has been received and that the client should not retansmit it. 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="signalling-address-registration-support">
        <name>Signalling Address Registration Support</name>
        <t>The client <bcp14>MUST NOT</bcp14> register addresses using this mechanism unless the network's DHCPv6 servers support address registration. The client can discover this using the OPTION_ADDR_REG_ENABLE option. The client <bcp14>SHOULD</bcp14> include this option code in all Option Request options that it sends. If the client receives and processes a Reply message with the OPTION_ADDR_REG_ENABLE option, it concludes that the network supports address registration. When the client detects that the network supports address registration, it <bcp14>SHOULD</bcp14> start the registration process and immediately register any addresses that are already in use. The client <bcp14>SHOULD NOT</bcp14> stop registering addresses until it disconnects from the link, even if subsequent Reply or Advertise messages do not contain the OPTION_ADDR_REG_ENABLE option.</t>
        <t>The client <bcp14>MUST</bcp14> discover whether the network supports address registration every time it connects to a network or when it detects it has moved to a new link, without utilizing any prior knowledge about address registration support by that network or link. This host behavior allows networks to progressively roll out support for the address registration option across the DHCPv6 infrastructure without causing clients to frequently stop and re-start address registration if some of the network's DHCPv6 servers support it and some of them do not.</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>
            <t>IRT 1 sec</t>
          </li>
          <li>
            <t>MRC 3</t>
          </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. When the client retranmits the registration message, the lifetimes in the packet <bcp14>MUST</bcp14> be updated so that they match the current lifetimes of the address.</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 anchor="registration-expiry-and-refresh">
        <name>Registration Expiry and Refresh</name>
        <t>The client <bcp14>MUST</bcp14> refresh registrations to ensure that the server is always aware of which addresses are still valid. The client <bcp14>SHOULD</bcp14> perform refreshes as described below. Each refresh is scheduled for AddrRegRefresh seconds in the future, where AddrRegRefresh is min(4 hours, 80% of the address's current Valid Lifetime). Refreshes <bcp14>SHOULD</bcp14> be jittered by +/- 10% to avoid synchronization causing a large number of registration messages from different clients at the same time.</t>
        <t>Whenever the client creates an address or receives a PIO which changes the Valid Lifetime of an existing address by more than 1%, then:</t>
        <ol spacing="normal" type="1"><li>
            <t>If no refresh is currently scheduled, it <bcp14>MUST</bcp14> register immediately and schedule a refresh.</t>
          </li>
          <li>
            <t>If a refresh is currently scheduled, it <bcp14>MUST</bcp14> reschedule the existing refresh if this would result in the refresh being sooner than currently scheduled.</t>
          </li>
        </ol>
        <t>When a refresh is performed, the client <bcp14>MAY</bcp14> refresh all addresses assigned to the interface that are scheduled to be refreshed within the next AddrRegRefreshCoalesce seconds. The value of AddrRegRefreshCoalesce is implementation-dependent, and a suggested default is 60 seconds.</t>
        <t>Discussion: this algorithm ensures that refreshes are not sent too frequently, while ensuring that the server never believes that the address has expired when it has not. Specifically:</t>
        <ul spacing="normal">
          <li>
            <t>If the network never changes the lifetime, or stops refreshing the lifetime, then only one refresh ever occurs. The address expires.</t>
          </li>
          <li>
            <t>Point #1 ensures that any time the network changes the lifetime when no refresh is scheduled, the server will be informed of the correct lifetime. If the network does not change the address's lifetime, then the server already knows the correct lifetime and no refresh needs to be sent.</t>
          </li>
          <li>
            <t>Point #2 ensures that if the network reduces the lifetime of the address, then the server will be informed of the new lifetime. If the network increases the lifetime of the address, the refresh will be sent at the previously scheduled time, and the server will be informed of the correct lifetime. From this point on, either the address expires (and the server is informed of when this will happen) or an RA increases the lifetime, in which case a refresh will be sent.</t>
          </li>
          <li>
            <t>The 1% tolerance ensures that the client will not refresh or reschedule refreshes if the Valid Lifetime experiences minor changes due to transmission delays or clock skew between the client and the router(s) sending the Router Advertisement.</t>
          </li>
          <li>
            <t>AddrRegRefreshCoalesce allows battery-powered hosts to wake up less often. In particular, it allows the client to coalesce refreshes for multiple addresses formed from the same prefix, such as the stable and privacy addresses. Higher values will result in fewer wakeups, but may result in more network traffic, because if a refresh is sent early, then the next RA received will cause the client to immediately send a refresh message.</t>
          </li>
        </ul>
        <t>Registration refresh packets <bcp14>SHOULD</bcp14> be retransmitted using the same logic as described in the 'Retransmission' section above.</t>
        <t>The client <bcp14>MUST</bcp14> generate a new transaction ID when refreshing the registration.</t>
        <t>When the Client-Identifier-to-IPv6-address binding has expired, the server <bcp14>SHOULD</bcp14> remove it and consider the address as available for use.</t>
        <t>The client <bcp14>MAY</bcp14> choose to notify the server when an address is no longer being used (e.g., if 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. If the server receives a message with a valid-lifetime of zero, it <bcp14>SHOULD</bcp14> act as if the address has expired.</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>If the network doesn't have MLD snooping enabled, then IPv6 link-local multicast traffic is effectively transmitted as broadcast.
In such networks, an on-link attacker listening to DHCPv6 messages might obtain information about IPv6 addresses assigned to the host.
However, hiding information about the specific IPv6 address should not be considered a security measure, as such information is usually disclosed via Duplicate Address Detection <xref target="RFC4862"/> to all nodes anyway if MLD snooping is not enabled.</t>
      <t>If MLD snooping is enabled, an attacker might be able to join the All_DHCP_Relay_Agents_and_Servers multicast address (ff02::1:2) group to listen for address registration messages.
However the same result can be achieved by joining the All Routers Address (ff02::2) group and listen to Gratuitous Neighbor Advertisement messages <xref target="RFC9131"/>. It should be noted that this particular scenario shares the fate with DHCPv6 address assignment: if an attacker can join the All_DHCP_Relay_Agents_and_Servers multicast group, they would be able to monitor all DHCPv6 messages sent from the client to DHCPv6 servers and relays, and therefore obtain the information about addresses being assiged via DHCPv6.
If revealing other hosts addresses and alllowing onlink peer-to-peer communication is undesirable for a given network segment, then layer2 (link-layer) isolation shall be used.</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 introduces the following new entities which require an allocation out of the DHCPv6 registries defined at http://www.iana.org/assignments/dhcpv6-parameters/:</t>
      <ul spacing="normal">
        <li>
          <t>one new DHCPv6 option, described in Section 4.1 which requires an allocation out of the registry of DHCPv6 Option Codes:
          </t>
          <ul spacing="normal">
            <li>
              <t>Value: TBA0</t>
            </li>
            <li>
              <t>Description: OPTION_ADDR_REG_ENABLE</t>
            </li>
            <li>
              <t>Client ORO: Yes</t>
            </li>
            <li>
              <t>Singleton Option: Yes</t>
            </li>
          </ul>
        </li>
        <li>
          <t>two new DHCPv6 messages which require an allocation out of the registry of Message Types:
          </t>
          <ul spacing="normal">
            <li>
              <t>ADDR-REG-INFORM message (TBA1) described in Section 4.2</t>
            </li>
            <li>
              <t>ADDR-REG-REPLY (TBA2) described in Section 4.3.</t>
            </li>
          </ul>
        </li>
      </ul>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-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="RFC4193">
          <front>
            <title>Unique Local IPv6 Unicast Addresses</title>
            <author fullname="R. Hinden" initials="R." surname="Hinden"/>
            <author fullname="B. Haberman" initials="B." surname="Haberman"/>
            <date month="October" year="2005"/>
            <abstract>
              <t>This document defines an IPv6 unicast address format that is globally unique and is intended for local communications, usually inside of a site. These addresses are not expected to be routable on the global Internet. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4193"/>
          <seriesInfo name="DOI" value="10.17487/RFC4193"/>
        </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>
        <reference anchor="RFC9131">
          <front>
            <title>Gratuitous Neighbor Discovery: Creating Neighbor Cache Entries on First-Hop Routers</title>
            <author fullname="J. Linkova" initials="J." surname="Linkova"/>
            <date month="October" year="2021"/>
            <abstract>
              <t>Neighbor Discovery (RFC 4861) is used by IPv6 nodes to determine the link-layer addresses of neighboring nodes as well as to discover and maintain reachability information. This document updates RFC 4861 to allow routers to proactively create a Neighbor Cache entry when a new IPv6 address is assigned to a node. It also updates RFC 4861 and recommends that nodes send unsolicited Neighbor Advertisements upon assigning a new IPv6 address. These changes will minimize the delay and packet loss when a node initiates connections to an off-link destination from a new IPv6 address.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9131"/>
          <seriesInfo name="DOI" value="10.17487/RFC9131"/>
        </reference>
      </references>
      <references anchor="sec-informative-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 407?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Many thanks to Bernie Volz for significant review and feedback, as well as Hermin Anggawijaya, Brian Carpenter, Stuart Cheshire, Alan DeKok, Ryan Globus, Erik Kline, David Lamparter, Ted Lemon, Eric Levy-Abegnoli, Jim Reid, Michael Richardson, Mark Smith, Eric Vyncke, Timothy Winters for their feedback, comments and guidance. We apologize if we inadvertently forgot to acknowledge anyone's contributions.</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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

-->

</rfc>
