<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" ipr="trust200902" docName="draft-ietf-dhc-addr-notification-13" number="9686" updates="" obsoletes="" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" xml:lang="en" prepTime="2024-12-05T14:01:22" indexInclude="true" scripts="Common,Latin" tocDepth="3">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-dhc-addr-notification-13" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9686" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="Registering Self-Generated Addresses Using DHCPv6">Registering Self-Generated IPv6 Addresses Using DHCPv6</title>
    <seriesInfo name="RFC" value="9686" stream="IETF"/>
    <author initials="W." surname="Kumari" fullname="Warren Kumari">
      <organization showOnFrontPage="true">Google, LLC</organization>
      <address>
        <email>warren@kumari.net</email>
      </address>
    </author>
    <author initials="S." surname="Krishnan" fullname="Suresh Krishnan">
      <organization showOnFrontPage="true">Cisco Systems, Inc.</organization>
      <address>
        <email>suresh.krishnan@gmail.com</email>
      </address>
    </author>
    <author initials="R." surname="Asati" fullname="Rajiv Asati">
      <organization showOnFrontPage="true">Independent</organization>
      <address>
        <email>rajiv.asati@gmail.com</email>
      </address>
    </author>
    <author initials="L." surname="Colitti" fullname="Lorenzo Colitti">
      <organization showOnFrontPage="true">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 showOnFrontPage="true">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 abbrev="BUPT" showOnFrontPage="true">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 month="12" year="2024"/>
    <area>INT</area>
    <workgroup>dhc</workgroup>
    <keyword>DHCPv6</keyword>
    <keyword>IPv6</keyword>
    <keyword>SLAAC</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">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>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This is an Internet Standards Track document.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This document is a product of the Internet Engineering Task Force
            (IETF).  It represents the consensus of the IETF community.  It has
            received public review and has been approved for publication by
            the Internet Engineering Steering Group (IESG).  Further
            information on Internet Standards is available in Section 2 of 
            RFC 7841.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc9686" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2024 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document. Code Components extracted from this
            document must include Revised BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Revised BSD License.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-conventions-and-definitions">Conventions and Definitions</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-registration-mechanism-over">Registration Mechanism Overview</xref></t>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-dhcpv6-address-registration">DHCPv6 Address Registration Procedure</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2">
              <li pn="section-toc.1-1.4.2.1">
                <t indent="0" pn="section-toc.1-1.4.2.1.1"><xref derivedContent="4.1" format="counter" sectionFormat="of" target="section-4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-dhcpv6-address-registration-">DHCPv6 Address Registration Option</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.2">
                <t indent="0" pn="section-toc.1-1.4.2.2.1"><xref derivedContent="4.2" format="counter" sectionFormat="of" target="section-4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-dhcpv6-address-registration-r">DHCPv6 Address Registration Request Message</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2.2.2">
                  <li pn="section-toc.1-1.4.2.2.2.1">
                    <t indent="0" pn="section-toc.1-1.4.2.2.2.1.1"><xref derivedContent="4.2.1" format="counter" sectionFormat="of" target="section-4.2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-server-message-processing">Server Message Processing</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.4.2.3">
                <t indent="0" pn="section-toc.1-1.4.2.3.1"><xref derivedContent="4.3" format="counter" sectionFormat="of" target="section-4.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-dhcpv6-address-registration-a">DHCPv6 Address Registration Acknowledgement</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.4">
                <t indent="0" pn="section-toc.1-1.4.2.4.1"><xref derivedContent="4.4" format="counter" sectionFormat="of" target="section-4.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-signaling-address-registrat">Signaling Address Registration Support</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.5">
                <t indent="0" pn="section-toc.1-1.4.2.5.1"><xref derivedContent="4.5" format="counter" sectionFormat="of" target="section-4.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-retransmission">Retransmission</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.6">
                <t indent="0" pn="section-toc.1-1.4.2.6.1"><xref derivedContent="4.6" format="counter" sectionFormat="of" target="section-4.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-registration-expiry-and-ref">Registration Expiry and Refresh</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2.6.2">
                  <li pn="section-toc.1-1.4.2.6.2.1">
                    <t indent="0" pn="section-toc.1-1.4.2.6.2.1.1"><xref derivedContent="4.6.1" format="counter" sectionFormat="of" target="section-4.6.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-slaac-addresses">SLAAC Addresses</xref></t>
                  </li>
                  <li pn="section-toc.1-1.4.2.6.2.2">
                    <t indent="0" pn="section-toc.1-1.4.2.6.2.2.1"><xref derivedContent="4.6.2" format="counter" sectionFormat="of" target="section-4.6.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-statically-assigned-address">Statically Assigned Addresses</xref></t>
                  </li>
                  <li pn="section-toc.1-1.4.2.6.2.3">
                    <t indent="0" pn="section-toc.1-1.4.2.6.2.3.1"><xref derivedContent="4.6.3" format="counter" sectionFormat="of" target="section-4.6.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-transmitting-refreshes">Transmitting Refreshes</xref></t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-client-configuration">Client Configuration</xref></t>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-privacy-considerations">Privacy Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="9" format="counter" sectionFormat="of" target="section-9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.9.2">
              <li pn="section-toc.1-1.9.2.1">
                <t indent="0" pn="section-toc.1-1.9.2.1.1"><xref derivedContent="9.1" format="counter" sectionFormat="of" target="section-9.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.9.2.2">
                <t indent="0" pn="section-toc.1-1.9.2.2.1"><xref derivedContent="9.2" format="counter" sectionFormat="of" target="section-9.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgements">Acknowledgements</xref></t>
          </li>
          <li pn="section-toc.1-1.11">
            <t indent="0" pn="section-toc.1-1.11.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-contributors">Contributors</xref></t>
          </li>
          <li pn="section-toc.1-1.12">
            <t indent="0" pn="section-toc.1-1.12.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.c"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="introduction" numbered="true" removeInRFC="false" toc="include" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">It is very common operational practice, especially in enterprise
      networks, to use IPv4 DHCP logs for troubleshooting or forensics
      purposes. An example of this includes a help desk dealing with a ticket
      such as "The CEO's laptop cannot connect to the printer"; if the Media Access Control (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 can be 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 indent="0" pn="section-1-2">This operational practice relies on the DHCP server knowing the IP
      address assignments.  This works quite well for IPv4 addresses, as most
      addresses are either assigned by DHCP <xref target="RFC2131" format="default" sectionFormat="of" derivedContent="RFC2131"/> or
      statically configured by the network operator. For IPv6, however, this
      practice is much harder to implement, as devices often self-configure
      IPv6 addresses via Stateless Address Autoconfiguration (SLAAC) <xref target="RFC4862" format="default" sectionFormat="of" derivedContent="RFC4862"/>.</t>
      <t indent="0" pn="section-1-3">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 by
      making DHCPv6 infrastructure aware of self-assigned IPv6 addresses.</t>
    </section>
    <section anchor="conventions-and-definitions" numbered="true" removeInRFC="false" toc="include" pn="section-2">
      <name slugifiedName="name-conventions-and-definitions">Conventions and Definitions</name>
      <t indent="0" pn="section-2-1">
    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" format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/> when, and only when, they appear in all capitals, as
    shown here.
      </t>
    </section>
    <section anchor="registration-mechanism-overview" numbered="true" removeInRFC="false" toc="include" pn="section-3">
      <name slugifiedName="name-registration-mechanism-over">Registration Mechanism Overview</name>
      <t indent="0" pn="section-3-1">The DHCPv6 protocol is used as the address registration protocol and
      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 in the Option Request option (see <xref target="RFC8415" sectionFormat="of" section="21.7" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8415#section-21.7" derivedContent="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 Advertise or Reply
      messages.  To avoid undesired multicast traffic, if the DHCPv6
      infrastructure does not support (or is not willing to receive) any
      address registration information, the client <bcp14>MUST NOT</bcp14>
      register any addresses using the mechanism in this
      specification. Otherwise, the client registers addresses as described
      below.</t>
      <t indent="0" pn="section-3-2">After successfully assigning a self-generated or statically
      configured valid IPv6 address <xref target="RFC4862" format="default" sectionFormat="of" derivedContent="RFC4862"/> on one of its
      interfaces, a client implementing this specification multicasts an
      ADDR-REG-INFORM message (see <xref target="dhcpv6-address-registration-request-message" format="default" sectionFormat="of" derivedContent="Section 4.2"/>) in order to
      inform the DHCPv6 server that this self-generated address is in
      use. Each ADDR-REG-INFORM message contains a DHCPv6 Identity Association
      (IA) Address option <xref target="RFC8415" format="default" sectionFormat="of" derivedContent="RFC8415"/> to specify the address
      being registered.</t>
      <t indent="0" pn="section-3-3">The address registration mechanism overview is shown in <xref target="Fig.1" format="default" sectionFormat="of" derivedContent="Figure 1"/>.</t>
      <figure anchor="Fig.1" align="left" suppress-title="false" pn="figure-1">
        <name slugifiedName="name-address-registration-proced">Address Registration Procedure Overview</name>
        <artwork align="left" pn="section-3-4.1">
+--------+        +------------------+       +---------------+
| CLIENT |        | FIRST-HOP ROUTER |       | DHCPv6 SERVER |
+--------+        +---------+--------+       +-------+-------+
    |      SLAAC            |                        |
    |&lt;--------------------&gt; |                        |
    |                       |                        |
    |                                                |
    |  src: link-local address                       |
    | --------------------------------------------&gt;  |
    |    INFORMATION-REQUEST or SOLICIT/...          |
    |       - OPTION REQUEST OPTION                  |
    |          -- OPTION_ADDR_REG_ENABLE             |
    |                                                |
    |    ...                                         |
    |                                                |
    |                                                |
    |&lt;---------------------------------------------  |
    |     REPLY or ADVERTISE MESSAGE                 |
    |       - OPTION_ADDR_REG_ENABLE                 |
    |                                                |
    |                                                |
    |  src: address being registered                 |
    | --------------------------------------------&gt;  |
    |    ADDR-REG-INFORM MESSAGE                     |Register/
    |                                                |log addresses
    |                                                |
    |                                                |
    | &lt;--------------------------------------------  |
    |        ADDR-REG-REPLY MESSAGE                  |
    |                                                |
</artwork>
      </figure>
    </section>
    <section anchor="dhcpv6-address-registration-procedure" numbered="true" removeInRFC="false" toc="include" pn="section-4">
      <name slugifiedName="name-dhcpv6-address-registration">DHCPv6 Address Registration Procedure</name>
      <section anchor="dhcpv6-address-registration-option" numbered="true" removeInRFC="false" toc="include" pn="section-4.1">
        <name slugifiedName="name-dhcpv6-address-registration-">DHCPv6 Address Registration Option</name>
        <t indent="0" pn="section-4.1-1">The Address Registration option (OPTION_ADDR_REG_ENABLE) indicates
        that the server supports the mechanism described in this document. The
        format of the Address Registration option is described as follows:</t>
        <figure anchor="Fig.2" align="left" suppress-title="false" pn="figure-2">
          <name slugifiedName="name-dhcpv6-address-registration-o">DHCPv6 Address Registration Option</name>
          <artwork align="left" pn="section-4.1-2.1">
  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          |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
</artwork>
        </figure>
        <dl indent="3" newline="false" spacing="normal" pn="section-4.1-3">
          <dt pn="section-4.1-3.1">option-code:</dt>
          <dd pn="section-4.1-3.2">OPTION_ADDR_REG_ENABLE (148)</dd>
          <dt pn="section-4.1-3.3">option-len:</dt>
          <dd pn="section-4.1-3.4">0</dd>
        </dl>
        <t indent="0" pn="section-4.1-4">If a client has the address registration mechanism enabled, it <bcp14>MUST</bcp14> include this option in all Option Request options that it sends.</t>
        <t indent="0" pn="section-4.1-5">A server that is configured to support the address registration mechanism <bcp14>MUST</bcp14> include this option in Advertise and Reply messages if the client message it is replying to contained this option in the Option Request option.</t>
      </section>
      <section anchor="dhcpv6-address-registration-request-message" numbered="true" removeInRFC="false" toc="include" pn="section-4.2">
        <name slugifiedName="name-dhcpv6-address-registration-r">DHCPv6 Address Registration Request Message</name>
        <t indent="0" pn="section-4.2-1">The DHCPv6 client sends an ADDR-REG-INFORM message to inform that an IPv6 address is assigned to the client's interface.
The format of the ADDR-REG-INFORM message is described as follows:</t>
        <figure anchor="Fig.3" align="left" suppress-title="false" pn="figure-3">
          <name slugifiedName="name-dhcpv6-addr-reg-inform-mess">DHCPv6 ADDR-REG-INFORM Message</name>
          <artwork align="left" pn="section-4.2-2.1">
  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)                          .
 |                                                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
        </figure>
        <dl indent="3" newline="false" spacing="normal" pn="section-4.2-3">
          <dt pn="section-4.2-3.1">msg-type:</dt>
          <dd pn="section-4.2-3.2">Identifies the DHCPv6 message type; set to ADDR-REG-INFORM (36).</dd>
          <dt pn="section-4.2-3.3">transaction-id:</dt>
          <dd pn="section-4.2-3.4">The transaction ID for this message exchange.</dd>
          <dt pn="section-4.2-3.5">options:</dt>
          <dd pn="section-4.2-3.6">The options carried in this message.</dd>
        </dl>
        <t indent="0" pn="section-4.2-4">The client <bcp14>MUST</bcp14> generate a transaction ID as
       described in <xref target="RFC8415" format="default" sectionFormat="of" derivedContent="RFC8415"/> and insert this value in the
       transaction-id field.</t>
        <t indent="0" pn="section-4.2-5">The client <bcp14>MUST</bcp14> include the Client Identifier option
       <xref target="RFC8415" format="default" sectionFormat="of" derivedContent="RFC8415"/> in the ADDR-REG-INFORM message.</t>
        <t indent="0" pn="section-4.2-6">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 indent="0" pn="section-4.2-7">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" format="default" sectionFormat="of" derivedContent="RFC4704"/>.</t>
        <t indent="0" pn="section-4.2-8">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 indent="0" pn="section-4.2-9">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 indent="0" pn="section-4.2-10">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 the ADDR-REG-INFORM message
       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 indent="0" pn="section-4.2-11">The client <bcp14>MUST</bcp14> only send the ADDR-REG-INFORM
        message for valid addresses <xref target="RFC4862" format="default" sectionFormat="of" derivedContent="RFC4862"/> of global scope
        <xref target="RFC4007" format="default" sectionFormat="of" derivedContent="RFC4007"/>. This includes Unique Local Addresses (ULAs), which are
        defined in <xref target="RFC4193" format="default" sectionFormat="of" derivedContent="RFC4193"/> to have global scope. This also
        includes statically assigned addresses of global scope (such addresses
        are considered to be valid indefinitely).  The client <bcp14>MUST NOT</bcp14> send the ADDR-REG-INFORM message for addresses configured
        by DHCPv6.</t>
        <t indent="0" pn="section-4.2-12">The client <bcp14>SHOULD NOT</bcp14> send the ADDR-REG-INFORM
        message unless it has received a Router Advertisement (RA) message with
        either the M or O flags set to 1.</t>
        <t indent="0" pn="section-4.2-13">Clients <bcp14>MUST</bcp14> discard any received ADDR-REG-INFORM messages.</t>
        <section anchor="server-message-processing" numbered="true" removeInRFC="false" toc="include" pn="section-4.2.1">
          <name slugifiedName="name-server-message-processing">Server Message Processing</name>
          <t indent="0" pn="section-4.2.1-1">Servers <bcp14>MUST</bcp14> discard any ADDR-REG-INFORM messages
	  that meet any of the following conditions:</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.2.1-2">
            <li pn="section-4.2.1-2.1">
              <t indent="0" pn="section-4.2.1-2.1.1">the message does not include a Client Identifier option;</t>
            </li>
            <li pn="section-4.2.1-2.2">
              <t indent="0" pn="section-4.2.1-2.2.1">the message includes a Server Identifier option;</t>
            </li>
            <li pn="section-4.2.1-2.3">
              <t indent="0" pn="section-4.2.1-2.3.1">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 is the
              peer-address field of the innermost Relay-forward message if it
              is relayed; or</t>
            </li>
            <li pn="section-4.2.1-2.4">
              <t indent="0" pn="section-4.2.1-2.4.1">the message includes an Option Request option.</t>
            </li>
          </ul>
          <t indent="0" pn="section-4.2.1-3">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" format="default" sectionFormat="of" derivedContent="RFC8415"/> or
          within a prefix delegated to the client via DHCPv6 for Prefix
          Delegation (DHCPv6-PD) (see <xref target="RFC8415" sectionFormat="of" section="6.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8415#section-6.3" derivedContent="RFC8415"/>). If the address being registered
          fails this verification, the server <bcp14>MUST</bcp14> drop the
          message and <bcp14>SHOULD</bcp14> log this fact. If the message
          passes the verification, the server:</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.2.1-4">
            <li pn="section-4.2.1-4.1">
              <t indent="0" pn="section-4.2.1-4.1.1"><bcp14>MUST</bcp14> log the address registration information
              (as is done normally for clients to which it has assigned an
              address), unless it is configured not to do so. The server
              <bcp14>SHOULD</bcp14> log the client DHCP Unique Identifier
              (DUID) and the link-layer address, if available. The server
              <bcp14>MAY</bcp14> log any other information.</t>
            </li>
            <li pn="section-4.2.1-4.2">
              <t indent="0" pn="section-4.2.1-4.2.1"><bcp14>SHOULD</bcp14> register a binding between the provided
              Client Identifier and IPv6 address in its database, if no
              binding exists. 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 the same
              client, the server <bcp14>MUST</bcp14> update its lifetime. 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 pn="section-4.2.1-4.3">
              <t indent="0" pn="section-4.2.1-4.3.1"><bcp14>SHOULD</bcp14> mark the address as unavailable for use
              and not include it in future Advertise messages.</t>
            </li>
            <li pn="section-4.2.1-4.4">
              <t indent="0" pn="section-4.2.1-4.4.1"><bcp14>MUST</bcp14> send back an ADDR-REG-REPLY message to
              ensure the client does not retransmit.</t>
            </li>
          </ul>
          <t indent="0" pn="section-4.2.1-5">If a client is multihomed (i.e., 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 indent="0" pn="section-4.2.1-6">As mentioned in <xref target="dhcpv6-address-registration-request-message" format="default" sectionFormat="of" derivedContent="Section 4.2"/>, 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 <bcp14>SHOULD</bcp14> log and discard it.</t>
          <t indent="0" pn="section-4.2.1-7">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" format="default" sectionFormat="of" derivedContent="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" numbered="true" removeInRFC="false" toc="include" pn="section-4.3">
        <name slugifiedName="name-dhcpv6-address-registration-a">DHCPv6 Address Registration Acknowledgement</name>
        <t indent="0" pn="section-4.3-1">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>
        <figure anchor="Fig.4" align="left" suppress-title="false" pn="figure-4">
          <name slugifiedName="name-dhcpv6-addr-reg-reply-messa">DHCPv6 ADDR-REG-REPLY Message</name>
          <artwork align="left" pn="section-4.3-2.1">
  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)                          .
 |                                                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
        </figure>
        <dl indent="3" newline="false" spacing="normal" pn="section-4.3-3">
          <dt pn="section-4.3-3.1">msg-type:</dt>
          <dd pn="section-4.3-3.2">Identifies the DHCPv6 message type; set to ADDR-REG-REPLY (37).</dd>
          <dt pn="section-4.3-3.3">transaction-id:</dt>
          <dd pn="section-4.3-3.4">The transaction ID for this message exchange.</dd>
          <dt pn="section-4.3-3.5">options:</dt>
          <dd pn="section-4.3-3.6">The options carried in this message.</dd>
        </dl>
        <t indent="0" pn="section-4.3-4">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" sectionFormat="of" section="19.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8415#section-19.3" derivedContent="RFC8415"/>.</t>
        <t indent="0" pn="section-4.3-5">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 indent="0" pn="section-4.3-6">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 indent="0" pn="section-4.3-7">Servers <bcp14>MUST</bcp14> ignore any received ADDR-REG-REPLY
	messages.</t>
        <t indent="0" pn="section-4.3-8">Clients <bcp14>MUST</bcp14> discard any ADDR-REG-REPLY messages
        that meet any of the following conditions:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.3-9">
          <li pn="section-4.3-9.1">
            <t indent="0" pn="section-4.3-9.1.1">the IPv6 destination address does not match the address being registered;</t>
          </li>
          <li pn="section-4.3-9.2">
            <t indent="0" pn="section-4.3-9.2.1">the IA Address option does not match the address being registered;</t>
          </li>
          <li pn="section-4.3-9.3">
            <t indent="0" pn="section-4.3-9.3.1">the address being registered is not assigned to the interface receiving the message; or</t>
          </li>
          <li pn="section-4.3-9.4">
            <t indent="0" pn="section-4.3-9.4.1">the transaction-id does not match the transaction-id the client used in the corresponding ADDR-REG-INFORM message.</t>
          </li>
        </ul>
        <t indent="0" pn="section-4.3-10">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
        to be 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="signaling-address-registration-support" numbered="true" removeInRFC="false" toc="include" pn="section-4.4">
        <name slugifiedName="name-signaling-address-registrat">Signaling Address Registration Support</name>
        <t indent="0" pn="section-4.4-1">To avoid undesired multicast traffic, the client <bcp14>MUST NOT</bcp14> register addresses using this mechanism unless the DHCPv6
        infrastructure supports address registration. The client can discover
        this by including the OPTION_ADDR_REG_ENABLE option in the
        Option Request options that it sends. If the client receives and
        processes an Advertise or Reply message with the
        OPTION_ADDR_REG_ENABLE option, it concludes that the DHCPv6
        infrastructure supports address registration. When the client detects
        address registration support, it <bcp14>MUST</bcp14> start the
        registration process (unless configured not to do so) and
        <bcp14>MUST</bcp14> immediately register any addresses that are
        already in use. Once the client starts the registration process, it
        <bcp14>MUST NOT</bcp14> stop registering addresses until it
        disconnects from the link, even if subsequent Advertise or Reply
        messages do not contain the OPTION_ADDR_REG_ENABLE option.</t>
        <t indent="0" pn="section-4.4-2">The client <bcp14>MUST</bcp14> discover whether the DHCPv6
        infrastructure 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 on
        that network or link. This client behavior allows networks to
        progressively roll out support for the Address Registration option
        across the DHCPv6 infrastructure without causing clients to frequently
        stop and restart address registration if some of the network's DHCPv6
        servers support it and some do not.</t>
        <t indent="0" pn="section-4.4-3">A client with multiple interfaces <bcp14>MUST</bcp14> discover
	address registration support for each interface independently. The
	client <bcp14>MUST NOT</bcp14> send address registration messages on
	a given interface unless the client has discovered that the interface
	is connected to a network that supports address registration.</t>
      </section>
      <section anchor="retransmission" numbered="true" removeInRFC="false" toc="include" pn="section-4.5">
        <name slugifiedName="name-retransmission">Retransmission</name>
        <t indent="0" pn="section-4.5-1">To reduce the effects of packet loss on registration, the client <bcp14>MUST</bcp14> retransmit the registration message. Retransmissions <bcp14>SHOULD</bcp14> follow the standard retransmission logic specified by <xref target="RFC8415" sectionFormat="of" section="15" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8415#section-15" derivedContent="RFC8415"/> with the following default parameters for the  initial retransmission time (IRT) and maximum retransmission count (MRC):</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.5-2">
          <li pn="section-4.5-2.1">
            <t indent="0" pn="section-4.5-2.1.1">IRT 1 sec</t>
          </li>
          <li pn="section-4.5-2.2">
            <t indent="0" pn="section-4.5-2.2.1">MRC 3</t>
          </li>
        </ul>
        <t indent="0" pn="section-4.5-3">The client <bcp14>SHOULD</bcp14> allow these parameters to be configured by the administrator.</t>
        <t indent="0" pn="section-4.5-4">To comply with <xref target="RFC8415" sectionFormat="of" section="16.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8415#section-16.1" derivedContent="RFC8415"/>, the client <bcp14>MUST</bcp14> leave the transaction ID unchanged in retransmissions of an ADDR-REG-INFORM message. When the client retransmits 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 indent="0" pn="section-4.5-5">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" numbered="true" removeInRFC="false" toc="include" pn="section-4.6">
        <name slugifiedName="name-registration-expiry-and-ref">Registration Expiry and Refresh</name>
        <t indent="0" pn="section-4.6-1">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>
        <section anchor="slaac-addresses" numbered="true" removeInRFC="false" toc="include" pn="section-4.6.1">
          <name slugifiedName="name-slaac-addresses">SLAAC Addresses</name>
          <t indent="0" pn="section-4.6.1-1">For an address configured using SLAAC, a function
          AddrRegRefreshInterval(address) is defined as 80% of the address's
          current Valid Lifetime. When calculating this value, the client
          applies a multiplier of AddrRegDesyncMultiplier to avoid
          synchronization with other clients, which could cause a large
	  number of registration messages to reach the server 
          at the same time. AddrRegDesyncMultiplier is
          a random value uniformly distributed between 0.9 and 1.1 (inclusive)
          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 indent="0" pn="section-4.6.1-2">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 indent="0" pn="section-4.6.1-3">Whenever the network changes the Valid Lifetime of an existing
          address by more than 1%, for example, by sending a Prefix
          Information Option (PIO) <xref target="RFC4861" format="default" sectionFormat="of" derivedContent="RFC4861"/> with a new Valid
          Lifetime, 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 indent="0" pn="section-4.6.1-4">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" bare="false" empty="false" indent="3" pn="section-4.6.1-5">
            <li pn="section-4.6.1-5.1">
              <t indent="0" pn="section-4.6.1-5.1.1">If the network never changes the lifetime of an address
              (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 pn="section-4.6.1-5.2">
              <t indent="0" pn="section-4.6.1-5.2.1">Any time the network changes the lifetime of an 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 pn="section-4.6.1-5.3">
              <t indent="0" pn="section-4.6.1-5.3.1">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 a Router Advertisement
              (RA) <xref target="RFC4861" format="default" sectionFormat="of" derivedContent="RFC4861"/> 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 pn="section-4.6.1-5.4">
              <t indent="0" pn="section-4.6.1-5.4.1">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 RA.</t>
            </li>
            <li pn="section-4.6.1-5.5">
              <t indent="0" pn="section-4.6.1-5.5.1">AddrRegRefreshCoalesce (<xref target="transmitting-refreshes" format="default" sectionFormat="of" derivedContent="Section 4.6.3"/>) allows battery-powered
              clients 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 pn="section-4.6.1-5.6">
              <t indent="0" pn="section-4.6.1-5.6.1">In typical networks, the lifetimes in periodic RAs either contain constant values or values that
              decrease over time to match another lifetime, such as the
              lifetime of a prefix delegated to the network. In both these
              cases, this algorithm will refresh on the order of once per
              address lifetime, which is similar to the number of refreshes
              that are necessary using stateful DHCPv6.</t>
            </li>
            <li pn="section-4.6.1-5.7">
              <t indent="0" pn="section-4.6.1-5.7.1">Because refreshes occur at least once per address lifetime,
              the network administrator can control the address refresh
              frequency by appropriately setting the Valid Lifetime in the
              PIO.</t>
            </li>
          </ul>
        </section>
        <section anchor="statically-assigned-addresses" numbered="true" removeInRFC="false" toc="include" pn="section-4.6.2">
          <name slugifiedName="name-statically-assigned-address">Statically Assigned Addresses</name>
          <t indent="0" pn="section-4.6.2-1">A statically assigned address has an infinite Valid Lifetime
          that is not affected by RAs. Therefore, whenever
          the client registers or refreshes a statically assigned address, the
          next refresh is scheduled for StaticAddrRegRefreshInterval seconds
          in the future. The default value of StaticAddrRegRefreshInterval is
          4 hours. This ensures static addresses are still refreshed
          periodically, but refreshes for static addresses do not cause
          excessive multicast traffic. The StaticAddrRegRefreshInterval
          interval <bcp14>SHOULD</bcp14> be configurable.</t>
        </section>
        <section anchor="transmitting-refreshes" numbered="true" removeInRFC="false" toc="include" pn="section-4.6.3">
          <name slugifiedName="name-transmitting-refreshes">Transmitting Refreshes</name>
          <t indent="0" pn="section-4.6.3-1">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 indent="0" pn="section-4.6.3-2">Registration refresh packets <bcp14>MUST</bcp14> be retransmitted
          using the same logic as used for initial registrations (see <xref target="retransmission" format="default" sectionFormat="of" derivedContent="Section 4.5"/>).</t>
          <t indent="0" pn="section-4.6.3-3">The client <bcp14>MUST</bcp14> generate a new transaction ID when
          refreshing the registration.</t>
          <t indent="0" pn="section-4.6.3-4">When a Client-Identifier-to-IPv6-address binding expires, the
          server <bcp14>MUST</bcp14> remove it and consider the address as
          available for use.</t>
          <t indent="0" pn="section-4.6.3-5">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 in the ADDR-REG-INFORM message to zero. If the server
          receives a message with a valid-lifetime of zero, it
          <bcp14>MUST</bcp14> act as if the address has expired.</t>
        </section>
      </section>
    </section>
    <section anchor="client-configuration" numbered="true" removeInRFC="false" toc="include" pn="section-5">
      <name slugifiedName="name-client-configuration">Client Configuration</name>
      <t indent="0" pn="section-5-1">DHCP clients <bcp14>SHOULD</bcp14> allow the administrator to disable
      sending ADDR-REG-INFORM messages. Sending the messages <bcp14>SHOULD</bcp14> be
      enabled by default.</t>
    </section>
    <section anchor="security-considerations" numbered="true" removeInRFC="false" toc="include" pn="section-6">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-6-1">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 containing spoofed DHCP Unique
      Identifiers (DUIDs) <xref target="RFC8415" format="default" sectionFormat="of" derivedContent="RFC8415"/>.</t>
      <t indent="0" pn="section-6-2">If a network is using First-Come, First-Served Source Address
      Validation Improvement (FCFS SAVI) <xref target="RFC6620" format="default" sectionFormat="of" derivedContent="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 client from
      registering an address configured on another client.</t>
      <t indent="0" pn="section-6-3">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 choose to 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="privacy-considerations" numbered="true" removeInRFC="false" toc="include" pn="section-7">
      <name slugifiedName="name-privacy-considerations">Privacy Considerations</name>
      <t indent="0" pn="section-7-1">If the network doesn't have Multicast Listener Discovery (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 client.  As
      ADDR-REG-INFORM messages contain unique identifiers such as the client's
      DUID, the attacker may be able to track addresses being registered and
      map them to the same client, even if the client uses randomized MAC
      addresses.  This privacy consideration is not specific to the proposed
      mechanism. <xref target="RFC7844" sectionFormat="of" section="4.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7844#section-4.3" derivedContent="RFC7844"/>
      discusses using the DUID for device tracking in DHCPv6 environments and
      provides mitigation recommendations.</t>
      <t indent="0" pn="section-7-2">In general, hiding information about the specific IPv6 address from
      on-link observers should not be considered a security measure, as such
      information is usually disclosed via Duplicate Address Detection <xref target="RFC4862" format="default" sectionFormat="of" derivedContent="RFC4862"/> to all nodes anyway, if MLD snooping is not
      enabled.</t>
      <t indent="0" pn="section-7-3">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" format="default" sectionFormat="of" derivedContent="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 mitigating this
      threat by blocking on-link peer-to-peer communication between nodes.</t>
    </section>
    <section anchor="iana-considerations" numbered="true" removeInRFC="false" toc="include" pn="section-8">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-8-1">This document introduces the following entities, which have been
      allocated in the "Dynamic Host Configuration Protocol for IPv6
      (DHCPv6)" registry group defined at
      <eref target="http://www.iana.org/assignments/dhcpv6-parameters" brackets="angle"/>. These include:</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-8-2">
        <li pn="section-8-2.1">
          <t indent="0" pn="section-8-2.1.1">One new DHCPv6 option, described in <xref target="dhcpv6-address-registration-option" format="default" sectionFormat="of" derivedContent="Section 4.1"/>, which has been 
          allocated in the "Option Codes" registry:
          </t>
          <dl newline="false" spacing="compact" indent="3" pn="section-8-2.1.2">
            <dt pn="section-8-2.1.2.1">Value:</dt>
            <dd pn="section-8-2.1.2.2">148</dd>
            <dt pn="section-8-2.1.2.3">Description:</dt>
            <dd pn="section-8-2.1.2.4">OPTION_ADDR_REG_ENABLE</dd>
            <dt pn="section-8-2.1.2.5">Client ORO:</dt>
            <dd pn="section-8-2.1.2.6">Yes</dd>
            <dt pn="section-8-2.1.2.7">Singleton Option:</dt>
            <dd pn="section-8-2.1.2.8">Yes</dd>
            <dt pn="section-8-2.1.2.9">Reference:</dt>
            <dd pn="section-8-2.1.2.10">RFC 9686</dd>
          </dl>
        </li>
        <li pn="section-8-2.2">
          <t indent="0" pn="section-8-2.2.1">Two new DHCPv6 messages, which have been allocated in the "Message Types" registry (for more information, see Sections <xref target="dhcpv6-address-registration-request-message" format="counter" sectionFormat="of" derivedContent="4.2"/> and  <xref target="dhcpv6-address-registration-acknowledgement" format="counter" sectionFormat="of" derivedContent="4.3"/>, respectively, for each DHCPv6 message):
          </t>
          <dl newline="false" spacing="compact" indent="3" pn="section-8-2.2.2">
            <dt pn="section-8-2.2.2.1">Value:</dt>
            <dd pn="section-8-2.2.2.2">36</dd>
            <dt pn="section-8-2.2.2.3">Description:</dt>
            <dd pn="section-8-2.2.2.4">ADDR-REG-INFORM</dd>
            <dt pn="section-8-2.2.2.5">Reference:</dt>
            <dd pn="section-8-2.2.2.6">RFC 9686</dd>
          </dl>
          <dl newline="false" spacing="compact" indent="3" pn="section-8-2.2.3">
            <dt pn="section-8-2.2.3.1">Value:</dt>
            <dd pn="section-8-2.2.3.2">37</dd>
            <dt pn="section-8-2.2.3.3">Description:</dt>
            <dd pn="section-8-2.2.3.4">ADDR-REG-REPLY</dd>
            <dt pn="section-8-2.2.3.5">Reference:</dt>
            <dd pn="section-8-2.2.3.6">RFC 9686</dd>
          </dl>
        </li>
      </ul>
    </section>
  </middle>
  <back>
    <references pn="section-9">
      <name slugifiedName="name-references">References</name>
      <references anchor="sec-normative-references" pn="section-9.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="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 indent="0">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="RFC2131" target="https://www.rfc-editor.org/info/rfc2131" quoteTitle="true" derivedAnchor="RFC2131">
          <front>
            <title>Dynamic Host Configuration Protocol</title>
            <author fullname="R. Droms" initials="R." surname="Droms"/>
            <date month="March" year="1997"/>
            <abstract>
              <t indent="0">The Dynamic Host Configuration Protocol (DHCP) provides a framework for passing configuration information to hosts on a TCPIP network. DHCP is based on the Bootstrap Protocol (BOOTP), adding the capability of automatic allocation of reusable network addresses and additional configuration options. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2131"/>
          <seriesInfo name="DOI" value="10.17487/RFC2131"/>
        </reference>
        <reference anchor="RFC4007" target="https://www.rfc-editor.org/info/rfc4007" quoteTitle="true" derivedAnchor="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 indent="0">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" target="https://www.rfc-editor.org/info/rfc4193" quoteTitle="true" derivedAnchor="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 indent="0">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="RFC4704" target="https://www.rfc-editor.org/info/rfc4704" quoteTitle="true" derivedAnchor="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 indent="0">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="RFC4862" target="https://www.rfc-editor.org/info/rfc4862" quoteTitle="true" derivedAnchor="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 indent="0">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" target="https://www.rfc-editor.org/info/rfc6939" quoteTitle="true" derivedAnchor="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 indent="0">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="RFC7844" target="https://www.rfc-editor.org/info/rfc7844" quoteTitle="true" derivedAnchor="RFC7844">
          <front>
            <title>Anonymity Profiles for DHCP Clients</title>
            <author fullname="C. Huitema" initials="C." surname="Huitema"/>
            <author fullname="T. Mrugalski" initials="T." surname="Mrugalski"/>
            <author fullname="S. Krishnan" initials="S." surname="Krishnan"/>
            <date month="May" year="2016"/>
            <abstract>
              <t indent="0">Some DHCP options carry unique identifiers. These identifiers can enable device tracking even if the device administrator takes care of randomizing other potential identifications like link-layer addresses or IPv6 addresses. The anonymity profiles are designed for clients that wish to remain anonymous to the visited network. The profiles provide guidelines on the composition of DHCP or DHCPv6 messages, designed to minimize disclosure of identifying information.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7844"/>
          <seriesInfo name="DOI" value="10.17487/RFC7844"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="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 indent="0">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="RFC8415" target="https://www.rfc-editor.org/info/rfc8415" quoteTitle="true" derivedAnchor="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 indent="0">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 indent="0">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="RFC9131" target="https://www.rfc-editor.org/info/rfc9131" quoteTitle="true" derivedAnchor="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 indent="0">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" pn="section-9.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="RFC4861" target="https://www.rfc-editor.org/info/rfc4861" quoteTitle="true" derivedAnchor="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 indent="0">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>
        <reference anchor="RFC6620" target="https://www.rfc-editor.org/info/rfc6620" quoteTitle="true" derivedAnchor="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 indent="0">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>
    <section numbered="false" anchor="acknowledgements" removeInRFC="false" toc="include" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t indent="0" pn="section-appendix.a-1">Many thanks to <contact fullname="Bernie Volz"/> for the significant
      review and feedback, as well as <contact fullname="Hermin       Anggawijaya"/>, <contact fullname="Carlos Jesus Bernardos"/>, <contact fullname="Brian Carpenter"/>, <contact fullname="Stuart Cheshire"/>,
      <contact fullname="Roman Danyliw"/>, <contact fullname="Alan DeKok"/>,
      <contact fullname="James Guichard"/>, <contact fullname="James       Guichard"/>, <contact fullname="Erik Kline"/>, <contact fullname="Mallory Knodel"/>, <contact fullname="Murray Kucherawy"/>,
      <contact fullname="David Lamparter"/>, <contact fullname="Ted Lemon"/>,
      <contact fullname="Eric Levy-Abegnoli"/>, <contact fullname="Aditi       Patange"/>, <contact fullname="Jim Reid"/>, <contact fullname="Michael       Richardson"/>, <contact fullname="Patrick Rohr"/>, <contact fullname="John Scudder"/>, <contact fullname="Mark Smith"/>, <contact fullname="Gunter Van de Velde"/>, <contact fullname="Eric Vyncke"/>,
      <contact fullname="Timothy Winters"/>, and <contact fullname="Peter Yee"/>
      for their feedback, comments, and guidance. We apologize if we
      inadvertently forgot to acknowledge anyone's contributions.</t>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false" pn="section-appendix.b">
      <name slugifiedName="name-contributors">Contributors</name>
      <contact initials="G." surname="Chen" fullname="Gang Chen">
        <organization showOnFrontPage="true">China Mobile</organization>
        <address>
          <postal>
            <street>53A, Xibianmennei Ave.</street>
            <street>Xuanwu District</street>
            <city>Beijing</city>
            <country>China</country>
          </postal>
          <email>phdgang@gmail.com</email>
        </address>
      </contact>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.c">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author initials="W." surname="Kumari" fullname="Warren Kumari">
        <organization showOnFrontPage="true">Google, LLC</organization>
        <address>
          <email>warren@kumari.net</email>
        </address>
      </author>
      <author initials="S." surname="Krishnan" fullname="Suresh Krishnan">
        <organization showOnFrontPage="true">Cisco Systems, Inc.</organization>
        <address>
          <email>suresh.krishnan@gmail.com</email>
        </address>
      </author>
      <author initials="R." surname="Asati" fullname="Rajiv Asati">
        <organization showOnFrontPage="true">Independent</organization>
        <address>
          <email>rajiv.asati@gmail.com</email>
        </address>
      </author>
      <author initials="L." surname="Colitti" fullname="Lorenzo Colitti">
        <organization showOnFrontPage="true">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 showOnFrontPage="true">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 abbrev="BUPT" showOnFrontPage="true">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>
    </section>
  </back>
</rfc>
