<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="info" consensus="true" docName="draft-ietf-dots-multihoming-13" indexInclude="true" ipr="trust200902" number="9284" prepTime="2022-08-30T21:34:01" scripts="Common,Latin" sortRefs="true" submissionType="IETF" symRefs="true" tocDepth="3" tocInclude="true" xml:lang="en">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-dots-multihoming-13" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9284" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="DOTS Multihoming">Multihoming Deployment Considerations for DDoS Open Threat Signaling (DOTS)</title>
    <seriesInfo name="RFC" value="9284" stream="IETF"/>
    <author initials="M" surname="Boucadair" fullname="Mohamed Boucadair">
      <organization showOnFrontPage="true">Orange</organization>
      <address>
        <postal>
          <street/>
          <city>Rennes</city>
          <region/>
          <code>35000</code>
          <country>France</country>
        </postal>
        <email>mohamed.boucadair@orange.com</email>
      </address>
    </author>
    <author initials="T" surname="Reddy.K" fullname="Tirumaleswar Reddy.K">
      <organization showOnFrontPage="true">Nokia</organization>
      <address>
        <email>kondtir@gmail.com</email>
      </address>
    </author>
    <author initials="W" surname="Pan" fullname="Wei Pan">
      <organization showOnFrontPage="true">Huawei Technologies</organization>
      <address>
        <email>william.panwei@huawei.com</email>
        <uri/>
      </address>
    </author>
    <date month="08" year="2022"/>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">This document discusses multihoming considerations for
      DDoS Open Threat Signaling (DOTS). The goal is
      to provide some guidance for DOTS clients and client-domain DOTS
      gateways when multihomed.</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 document is not an Internet Standards Track specification; it is
            published for informational purposes.  
        </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).  Not all documents
            approved by the IESG are candidates for any level of Internet
            Standard; see 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/rfc9284" 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) 2022 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-requirements-language">Requirements Language</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-terminology">Terminology</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-multihoming-scenarios">Multihoming Scenarios</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-multihomed-residential-sing">Multihomed Residential: Single CPE</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-multihomed-enterprise-singl">Multihomed Enterprise: Single CPE, Multiple Upstream ISPs</xref></t>
              </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-multihomed-enterprise-multi">Multihomed Enterprise: Multiple CPEs, Multiple Upstream ISPs</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-multihomed-enterprise-with-">Multihomed Enterprise with the Same ISP</xref></t>
              </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-dots-multihoming-deployment">DOTS Multihoming Deployment Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2">
              <li pn="section-toc.1-1.5.2.1">
                <t indent="0" pn="section-toc.1-1.5.2.1.1"><xref derivedContent="5.1" format="counter" sectionFormat="of" target="section-5.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-residential-cpe">Residential CPE</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.2">
                <t indent="0" pn="section-toc.1-1.5.2.2.1"><xref derivedContent="5.2" format="counter" sectionFormat="of" target="section-5.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-multihomed-enterprise-single">Multihomed Enterprise: Single CPE, Multiple Upstream ISPs</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.3">
                <t indent="0" pn="section-toc.1-1.5.2.3.1"><xref derivedContent="5.3" format="counter" sectionFormat="of" target="section-5.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-multihomed-enterprise-multip">Multihomed Enterprise: Multiple CPEs, Multiple Upstream ISPs</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.4">
                <t indent="0" pn="section-toc.1-1.5.2.4.1"><xref derivedContent="5.4" format="counter" sectionFormat="of" target="section-5.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-multihomed-enterprise-single-">Multihomed Enterprise: Single ISP</xref></t>
              </li>
            </ul>
          </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-iana-considerations">IANA 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-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.8.2">
              <li pn="section-toc.1-1.8.2.1">
                <t indent="0" pn="section-toc.1-1.8.2.1.1"><xref derivedContent="8.1" format="counter" sectionFormat="of" target="section-8.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.8.2.2">
                <t indent="0" pn="section-toc.1-1.8.2.2.1"><xref derivedContent="8.2" format="counter" sectionFormat="of" target="section-8.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.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.10">
            <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">In many deployments, it may not be possible for a network to
      determine the cause of a DDoS attack <xref target="RFC4732" format="default" sectionFormat="of" derivedContent="RFC4732"/>. Rather, the network may just realize
      that some resources appear to be under attack. To help with such
      situations, the IETF has specified the DDoS Open Threat Signaling (DOTS)
      architecture <xref target="RFC8811" format="default" sectionFormat="of" derivedContent="RFC8811"/>, where a DOTS client can
      inform an upstream DOTS server that its network is under a potential
      attack and that appropriate mitigation actions are required. The DOTS
      protocols can be used to coordinate real-time mitigation efforts that
      can evolve as the attacks mutate, thereby reducing the impact of an
      attack and leading to more-efficient responsive actions. <xref target="RFC8903" format="default" sectionFormat="of" derivedContent="RFC8903"/> identifies a set of scenarios for DOTS; most of
      these scenarios involve a Customer Premises Equipment (CPE).</t>
      <t indent="0" pn="section-1-2">The high-level base DOTS architecture is illustrated in <xref target="arch" format="default" sectionFormat="of" derivedContent="Figure 1"/> (repeated from <xref target="RFC8811" sectionFormat="of" section="2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8811#section-2" derivedContent="RFC8811"/>):</t>
      <figure anchor="arch" align="left" suppress-title="false" pn="figure-1">
        <name slugifiedName="name-basic-dots-architecture">Basic DOTS Architecture</name>
        <artwork align="center" name="" type="" alt="" pn="section-1-3.1">
+-----------+            +-------------+
| Mitigator | ~~~~~~~~~~ | DOTS Server |
+-----------+            +-------------+
                                |
                                |
                                |
+---------------+        +-------------+
| Attack Target | ~~~~~~ | DOTS Client |
+---------------+        +-------------+
</artwork>
      </figure>
      <t indent="0" pn="section-1-4"><xref target="RFC8811" format="default" sectionFormat="of" derivedContent="RFC8811"/> specifies that the DOTS client may be
      provided with a list of DOTS servers; each of these servers is
      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 addresses for the DOTS server or 
   servers <xref target="RFC8973" format="default" sectionFormat="of" derivedContent="RFC8973"/>.</t>
      <t indent="0" pn="section-1-5">DOTS may be deployed within networks that are connected to one single
      upstream provider. DOTS can also be enabled within networks that are
      multihomed. The reader may refer to <xref target="RFC3582" format="default" sectionFormat="of" derivedContent="RFC3582"/> for
      an overview of multihoming goals and motivations. This document
      discusses DOTS multihoming considerations. Specifically, the document
      aims to:</t>
      <ol spacing="normal" indent="adaptive" start="1" type="1" pn="section-1-6"><li pn="section-1-6.1" derivedCounter="1.">
          <t indent="0" pn="section-1-6.1.1">Complete the base DOTS architecture with multihoming specifics.
          Those specifics need to be taken into account because: </t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-1-6.1.2">
            <li pn="section-1-6.1.2.1">Sending a DOTS mitigation request to an arbitrary DOTS server
              will not necessarily help in mitigating a DDoS attack.</li>
            <li pn="section-1-6.1.2.2">Randomly replicating all DOTS mitigation requests among all
              available DOTS servers is suboptimal.</li>
            <li pn="section-1-6.1.2.3">Sequentially contacting DOTS servers may increase the delay
              before a mitigation plan is enforced.</li>
          </ul>
        </li>
        <li pn="section-1-6.2" derivedCounter="2.">Identify DOTS deployment schemes in a multihoming context, where
          DOTS services can be offered by all or a subset of upstream
          providers.</li>
        <li pn="section-1-6.3" derivedCounter="3.">
          <t indent="0" pn="section-1-6.3.1">Provide guidelines and recommendations for placing DOTS requests
          in multihomed networks, for example: </t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-1-6.3.2">
            <li pn="section-1-6.3.2.1">Select the appropriate DOTS server(s).</li>
            <li pn="section-1-6.3.2.2">Identify cases where anycast is not recommended for DOTS.</li>
          </ul>
        </li>
      </ol>
      <t indent="0" pn="section-1-7">This document adopts the following methodology: </t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-1-8">
        <li pn="section-1-8.1">Identify and extract viable deployment candidates from <xref target="RFC8903" format="default" sectionFormat="of" derivedContent="RFC8903"/>.</li>
        <li pn="section-1-8.2">
          <t indent="0" pn="section-1-8.2.1">Augment the description with multihoming technicalities, for example:
          </t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-1-8.2.2">
            <li pn="section-1-8.2.2.1">One vs. multiple upstream network providers</li>
            <li pn="section-1-8.2.2.2">One vs. multiple interconnect routers</li>
            <li pn="section-1-8.2.2.3">Provider-Independent (PI) vs. Provider-Aggregatable (PA) IP
              addresses</li>
          </ul>
        </li>
        <li pn="section-1-8.3">Describe the recommended behavior of DOTS clients and
          client-domain DOTS gateways for each case.</li>
      </ul>
      <t indent="0" pn="section-1-9">Multihomed DOTS agents are assumed to make use of the protocols
      defined in <xref target="RFC9132" format="default" sectionFormat="of" derivedContent="RFC9132"/> and <xref target="RFC8783" format="default" sectionFormat="of" derivedContent="RFC8783"/>. This document does not require any specific
      extension to the base DOTS protocols for deploying DOTS in a multihomed
      context.</t>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-requirements-language">Requirements Language</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 numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-terminology">Terminology</name>
      <t indent="0" pn="section-3-1">This document makes use of the terms defined in <xref target="RFC8811" format="default" sectionFormat="of" derivedContent="RFC8811"/>, <xref target="RFC8612" format="default" sectionFormat="of" derivedContent="RFC8612"/>, and <xref target="RFC4116" format="default" sectionFormat="of" derivedContent="RFC4116"/>. In particular:</t>
      <dl newline="false" spacing="normal" indent="3" pn="section-3-2">
        <dt pn="section-3-2.1">Provider-Aggregatable (PA) addresses:</dt>
        <dd pn="section-3-2.2">globally unique
          addresses assigned by a transit provider to a customer. The
          addresses are considered "aggregatable" because the set of routes
          corresponding to the PA addresses are usually covered by an
          aggregate route set corresponding to the address space operated by
          the transit provider, from which the assignment was made (<xref target="RFC4116" section="2" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4116#section-2" derivedContent="RFC4116"/>).</dd>
        <dt pn="section-3-2.3">Provider-Independent (PI) addresses:</dt>
        <dd pn="section-3-2.4">globally unique
          addresses that are not assigned by a transit provider, but are
          provided by some other organization, usually a Regional Internet
          Registry (RIR) (<xref target="RFC4116" section="2" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc4116#section-2" derivedContent="RFC4116"/>).</dd>
      </dl>
      <t indent="0" pn="section-3-3">IP indifferently refers to IPv4 or IPv6.</t>
    </section>
    <section anchor="msc" numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-multihoming-scenarios">Multihoming Scenarios</name>
      <t indent="0" pn="section-4-1">This section describes some multihoming scenarios that are relevant
      to DOTS. In the following subsections, only the connections of border
      routers are shown; internal network topologies are not elaborated.</t>
      <t indent="0" pn="section-4-2">A multihomed network may enable DOTS for all or a subset of its
      upstream interconnection links. In such a case, DOTS servers can be
      explicitly configured or dynamically discovered by a DOTS client using
      means such as those discussed in <xref target="RFC8973" format="default" sectionFormat="of" derivedContent="RFC8973"/>. These
      DOTS servers can be owned by the upstream provider, managed by a
      third-party (e.g., mitigation service provider), or a combination
      thereof.</t>
      <t indent="0" pn="section-4-3">If a DOTS server is explicitly configured, it is assumed that an
      interface is also provided to bind the DOTS service to an
      interconnection link. If no interface is provided, the
      DOTS server can be reached via any active interface.</t>
      <t indent="0" pn="section-4-4">This section distinguishes between residential CPEs and enterprise
      CPEs because PI addresses may be used for enterprises, which is not
      the current practice for residential CPEs.</t>
      <t indent="0" pn="section-4-5">In the following subsections, all or a subset of interconnection
      links are associated with DOTS servers.</t>
      <section anchor="sc1" numbered="true" toc="include" removeInRFC="false" pn="section-4.1">
        <name slugifiedName="name-multihomed-residential-sing">Multihomed Residential: Single CPE</name>
        <t indent="0" pn="section-4.1-1">The scenario shown in <xref target="rcpe" format="default" sectionFormat="of" derivedContent="Figure 2"/> is characterized
        as follows: </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.1-2">
          <li pn="section-4.1-2.1">The home network is connected to the Internet using one single
            CPE.</li>
          <li pn="section-4.1-2.2">
            <t indent="0" pn="section-4.1-2.2.1">The CPE is connected to multiple provisioning domains (i.e.,
            both fixed and mobile networks). Provisioning Domain (PvD) is
            explained in <xref target="RFC7556" format="default" sectionFormat="of" derivedContent="RFC7556"/>. </t>
            <t indent="0" pn="section-4.1-2.2.2">In a typical deployment scenario, these
            provisioning domains are owned by the same provider (<xref target="RFC8803" sectionFormat="of" section="1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8803#section-1" derivedContent="RFC8803"/>). Such a deployment is meant to
            seamlessly use both fixed and cellular networks for bonding,
            faster handovers, or better resiliency purposes.</t>
          </li>
          <li pn="section-4.1-2.3">Each of these provisioning domains assigns IP addresses or prefixes
      to the CPE and provides additional configuration information such
      as a list of DNS servers, DNS suffixes associated with the
      network, the default gateway address, and the DOTS server's name <xref target="RFC8973" format="default" sectionFormat="of" derivedContent="RFC8973"/>. These
            addresses or prefixes are assumed to be Provider-Aggregatable
            (PA).</li>
          <li pn="section-4.1-2.4">Because of ingress filtering, packets forwarded by the CPE
            towards a given provisioning domain must be sent with a source IP
            address that was assigned by that domain <xref target="RFC8043" format="default" sectionFormat="of" derivedContent="RFC8043"/>.</li>
        </ul>
        <figure anchor="rcpe" align="left" suppress-title="false" pn="figure-2">
          <name slugifiedName="name-typical-multihomed-resident">Typical Multihomed Residential CPE</name>
          <artwork name="" type="" align="left" alt="" pn="section-4.1-3.1">
               +-------+            +-------+
               |Fixed  |            |Mobile |
               |Network|            |Network|
               +---+---+            +---+---+     
                   |                    |     Service Providers 
       ............|....................|.......................
                   +---------++---------+     Home Network    
                             ||                   
                          +--++-+ 
                          | CPE | 
                          +-----+ 
                                ... (Internal Network)
</artwork>
        </figure>
      </section>
      <section anchor="sc2" numbered="true" toc="include" removeInRFC="false" pn="section-4.2">
        <name slugifiedName="name-multihomed-enterprise-singl">Multihomed Enterprise: Single CPE, Multiple Upstream ISPs</name>
        <t indent="0" pn="section-4.2-1">The scenario shown in <xref target="scmi" format="default" sectionFormat="of" derivedContent="Figure 3"/> is characterized
        as follows: </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.2-2">
          <li pn="section-4.2-2.1">The enterprise network is connected to the Internet using a
            single router.</li>
          <li pn="section-4.2-2.2">That router is connected to multiple provisioning domains
            managed by distinct administrative entities.</li>
        </ul>
        <t indent="0" pn="section-4.2-3">Unlike the previous scenario, two sub-cases can be considered for
        an enterprise network with regard to assigned addresses:</t>
        <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-4.2-4"><li pn="section-4.2-4.1" derivedCounter="1.">PI addresses or prefixes: The enterprise is the owner of the IP
            addresses or prefixes; the same address or prefix is then used when
            establishing communications over any of the provisioning
            domains.</li>
          <li pn="section-4.2-4.2" derivedCounter="2.">PA addresses or prefixes: Each of the provisioning domains assigns
            IP addresses or prefixes to the enterprise network. These
            addresses or prefixes are used when communicating over the
            provisioning domain that assigned them.</li>
        </ol>
        <figure anchor="scmi" align="left" suppress-title="false" pn="figure-3">
          <name slugifiedName="name-multihomed-enterprise-netwo">Multihomed Enterprise Network (Single CPE Connected to Multiple Networks)</name>
          <artwork name="" type="" align="left" alt="" pn="section-4.2-5.1">
               +------+              +------+
               | ISP1 |              | ISP2 |
               +---+--+              +--+---+     
                   |                    |     Service Providers
       ............|....................|.......................
                   +---------++---------+     Enterprise Network           
                             ||     
                          +--++-+ 
                          | CPE | 
                          +-----+ 
                                ... (Internal Network)
</artwork>
        </figure>
      </section>
      <section anchor="sc3" numbered="true" toc="include" removeInRFC="false" pn="section-4.3">
        <name slugifiedName="name-multihomed-enterprise-multi">Multihomed Enterprise: Multiple CPEs, Multiple Upstream ISPs</name>
        <t indent="0" pn="section-4.3-1">This scenario is similar to the one described in <xref target="sc2" format="default" sectionFormat="of" derivedContent="Section 4.2"/>; the main difference is that dedicated routers
        (CPE1 and CPE2) are used to connect to each provisioning domain.</t>
        <figure anchor="mcmi" align="left" suppress-title="false" pn="figure-4">
          <name slugifiedName="name-multihomed-enterprise-networ">Multihomed Enterprise Network (Multiple CPEs, Multiple ISPs)</name>
          <artwork name="" type="" align="left" alt="" pn="section-4.3-2.1">
                         +------+    +------+
                         | ISP1 |    | ISP2 |
                         +---+--+    +--+---+     
                             |          |     Service Providers
       ......................|..........|.......................
                             |          |     Enterprise Network
                         +---+--+    +--+---+
                         | CPE1 |    | CPE2 |
                         +------+    +------+
 
                               ... (Internal Network)
</artwork>
        </figure>
      </section>
      <section anchor="sc4" numbered="true" toc="include" removeInRFC="false" pn="section-4.4">
        <name slugifiedName="name-multihomed-enterprise-with-">Multihomed Enterprise with the Same ISP</name>
        <t indent="0" pn="section-4.4-1">This scenario is a variant of Sections <xref format="counter" target="sc2" sectionFormat="of" derivedContent="4.2"/> and <xref format="counter" target="sc3" sectionFormat="of" derivedContent="4.3"/>
        in which multihoming is supported by the same ISP (i.e., same
        provisioning domain).</t>
      </section>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-dots-multihoming-deployment">DOTS Multihoming Deployment Considerations</name>
      <t indent="0" pn="section-5-1"><xref target="dep" format="default" sectionFormat="of" derivedContent="Table 1"/> provides some sample, non-exhaustive
      deployment schemes to illustrate how DOTS agents may be deployed for
      each of the scenarios introduced in <xref target="msc" format="default" sectionFormat="of" derivedContent="Section 4"/>.</t>
      <table anchor="dep" align="center" pn="table-1">
        <name slugifiedName="name-sample-deployment-cases">Sample Deployment Cases</name>
        <thead>
          <tr>
            <th align="center" colspan="1" rowspan="1">Scenario</th>
            <th align="center" colspan="1" rowspan="1">DOTS Client</th>
            <th align="center" colspan="1" rowspan="1">Client-Domain DOTS Gateway</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="center" colspan="1" rowspan="1">Residential CPE</td>
            <td align="center" colspan="1" rowspan="1">CPE</td>
            <td align="center" colspan="1" rowspan="1">N/A</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">Single CPE, multiple provisioning domains</td>
            <td align="center" colspan="1" rowspan="1">Internal hosts or CPE</td>
            <td align="center" colspan="1" rowspan="1">CPE</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">Multiple CPEs, multiple provisioning domains</td>
            <td align="center" colspan="1" rowspan="1">Internal hosts or all CPEs (CPE1 and CPE2)</td>
            <td align="center" colspan="1" rowspan="1">CPEs (CPE1 and CPE2)</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">Multihomed enterprise, single provisioning domain</td>
            <td align="center" colspan="1" rowspan="1">Internal hosts or all CPEs (CPE1 and CPE2)</td>
            <td align="center" colspan="1" rowspan="1">CPEs (CPE1 and CPE2)</td>
          </tr>
        </tbody>
      </table>
      <t indent="0" pn="section-5-3">These deployment schemes are further discussed in the following
      subsections.</t>
      <section anchor="dcpe" numbered="true" toc="include" removeInRFC="false" pn="section-5.1">
        <name slugifiedName="name-residential-cpe">Residential CPE</name>
        <t indent="0" pn="section-5.1-1"><xref target="dotsrcpe" format="default" sectionFormat="of" derivedContent="Figure 5"/> depicts DOTS sessions that need to
        be established between a DOTS client (C) and two DOTS servers (S1, S2)
        within the context of the scenario described in <xref target="sc1" format="default" sectionFormat="of" derivedContent="Section 4.1"/>. As listed in <xref target="dep" format="default" sectionFormat="of" derivedContent="Table 1"/>, the
        DOTS client is hosted by the residential CPE.</t>
        <figure anchor="dotsrcpe" align="left" suppress-title="false" pn="figure-5">
          <name slugifiedName="name-dots-associations-for-a-mul">DOTS Associations for a Multihomed Residential CPE</name>
          <artwork align="center" name="" type="" alt="" pn="section-5.1-2.1">
                          +--+
                ----------|S1|
              /           +--+
             /    DOTS Server Domain #1  
            /
      +---+/  
      | C |
      +---+\  
       CPE  \ 
             \
              \           +--+
                ----------|S2|
                          +--+
                  DOTS Server Domain #2
</artwork>
        </figure>
        <t indent="0" pn="section-5.1-3">The DOTS client <bcp14>MUST</bcp14> resolve the DOTS server's name provided by each
   provisioning domain using the DNS servers either learned from the
   respective provisioning domain or associated
   with the interface(s) for which a DOTS server was explicitly
   configured
        (<xref target="msc" format="default" sectionFormat="of" derivedContent="Section 4"/>). IPv6-capable DOTS clients <bcp14>MUST</bcp14> use the
        source address selection algorithm defined in <xref target="RFC6724" format="default" sectionFormat="of" derivedContent="RFC6724"/> to select the candidate source addresses to
        contact each of these DOTS servers. DOTS sessions <bcp14>MUST</bcp14> be established
        and <bcp14>MUST</bcp14> be maintained with each of the DOTS servers because the
        mitigation scope of each of these servers is restricted. The DOTS
        client <bcp14>MUST</bcp14> use the security credentials (a certificate, typically)
        provided by a provisioning domain to authenticate itself to the DOTS
        server(s) provided by the same provisioning domain. How such security
        credentials are provided to the DOTS client is out of the scope of
        this document. The reader may refer to <xref target="RFC9132" sectionFormat="of" section="7.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9132#section-7.1" derivedContent="RFC9132"/> for more details about DOTS authentication
        methods.</t>
        <t indent="0" pn="section-5.1-4">When conveying a mitigation request to protect the attack
        target(s), the DOTS client <bcp14>MUST</bcp14> select an available DOTS server whose
        network has assigned the IP prefixes from which target
        addresses or prefixes are derived. This implies that if no appropriate
        DOTS server is found, the DOTS client <bcp14>MUST NOT</bcp14> send the mitigation
        request to any other available DOTS server.</t>
        <t indent="0" pn="section-5.1-5">For example, a mitigation request to protect target resources bound
        to a PA IP address or prefix cannot be satisfied by a provisioning domain
        other than the one that owns those addresses or prefixes. Consequently,
        if a CPE detects a DDoS attack that spreads over all its network
        attachments, it <bcp14>MUST</bcp14> contact all DOTS servers for mitigation
        purposes.</t>
        <t indent="0" pn="section-5.1-6">The DOTS client <bcp14>MUST</bcp14> be able to associate a DOTS server with each
        provisioning domain it serves. For example, if the DOTS client is
        provisioned with S1 using DHCP when attaching to a first network and
        with S2 using Protocol Configuration Option (PCO) <xref target="TS.24008" format="default" sectionFormat="of" derivedContent="TS.24008"/> when attaching to a second network, the DOTS
        client must record the interface from which a DOTS server was
        provisioned. A DOTS signaling session to a given DOTS server must be
        established using the interface from which the DOTS server was
        provisioned. If a DOTS server is explicitly configured, DOTS signaling
        with that server must be established via the interfaces that are
        indicated in the explicit configuration or via any active interface if
        no interface is configured.</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-5.2">
        <name slugifiedName="name-multihomed-enterprise-single">Multihomed Enterprise: Single CPE, Multiple Upstream ISPs</name>
        <t indent="0" pn="section-5.2-1"><xref target="dotsmcgms" format="default" sectionFormat="of" derivedContent="Figure 6"/> illustrates the DOTS sessions that
        can be established with a client-domain DOTS gateway (hosted within
        the CPE as per <xref target="dep" format="default" sectionFormat="of" derivedContent="Table 1"/>) that is enabled within
        the context of the scenario described in <xref target="sc2" format="default" sectionFormat="of" derivedContent="Section 4.2"/>.
        This deployment is characterized as follows:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.2-2">
          <li pn="section-5.2-2.1">One or more DOTS clients are enabled in hosts located in the
            internal network.</li>
          <li pn="section-5.2-2.2">A client-domain DOTS gateway is enabled to aggregate and then
            relay the requests towards upstream DOTS servers.</li>
        </ul>
        <figure anchor="dotsmcgms" align="left" suppress-title="false" pn="figure-6">
          <name slugifiedName="name-multiple-dots-clients-singl">Multiple DOTS Clients, Single DOTS Gateway, Multiple DOTS Servers</name>
          <artwork align="center" name="" type="" alt="" pn="section-5.2-3.1">
                                 +--+
....................   ----------|S1|
.    +---+         . /           +--+
.    | C1|----+    ./     DOTS Server Domain #1         
.    +---+    |    .
.             |   /.
.+---+      +-+-+/ .  
.| C3|------| G |  .
.+---+      +-+-+\ . 
.            CPE  \.
.     +---+    |   . 
.     | C2|----+   .\
.     +---+        . \          +--+
'..................'  ----------|S2|
                                +--+
 DOTS Client Domain     DOTS Server Domain #2   
</artwork>
        </figure>
        <t indent="0" pn="section-5.2-4">When PA addresses or prefixes are in use, the same
        considerations discussed in <xref target="dcpe" format="default" sectionFormat="of" derivedContent="Section 5.1"/> need to be
        followed by the client-domain DOTS gateway to contact its DOTS
        server(s). The client-domain DOTS gateways can be reachable from DOTS
        clients by using a unicast address or an anycast address (<xref target="RFC8811" section="3.2.4" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8811#section-3.2.4" derivedContent="RFC8811"/>).</t>
        <t indent="0" pn="section-5.2-5">Nevertheless, when PI addresses or prefixes are assigned, and absent
        any policy, the client-domain DOTS gateway <bcp14>SHOULD</bcp14> send mitigation
        requests to all its DOTS servers. Otherwise, the attack traffic may
        still be delivered via the ISP that hasn't received the
        mitigation request.</t>
        <t indent="0" pn="section-5.2-6">An alternate deployment model is depicted in <xref target="mcms" format="default" sectionFormat="of" derivedContent="Figure 7"/>. This deployment assumes that:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.2-7">
          <li pn="section-5.2-7.1">One or more DOTS clients are enabled in hosts located in the
            internal network. These DOTS clients may use <xref target="RFC8973" format="default" sectionFormat="of" derivedContent="RFC8973"/> to discover their DOTS server(s).</li>
          <li pn="section-5.2-7.2">These DOTS clients communicate directly with upstream DOTS
            servers.</li>
        </ul>
        <figure anchor="mcms" align="left" suppress-title="false" pn="figure-7">
          <name slugifiedName="name-multiple-dots-clients-multi">Multiple DOTS Clients, Multiple DOTS Servers</name>
          <artwork align="center" name="" type="" alt="" pn="section-5.2-8.1">
       ..........                   
       .  +--+  .      
 +--------|C1|--------+                
 |     .  +--+  .     |      
 |     .        .     |    
+--+   .  +--+  .   +--+
|S2|------|C3|------|S1|
+--+   .  +--+  .   +--+
 |     .        .     |    
 |     .  +--+  .     |     
 +--------|C2|--------+     
       .  +--+  .
       '........'    
      DOTS Client 
        Domain          
</artwork>
        </figure>
        <t indent="0" pn="section-5.2-9">If PI addresses or prefixes are in use, the DOTS client <bcp14>MUST</bcp14> send a
        mitigation request to all the DOTS servers. The use of the same
        anycast addresses to reach these DOTS servers is <bcp14>NOT RECOMMENDED</bcp14>. If a
        well-known anycast address is used to reach multiple DOTS servers, the
        CPE may not be able to select the appropriate provisioning domain to
        which the mitigation request should be forwarded. As a consequence,
        the request may not be forwarded to the appropriate DOTS server.</t>
        <t indent="0" pn="section-5.2-10">If PA addresses or prefixes are used, the same considerations
        discussed in <xref target="dcpe" format="default" sectionFormat="of" derivedContent="Section 5.1"/> need to be followed by the
        DOTS clients. Because DOTS clients are not embedded in the CPE and
        multiple addresses or prefixes may not be assigned to the DOTS client
        (typically in an IPv4 context), some issues may arise in how to steer
        traffic towards the appropriate DOTS server by using the appropriate
        source IP address. These complications discussed in <xref target="RFC4116" format="default" sectionFormat="of" derivedContent="RFC4116"/> are not specific to DOTS.</t>
        <t indent="0" pn="section-5.2-11">Another deployment approach is to enable many DOTS clients; each of
        them is responsible for handling communications with a specific DOTS
        server (see <xref target="scms" format="default" sectionFormat="of" derivedContent="Figure 8"/>).</t>
        <figure anchor="scms" align="left" suppress-title="false" pn="figure-8">
          <name slugifiedName="name-single-homed-dots-clients">Single-Homed DOTS Clients</name>
          <artwork align="center" name="" type="" alt="" pn="section-5.2-12.1">
       ..........           
       .  +--+  .      
 +--------|C1|  .              
 |     .  +--+  .
+--+   .  +--+  .   +--+
|S2|   .  |C2|------|S1|
+--+   .  +--+  .   +--+
       '........'
      DOTS Client 
        Domain  
</artwork>
        </figure>
        <t indent="0" pn="section-5.2-13">For both deployments depicted in Figures <xref format="counter" target="mcms" sectionFormat="of" derivedContent="7"/> and <xref format="counter" target="scms" sectionFormat="of" derivedContent="8"/>, each DOTS client <bcp14>SHOULD</bcp14> be provided with
        policies (e.g., a prefix filter that is used to filter DDoS detection
        alarms) that will trigger DOTS communications with the DOTS servers.
        Such policies will help the DOTS client to select the appropriate
        destination DOTS server. The CPE <bcp14>MUST</bcp14> select the appropriate source IP
        address when forwarding DOTS messages received from an internal DOTS
        client.</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-5.3">
        <name slugifiedName="name-multihomed-enterprise-multip">Multihomed Enterprise: Multiple CPEs, Multiple Upstream ISPs</name>
        <t indent="0" pn="section-5.3-1">The deployments depicted in Figures <xref format="counter" target="mcms" sectionFormat="of" derivedContent="7"/> and <xref format="counter" target="scms" sectionFormat="of" derivedContent="8"/>
        also apply to the scenario described in <xref target="sc3" format="default" sectionFormat="of" derivedContent="Section 4.3"/>.
        One specific problem for this scenario is to select the appropriate
        exit router when contacting a given DOTS server.</t>
        <t indent="0" pn="section-5.3-2">An alternative deployment scheme is shown in <xref target="mcmgms" format="default" sectionFormat="of" derivedContent="Figure 9"/>:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.3-3">
          <li pn="section-5.3-3.1">DOTS clients are enabled in hosts located in the internal
            network.</li>
          <li pn="section-5.3-3.2">A client-domain DOTS gateway is enabled in each CPE (CPE1 and
            CPE2 per <xref target="dep" format="default" sectionFormat="of" derivedContent="Table 1"/>).</li>
          <li pn="section-5.3-3.3">Each of these client-domain DOTS gateways communicates with the
            DOTS server of the provisioning domain.</li>
        </ul>
        <figure anchor="mcmgms" align="left" suppress-title="false" pn="figure-9">
          <name slugifiedName="name-multiple-dots-clients-multip">Multiple DOTS Clients, Multiple DOTS Gateways, Multiple DOTS Servers</name>
          <artwork align="center" name="" type="" alt="" pn="section-5.3-4.1">
       .................................
       .                 +---+         .
       .    +------------| C1|----+    .            
       .    |            +---+    |    .  
       .    |                     |    .
+--+   .  +-+-+      +---+      +-+-+  .   +--+  
|S2|------|G2 |------| C3|------|G1 |------|S1|
+--+   .  +-+-+      +---+      +-+-+  .   +--+ 
       .  CPE2                   CPE1  .  
       .    |            +---+    |    . 
       .    +------------| C2|----+    . 
       .                 +---+         . 
       '...............................'
              DOTS Client Domain
</artwork>
        </figure>
        <t indent="0" pn="section-5.3-5">When PI addresses or prefixes are used, DOTS clients <bcp14>MUST</bcp14> contact all
        the client-domain DOTS gateways to send a DOTS message. Client-domain
        DOTS gateways will then relay the request to the DOTS servers as a
        function of local policy. Note that (same) anycast addresses cannot be
        used to establish DOTS sessions between DOTS clients and client-domain
        DOTS gateways because only one DOTS gateway will receive the
        mitigation request. </t>
        <t indent="0" pn="section-5.3-6"> When PA addresses/prefixes are used, but no filter rules are provided
	to DOTS clients, the DOTS clients <bcp14>MUST</bcp14> contact all client-domain DOTS gateways simultaneously to send a DOTS message.

 Client-domain DOTS gateways <bcp14>MUST</bcp14> check whether a received 
  request is to be forwarded upstream (if the target IP prefix is
  managed by the upstream server) or rejected.

        </t>
        <t indent="0" pn="section-5.3-7">When PA addresses or prefixes are used, but specific filter rules are
        provided to DOTS clients using some means that are out of scope of
        this document, the clients <bcp14>MUST</bcp14> select the appropriate client-domain
        DOTS gateway to reach. The use of the same anycast addresses is <bcp14>NOT RECOMMENDED</bcp14> to reach client-domain DOTS gateways.</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-5.4">
        <name slugifiedName="name-multihomed-enterprise-single-">Multihomed Enterprise: Single ISP</name>
        <t indent="0" pn="section-5.4-1">The key difference between the scenario described in <xref target="sc4" format="default" sectionFormat="of" derivedContent="Section 4.4"/> and the other scenarios is that
        multihoming is provided by the same ISP. Concretely, that ISP can
        decide to provision the enterprise network with:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.4-2">
          <li pn="section-5.4-2.1">The same DOTS server for all network attachments.</li>
          <li pn="section-5.4-2.2">Distinct DOTS servers for each network attachment. These DOTS
            servers need to coordinate when a mitigation action is received
            from the enterprise network.</li>
        </ul>
        <t indent="0" pn="section-5.4-3">In both cases, DOTS agents enabled within the enterprise network
        <bcp14>MAY</bcp14> decide to select one or all network attachments to send DOTS
        mitigation requests.</t>
      </section>
    </section>
    <section anchor="Security" numbered="true" toc="include" removeInRFC="false" pn="section-6">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-6-1">A set of security threats related to multihoming is discussed in
      <xref target="RFC4218" format="default" sectionFormat="of" derivedContent="RFC4218"/>.</t>
      <t indent="0" pn="section-6-2">DOTS-related security considerations are discussed in <xref target="RFC8811" sectionFormat="of" section="5" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8811#section-5" derivedContent="RFC8811"/>.</t>
      <t indent="0" pn="section-6-3">DOTS clients should control the information that they share with peer
      DOTS servers. In particular, if a DOTS client maintains DOTS sessions
      with specific DOTS servers per interconnection link, the DOTS client
      <bcp14>SHOULD NOT</bcp14> leak information specific to a given link to DOTS servers on
      different interconnection links that are not authorized to mitigate
      attacks for that given link. Whether this constraint is relaxed is
      deployment specific and must be subject to explicit consent from the
      DOTS client domain administrator. How to seek such consent is
      implementation and deployment specific.</t>
    </section>
    <section anchor="IANA" numbered="true" toc="include" removeInRFC="false" pn="section-7">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-7-1">This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references pn="section-8">
      <name slugifiedName="name-references">References</name>
      <references pn="section-8.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="RFC6724" target="https://www.rfc-editor.org/info/rfc6724" quoteTitle="true" derivedAnchor="RFC6724">
          <front>
            <title>Default Address Selection for Internet Protocol Version 6 (IPv6)</title>
            <author fullname="D. Thaler" initials="D." role="editor" surname="Thaler"/>
            <author fullname="R. Draves" initials="R." surname="Draves"/>
            <author fullname="A. Matsumoto" initials="A." surname="Matsumoto"/>
            <author fullname="T. Chown" initials="T." surname="Chown"/>
            <date month="September" year="2012"/>
            <abstract>
              <t indent="0">This document describes two algorithms, one for source address selection and one for destination address selection. The algorithms specify default behavior for all Internet Protocol version 6 (IPv6) implementations. They do not override choices made by applications or upper-layer protocols, nor do they preclude the development of more advanced mechanisms for address selection. The two algorithms share a common context, including an optional mechanism for allowing administrators to provide policy that can override the default behavior. In dual-stack implementations, the destination address selection algorithm can consider both IPv4 and IPv6 addresses -- depending on the available source addresses, the algorithm might prefer IPv6 addresses over IPv4 addresses, or vice versa.</t>
              <t indent="0">Default address selection as defined in this specification applies to all IPv6 nodes, including both hosts and routers. This document obsoletes RFC 3484. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6724"/>
          <seriesInfo name="DOI" value="10.17487/RFC6724"/>
        </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="RFC8811" target="https://www.rfc-editor.org/info/rfc8811" quoteTitle="true" derivedAnchor="RFC8811">
          <front>
            <title>DDoS Open Threat Signaling (DOTS) Architecture</title>
            <author fullname="A. Mortensen" initials="A." role="editor" surname="Mortensen"/>
            <author fullname="T. Reddy.K" initials="T." role="editor" surname="Reddy.K"/>
            <author fullname="F. Andreasen" initials="F." surname="Andreasen"/>
            <author fullname="N. Teague" initials="N." surname="Teague"/>
            <author fullname="R. Compton" initials="R." surname="Compton"/>
            <date month="August" year="2020"/>
            <abstract>
              <t indent="0">This document describes an architecture for establishing and maintaining Distributed Denial-of-Service (DDoS) Open Threat Signaling (DOTS) within and between domains.  The document does not specify protocols or protocol extensions, instead focusing on defining architectural relationships, components, and concepts used in a DOTS deployment.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8811"/>
          <seriesInfo name="DOI" value="10.17487/RFC8811"/>
        </reference>
      </references>
      <references pn="section-8.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="RFC3582" target="https://www.rfc-editor.org/info/rfc3582" quoteTitle="true" derivedAnchor="RFC3582">
          <front>
            <title>Goals for IPv6 Site-Multihoming Architectures</title>
            <author fullname="J. Abley" initials="J." surname="Abley"/>
            <author fullname="B. Black" initials="B." surname="Black"/>
            <author fullname="V. Gill" initials="V." surname="Gill"/>
            <date month="August" year="2003"/>
            <abstract>
              <t indent="0">This document outlines a set of goals for proposed new IPv6 site- multihoming architectures.  It is recognised that this set of goals is ambitious and that some goals may conflict with others.  The solution or solutions adopted may only be able to satisfy some of the goals presented here.  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3582"/>
          <seriesInfo name="DOI" value="10.17487/RFC3582"/>
        </reference>
        <reference anchor="RFC4116" target="https://www.rfc-editor.org/info/rfc4116" quoteTitle="true" derivedAnchor="RFC4116">
          <front>
            <title>IPv4 Multihoming Practices and Limitations</title>
            <author fullname="J. Abley" initials="J." surname="Abley"/>
            <author fullname="K. Lindqvist" initials="K." surname="Lindqvist"/>
            <author fullname="E. Davies" initials="E." surname="Davies"/>
            <author fullname="B. Black" initials="B." surname="Black"/>
            <author fullname="V. Gill" initials="V." surname="Gill"/>
            <date month="July" year="2005"/>
            <abstract>
              <t indent="0">Multihoming is an essential component of service for many Internet sites.  This document describes some implementation strategies for multihoming with IPv4 and enumerates features for comparison with other multihoming proposals (particularly those related to IPv6).  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4116"/>
          <seriesInfo name="DOI" value="10.17487/RFC4116"/>
        </reference>
        <reference anchor="RFC4218" target="https://www.rfc-editor.org/info/rfc4218" quoteTitle="true" derivedAnchor="RFC4218">
          <front>
            <title>Threats Relating to IPv6 Multihoming Solutions</title>
            <author fullname="E. Nordmark" initials="E." surname="Nordmark"/>
            <author fullname="T. Li" initials="T." surname="Li"/>
            <date month="October" year="2005"/>
            <abstract>
              <t indent="0">This document lists security threats related to IPv6 multihoming. Multihoming can introduce new opportunities to redirect packets to different, unintended IP addresses.</t>
              <t indent="0">The intent is to look at how IPv6 multihoming solutions might make the Internet less secure; we examine threats that are inherent to all IPv6 multihoming solutions rather than study any specific proposed solution. The threats in this document build upon the threats discovered and discussed as part of the Mobile IPv6 work. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4218"/>
          <seriesInfo name="DOI" value="10.17487/RFC4218"/>
        </reference>
        <reference anchor="RFC4732" target="https://www.rfc-editor.org/info/rfc4732" quoteTitle="true" derivedAnchor="RFC4732">
          <front>
            <title>Internet Denial-of-Service Considerations</title>
            <author initials="M." surname="Handley" fullname="M. Handley" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="E." surname="Rescorla" fullname="E. Rescorla" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author>
              <organization showOnFrontPage="true">IAB</organization>
            </author>
            <date year="2006" month="December"/>
          </front>
          <seriesInfo name="RFC" value="4732"/>
          <seriesInfo name="DOI" value="10.17487/RFC4732"/>
        </reference>
        <reference anchor="RFC7556" target="https://www.rfc-editor.org/info/rfc7556" quoteTitle="true" derivedAnchor="RFC7556">
          <front>
            <title>Multiple Provisioning Domain Architecture</title>
            <author fullname="D. Anipko" initials="D." role="editor" surname="Anipko"/>
            <date month="June" year="2015"/>
            <abstract>
              <t indent="0">This document is a product of the work of the Multiple Interfaces Architecture Design team.  It outlines a solution framework for some of the issues experienced by nodes that can be attached to multiple networks simultaneously.  The framework defines the concept of a Provisioning Domain (PvD), which is a consistent set of network configuration information.  PvD-aware nodes learn PvD-specific information from the networks they are attached to and/or other sources.  PvDs are used to enable separation and configuration consistency in the presence of multiple concurrent connections.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7556"/>
          <seriesInfo name="DOI" value="10.17487/RFC7556"/>
        </reference>
        <reference anchor="RFC8043" target="https://www.rfc-editor.org/info/rfc8043" quoteTitle="true" derivedAnchor="RFC8043">
          <front>
            <title>Source-Address-Dependent Routing and Source Address Selection for IPv6 Hosts: Overview of the Problem Space</title>
            <author fullname="B. Sarikaya" initials="B." surname="Sarikaya"/>
            <author fullname="M. Boucadair" initials="M." surname="Boucadair"/>
            <date month="January" year="2017"/>
            <abstract>
              <t indent="0">This document presents the source-address-dependent routing (SADR) problem space from the host's perspective. Both multihomed hosts and hosts with multiple interfaces are considered. Several network architectures are presented to illustrate why source address selection and next-hop resolution are needed in view of source-address-dependent routing.</t>
              <t indent="0">The document is scoped on identifying a set of scenarios for source-address-dependent routing from the host's perspective and analyzing a set of solutions to mitigate encountered issues. The document does not make any solution recommendations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8043"/>
          <seriesInfo name="DOI" value="10.17487/RFC8043"/>
        </reference>
        <reference anchor="RFC8612" target="https://www.rfc-editor.org/info/rfc8612" quoteTitle="true" derivedAnchor="RFC8612">
          <front>
            <title>DDoS Open Threat Signaling (DOTS) Requirements</title>
            <author fullname="A. Mortensen" initials="A." surname="Mortensen"/>
            <author fullname="T. Reddy" initials="T." surname="Reddy"/>
            <author fullname="R. Moskowitz" initials="R." surname="Moskowitz"/>
            <date month="May" year="2019"/>
            <abstract>
              <t indent="0">This document defines the requirements for the Distributed Denial-of- Service (DDoS) Open Threat Signaling (DOTS) protocols enabling coordinated response to DDoS attacks.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8612"/>
          <seriesInfo name="DOI" value="10.17487/RFC8612"/>
        </reference>
        <reference anchor="RFC8783" target="https://www.rfc-editor.org/info/rfc8783" quoteTitle="true" derivedAnchor="RFC8783">
          <front>
            <title>Distributed Denial-of-Service Open Threat Signaling (DOTS) Data Channel Specification</title>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="T. Reddy.K" initials="T." role="editor" surname="Reddy.K"/>
            <date month="May" year="2020"/>
            <abstract>
              <t indent="0">The document specifies a Distributed Denial-of-Service Open Threat Signaling (DOTS) data channel used for bulk exchange of data that cannot easily or appropriately communicated through the DOTS signal channel under attack conditions.</t>
              <t indent="0">This is a companion document to "Distributed Denial-of-Service Open Threat Signaling (DOTS) Signal Channel Specification" (RFC 8782).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8783"/>
          <seriesInfo name="DOI" value="10.17487/RFC8783"/>
        </reference>
        <reference anchor="RFC8803" target="https://www.rfc-editor.org/info/rfc8803" quoteTitle="true" derivedAnchor="RFC8803">
          <front>
            <title>0-RTT TCP Convert Protocol</title>
            <author fullname="O. Bonaventure" initials="O." role="editor" surname="Bonaventure"/>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="S. Gundavelli" initials="S." surname="Gundavelli"/>
            <author fullname="S. Seo" initials="S." surname="Seo"/>
            <author fullname="B. Hesmans" initials="B." surname="Hesmans"/>
            <date month="July" year="2020"/>
            <abstract>
              <t indent="0">This document specifies an application proxy, called Transport Converter, to assist the deployment of TCP extensions such as Multipath TCP. A Transport Converter may provide conversion service for one or more TCP extensions. The conversion service is provided by means of the 0-RTT TCP Convert Protocol (Convert).</t>
              <t indent="0">This protocol provides 0-RTT (Zero Round-Trip Time) conversion service since no extra delay is induced by the protocol compared to connections that are not proxied. Also, the Convert Protocol does not require any encapsulation (no tunnels whatsoever).</t>
              <t indent="0">This specification assumes an explicit model, where the Transport Converter is explicitly configured on hosts. As a sample applicability use case, this document specifies how the Convert Protocol applies for Multipath TCP.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8803"/>
          <seriesInfo name="DOI" value="10.17487/RFC8803"/>
        </reference>
        <reference anchor="RFC8903" target="https://www.rfc-editor.org/info/rfc8903" quoteTitle="true" derivedAnchor="RFC8903">
          <front>
            <title>Use Cases for DDoS Open Threat Signaling</title>
            <author fullname="R. Dobbins" initials="R." surname="Dobbins"/>
            <author fullname="D. Migault" initials="D." surname="Migault"/>
            <author fullname="R. Moskowitz" initials="R." surname="Moskowitz"/>
            <author fullname="N. Teague" initials="N." surname="Teague"/>
            <author fullname="L. Xia" initials="L." surname="Xia"/>
            <author fullname="K. Nishizuka" initials="K." surname="Nishizuka"/>
            <date month="May" year="2021"/>
            <abstract>
              <t indent="0">The DDoS Open Threat Signaling (DOTS) effort is intended to provide protocols to facilitate interoperability across disparate DDoS Mitigation solutions.  This document presents sample use cases that describe the interactions expected between the DOTS components as well as DOTS messaging exchanges.  These use cases are meant to identify the interacting DOTS components, how they collaborate, and what the typical information to be exchanged is.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8903"/>
          <seriesInfo name="DOI" value="10.17487/RFC8903"/>
        </reference>
        <reference anchor="RFC8973" target="https://www.rfc-editor.org/info/rfc8973" quoteTitle="true" derivedAnchor="RFC8973">
          <front>
            <title>DDoS Open Threat Signaling (DOTS) Agent Discovery</title>
            <author fullname="M. Boucadair" initials="M." surname="Boucadair"/>
            <author fullname="T. Reddy.K" initials="T." surname="Reddy.K"/>
            <date month="January" year="2021"/>
            <abstract>
              <t indent="0">This document specifies mechanisms to configure DDoS Open Threat Signaling (DOTS) clients with their DOTS servers.  The discovery procedure also covers the DOTS signal channel Call Home.  It can be useful to know the appropriate DOTS server for a given location in order to engage mitigation actions.  This is true even in cases where the DOTS client cannot localize the attack: cases where it only knows that some resources are under attack and that help is needed.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8973"/>
          <seriesInfo name="DOI" value="10.17487/RFC8973"/>
        </reference>
        <reference anchor="RFC9132" target="https://www.rfc-editor.org/info/rfc9132" quoteTitle="true" derivedAnchor="RFC9132">
          <front>
            <title>Distributed Denial-of-Service Open Threat Signaling (DOTS) Signal Channel Specification</title>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="J. Shallow" initials="J." surname="Shallow"/>
            <author fullname="T. Reddy.K" initials="T." surname="Reddy.K"/>
            <date month="September" year="2021"/>
            <abstract>
              <t indent="0">This document specifies the Distributed Denial-of-Service Open Threat Signaling (DOTS) signal channel, a protocol for signaling the need for protection against Distributed Denial-of-Service (DDoS) attacks to a server capable of enabling network traffic mitigation on behalf of the requesting client.</t>
              <t indent="0">A companion document defines the DOTS data channel, a separate reliable communication layer for DOTS management and configuration purposes.</t>
              <t indent="0">This document obsoletes RFC 8782.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9132"/>
          <seriesInfo name="DOI" value="10.17487/RFC9132"/>
        </reference>
        <reference anchor="TS.24008" target="https://www.3gpp.org/DynaReport/24008.htm" quoteTitle="true" derivedAnchor="TS.24008">
          <front>
            <title>Mobile radio interface Layer 3 specification; Core network protocols; Stage 3</title>
            <author>
              <organization showOnFrontPage="true">3GPP</organization>
            </author>
            <date month="December" year="2019"/>
          </front>
          <seriesInfo name="3GPP TS" value="24.008 16.3.0"/>
        </reference>
      </references>
    </references>
    <section anchor="Acknowledgements" numbered="false" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t indent="0" pn="section-appendix.a-1">Thanks to <contact fullname="Roland Dobbins"/>, <contact fullname="Nik Teague"/>, <contact fullname="Jon Shallow"/>, <contact fullname="Dan Wing"/>, and
      <contact fullname="Christian Jacquenet"/> for sharing their comments on the mailing list.</t>
      <t indent="0" pn="section-appendix.a-2">Thanks to <contact fullname="Kirill Kasavchenko"/> for the comments.</t>
      <t indent="0" pn="section-appendix.a-3">Thanks to <contact fullname="Kathleen Moriarty"/> for the secdir review, <contact fullname="Joel Jaeggli"/> for
      the opsdir review, <contact fullname="Mirja Kühlewind"/> for the tsvart review, and <contact fullname="Dave       Thaler"/> for the intdir review.</t>
      <t indent="0" pn="section-appendix.a-4">Many thanks to <contact fullname="Roman Danyliw"/> for the careful AD review.</t>
      <t indent="0" pn="section-appendix.a-5">Thanks to <contact fullname="Lars Eggert"/>, <contact fullname="Robert Wilton"/>, <contact fullname="Paul Wouters"/>, <contact fullname="Erik Kline"/>, and
      <contact fullname="Éric Vyncke"/> for the IESG review.</t>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author initials="M" surname="Boucadair" fullname="Mohamed Boucadair">
        <organization showOnFrontPage="true">Orange</organization>
        <address>
          <postal>
            <street/>
            <city>Rennes</city>
            <region/>
            <code>35000</code>
            <country>France</country>
          </postal>
          <email>mohamed.boucadair@orange.com</email>
        </address>
      </author>
      <author initials="T" surname="Reddy.K" fullname="Tirumaleswar Reddy.K">
        <organization showOnFrontPage="true">Nokia</organization>
        <address>
          <email>kondtir@gmail.com</email>
        </address>
      </author>
      <author initials="W" surname="Pan" fullname="Wei Pan">
        <organization showOnFrontPage="true">Huawei Technologies</organization>
        <address>
          <email>william.panwei@huawei.com</email>
          <uri/>
        </address>
      </author>
    </section>
  </back>
</rfc>
