<?xml version="1.0" encoding="US-ASCII"?> encoding="UTF-8"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?> "rfc2629-xhtml.ent">

<rfc category="std" xmlns:xi="http://www.w3.org/2001/XInclude" docName="draft-ietf-dots-server-discovery-15"
     ipr="trust200902"> number="8973" ipr="trust200902" obsoletes="" updates="" submissionType="IETF" category="std" consensus="true" xml:lang="en" tocInclude="true" tocDepth="3" symRefs="true" sortRefs="true" version="3">

  <!-- xml2rfc v2v3 conversion 3.4.0 -->
  <front>
    <title abbrev="DOTS Server/Call Home Client Discovery">Distributed-Denial-of-Service Discovery">DDoS
    Open Threat Signaling (DOTS) Agent Discovery</title>
    <seriesInfo name="RFC" value="8973"/>
    <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
      <organization>Orange</organization>
      <address>
        <postal>
          <street></street>
          <street/>
          <city>Rennes</city>

          <region></region>
          <region/>
          <code>35000</code>
          <country>France</country>
        </postal>
        <email>mohamed.boucadair@orange.com</email>
      </address>
    </author>
    <author fullname="Tirumaleswar Reddy" Reddy.K" initials="T." surname="Reddy"> surname="Reddy.K">
      <organization abbrev="McAfee">McAfee, Inc.</organization>
      <address>
        <postal>
          <street>Embassy Golf Link Business Park</street>
          <city>Bangalore</city>
          <region>Karnataka</region>
          <code>560071</code>
          <country>India</country>
        </postal>
        <email>TirumaleswarReddy_Konda@McAfee.com</email>
      </address>
    </author>
    <date /> year="2021" month="January"/>
    <workgroup>DOTS</workgroup>
    <keyword>Automation</keyword>
    <keyword>Provisioning</keyword>
    <keyword>Configuration</keyword>
    <keyword>Location</keyword>
    <keyword>Deployment</keyword>
    <keyword>Multihoming</keyword>
    <keyword>DDoS</keyword>
    <keyword>Security</keyword>
    <abstract>
      <t>This document specifies mechanisms to configure Distributed Denial of
      Service DDoS
      Open Threat Signaling (DOTS) clients with their DOTS servers.
      The discovery procedure also covers the DOTS Signal Channel signal channel Call Home.
      Knowing
      It can be useful to know the appropriate DOTS server for a given location can be useful
      in order to engage mitigation actions actions. This is true even in cases where the DOTS client cannot
      localize the attack, but attack: cases where it only knows that some resources are under attack
      and that help is needed.</t>
    </abstract>
  </front>
  <middle>
    <section title="Introduction"> numbered="true" toc="default">
      <name>Introduction</name>
      <t>DDoS Open Threat Signaling (DOTS) <xref target="RFC8811"></xref> target="RFC8811" format="default"/>
      specifies an architecture, architecture in which a DOTS client can inform a DOTS
      server that the network is under a potential attack and that appropriate
      mitigation actions are required. Indeed, because the lack of a common
      method to coordinate a real-time response among involved actors and
      network domains inhibits the effectiveness of DDoS attack mitigation,
      the DOTS signal channel protocol <xref target="RFC8782"></xref> target="RFC8782" format="default"/> is meant
      to carry requests for DDoS attack mitigation. With this approach, DOTS
      can reduce the impact of an attack and lead to more efficient defensive
      actions in various deployment scenarios scenarios, such as those discussed in <xref
      target="I-D.ietf-dots-use-cases"></xref>. target="I-D.ietf-dots-use-cases" format="default"/>. Moreover, DOTS clients can
      instruct a DOTS server to install named filtering rules by means of the
      DOTS data channel protocol <xref target="RFC8783"></xref>.</t> target="RFC8783" format="default"/>.</t>
      <t>The basic high-level DOTS architecture is illustrated in <xref
      target="arch"></xref>.</t>

      <t><figure align="center" anchor="arch" title="Basic target="arch" format="default"/>.</t>
      <figure anchor="arch">
        <name>Basic DOTS Architecture"> Architecture</name>
        <artwork align="center"><![CDATA[ align="center" name="" type="" alt=""><![CDATA[
+-----------+            +-------------+
| Mitigator | ~~~~~~~~~~ | DOTS Server |
+-----------+            +------+------+
                                |
                                |
                                |
+---------------+        +------+------+
| Attack Target | ~~~~~~ | DOTS Client |
+---------------+        +-------------+
]]></artwork>
        </figure></t>
      </figure>
      <t><xref target="RFC8811"></xref> target="RFC8811" format="default"/> specifies that the DOTS client may be
      provided with a list of DOTS servers, each associated with one or more
      IP addresses. These addresses may or may not be of the same address
      family. The DOTS client establishes one or more DOTS sessions by
      connecting to the provided DOTS server addresses.</t>
      <t>This document specifies methods for DOTS clients to discover their
      DOTS server(s). The rationale for specifying multiple discovery
      mechanisms is discussed in <xref target="rationale"></xref>.</t> target="rationale" format="default"/>.</t>
      <t>The discovery methods can also be used by a DOTS server to locate a
      DOTS client in the context of DOTS Signal Channel signal channel Call Home <xref
      target="I-D.ietf-dots-signal-call-home"></xref>. target="I-D.ietf-dots-signal-call-home" format="default"/>. The basic high-level
      DOTS Call Home architecture is illustrated in <xref
      target="fa"></xref>.</t>

      <t><figure align="center" anchor="fa"
          title="Basic target="fa" format="default"/>.</t>
      <figure anchor="fa">
        <name>Basic DOTS Signal Channel Call Home Functional Architecture"> Architecture</name>
        <artwork align="center"><![CDATA[+---------------+ align="center" name="" type="" alt=""><![CDATA[
+---------------+        +-------------+
| Alert         | ~~~~~~ |  Call Home  |
|               |        | DOTS client Client |
+---------------+        +------+------+
                                |
                                |
                                |
+---------------+        +------+------+
|    Attack     | ~~~~~~ |  Call Home  |
|   Source(s)   |        | DOTS server Server |
+---------------+        +-------------+
]]></artwork>
        </figure></t>
      </figure>
      <t>A DOTS agent may be used to establish base DOTS channels, DOTS Call
      Home, or both. This specification accommodates all these deployment
      cases.</t>
      <t>Considerations for the selection of DOTS server(s) by multi-homed multihomed
      DOTS clients are out of this document document's scope; readers should refer to
      <xref target="I-D.ietf-dots-multihoming"></xref> target="I-D.ietf-dots-multihoming" format="default"/> for more details.</t>
      <t>This document assumes that security credentials to authenticate DOTS
      server(s) are pre-provisioned to a DOTS client using a mechanism such as
      (but not limited to) those discussed in <xref target="RFC8572"></xref> target="RFC8572" format="default"/>
      or <xref target="I-D.ietf-anima-bootstrapping-keyinfra"></xref>. target="I-D.ietf-anima-bootstrapping-keyinfra" format="default"/>. DOTS
      clients use those credentials for authentication purposes following the
      rules documented in <xref target="RFC8782"></xref>.</t> target="RFC8782" format="default"/>.</t>
    </section>
    <section title="Terminology">
      <t>The numbered="true" toc="default">
      <name>Terminology</name>
        <t>
    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
      "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", "<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
      "OPTIONAL" "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
    described in BCP 14 BCP&nbsp;14 <xref target="RFC2119"/> <xref target="RFC2119"></xref><xref target="RFC8174"></xref> target="RFC8174"/>
    when, and only when, they appear in all capitals, as shown here.</t> here.
        </t>
	<t>The reader should be familiar with the terms defined in <xref
      target="RFC3958"></xref>.</t>

      <t>DHCP refers target="RFC3958"
format="default"/>.</t>
<t>This document makes use of the following terms:</t>
	      <dl newline="false" spacing="normal">
      <dt>DHCP:</dt>
      <dd>refers to both DHCPv4 <xref target="RFC2131"></xref> target="RFC2131" format="default"/> and DHCPv6
      <xref target="RFC8415"></xref>.</t>

      <t>"DOTS client" refers target="RFC8415" format="default"/>.</dd>
      <dt>DOTS client:</dt>
      <dd>refers to a DOTS-aware software module responsible for
      requesting attack response coordination with other DOTS-aware
      elements.</t>

      <t>"DOTS server" is
      elements.</dd>
      <dt>DOTS server:</dt>
      <dd>is a DOTS-aware software module handling and responding
      to messages from DOTS clients. The DOTS server enables mitigation on
      behalf of the DOTS client, if requested, by communicating the DOTS
      client's request to the mitigator and returning selected mitigator
      feedback to the requesting DOTS client.</t>

      <t>"Call Home DOTS client" (or "Call client.</dd>
      <dt>Call Home DOTS server") refers client or server:</dt>
      <dd>refers to a DOTS
      client (or DOTS server) or server deployed in a Call Home scenario (<xref
      target="fa"></xref>).</t>

      <t>"DOTS agent" is target="fa" format="default"/>).</dd>
      <dt>DOTS agent:</dt>
      <dd>is any DOTS-aware software module capable of
      participating in a DOTS channel.</t>

      <t>"Peer channel.</dd>
      <dt>Peer DOTS agent" refers agent:</dt>
      <dd>refers to the peer DOTS server (base DOTS
      operation) or to a peer Call Home DOTS client (for DOTS Signal Channel signal channel
      Call Home).</t> Home).</dd>
      </dl>
    </section>
    <section anchor="rationale" title="Why numbered="true" toc="default">
      <name>Why Multiple Discovery Mechanisms?"> Mechanisms?</name>
      <t>Analysis of the various use cases sketched in <xref
      target="I-D.ietf-dots-use-cases"></xref> target="I-D.ietf-dots-use-cases" format="default"/> reveals that it is unlikely
      that one single discovery method can be suitable for all the sample
      deployments. Concretely:<list style="symbols">
          <t>Many Concretely:</t>
      <ul spacing="normal">
        <li>Many of the use cases discussed in <xref
          target="I-D.ietf-dots-use-cases"></xref> target="I-D.ietf-dots-use-cases" format="default"/>
	  do involve a Customer Premises Equipment (CPE) device. (CPE). Multiple CPEs, CPEs connected to
          distinct network providers, providers may even be considered.
	  It is intuitive
          to leverage existing mechanisms mechanisms, such as discovery using service
          resolution or DHCP DHCP, to provision the CPE acting as a DOTS client with
          the DOTS server(s).</t>

          <t>Resolving server(s).</li>
        <li>Resolving a DOTS server domain name offered by an upstream
          transit provider provisioned to a DOTS client into IP address(es)
          requires the use of the appropriate DNS resolvers; otherwise,
          resolving those names will fail. The use of protocols protocols, such as DHCP DHCP,
          does allow associating provisioned DOTS server domain names with a
          list of DNS servers to be used for name resolution. Furthermore,
          DHCP allows for directly providing IP addresses therefore addresses, therefore, avoiding the
          need for extra lookup delays.</t>

          <t>Some delays.</li>
        <li>Some of the use cases may allow DOTS clients to have direct
          communications with upstream DOTS servers, that is, no DOTS gateway
          is involved. Leveraging existing protocol behaviors that do not
          require specific features on the node embedding the DOTS client may
          ease DOTS deployment. Typically, the use of Straightforward-Naming
          Authority Pointer (S-NAPTR) lookups <xref target="RFC3958"></xref> target="RFC3958" format="default"/>
          allows the DOTS server administrators to provision the preferred
          DOTS transport protocol between the DOTS client and the DOTS server
          and allows the DOTS client to discover this preference.</t>

          <t>The preference.</li>
        <li>The upstream network provider is not the DDoS mitigation provider
          for some of these use cases. It is safe to assume that that, for such
          deployments, the DOTS server(s) domain name is provided during the
          service subscription (i.e., manual/local configuration).</t>

          <t>Multiple configuration).</li>
        <li>Multiple DOTS clients may be enabled within a network (e.g., an
          enterprise network). Dynamic discovery needs to be deterministic
          from an operational standpoint.</t>

          <t>Some standpoint.</li>
        <li>Some of the use cases may involve a DOTS gateway that is
          responsible for selecting the appropriate DOTS server(s) to relay
          requests received from DOTS clients.</t>
        </list></t> clients.</li>
      </ul>
      <t>Consequently, this document describes a unified discovery logic
      (<xref target="logic"></xref>) which target="logic" format="default"/>) that involves the following
      mechanisms:</t>

      <t><list style="symbols">
          <t>Dynamic
      <ul spacing="normal">
        <li>dynamic discovery using DHCP (<xref target="dhcp"></xref>).</t>

          <t>A target="dhcp" format="default"/>)</li>
        <li>a resolution mechanism based on Straightforward Naming Authority
          Pointer (S-NAPTR) S-NAPTR resource records in the Domain Name System (DNS) DNS
          (<xref target="srvr"></xref>).</t>

          <t>DNS target="srvr" format="default"/>)</li>
        <li>DNS Service Discovery (<xref target="DNSSD"></xref>).</t>
        </list></t> target="DNSSD" format="default"/>)</li>
      </ul>
    </section>
    <section anchor="logic" title="DOTS numbered="true" toc="default">
      <name>DOTS Discovery Procedure"> Procedure</name>
      <t>Operators will need a consistent set of ways in which DOTS clients
      can discover this information and a consistent priority among these
      options. If some devices prefer manual configuration over dynamic
      discovery,
      discovery while others prefer dynamic discovery over manual
      configuration, the result will be a process where the operator must find
      devices that are using the wrong DOTS server(s), determine how to ensure
      the devices are configured properly, and then reconfigure the device
      through the preferred method.</t>
      <t>All DOTS clients MUST <bcp14>MUST</bcp14> support at least one of the three mechanisms
      below to determine a DOTS server list. All DOTS clients SHOULD <bcp14>SHOULD</bcp14> implement
      all three, or as many as are practical for any specific device, of the
      following ways to discover DOTS servers in order to facilitate the
      deployment of DOTS in large scale large-scale environments. For example, a CPE will
      support the first two mechanisms, a host within a LAN will support the
      last two mechanisms, or an application server will support a local
      configuration. More examples are discussed in <xref
      target="rationale"></xref>. target="rationale" format="default"/>. DOTS clients will prefer information
      received from the discovery methods in the order listed below.</t>

      <t><list style="numbers">
      <ol spacing="normal" type="1"><li>
          <t>Explicit configuration:<list style="symbols">
              <t>Local/Manual configuration: A Configuration:</t>
          <dl newline="false" spacing="normal">
              <dt>Local/Manual Configuration:</dt>
	      <dd><t>A DOTS client will learn the DOTS
              server(s) by means of local or manual DOTS configuration (i.e.,
              DOTS servers configured at the system level). Configuration
              discovered from a DOTS client application is considered as a local
              configuration.<vspace blankLines="1" />An
              configuration.</t>
              <t>An implementation may
              give the user an opportunity (e.g., by means of configuration
              file options or menu items) to specify DOTS server(s) for each
              address family. These may be specified either as a list of IP
              addresses or the DNS name of a DOTS server. When only DOTS
              server IP addresses are configured, a reference identifier must
              also be configured for authentication purposes.</t>

              <t>Automatic configuration purposes.</t></dd>
	  </dl>
	  <dl newline="false" spacing="normal">
            <dt>Automatic Configuration (e.g., DHCP): The DHCP):</dt>
	    <dd>The DOTS client
              attempts to discover DOTS server(s) names and/or addresses from
              DHCP, as described in <xref target="dhcp"></xref>.</t>
            </list></t>

          <t>Service Resolution : target="dhcp" format="default"/>.</dd>
          </dl>
        </li>
        <li>Service Resolution: The DOTS client attempts to discover DOTS
          server name(s) using service resolution, as specified in <xref
          target="srvr"></xref>.</t>

          <t>DNS SD: DNS target="srvr" format="default"/>.</li>
        <li>DNS-SD: DNS-based Service Discovery. The DOTS client attempts to
          discover DOTS server name(s) using DNS service discovery, as
          specified in <xref target="DNSSD"></xref>.</t>
        </list></t> target="DNSSD" format="default"/>.</li>
      </ol>
      <t>Some of these mechanisms imply the use of DNS to resolve the IP
      address(es) of the DOTS server, while others imply an IP address of the
      relevant DOTS server is obtained directly. Implementation options may
      vary on a per device per-device basis, as some devices may not have DNS
      capabilities and/or suitable DNS configuration.</t>
      <t>On hosts with more than one interface or address family (IPv4/IPv6),
      the DOTS server discovery procedure has to be performed for each
      interface/address-family
      interface-/address-family combination. A DOTS client may choose to
      perform the discovery procedure only for a desired interface/address
      combination if the client does not wish to discover a DOTS server for
      all interface/address-family interface-/address-family combinations.</t>
      <t>This procedure is also followed by a Call Home DOTS server to
      discover its Call Home DOTS client in the context of <xref
      target="I-D.ietf-dots-signal-call-home"></xref>.</t> target="I-D.ietf-dots-signal-call-home" format="default"/>.</t>
      <t>The discovery method is performed upon the bootstrapping of a DOTS agent, agent
      and is reiterated by the DOTS agent upon the following events:</t>

      <t><list style="symbols">
          <t>Expiry
      <ul spacing="normal">
        <li>expiry of a validity timer (e.g., DHCP lease, DHCP information
          refresh time, or DNS TTL) associated with a discovered DOTS agent.</t>

          <t>Expiry agent</li>
        <li>expiry of the certificate of a peer DOTS agent currently in
          use.</t>

          <t>Attachment
          use</li>
        <li>attachment to a new network.</t>
        </list></t> network</li>
      </ul>
    </section>
    <section anchor="dhcp" title="DHCP numbered="true" toc="default">
      <name>DHCP Options for DOTS Agent Discovery"> Discovery</name>
      <t>As reported in Section 1.7.2 of <xref target="RFC6125"></xref>:<list
          style="empty">
          <t>"Some target="RFC6125" sectionFormat="of" section="1.7.2"/>:</t>
      <blockquote>
        Some certification authorities issue server certificates based
          on IP addresses, but preliminary evidence indicates that such
          certificates are a very small percentage (less than 1%) of issued
          certificates".</t>
        </list></t>
          certificates.
      </blockquote>
      <t>In order to allow for PKIX-based authentication between a DOTS client
      and server while accommodating the current best practices for issuing
      certificates, this document allows DOTS agents to retrieve the names of
      their peer DOTS agents. These names can be used for two purposes: (1) to
      retrieve the list of IP addresses of a peer DOTS agent or (2) to be
      presented as a reference identifier for authentication purposes.</t>
      <t>Defining the option to include a list of IP addresses would avoid a
      dependency
      depending on an underlying name resolution, but that design requires
      also supplying a name for PKIX-based authentication purposes.</t>
      <t>Given that DOTS gateways can be involved in a DOTS session, a peer
      DOTS agent can be reachable using a link-local address. Such addresses
      can also be discovered using the options defined in <xref
      target="opt"></xref>.</t> target="opt" format="default"/>.</t>
      <t>The list of the IP addresses returned by DHCP servers is typically
      used to feed the DOTS server selection procedure procedure, including when DOTS
      agents are provided with primary and backup IP addresses of their peer
      DOTS agents. An example of the DOTS server selection procedure is specified
      in Section 4.3 of <xref target="RFC8782"></xref>.</t> target="RFC8782" sectionFormat="of" section="4.3"/>.</t>
      <t>The design assumes that the same peer DOTS agent is used for
      establishing both signal and data channels. For more customized
      configurations (e.g., transport-specific configuration, configuration and distinct DOTS
      servers for the signal and the data channels), an operator can supply
      only a DOTS reference identifier that will be then passed to the
      procedure described in <xref target="srvr"></xref>.</t> target="srvr" format="default"/>.</t>
      <t>The design allows terminating the base DOTS channels and DOTS Call
      Home on the same or distinct peer DOTS agents. If distinct peer DOTS
      agents are deployed, the DHCP option can return, for example, a list of
      IP addresses to a requesting DOTS agent. This list includes the IP
      address to be used for the base DOTS channels and the IP address for the
      DOTS Call Home. The DOTS client (or Call Home DOTS server) will then use
      the address selection procedure specified in Section 4.3 of <xref
      target="RFC8782"></xref> target="RFC8782"
      sectionFormat="of" section="4.3"/> to identify the IP address of the peer DOTS
      server (or Call Home DOTS client). For example: <list style="empty">
          <t>Let's </t>
        <t>For example, let's consider that the DOTS server is reachable at
          2001:db8:122:300::1
          2001:db8:122:300::1, while the Call Home DOTS client is reachable at
          2001:db8:122:300::2. The DHCP server will then return one DOTS
          reference identifier and a list that includes both
          2001:db8:122:300::1 and 2001:db8:122:300::2 to a requesting DHCP
          client. That list is passed to the DOTS client (or Call Home DOTS
          server)
          server), which will try to establish connections to the addresses of
          that list and destination port number 4646 (or the Call Home port
          number). As a result, the DOTS client (or Call Home DOTS server)
          will select 2001:db8:122:300::1 (or 2001:db8:122:300::2) as a DOTS
          server (or Call Home DOTS client).</t>
        </list></t>
      <section anchor="opt" title="DHCPv6 numbered="true" toc="default">
        <name>DHCPv6 DOTS Options"> Options</name>
        <section title="Format numbered="true" toc="default">
          <name>Format of DOTS Reference Identifier Option"> Option</name>
          <t>The DHCPv6 DOTS Reference Identifier option is used to configure
          a
          the name of the DOTS server (or the name of the Call Home DOTS
          client). The format of this option is shown in <xref
          target="ri_option"></xref>.</t>

          <t><figure anchor="ri_option"
              title="DHCPv6 target="ri_option" format="default"/>.</t>
          <figure anchor="ri_option">
            <name>DHCPv6 DOTS Reference Identifier Option">
              <artwork><![CDATA[ Option</name>
            <artwork name="" type="" align="left" alt=""><![CDATA[
 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_V6_DOTS_RI         |         Option-length         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                      dots-agent-name (FQDN)                   |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
            </figure>The
          </figure>
          <t>The fields of the option shown in <xref
          target="ri_option"></xref> target="ri_option" format="default"/> are as follows:<?rfc subcompact="yes" ?></t>

          <t><list style="symbols">
              <t>Option-code: OPTION_V6_DOTS_RI (TBA1, follows:</t>
          <dl newline="false" spacing="compact">
            <dt>Option-code:</dt>
	    <dd>OPTION_V6_DOTS_RI (141, see <xref
              target="iana6"></xref>)</t>

              <t>Option-length: Length target="iana6" format="default"/>).</dd>
            <dt>Option-length:</dt>
	    <dd>Length of the dots-agent-name field in
              octets.</t>

              <t>dots-agent-name: A
              octets.</dd>
            <dt>dots-agent-name:</dt>
	    <dd>A fully qualified domain name of the peer
              DOTS agent. This field is formatted as specified in Section 10
              of <xref target="RFC8415"></xref>.</t>
            </list></t>

          <t><?rfc subcompact="no" ?>An target="RFC8415"
	      sectionFormat="of" section="10"/>.</dd>
          </dl>
          <t>An example of the dots-agent-name
          encoding is shown in <xref target="fqdn"></xref>. target="fqdn" format="default"/>. This example
          conveys the FQDN "dots.example.com.&rdquo;, "dots.example.com", and the resulting
          Option-length field is 18.</t>

          <t><figure anchor="fqdn"
              title="An example
          <figure anchor="fqdn">
            <name>An Example of the dots-agent-name Encoding">
              <artwork><![CDATA[ Encoding</name>
<artwork name="" type="" align="left" alt=""><![CDATA[
+------+------+------+------+------+------+------+------+------+
| 0x04 |   d  |   o  |   t  |  s   | 0x07 |   e  |   x  |   a  |
+------+------+------+------+------+------+------+------+------+
|   m  |   p  |   l  |   e  | 0x03 |   c  |   o  |   m  | 0x00 |
+------+------+------+------+------+------+------+------+------+
]]></artwork>
            </figure></t>

          <t></t>
          </figure>
          <t/>
        </section>
        <section anchor="add" title="Format numbered="true" toc="default">
          <name>Format of DOTS Address Option"> Option</name>
          <t>The DHCPv6 DOTS Address option can be used to configure a list of
          IPv6 addresses of a DOTS server (or a Call Home DOTS client). The
          format of this option is shown in <xref
          target="dhcpv6_option"></xref>.</t>

          <t><figure anchor="dhcpv6_option" title="DHCPv6 target="dhcpv6_option" format="default"/>.</t>
          <figure anchor="dhcpv6_option">
            <name>DHCPv6 DOTS Address Option">
              <artwork><![CDATA[ Option</name>
            <artwork name="" type="" align="left" alt=""><![CDATA[
 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_V6_DOTS_ADDRESS       |         Option-length         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                    DOTS ipv6-address                          |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                    DOTS ipv6-address                          |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                              ...                              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
            </figure>The
          </figure>
          <t>The fields of the option shown in <xref
          target="dhcpv6_option"></xref> target="dhcpv6_option"
	  format="default"/> are as follows:<?rfc subcompact="yes" ?></t>

          <t><list style="symbols">
              <t>Option-code: OPTION_V6_DOTS_ADDRESS (TBA2, follows:</t>
          <dl newline="false" spacing="compact">
            <dt>Option-code:</dt>
	    <dd>OPTION_V6_DOTS_ADDRESS (142, see <xref
              target="iana6"></xref>)</t>

              <t>Option-length: Length target="iana6" format="default"/>).</dd>
            <dt>Option-length:</dt>
	    <dd>Length of the 'DOTS ipv6-address(es)' field DOTS ipv6-address fields in
              octets. MUST This <bcp14>MUST</bcp14> be a multiple of 16.</t>

              <t>DOTS ipv6-address(es): Includes 16.</dd>
            <dt>DOTS ipv6-address:</dt>
	    <dd>Includes one or more IPv6 addresses
              <xref target="RFC4291"></xref> target="RFC4291" format="default"/> of the peer DOTS agent to be used
              by a DOTS agent for establishing a DOTS session. The addresses
              are listed in the order of preference for use by the DOTS
              agent.<vspace blankLines="1" />Note,
              agent.</dd>
	  </dl>
              <t>Note that IPv4-mapped IPv6 addresses
              (Section 2.5.5.2 of <xref target="RFC4291"></xref>)
              (<xref target="RFC4291" sectionFormat="of" section="2.5.5.2"/>) may be
              included in this option when there is no DHCPv4 server able to
              advertise the DHCPv4 DOTS options (<xref
              target="dhcpv4"></xref>) target="dhcpv4" format="default"/>)
	      and when only IPv4 connectivity is possible to the peer DOTS agent.</t>
            </list></t>

          <t><?rfc subcompact="no" ?></t>
          <t/>
        </section>
        <section title="DHCPv6 numbered="true" toc="default">
          <name>DHCPv6 Client Behavior"> Behavior</name>
          <t>DHCP clients MAY <bcp14>MAY</bcp14> request options OPTION_V6_DOTS_RI and
          OPTION_V6_DOTS_ADDRESS, as defined in <xref
          target="RFC8415"></xref>, Sections 18.2.1, 18.2.2, 18.2.4, 18.2.5,
          18.2.6, <xref target="RFC8415" section="18.2.1"
	  sectionFormat="bare"/>, <xref target="RFC8415" section="18.2.2" sectionFormat="bare"/>,
	  <xref target="RFC8415" section="18.2.4" sectionFormat="bare"/>, <xref target="RFC8415"
	  section="18.2.5" sectionFormat="bare"/>, <xref target="RFC8415" section="18.2.6"
	  sectionFormat="bare"/>, and 21.7. <xref target="RFC8415" section="21.7" sectionFormat="bare"/>
	  of <xref target="RFC8415"/>. As a convenience to the reader, it is mentioned
          here that the DHCP client includes the requested option codes in the
          Option Request Option.</t> option.</t>
          <t>If the DHCP client receives more than one instance of option
          OPTION_V6_DOTS_RI (or OPTION_V6_DOTS_ADDRESS) option, OPTION_V6_DOTS_ADDRESS), it MUST <bcp14>MUST</bcp14> use
          only the first instance of that option.</t>
          <t>The DHCP client MUST <bcp14>MUST</bcp14> silently discard multicast and host loopback
          addresses <xref target="RFC6890"></xref> target="RFC6890" format="default"/> conveyed in
          OPTION_V6_DOTS_ADDRESS.</t>
          <t>If the DHCP client receives and validates both OPTION_V6_DOTS_RI
          and OPTION_V6_DOTS_ADDRESS, the content of OPTION_V6_DOTS_RI is used
          as the reference identifier for authentication purposes (e.g., PKIX
          <xref target="RFC6125"></xref>), target="RFC6125" format="default"/>), while the valid addresses included
          in OPTION_V6_DOTS_ADDRESS are used to reach the peer DOTS agent. In
          other words, the name conveyed in OPTION_V6_DOTS_RI MUST NOT <bcp14>MUST NOT</bcp14> be
          passed to an underlying resolution library in the presence of a valid
          OPTION_V6_DOTS_ADDRESS in a response.</t>
          <t>If the DHCP client receives OPTION_V6_DOTS_RI only, but
          OPTION_V6_DOTS_RI contains more than one name, the DHCP client MUST <bcp14>MUST</bcp14>
          use only the first name. Once the name is validated (Section 10 of
          <xref target="RFC8415"></xref>), (<xref target="RFC8415"
	  sectionFormat="of" section="10"/>), the name is passed to a name
          resolution library. Moreover, that name is also used as a reference
          identifier for authentication purposes.</t>
          <t>If the DHCP client receives OPTION_V6_DOTS_ADDRESS only, the
          address(es) included in OPTION_V6_DOTS_ADDRESS are used to reach the
          peer DOTS agent. In addition, these addresses can be used as
          identifiers for authentication.</t>
        </section>
      </section>
      <section anchor="dhcpv4" title="DHCPv4 numbered="true" toc="default">
        <name>DHCPv4 DOTS Options"> Options</name>
        <section title="Format numbered="true" toc="default">
          <name>Format of DOTS Reference Identifier Option"> Option</name>
          <t>The DHCPv4 <xref target="RFC2132"></xref> target="RFC2132" format="default"/> DOTS Reference
          Identifier option is used to configure a name of the peer DOTS
          agent. The format of this option is illustrated in <xref
          target="dhcpri_dots"></xref>.</t>

          <t><figure anchor="dhcpri_dots"
              title="DHCPv4 target="dhcpri_dots" format="default"/>.</t>
          <figure anchor="dhcpri_dots">
            <name>DHCPv4 DOTS Reference Identifier Option">
              <artwork><![CDATA[ Option</name>
            <artwork name="" type="" align="left" alt=""><![CDATA[
 Code  Length   Peer DOTS agent name
+-----+-----+-----+-----+-----+-----+-----+--
         |TBA3
| 147 |  n  |  s1 |  s2 |  s3 |  s4 | s5  |  ...
+-----+-----+-----+-----+-----+-----+-----+--

   The
]]></artwork>
          </figure>
	  <t>The values s1, s2, s3, etc. represent the domain name labels in the
	  domain name encoding.

]]></artwork>
            </figure></t> encoding.</t>
          <t>The fields of the option shown in <xref
          target="dhcpri_dots"></xref> target="dhcpri_dots"
	  format="default"/> are as follows:<?rfc subcompact="yes" ?><list
              style="symbols">
              <t>Code: OPTION_V4_DOTS_RI (TBA3, follows:</t>
          <dl newline="false" spacing="compact">
            <dt>Code:</dt>
	    <dd>OPTION_V4_DOTS_RI (147, see <xref
              target="iana4"></xref>).</t>

              <t>Length: Includes target="iana4" format="default"/>).</dd>
            <dt>Length:</dt>
	    <dd>Includes the length of the "Peer DOTS agent name"
              field in octets.</t>

              <t>Peer octets.</dd>
            <dt>Peer DOTS agent name: The name:</dt>
	    <dd>The domain name of the peer DOTS agent. This field is formatted as
	    specified in Section 10 of <xref
              target="RFC8415"></xref>.</t>
            </list></t>

          <t><?rfc subcompact="no" ?></t> target="RFC8415" sectionFormat="of" section="10"/>.</dd>
          </dl>
        </section>
        <section title="Format numbered="true" toc="default">
          <name>Format of DOTS Address Option"> Option</name>
          <t>The DHCPv4 DOTS Address option can be used to configure a list of
          IPv4 addresses of a peer DOTS agent. The format of this option is
          illustrated in <xref target="dhcp_dots"></xref>.</t>

          <t><figure anchor="dhcp_dots" title="DHCPv4 target="dhcp_dots" format="default"/>.</t>
          <figure anchor="dhcp_dots">
            <name>DHCPv4 DOTS Address Option">
              <artwork><![CDATA[ Option</name>
            <artwork name="" type="" align="left" alt=""><![CDATA[
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Code=TBA4  Code=148     |     Length    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |
      +
|       DOTS IPv4 Address       |
|                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  ---
|                               |   |
      +
|       DOTS IPv4 Address       |   |
|                               | optional
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   |
.             ...               .   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  ---
]]></artwork>
            </figure></t>
          </figure>
          <t>The fields of the option shown in <xref
          target="dhcp_dots"></xref> target="dhcp_dots" format="default"/> are as follows:<?rfc subcompact="yes" ?><list
              style="symbols">
              <t>Code: OPTION_V4_DOTS_ADDRESS (TBA4, follows:</t>
          <dl newline="false" spacing="compact">
            <dt>Code:</dt>
	    <dd>OPTION_V4_DOTS_ADDRESS (148, see <xref
              target="iana4"></xref>).</t>

              <t>Length: is set target="iana4" format="default"/>).</dd>
            <dt>Length:</dt>
	    <dd>Set to 4*N, where N is the number of IPv4
              addresses included in the option.</t>

              <t>DOTS option.</dd>
            <dt>DOTS IPv4 Address(es): Contains Address(es):</dt>
	    <dd>Contains one or more IPv4 addresses of
              the peer DOTS agent to be used by a DOTS agent. The addresses
              are listed in the order of preference for use by the DOTS
              agent.</t>
            </list></t>

          <t><?rfc subcompact="no" ?>OPTION_V4_DOTS_ADDRESS
              agent.</dd>
          </dl>
          <t>OPTION_V4_DOTS_ADDRESS is a
          concatenation-requiring option. As such, the mechanism specified in
          <xref target="RFC3396"></xref> MUST target="RFC3396" format="default"/> <bcp14>MUST</bcp14> be used if
          OPTION_V4_DOTS_ADDRESS exceeds the maximum DHCPv4 option size of 255
          octets.</t>
        </section>
        <section title="DHCPv4 numbered="true" toc="default">
          <name>DHCPv4 Client Behavior"> Behavior</name>
          <t>To discover a peer DOTS agent, the DHCPv4 client MUST <bcp14>MUST</bcp14> include
          both OPTION_V4_DOTS_RI and OPTION_V4_DOTS_ADDRESS in a Parameter
          Request List Option option <xref target="RFC2132"></xref>.</t> target="RFC2132" format="default"/>.</t>
          <t>If the DHCP client receives more than one instance of
          OPTION_V4_DOTS_RI option, it MUST <bcp14>MUST</bcp14> use only the first instance of
          that option.</t>
          <t>The DHCP client MUST <bcp14>MUST</bcp14> silently discard multicast and host loopback
          addresses <xref target="RFC6890"></xref> target="RFC6890" format="default"/> conveyed in
          OPTION_V4_DOTS_ADDRESS.</t>
          <t>If the DHCP client receives and validates both OPTION_V4_DOTS_RI
          and OPTION_V4_DOTS_ADDRESS, the content of OPTION_V4_DOTS_RI is used
          as the reference identifier for authentication purposes (e.g., PKIX
          <xref target="RFC6125"></xref>), target="RFC6125" format="default"/>), while the valid addresses included
          in OPTION_V4_DOTS_ADDRESS are used to reach the peer DOTS agent. In
          other words, the name conveyed in OPTION_V4_DOTS_RI MUST NOT <bcp14>MUST NOT</bcp14> be
          passed to an underlying resolution library in the presence of valid
          OPTION_V4_DOTS_ADDRESS in a response.</t>
          <t>If the DHCP client receives OPTION_V4_DOTS_RI only, but
          OPTION_V4_DOTS_RI option contains more than one name, as
          distinguished by the presence of multiple root labels, the DHCP
          client MUST <bcp14>MUST</bcp14> use only the first name. Once the name is validated
          (Section 10 of <xref target="RFC8415"></xref>),
          (<xref target="RFC8415" sectionFormat="of" section="10"/>), the name is passed
          to a name resolution library. Moreover, that name is also used as a
          reference identifier for authentication purposes.</t>
          <t>If the DHCP client receives OPTION_V4_DOTS_ADDRESS only, the
          address(es) included in OPTION_V4_DOTS_ADDRESS are used to reach the
          peer DOTS server. In addition, these addresses can be used as
          identifiers for authentication.</t>
        </section>
      </section>
    </section>
    <section anchor="srvr" title="Discovery using numbered="true" toc="default">
      <name>Discovery Using Service Resolution"> Resolution</name>
      <t>This mechanism is performed in two steps:<list style="numbers">
          <t>A steps:</t>
      <ol spacing="normal" type="1">
	<li>A DNS domain name is retrieved for each combination of interface
          and address family. A DOTS agent has to determine the domain in
          which it is located relying on dynamic means means, such as DHCP (<xref
          target="dhcp"></xref>).
	  target="dhcp" format="default"/>). Implementations may allow the user to
          specify a default name that is used, used if no specific name has been
          configured.</t>

          <t>Retrieved
          configured.</li>
        <li>Retrieved DNS domain names are then used for S-NAPTR lookups
          <xref target="RFC3958"></xref>. target="RFC3958" format="default"/>. Further DNS lookups may be necessary
          to determine the peer DOTS agent IP address(es).</t>
        </list></t> address(es).</li>
      </ol>
      <t>Once the DOTS agent has retrieved its DNS domain or discovered the
      peer DOTS agent name that needs to be resolved, an S-NAPTR lookup with
      the appropriate application service and the desired protocol tag is made
      to obtain information necessary to connect to the authoritative peer
      DOTS agent within the given domain.</t>
<!--IANA flag-->

      <t>This specification defines 'DOTS' "DOTS" and 'DOTS-CALL-HOME' "DOTS-CALL-HOME" as application
      service tags (Sections <xref format="counter" target="serviceT"></xref> target="serviceT"/>
      and <xref format="counter" target="serviceT2"></xref>). target="serviceT2"/>). It also defines
      "signal.udp" (<xref target="suappt"></xref>), target="suappt" format="default"/>), "signal.tcp" (<xref
      target="stappt"></xref>), target="stappt" format="default"/>), and "data.tcp" (<xref target="dappt"></xref>) target="dappt" format="default"/>)
      as application protocol tags. An example is provided in <xref
      target="ssrv"></xref>.</t> target="ssrv" format="default"/>.</t>
      <t>In the example below, for domain 'example.net', "example.net", the resolution
      algorithm will result in IP address(es), address, port, tag, and protocol tuples
      listed in Table 1.</t>

      <t><figure anchor="ssrv"
          title="Example <xref target="results" format="default"/>.</t>
<figure anchor="ssrv">
<name>Example of Discovery of DOTS Servers using Using Service Resolution">
          <artwork><![CDATA[ Resolution</name>
<artwork name="" type="" align="left" alt=""><![CDATA[
example.net.
IN NAPTR 100 10 "" DOTS:signal.udp "" signal.example.net.
IN NAPTR 200 10 "" DOTS:signal.tcp "" signal.example.net.
IN NAPTR 300 10 "" DOTS:data.tcp "" data.example.net.

signal.example.net.
IN NAPTR 100 10 "s" DOTS:signal.udp "" _dots-signal._udp.example.net.
IN NAPTR 200 10 "s" DOTS:signal.tcp "" _dots-signal._tcp.example.net.

data.example.net.
IN NAPTR 100 10 "s" DOTS:data.tcp "" _dots-data._tcp.example.net.
IN NAPTR 200 10 "a" DOTS:data.tcp "" b.example.net.

_dots-signal._udp.example.net.
IN SRV   0 0 5000 a.example.net.

_dots-signal._tcp.example.net.
IN SRV   0 0 5001 a.example.net.

_dots-data._tcp.example.net.
IN SRV   0 0 5002 a.example.net.

a.example.net.
IN AAAA  2001:db8::1

b.example.net.
IN AAAA  2001:db8::2
]]></artwork>
        </figure><figure>
          <artwork><![CDATA[        +-------+----------+-------------+------+--------+
        | Order | Protocol | IP address  | Port |   Tag  |
        +-------+----------+-------------+------+--------+
        | 1     | UDP      | 2001:db8::1 | 5000 | Signal |
        | 2     | TCP      | 2001:db8::1 | 5001 | Signal |
        | 3     | TCP      | 2001:db8::1 | 5002 | Data   |
        | 4     | TCP      | 2001:db8::2 | 443  | Data   |
        +-------+----------+-------------+------+--------+
                 Table 1: Resolution Results]]></artwork>
        </figure></t>
      </figure>
<table anchor="results" align="center">
  <name>Resolution Results</name>
  <thead>
    <tr>
      <th>Order</th>
      <th>Protocol</th>
      <th>IP address</th>
      <th>Port</th>
      <th>Tag</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1</td>
      <td>UDP</td>
      <td>2001:db8::1</td>
      <td>5000</td>
      <td>Signal</td>
    </tr>
    <tr>
      <td>2</td>
      <td>TCP</td>
      <td>2001:db8::1</td>
      <td>5001</td>
      <td>Signal</td>
    </tr>
    <tr>
      <td>3</td>
      <td>TCP</td>
      <td>2001:db8::1</td>
      <td>5002</td>
      <td>Data</td>
    </tr>
    <tr>
      <td>4</td>
      <td>TCP</td>
      <td>2001:db8::2</td>
      <td>443</td>
      <td>Data</td>
    </tr>
  </tbody>
</table>
      <t>An example is provided in <xref target="callhome"></xref> target="callhome" format="default"/> for the
      Call Home case. In this example, the resolution algorithm will result in
      IP address(es), address, port, and protocol tuples listed in Table 2 <xref target="call-home" format="default"/> for domain
      'example.net'.</t>

      <t><figure anchor="callhome"
          title="Example
      "example.net".</t>
      <figure anchor="callhome">
        <name>Example of Discovery of DOTS Call Home Client using Using Service Resolution">
          <artwork><![CDATA[ Resolution</name>
        <artwork name="" type="" align="left" alt=""><![CDATA[
example.net.
IN NAPTR 100 10 "" DOTS-CALL-HOME:signal.udp "" signal.example.net.
IN NAPTR 200 10 "" DOTS-CALL-HOME:signal.tcp "" signal.example.net.

signal.example.net.
IN NAPTR 100 10 "s" DOTS-CALL-HOME:signal.udp ""
            _dots-call-home._udp.example.net.
IN NAPTR 200 10 "s" DOTS-CALL-HOME:signal.tcp ""
            _dots-call-home._tcp.example.net.

_dots-call-home._udp.example.net.
IN SRV   0 0 6000 b.example.net.

_dots-call-home._tcp.example.net.
IN SRV   0 0 6001 b.example.net.

b.example.net.
IN AAAA  2001:db8::2
]]></artwork>
        </figure><figure>
          <artwork><![CDATA[          +-------+----------+-------------+------+
          | Order | Protocol | IP address  | Port |
          +-------+----------+-------------+------+
          | 1     | UDP      | 2001:db8::2 | 6000 |
          | 2     | TCP      | 2001:db8::2 | 6001 |
          +-------+----------+-------------+------+
           Table 2: Resolution
      </figure>
<table anchor="call-home" align="center">
  <name>Resolution Results (Call Home)]]></artwork>
        </figure></t> Home)</name>
  <thead>
    <tr>
      <th>Order</th>
      <th>Protocol</th>
      <th>IP address</th>
      <th>Port</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1</td>
      <td>UDP</td>
      <td>2001:db8::2</td>
      <td>6000</td>
    </tr>
    <tr>
      <td>2</td>
      <td>TCP</td>
      <td>2001:db8::2</td>
      <td>6001</td>
    </tr>
  </tbody>
</table>
      <t>Note that customized port numbers are used for the DOTS signal
      channel, DOTS data channel, and DOTS signal channel call home Call Home in the
      examples shown in Figures <xref format="counter" target="ssrv"></xref> target="ssrv"/>
      and <xref format="counter" target="callhome"></xref> target="callhome"/> for illustration
      purposes. If default port numbers are used in a deployment, the
      discovery procedure will return 4646 (DOTS signal channel) and 443 (DOTS
      data channel) as DOTS service port numbers.</t>
      <t>If no DOTS-specific S-NAPTR records can be retrieved, the discovery
      procedure fails for this domain name (and the corresponding interface
      and IP protocol version). If more domain names are known, the discovery
      procedure MAY <bcp14>MAY</bcp14> perform the corresponding S-NAPTR lookups immediately.
      However, before retrying a lookup that has failed, a DOTS client MUST <bcp14>MUST</bcp14>
      wait a time period that is appropriate for the encountered error (e.g.,
      NXDOMAIN, timeout, etc.).</t>
    </section>
    <section anchor="DNSSD" title="DNS numbered="true" toc="default">
      <name>DNS Service Discovery"> Discovery</name>
      <t>DNS-based Service Discovery (DNS-SD) <xref target="RFC6763"></xref> target="RFC6763" format="default"/>
      provides generic solutions for discovering services. DNS-SD defines a
      set of naming rules for certain DNS record types that they use for
      advertising and discovering services.</t>

      <t>Section 4.1 of <xref target="RFC6763"></xref>
      <t><xref target="RFC6763" sectionFormat="of" section="4.1"/> specifies that a
      service instance name in DNS-SD has the following structure:</t>

      <t><figure align="center">
          <artwork><![CDATA[<Instance>
<artwork name="" type="" align="left" alt=""><![CDATA[
<Instance> . <Service> . <Domain>]]></artwork>
        </figure></t> <Domain>
]]></artwork>
      <t>The &lt;Domain&gt; portion specifies the DNS sub-domain subdomain where the
      service instance is registered. It is a conventional domain name name, such as
      "example.com.".</t>
      "example.com".</t>
      <t>The &lt;Service&gt; portion of the DOTS service instance name MUST <bcp14>MUST</bcp14> be
      "_dots-signal._udp" or "_dots-signal._tcp" or "_dots-data._tcp" or
      "_dots-call-home._udp"
      "_dots-signal._udp", "_dots-signal._tcp", "_dots-data._tcp",
      "_dots-call-home._udp", or "_dots-call-home._tcp".</t>
      <t>This document does not define any keys; the TXT record of a DNS-SD
      service is thus empty (Section 6 of <xref target="RFC6763"></xref>).</t> (<xref target="RFC6763" sectionFormat="of" section="6"/>).</t>
      <t><xref target="sdex"></xref> target="sdex" format="default"/> depicts an excerpt of the DNS zone
      configuration file listing record examples to discover two DOTS signal
      channel servers. In this example, only UDP is supported as transport for
      the establishment of the DOTS signal channel.</t>

      <t><figure anchor="sdex"
          title="An
      <figure anchor="sdex">
        <name>An Example of DNS-SD Records for the UDP DOTS Signal Channel involving Involving Two Servers with the Same Priority.">
          <artwork><![CDATA[_dots-signal._udp.example.net. Priority</name>
        <artwork name="" type="" align="left" alt=""><![CDATA[_dots-signal._udp.example.net. PTR  a._dots-signal._udp.example.net.
_dots-signal._udp.example.net. PTR  b._dots-signal._udp.example.net.
a._dots-signal._udp.example.net. SRV 0 0 4646 a.example.net.
b._dots-signal._udp.example.net. SRV 0 0 4646 b.example.net.
a._dots-signal._udp.example.net. TXT ""
b._dots-signal._udp.example.net. TXT ""
]]></artwork>
        </figure></t>
      </figure>
    </section>
    <section anchor="Security" title="Security Considerations"> numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>DOTS-related security considerations are discussed in Section 4 of <xref target="RFC8811"></xref>. target="RFC8811"
      sectionFormat="of" section="5"/>. As a reminder, DOTS agents must
      authenticate each other using (D)TLS before a DOTS session is considered
      valid according to the <xref target="RFC8782"></xref>.</t> target="RFC8782" format="default"/>.</t>
      <t>An attacker may block some protocol messages (e.g., DHCP) to force
      the client to use a discovery mechanism with a lower priority. The
      security implications of such attack are those inherent to the fallback
      discovery mechanism discussed in the following subsections.</t>
      <t>The results of the discovery procedure are a function of the
      interface/address family. Contacting a discovered DOTS server via an
      interface to which it is not bound may exacerbate the delay required to
      establish a DOTS channel. Moreover, such behavior may reveal that a DOTS
      service is enabled by a DOTS client domain and exposes the identity of
      the DOTS service provider (that (which can be inferred from the name and the
      destination IP address) to external networks.</t>
      <t>Security considerations related to how security credentials to
      authenticate DOTS server(s) are provisioned to a DOTS client are those
      inherent to the mechanism used for that purpose (see for (for example, see <xref
      target="RFC8572"></xref>).</t> target="RFC8572" format="default"/>).</t>
      <section title="DHCP"> numbered="true" toc="default">
        <name>DHCP</name>
        <t>The security considerations in <xref target="RFC2131"></xref> target="RFC2131" format="default"/> and
        <xref target="RFC8415"></xref> target="RFC8415" format="default"/> are to be considered. In particular,
        issues related to rogue DHCP servers and means to mitigate many of
        these attacks are discussed in Section 22 of <xref
        target="RFC8415"></xref>.</t> target="RFC8415" sectionFormat="of" section="22"/>.</t>
        <t>An attacker can get a domain name, get a domain-validated public
        certificate from a CA, certification authority (CA), and host a DOTS agent. An active attacker can
        then spoof DHCP responses to include the attacker's DOTS agent. Such
        an attacker can also launch other attacks attacks, as discussed in Section 22
        of <xref target="RFC8415"></xref>. target="RFC8415"
	sectionFormat="of" section="22"/>. In addition to the mitigations
        listed in Section 22 of <xref target="RFC8415"></xref>, target="RFC8415" sectionFormat="of" section="22"/>, a DOTS agent
        may be pre-configured preconfigured with a list of trusted DOTS domain names. If
        such a list is pre-configured, preconfigured, a DOTS agent will accept a
        DHCP-discovered name if it matches a name in that list. Also, the DOTS
        agent has to check that the 'DNS-ID' "DNS-ID" identifier type within
        subjectAltName in the server certificate matches a pre-configured preconfigured
        name. If the DOTS agent is instructed to trust subdomains of the names
        in that list as well (e.g., "*.example.com"), a DOTS agent will accept
        a DHCP-discovered name that matches a name in the pre-configured preconfigured list
        (e.g., "dots-1.example.com" or "dots-2.example.com").</t>
        <t>Relying on an underlying resolution library to resolve a supplied
        reference identifier has similar security issues as those discussed in
        <xref target="res"></xref> target="res" format="default"/> (e.g., an active attacker may modify DNS
        messages used to resolve the supplied reference identifier and point
        the client to an attacker server).</t>
        <t>Supplying both an IP address and the reference identifier makes it
        easier to use a mis-issued certificate.</t>
      </section>
      <section anchor="res" title="Service Resolution"> numbered="true" toc="default">
        <name>Service Resolution</name>
        <t>The primary attack against the methods described in <xref
        target="srvr"></xref> target="srvr" format="default"/> is one that would lead to impersonation of a
        peer DOTS agent. An attacker could attempt to compromise the S-NAPTR
        resolution.</t>
        <t>The DOTS client (or a Call Home DOTS server) constructs one
        reference identifier for the DOTS server (or a Call Home DOTS client)
        based on the domain name which that is used for S-NAPTR lookup: DNS-ID. If
        the reference identifier is found (as described in Section 6 of <xref
        target="RFC6125"></xref>) target="RFC6125"
	sectionFormat="of" section="6"/>) in the PKIX certificate's subjectAltName
        extension, the DOTS client should accept the certificate for the
        server.</t>
        <t>DNS Security Extensions (DNSSEC) <xref target="RFC4033"></xref> target="RFC4033" format="default"/>
        uses cryptographic keys and digital signatures to provide
        authentication of DNS data. The information that is retrieved from the
        S-NAPTR lookup and that is validated using DNSSEC is thereby proved to
        be the authoritative data.</t>
      </section>
      <section title="DNS numbered="true" toc="default">
        <name>DNS Service Discovery"> Discovery</name>
        <t>Since DNS-SD is a specification for how to name and use records in
        the existing DNS system, it has no specific additional security
        requirements over and above those that already apply to DNS queries
        and DNS updates. For DNS queries, DNSSEC SHOULD <bcp14>SHOULD</bcp14> be used where the
        authenticity of information is important. For DNS updates, secure
        updates <xref target="RFC2136"></xref><xref target="RFC3007"></xref>
        SHOULD target="RFC2136" format="default"/> <xref target="RFC3007" format="default"/>
        <bcp14>SHOULD</bcp14> generally be used to control which clients have permission to
        update DNS records.</t>
        <t>Note that means such as DNS over TLS (DoT) <xref
        target="RFC7858"></xref> target="RFC7858" format="default"/> or DNS over HTTPS (DoH) <xref
        target="RFC8484"></xref> target="RFC8484" format="default"/> can be used to prevent eavesdroppers from
        accessing DNS messages.</t>
      </section>
    </section>
    <section anchor="IANA" title="IANA Considerations">
      <t></t> numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t/>
      <section title="The Service numbered="true" toc="default">
        <name>Service Name and Transport Protocol Port Number Registry"> Registry</name>
        <t>IANA is requested to allocate has allocated the following service names from the
        registry available at:
        https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml.</t>

        <t><figure align="center">
            <artwork><![CDATA[     Service Name:            dots-data
     Port Number:             N/A
     Transport Protocol(s):   TCP
     Description:             DOTS
        <eref target="https://www.iana.org/assignments/service-names-port-numbers/l" brackets="angle"/>.</t>
<dl newline="false" spacing="compact" indent="25">
  <dt>Service Name:</dt>
  <dd>dots-data</dd>
  <dt>Port Number:</dt>
  <dd>N/A</dd>
  <dt>Transport Protocol(s):</dt>
  <dd>TCP</dd>
  <dt>Description:</dt>
  <dd>DOTS Data Channel Protocol Protocol.
                              The service name is used to construct the
                              SRV service name "_dots-data._tcp" for
                              discovering DOTS servers used to establish
                              DOTS data channel.
     Assignee:                IESG <iesg@ietf.org>
     Contact:                 IETF Chair <chair@ietf.org>
     Reference:               [ThisDocument]

     Service Name:            dots-call-home
     Transport Protocol(s):   TCP/UDP
     Description:             DOTS channel.</dd>
   <dt>Assignee:</dt>
   <dd>IESG: iesg@ietf.org</dd>
   <dt>Contact:</dt>
   <dd>IETF Chair: chair@ietf.org</dd>
   <dt>Reference:</dt>
   <dd>[RFC8973]</dd>
 </dl>
<dl newline="false" spacing="compact" indent="25">
  <dt>Service Name:</dt>
  <dd>dots-call-home</dd>
  <dt>Transport Protocol(s):</dt>
  <dd>TCP/UDP</dd>
  <dt>Description:</dt>
  <dd>DOTS Signal Channel Call Home Protocol.
                              The service name is used to construct the
                              SRV service names "_dots-call-home._udp"
                              and "_dots-call-home._tcp" for discovering
                              Call Home DOTS clients used to establish
                              DOTS signal channel call home.
     Assignee:                IESG <iesg@ietf.org>
     Contact:                 IETF Chair <chair@ietf.org>
     Reference:               [ThisDocument]
]]></artwork>
          </figure></t> Call Home.</dd>
   <dt>Assignee:</dt>
   <dd>IESG: iesg@ietf.org</dd>
   <dt>Contact:</dt>
   <dd>IETF Chair: chair@ietf.org</dd>
   <dt>Reference:</dt>
   <dd>[RFC8973]</dd>
 </dl>
        <t>IANA is requested to update has updated the following entry from the registry
        available at:
        https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml.</t>

        <t><figure align="center">
            <artwork><![CDATA[     Service Name:            dots-signal
     Port Number:             4646
     Transport Protocol(s):   TCP/UDP
     Description:             DOTS
        <eref target="https://www.iana.org/assignments/service-names-port-numbers/" brackets="angle"/>.</t>
<dl newline="false" spacing="compact" indent="25">
  <dt>Port Number:</dt>
  <dd>4646</dd>
  <dt>Transport Protocol(s):</dt>
  <dd>TCP/UDP</dd>
  <dt>Description:</dt>
  <dd>DOTS Signal Channel Protocol.
                              The service name is used to construct the
                              SRV service names "_dots-signal._udp" and
                              "_dots-signal._tcp" for discovering DOTS
                              servers used to establish DOTS signal
                              channel.
     Assignee:                IESG <iesg@ietf.org>
     Contact:                 IETF Chair <chair@ietf.org>
     Reference:               [RFC8782][ThisDocument]
]]></artwork>
          </figure></t>
                              channel.</dd>
   <dt>Assignee:</dt>
   <dd>IESG: iesg@ietf.org</dd>
   <dt>Contact:</dt>
   <dd>IETF Chair: chair@ietf.org</dd>
   <dt>Reference:</dt>
   <dd>[RFC8782][RFC8973]</dd>
</dl>
      </section>
      <section anchor="iana6" title="DHCPv6 Options"> numbered="true" toc="default">
        <name>DHCPv6 Options</name>
        <t>IANA is requested to assign has assigned the following new DHCPv6 Option Codes
        in the registry maintained in:
        https://www.iana.org/assignments/dhcpv6-parameters/dhcpv6-parameters.xhtml#dhcpv6-parameters-2.</t>

        <t><figure>
            <artwork><![CDATA[Value   Description              Client ORO    Singleton Option
TBA1    OPTION_V6_DOTS_RI        Yes           Yes
TBA2    OPTION_V6_DOTS_ADDRESS   Yes           Yes]]></artwork>
          </figure></t> in
        <eref target="https://www.iana.org/assignments/dhcpv6-parameters/" brackets="angle"/>.</t>
	<table align="center">
	  <name>DHCPv6 Options</name>
  <thead>
    <tr>
      <th>Value</th>
      <th>Description</th>
      <th>Client ORO</th>
      <th>Singleton Option</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>141</td>
      <td>OPTION_V6_DOTS_RI</td>
      <td>Yes</td>
      <td>Yes</td>
    </tr>
    <tr>
      <td>142</td>
      <td>OPTION_V6_DOTS_ADDRESS</td>
      <td>Yes</td>
      <td>Yes</td>
    </tr>
  </tbody>
</table>
      </section>
      <section anchor="iana4" title="DHCPv4 Options"> numbered="true" toc="default">
        <name>DHCPv4 Options</name>
        <t>IANA is requested to assign has assigned the following new DHCPv4 Option Codes
        in the registry maintained in:
        https://www.iana.org/assignments/bootp-dhcp-parameters/bootp-dhcp-parameters.xhtml#options.</t>

        <texttable style="headers">
          <ttcol align="right">Name</ttcol>

          <ttcol>Tag</ttcol>

          <ttcol>Data Length</ttcol>

          <ttcol>Meaning</ttcol>

          <ttcol>Reference</ttcol>

          <c>OPTION_V4_DOTS_RI</c>

          <c>TBA3</c>

          <c>N</c>

          <c>The in
        <eref target="https://www.iana.org/assignments/bootp-dhcp-parameters/" brackets="angle"/>.</t>
        <table align="left">
	  <name>DHCPv4 Options</name>
          <thead>
            <tr>
              <th align="right">Name</th>
              <th align="left">Tag</th>
              <th align="left">Data Length</th>
              <th align="left">Meaning</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="right">OPTION_V4_DOTS_RI</td>
              <td align="left">147</td>
              <td align="left">N</td>
              <td align="left">The name of the peer DOTS agent.</c>

          <c>[ThisDocument]</c>

          <c>OPTION_V4_DOTS_ADDRESS</c>

          <c>TBA4</c>

          <c>N agent.</td>
              <td align="left">[RFC8973]</td>
            </tr>
            <tr>
              <td align="right">OPTION_V4_DOTS_ADDRESS</td>
              <td align="left">148</td>
              <td align="left">N (the minimal length is 4)</c>

          <c>N/4 4)</td>
              <td align="left">N/4 IPv4 addresses of peer DOTS agent(s).</c>

          <c>[ThisDocument]</c>
        </texttable>

        <t></t> agent(s).</td>
              <td align="left">[RFC8973]</td>
            </tr>
          </tbody>
        </table>
        <t/>
      </section>
      <section title="Application numbered="true" toc="default">
        <name>Application Service &amp; Application Protocol Tags">
        <t>This document requests IANA to make Tags</name>
        <t>IANA has made the following allocations from
        the registries available at:
        https://www.iana.org/assignments/s-naptr-parameters/s-naptr-parameters.xhtml#s-naptr-parameters-1 at
        <eref target="https://www.iana.org/assignments/s-naptr-parameters/" brackets="angle"/>
        for Application Service Tags application service tags and
        https://www.iana.org/assignments/s-naptr-parameters/s-naptr-parameters.xhtml#s-naptr-parameters-2
        for Application Protocol Tags.</t> application protocol tags.</t>
        <section anchor="serviceT"
                 title="DOTS numbered="true" toc="default">
          <name>DOTS Application Service Tag Registration">
          <t><list style="symbols">
              <t>Application Registration</name>
          <dl newline="false" spacing="compact" indent="35">
            <dt>Application Service Tag: DOTS</t>

              <t>Intended Usage: See <xref target="srvr"></xref></t>

              <t>Security Considerations: See <xref
              target="Security"></xref></t>

              <t>Interoperability considerations: None</t>

              <t>Relevant publications: This document</t>
            </list></t> Tag:</dt>
	    <dd>DOTS</dd>
            <dt>Intended Usage:</dt>
	    <dd>See <xref target="srvr" format="default"/></dd>
            <dt>Security Considerations:</dt>
	    <dd>See <xref target="Security" format="default"/></dd>
            <dt>Interoperability Considerations:</dt>
	    <dd>None</dd>
            <dt>Relevant Publications:</dt>
	    <dd>RFC 8973</dd>
          </dl>
        </section>
        <section anchor="serviceT2"
                 title="DOTS numbered="true" toc="default">
          <name>DOTS Call Home Application Service Tag Registration">
          <t><list style="symbols">
              <t>Application Registration</name>
          <dl newline="false" spacing="compact" indent="35">
            <dt>Application Service Tag: DOTS-CALL-HOME</t>

              <t>Intended Usage: See <xref target="srvr"></xref></t>

              <t>Security Considerations: See <xref
              target="Security"></xref></t>

              <t>Interoperability considerations: None</t>

              <t>Relevant publications: This document</t>
            </list></t> Tag:</dt>
	    <dd>DOTS-CALL-HOME</dd>
            <dt>Intended Usage:</dt>
	    <dd>See <xref target="srvr" format="default"/></dd>
            <dt>Security Considerations:</dt>
	    <dd>See <xref target="Security" format="default"/></dd>
            <dt>Interoperability Considerations:</dt>
	    <dd>None</dd>
            <dt>Relevant Publications:</dt>
	    <dd>RFC 8973</dd>
          </dl>
        </section>
        <section anchor="suappt"
                 title="signal.udp numbered="true" toc="default">
          <name>signal.udp Application Protocol Tag Registration">
          <t><list style="symbols">
              <t>Application Registration</name>
          <dl newline="false" spacing="compact" indent="35">
            <dt>Application Protocol Tag: signal.udp</t>

              <t>Intended Usage: See <xref target="srvr"></xref></t>

              <t>Security Considerations: See <xref
              target="Security"></xref></t>

              <t>Interoperability considerations: None</t>

              <t>Relevant publications: This document</t>
            </list></t> Tag:</dt>
	    <dd>signal.udp</dd>
            <dt>Intended Usage:</dt>
	    <dd>See <xref target="srvr" format="default"/></dd>
            <dt>Security Considerations:</dt>
	    <dd>See <xref target="Security" format="default"/></dd>
            <dt>Interoperability Considerations:</dt>
	    <dd>None</dd>
            <dt>Relevant Publications:</dt>
	    <dd>RFC 8973</dd>
          </dl>
        </section>
        <section anchor="stappt"
                 title="signal.tcp numbered="true" toc="default">
          <name>signal.tcp Application Protocol Tag Registration">
          <t><list style="symbols">
              <t>Application Registration</name>
          <dl newline="false" spacing="compact" indent="35">
            <dt>Application Protocol Tag: signal.tcp</t>

              <t>Intended Usage: See <xref target="srvr"></xref></t>

              <t>Security Considerations: See <xref
              target="Security"></xref></t>

              <t>Interoperability considerations: None</t>

              <t>Relevant publications: This document</t>
            </list></t> Tag:</dt>
	    <dd>signal.tcp</dd>
            <dt>Intended Usage:</dt>
	    <dd>See <xref target="srvr" format="default"/></dd>
            <dt>Security Considerations:</dt>
	    <dd>See <xref target="Security" format="default"/></dd>
            <dt>Interoperability Considerations:</dt>
	    <dd>None</dd>
            <dt>Relevant Publications:</dt>
	    <dd>RFC 8973</dd>
          </dl>
        </section>
        <section anchor="dappt"
                 title="data.tcp numbered="true" toc="default">
          <name>data.tcp Application Protocol Tag Registration">
          <t><list style="symbols">
              <t>Application Registration</name>
          <dl newline="false" spacing="compact" indent="35">
            <dt>Application Protocol Tag: data.tcp</t>

              <t>Intended Usage: See <xref target="srvr"></xref></t>

              <t>Security Considerations: See <xref
              target="Security"></xref></t>

              <t>Interoperability considerations: None</t>

              <t>Relevant publications: This document</t>
            </list></t> Tag:</dt>
	    <dd>data.tcp</dd>
            <dt>Intended Usage:</dt>
	    <dd>See <xref target="srvr" format="default"/></dd>
            <dt>Security Considerations:</dt>
	    <dd>See <xref target="Security" format="default"/></dd>
            <dt>Interoperability Considerations:</dt>
	    <dd>None</dd>
            <dt>Relevant Publications:</dt>
	    <dd>RFC 8973</dd>
          </dl>
        </section>
      </section>
    </section>

    <section title="Contributors">
      <t><figure>
          <artwork><![CDATA[   Prashanth Patil
   Cisco Systems, Inc.

   Email: praspati@cisco.com]]></artwork>
        </figure></t>
    </section>
  </middle>
  <back>
<displayreference target="I-D.ietf-dots-signal-call-home" to="DOTS-SIG-CALL-HOME"/>
<displayreference target="I-D.ietf-dots-multihoming" to="DOTS-MULTIHOMING"/>
<displayreference target="I-D.ietf-anima-bootstrapping-keyinfra" to="BTSRP-KEYINFR"/>
<displayreference target="I-D.ietf-dots-use-cases" to="DOTS-USE-CASES"/>
<references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8415.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3958.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2131.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2132.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6763.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3396.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4291.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6890.xml"/>
      </references>
      <references>
        <name>Informative References</name>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8782.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7858.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8484.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8811.xml"/>

<!-- [I-D.ietf-dots-signal-call-home] IESG state Waiting for Writeup -->

        <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.ietf-dots-signal-call-home.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8572.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6125.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4033.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2136.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3007.xml"/>

<!-- [I-D.ietf-dots-use-cases] in AUTH48 state as of 12/15/20; RFC 8903 -->
<xi:include                                                                                           href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.ietf-dots-use-cases.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8783.xml"/>

<!-- [I-D.ietf-anima-bootstrapping-keyinfra] in EDIT*R state as of 12/15/20; -->
<xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.ietf-anima-bootstrapping-keyinfra.xml"/>

<!-- [I-D.ietf-dots-multihoming] IESG state I-D Exists  -->

        <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.ietf-dots-multihoming.xml"/>
      </references>
    </references>
    <section anchor="Acknowledgements" title="Acknowledgements"> numbered="false" toc="default">
      <name>Acknowledgements</name>
      <t>Thanks to Brian Carpenter <contact fullname="Brian Carpenter"/> for the review of the BRSKI Bootstrapping
      Remote Secure Key Infrastructure (BRSKI) text used be in
      previous draft versions of the specification.</t>
      <t>Many thanks to Russ White <contact fullname="Russ White"/> for the review, comments, and text
      contribution.</t>
      <t>Thanks to Dan Wing, Pei Wei, Valery Smyslov, and Jon Shallow <contact fullname="Dan Wing"/>, <contact fullname="Pei Wei"/>,
      <contact fullname="Valery Smyslov"/>, and <contact fullname="Jon Shallow"/> for the
      review and comments.</t>
      <t>Thanks to Bernie Volz <contact fullname="Bernie Volz"/> for the review of the DHCP section.</t>
      <t>Many thanks to Benjamin Kaduk <contact fullname="Benjamin Kaduk"/> for the detailed AD review.</t>
      <t>Thanks to Zhen Cao, Kyle Rose, Nagendra Nainar, and Peter Yee <contact fullname="Zhen Cao"/>, <contact fullname="Kyle Rose"/>,
      <contact fullname="Nagendra Nainar"/>, and <contact fullname="Peter Yee"/> for the
      directorate reviews.</t>
      <t>Thanks to Barry Leiba, Martin Duke, Roman Danyliw, Eric Vyncke, and
      Magnus Westerlund <contact fullname="Barry Leiba"/>, <contact fullname="Martin Duke"/>,
      <contact fullname="Roman Danyliw"/>, <contact fullname="Éric Vyncke"/>, and
      <contact fullname="Magnus Westerlund"/> for the IESG review.</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      <?rfc include="reference.RFC.2119"?>

      <?rfc include='reference.RFC.8415'?>

      <?rfc include='reference.RFC.3958'?>

      <?rfc include='reference.RFC.2131'?>

      <?rfc include='reference.RFC.2132'?>

      <?rfc include='reference.RFC.6763'?>

      <?rfc include='reference.RFC.3396'?>

      <?rfc include='reference.RFC.4291'?>

      <?rfc include='reference.RFC.8174'?>

      <?rfc include='reference.RFC.6890'?>
    </references>

    <references title="Informative References">
      <?rfc include='reference.RFC.8782'?>

      <?rfc include='reference.RFC.7858'?>

      <?rfc include='reference.RFC.8484'?>

      <?rfc include='reference.RFC.8811'?>

      <?rfc include='reference.I-D.ietf-dots-signal-call-home'?>

      <?rfc include='reference.RFC.8572'?>

      <?rfc include='reference.RFC.6125'?>

      <?rfc include='reference.RFC.4033'?>

      <?rfc include='reference.RFC.2136'?>

      <?rfc include='reference.RFC.3007'?>

      <?rfc include='reference.I-D.ietf-dots-use-cases'
?>

      <?rfc include='reference.RFC.8783'?>

      <?rfc include='reference.I-D.ietf-anima-bootstrapping-keyinfra'?>

      <?rfc include='reference.I-D.ietf-dots-multihoming'?>
    </references>
    <section numbered="false" toc="default">
      <name>Contributors</name>
<contact fullname="Prashanth Patil">
  <organization>Cisco Systems, Inc.</organization>
  <address>
    <postal/>
    <email>praspati@cisco.com</email>
  </address>
</contact>
    </section>
  </back>
</rfc>