<?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.8 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-dhc-addr-notification-10" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.20.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-10"/>
    <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>Independent</organization>
      <address>
        <email>rajiv.asati@gmail.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>furry13@gmail.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="March" day="26"/>
    <area>Internet</area>
    <workgroup>Dynamic Host Configuration</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 98?>

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

<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 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.</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.</t>
        <t>We define a function AddrRegRefreshInterval(address) as min(4 hours, 80% of the address's current Valid Lifetime). When calculating this value, the client applies a multiplier of AddrRegDesyncMultiplier to avoid synchronization causing a large number of registration messages from different clients at the same time. AddrRegDesyncMultiplier is between 0.9 and 1.1 and is chosen by the client when it starts the registration process, to ensure that refreshes for addresses with the same lifetime are coalesced (see below).</t>
        <t>Whenever the client registers or refreshes an address, it calculates a NextAddrRegRefreshTime for that address as AddrRegRefreshInterval seconds in the future, but does not schedule any refreshes.</t>
        <t>Whenever the client receives a PIO which changes the Valid Lifetime of an existing address by more than 1%, then the client calculates a new AddrRegRefreshInterval. The client schedules a refresh for min(now + AddrRegRefreshInterval, NextAddrRegRefreshTime). If the refresh would be scheduled in the past, then the refresh occurs immediately.</t>
        <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, after every registration:</t>
        <ul spacing="normal">
          <li>
            <t>If the client never receives a PIO that changes the lifetime (e.g., if no further PIOs are received, or if all PIO lifetimes decrease in step with the passage of time), then no refreshes occur. Refreshes are not necessary, because the address expires at the time the server expects it to expire.</t>
          </li>
          <li>
            <t>Any time a PIO changes the lifetime of the address (i.e., changes the time at which the address will expire) the client ensures that a refresh is scheduled, so that server will be informed of the new expiry.</t>
          </li>
          <li>
            <t>Because AddrRegDesyncMultiplier is at most 1.1, the refresh never occurs later than a point 88% between the time when the address was registered and the time when the address will expire. This allows the client to retransmit the registration for up to 12% of the original interval before it expires. This may not be possible if the network sends an RA very close to the time when the address would have expired. In this case, the client refreshes immediately, which is the best it can do.</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>
          <li>
            <t>In typical networks, the lifetimes in periodic Router Advertisements either contain constant values, or values that decrease over time to match the another lifetime, such as the lifetime of a prefix delegated to the network. In both these cases, this algorithm will refresh order of once per address lifetime, which is similar to the number of refreshes that are necessary using stateful DHCPv6.</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.
Layer2 (link-layer) isolation allows to mitigate this threat by blocking onlink peer-to-peer communication between hosts.</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 NOT</bcp14> 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 404?>

<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, Aditi Patange, 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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
/gf+BU49oG0AAA==

-->

</rfc>
