<?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.5 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-dhc-addr-notification-09" 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-09"/>
    <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="26"/>
    <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 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</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 408?>

<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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
lbXzbQAA

-->

</rfc>
