<?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.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-dhc-addr-notification-11" 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-11"/>
    <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="April" day="12"/>
    <area>Internet</area>
    <workgroup>Dynamic Host Configuration</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 99?>

<t>This document defines a method to inform a DHCPv6 server that a device has one or more self-generated or statically configured addresses.</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 104?>

<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 forensics 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 printer's IPv4 address can be retrieved from the DHCP log or lease table 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 that 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 the device 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             |
    |                                                |
    |    ...                                         |
    |                                                |
    |                                                |
    |<---------------------------------------------  |
    |     REPLY MESSAGE                              |
    |       - OPTION_ADDR_REG_ENABLE                 |
    |                                                |
    |                                                |
    |  src: address being registered                 |
    | -------------------------------------------->  |
    |    ADDR-REG-INFORM MESSAGE                     |Register/
    |                                                |log addresses
    |                                                |
    |                                                |
    | <--------------------------------------------  |
    |        ADDR-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 is configured to support 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 the Client Identifier option <xref target="RFC8415"/> 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 layer-2 security to prevent a client from spoofing other clients' MAC 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. The server <bcp14>SHOULD</bcp14> log the client DUID and the link-layer address, if available. The server <bcp14>MAY</bcp14> log any other information.</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>If a client is multihomed (connected to multiple administrative domains, each operating its own DHCPv6 infrastructure), the requirement to verify that the registered address is appropriate for the link or  belongs to a delegated prefix ensures that each DHCPv6 server only registers bindings for addresses from the given administrative domain.</t>
          <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>MUST</bcp14> include the client's link-layer address in the relayed message using the Client Link-Layer Address option (<xref target="RFC6939"/>) if they would do so for other DHCPv6 client messages such as SOLICIT, REQUEST, and REBIND.</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 retransmit 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 Prefix Information option <xref target="RFC4861"/> 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>Justification: 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 DHCP Unique Identifiers (DUIDs) <xref target="RFC8415"/>.</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 assigned via DHCPv6.
Layer-2 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>
        <reference anchor="RFC4861">
          <front>
            <title>Neighbor Discovery for IP version 6 (IPv6)</title>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <author fullname="E. Nordmark" initials="E." surname="Nordmark"/>
            <author fullname="W. Simpson" initials="W." surname="Simpson"/>
            <author fullname="H. Soliman" initials="H." surname="Soliman"/>
            <date month="September" year="2007"/>
            <abstract>
              <t>This document specifies the Neighbor Discovery protocol for IP Version 6. IPv6 nodes on the same link use Neighbor Discovery to discover each other's presence, to determine each other's link-layer addresses, to find routers, and to maintain reachability information about the paths to active neighbors. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4861"/>
          <seriesInfo name="DOI" value="10.17487/RFC4861"/>
        </reference>
      </references>
    </references>
    <?line 407?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Many thanks to Bernie Volz for significant review and feedback, as well as Hermin Anggawijaya, Brian Carpenter, Stuart Cheshire, Alan DeKok, Ryan Globus, Erik Kline, David Lamparter, Ted Lemon, Eric Levy-Abegnoli, 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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
tt+yNOx+0Zl0sLVfRDYe/A/mzAU9ZHAAAA==

-->

</rfc>
