<?xml version="1.0" encoding="US-ASCII"?> version='1.0' 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"?> [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>

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

  <front>

    <title abbrev="DOTS Multihoming">Multi-homing Multihoming">Multihoming Deployment Considerations
    for Distributed-Denial-of-Service DDoS Open Threat Signaling (DOTS)</title>
    <seriesInfo name="RFC" value="9284"/>
    <author initials="M" surname="Boucadair" fullname="Mohamed Boucadair" initials="M." surname="Boucadair"> 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 initials="T" surname="Reddy.K" fullname="Tirumaleswar Reddy.K" initials="T." surname="Reddy.K">
      <organization>Akamai</organization> Reddy.K">
      <organization>Nokia</organization>
      <address>
        <postal>
          <street>Embassy Golf Link Business Park</street>

          <city>Bangalore</city>

          <region>Karnataka</region>

          <code>560071</code>

          <country>India</country>
        </postal>
        <email>kondtir@gmail.com</email>
      </address>
    </author>
    <author initials="W" surname="Pan" fullname="Wei Pan" initials="W." surname="Pan"> Pan">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <street></street>

          <city></city>

          <region></region>

          <code></code>

          <country></country>
        </postal>

        <phone></phone>

        <facsimile></facsimile>
        <email>william.panwei@huawei.com</email>

        <uri></uri>
        <uri/>
      </address>
    </author>
    <date /> month="August" year="2022"/>

    <abstract>
      <t>This document discusses multi-homing multihoming considerations for
      Distributed-Denial-of-Service
      DDoS Open Threat Signaling (DOTS). The goal is
      to provide some guidance for DOTS clients and client-domain DOTS
      gateways when multihomed.</t>

      <!--
-->
    </abstract>
  </front>
  <middle>
    <section title="Introduction"> numbered="true" toc="default">
      <name>Introduction</name>
      <t>In many deployments, it may not be possible for a network to
      determine the cause of a distributed Denial-of-Service (DoS) DDoS attack <xref target="RFC4732"></xref>. target="RFC4732" format="default"/>. 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"></xref>, target="RFC8811" format="default"/>, 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 which that
      can evolve as the attacks mutate, thereby reducing the impact of an
      attack and leading to more efficient more-efficient responsive actions. <xref
      target="RFC8903"></xref> target="RFC8903" format="default"/> identifies a set of scenarios for DOTS; most of
      these scenarios involve a Customer Premises Equipment (CPE).</t>
      <t>The high-level base DOTS architecture is illustrated in <xref
      target="arch"></xref> (<xref target="RFC8811"></xref>):</t>

      <t><figure align="center" anchor="arch" title="Basic target="arch" format="default"/> (repeated from <xref target="RFC8811" sectionFormat="of" section="2"/>):</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 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 DOTS server(s) addresses
      (e.g., by using for the DOTS server or
   servers <xref target="RFC8973"></xref>).</t> target="RFC8973" format="default"/>.</t>
      <t>DOTS may be deployed within networks that are connected to one single
      upstream provider. DOTS can also be enabled within networks that are
      multi-homed.
      multihomed. The reader may refer to <xref target="RFC3582"></xref> target="RFC3582" format="default"/> for
      an overview of multi-homing multihoming goals and motivations. This document
      discusses DOTS multi-homing multihoming considerations. Specifically, the document
      aims to:<list style="numbers"> to:</t>
      <ol spacing="normal"><li>
          <t>Complete the base DOTS architecture with multi-homing multihoming specifics.
          Those specifics need to be taken into account because: <list
              style="symbols">
              <t>Sending </t>
          <ul spacing="normal">
            <li>Sending a DOTS mitigation request to an arbitrary DOTS server
              will not necessarily help in mitigating a DDoS attack.</t>

              <t>Randomly attack.</li>
            <li>Randomly replicating all DOTS mitigation requests among all
              available DOTS servers is suboptimal.</t>

              <t>Sequentially suboptimal.</li>
            <li>Sequentially contacting DOTS servers may increase the delay
              before a mitigation plan is enforced.</t>
            </list></t>

          <t>Identify enforced.</li>
          </ul>
        </li>
        <li>Identify DOTS deployment schemes in a multi-homing multihoming context, where
          DOTS services can be offered by all or a subset of upstream
          providers.</t>
          providers.</li>
        <li>
          <t>Provide guidelines and recommendations for placing DOTS requests
          in multi-homed multihomed networks, e.g.,: <list style="symbols">
              <t>Select for example: </t>
          <ul spacing="normal">
            <li>Select the appropriate DOTS server(s).</t>

              <t>Identify server(s).</li>
            <li>Identify cases where anycast is not recommended for DOTS.</t>
            </list></t>
        </list></t> DOTS.</li>
          </ul>
        </li>
      </ol>

      <t>This document adopts the following methodology: <list style="symbols">
          <t>Identify </t>
      <ul spacing="normal">
        <li>Identify and extract viable deployment candidates from <xref
          target="RFC8903"></xref>.</t> target="RFC8903" format="default"/>.</li>
        <li>
          <t>Augment the description with multi-homing multihoming technicalities, e.g.,
          <list style="symbols">
              <t>One for example:
          </t>
          <ul spacing="normal">
            <li>One vs. multiple upstream network providers</t>

              <t>One providers</li>
            <li>One vs. multiple interconnect routers</t>

              <t>Provider-Independent routers</li>
            <li>Provider-Independent (PI) vs. Provider-Aggregatable (PA) IP
              addresses</t>
            </list></t>

          <t>Describe
              addresses</li>
          </ul>
        </li>
        <li>Describe the recommended behavior of DOTS clients and
          client-domain DOTS gateways for each case.</t>
        </list></t>

      <t>Multi-homed case.</li>
      </ul>
      <t>Multihomed DOTS agents are assumed to make use of the protocols
      defined in <xref target="RFC9132"></xref> target="RFC9132" format="default"/> and <xref
      target="RFC8783"></xref>. target="RFC8783" format="default"/>. This document does not require any specific
      extension to the base DOTS protocols for deploying DOTS in a multi-homed multihomed
      context.</t>
    </section>
    <section title="Requirements Language">
      <t>The numbered="true" toc="default">
      <name>Requirements Language</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 target="RFC8174"></xref> target="RFC8174"/>
    when, and only when, they appear in all capitals, as shown here.</t> here.
        </t>
    </section>
    <section title="Terminology"> numbered="true" toc="default">
      <name>Terminology</name>
      <t>This document makes use of the terms defined in <xref
      target="RFC8811"></xref>, target="RFC8811" format="default"/>, <xref target="RFC8612"></xref>, target="RFC8612" format="default"/>, and <xref
      target="RFC4116"></xref>. target="RFC4116" format="default"/>. In particular:</t>

      <t><list style="hanging">
          <t hangText="Provider-Aggregatable
      <dl newline="false" spacing="normal">
        <dt>Provider-Aggregatable (PA) addresses:">globally-unique addresses:</dt>
        <dd>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 (Section 2
          of <xref target="RFC4116"></xref>).</t>

          <t hangText="Provider-Independent (<xref target="RFC4116" section="2" sectionFormat="of"/>).</dd>
        <dt>Provider-Independent (PI) addresses:">globally-unique addresses:</dt>
        <dd>globally unique
          addresses that are not assigned by a transit provider, but are
          provided by some other organisation, organization, usually a Regional Internet
          Registry (RIR) (Section 2 of <xref target="RFC4116"></xref>).</t>
        </list></t> (<xref target="RFC4116" section="2" sectionFormat="of"/>).</dd>
      </dl>
      <t>IP indifferently refers to IPv4 or IPv6.</t>
    </section>
    <section anchor="msc" title="Multi-Homing Scenarios"> numbered="true" toc="default">
      <name>Multihoming Scenarios</name>
      <t>This section describes some multi-homing 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>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"></xref>. target="RFC8973" format="default"/>. 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>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, this means that the
      DOTS server can be reached via any active interface.</t>
      <t>This section distinguishes between residential CPEs vs. and enterprise
      CPEs because PI addresses may be used for enterprises while this enterprises, which is not
      the current practice for residential CPEs.</t>
      <t>In the following subsections, all or a subset of interconnection
      links are associated with DOTS servers.</t>

      <section anchor="sc1" title="Multi-Homed Residential numbered="true" toc="default">
        <name>Multihomed Residential: Single CPE"> CPE</name>
        <t>The scenario shown in <xref target="rcpe"></xref> target="rcpe" format="default"/> is characterized
        as follows: <list style="symbols">
            <t>The </t>
        <ul spacing="normal">
          <li>The home network is connected to the Internet using one single
            CPE.</t>
            CPE.</li>
          <li>
            <t>The CPE is connected to multiple provisioning domains (i.e.,
            both fixed and mobile networks). Provisioning domain Domain (PvD) is
            explained in <xref target="RFC7556"></xref>. <vspace
            blankLines="1" />In target="RFC7556" format="default"/>. </t>
            <t>In a typical deployment scenario, these
            provisioning domains are owned by the same provider (see Section 1
            of <xref target="RFC8803"></xref>). (<xref target="RFC8803" sectionFormat="of" section="1" format="default"/>). Such a deployment is meant to
            seamlessly use both fixed and cellular networks for bonding,
            faster hand-overs, handovers, or better resiliency purposes.</t>

            <t>Each
          </li>

<li>Each of these provisioning domains assigns IP
            addresses/prefixes 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"></xref>. target="RFC8973" format="default"/>. These
            addresses/prefixes
            addresses or prefixes are assumed to be Provider-Aggregatable
            (PA).</t>

            <t>Because
            (PA).</li>
          <li>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"></xref>.</t>
          </list></t>

        <t><figure align="center" anchor="rcpe"
            title="Typical Multi-homed target="RFC8043" format="default"/>.</li>
        </ul>
        <figure anchor="rcpe">
          <name>Typical Multihomed Residential CPE">
            <artwork><![CDATA[ CPE</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
               +-------+            +-------+
               |Fixed  |            |Mobile |
               |Network|            |Network|
               +---+---+            +---+---+
                   |                    |     Service Providers
       ............|....................|.......................
                   +---------++---------+     Home Network
                             ||
                          +--++-+
                          | CPE |
                          +-----+
                                ... (Internal Network)
]]></artwork>
          </figure></t>
        </figure>
      </section>
      <section anchor="sc2"
               title="Multi-Homed numbered="true" toc="default">
        <name>Multihomed Enterprise: Single CPE, Multiple Upstream ISPs"> ISPs</name>
        <t>The scenario shown in <xref target="scmi"></xref> target="scmi" format="default"/> is characterized
        as follows: <list style="symbols">
            <t>The </t>
        <ul spacing="normal">
          <li>The enterprise network is connected to the Internet using a
            single router.</t>

            <t>That router.</li>
          <li>That router is connected to multiple provisioning domains
            managed by distinct administrative entities.</t>
          </list></t> entities.</li>
        </ul>
        <t>Unlike the previous scenario, two sub-cases can be considered for
        an enterprise network with regards regard to assigned addresses:</t>

        <t><list style="numbers">
            <t>PI addresses/prefixes:
        <ol spacing="normal" type="1"><li>PI addresses or prefixes: The enterprise is the owner of the IP
            addresses/prefixes;
            addresses or prefixes; the same address/prefix address or prefix is then used when
            establishing communications over any of the provisioning
            domains.</t>

            <t>PA addresses/prefixes:
            domains.</li>
          <li>PA addresses or prefixes: Each of the provisioning domains assigns
            IP addresses/prefixes addresses or prefixes to the enterprise network. These
            addresses/prefixes
            addresses or prefixes are used when communicating over the
            provisioning domain that assigned them.</t>
          </list></t>

        <t><figure align="center" anchor="scmi"
            title="Multi-homed them.</li>
        </ol>
        <figure anchor="scmi">
          <name>Multihomed Enterprise Network (Single CPE connected Connected to Multiple Networks)">
            <artwork><![CDATA[ Networks)</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
               +------+              +------+
               | ISP1 |              | ISP2 |
               +---+--+              +--+---+
                   |                    |     Service Providers
       ............|....................|.......................
                   +---------++---------+     Enterprise Network
                             ||
                          +--++-+
                          | CPE |
                          +-----+
                                ... (Internal Network)
]]></artwork>
          </figure></t>
        </figure>
      </section>
      <section anchor="sc3"
               title="Multi-homed numbered="true" toc="default">
        <name>Multihomed Enterprise: Multiple CPEs, Multiple Upstream ISPs"> ISPs</name>
        <t>This scenario is similar to the one described in <xref
        target="sc2"></xref>; target="sc2" format="default"/>; the main difference is that dedicated routers
        (CPE1 and CPE2) are used to connect to each provisioning domain.</t>

        <t><figure anchor="mcmi"
            title="Multi-homed
        <figure anchor="mcmi">
          <name>Multihomed Enterprise Network (Multiple CPEs, Multiple ISPs)">
            <artwork><![CDATA[ ISPs)</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
                         +------+    +------+
                         | ISP1 |    | ISP2 |
                         +---+--+    +--+---+
                             |          |     Service Providers
       ......................|..........|.......................
                             |          |     Enterprise Network
                         +---+--+    +--+---+
                         | CPE1 |    | CPE2 |
                         +------+    +------+

                               ... (Internal Network)
]]></artwork>
          </figure></t>
        </figure>
      </section>
      <section anchor="sc4" title="Multi-homed numbered="true" toc="default">
        <name>Multihomed Enterprise with the Same ISP"> ISP</name>
        <t>This scenario is a variant of Sections <xref format="counter"
        target="sc2"></xref> target="sc2"/> and <xref format="counter" target="sc3"></xref> target="sc3"/>
        in which multi-homing multihoming is supported by the same ISP (i.e., same
        provisioning domain).</t>
      </section>
    </section>
    <section title="DOTS Multi-homing numbered="true" toc="default">
      <name>DOTS Multihoming Deployment Considerations"> Considerations</name>
      <t><xref target="dep"></xref> target="dep" format="default"/> provides some sample, non-exhaustive, non-exhaustive
      deployment schemes to illustrate how DOTS agents may be deployed for
      each of the scenarios introduced in <xref target="msc"></xref>.</t>

      <texttable target="msc" format="default"/>.</t>
      <table anchor="dep" style="all" title="Sample align="center">
        <name>Sample Deployment Cases">
        <ttcol align="center">Scenario</ttcol>

        <ttcol Cases</name>
        <thead>
          <tr>
            <th align="center">Scenario</th>
            <th align="center">DOTS client</ttcol>

        <ttcol align="center">Client-domain DOTS gateway</ttcol>

        <c>Residential CPE</c>

        <c>CPE</c>

        <c>N/A</c>

        <c>Single Client</th>
            <th align="center">Client-Domain DOTS Gateway</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="center">Residential CPE</td>
            <td align="center">CPE</td>
            <td align="center">N/A</td>
          </tr>
          <tr>
            <td align="center">Single CPE, Multiple multiple provisioning domains</c>

        <c>Internal domains</td>
            <td align="center">Internal hosts or CPE</c>

        <c>CPE</c>

        <c>Multiple CPE</td>
            <td align="center">CPE</td>
          </tr>
          <tr>
            <td align="center">Multiple CPEs, Multiple multiple provisioning domains</c>

        <c>Internal domains</td>
            <td align="center">Internal hosts or all CPEs (CPE1 and CPE2)</c>

        <c>CPEs CPE2)</td>
            <td align="center">CPEs (CPE1 and CPE2)</c>

        <c>Multi-homed CPE2)</td>
          </tr>
          <tr>
            <td align="center">Multihomed enterprise, Single single provisioning domain</c>

        <c>Internal domain</td>
            <td align="center">Internal hosts or all CPEs (CPE1 and CPE2)</c>

        <c>CPEs CPE2)</td>
            <td align="center">CPEs (CPE1 and CPE2)</c>
      </texttable> CPE2)</td>
          </tr>
        </tbody>
      </table>
      <t>These deployment schemes are further discussed in the following
      subsections.</t>
      <section anchor="dcpe" title="Residential CPE"> numbered="true" toc="default">
        <name>Residential CPE</name>
        <t><xref target="dotsrcpe"></xref> target="dotsrcpe" format="default"/> 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"></xref>. target="sc1" format="default"/>. As listed in <xref target="dep"></xref>, target="dep" format="default"/>, the
        DOTS client is hosted by the residential CPE.</t>

        <t><figure align="center" anchor="dotsrcpe"
            title="DOTS
        <figure anchor="dotsrcpe">
          <name>DOTS Associations for a Multihomed Residential CPE"> CPE</name>
          <artwork align="center"><![CDATA[ align="center" name="" type="" alt=""><![CDATA[
                          +--+
                ----------|S1|
              /           +--+
             /    DOTS Server Domain #1
            /
      +---+/
      | C |
      +---+\
       CPE  \
             \
              \           +--+
                ----------|S2|
                          +--+
                  DOTS Server Domain #2
]]></artwork>
          </figure></t>
        </figure>

        <t>The DOTS client MUST <bcp14>MUST</bcp14> resolve the DOTS server's name provided by each
   provisioning domain using either the DNS servers either learned from the
   respective provisioning domain or from the DNS servers associated
   with the interface(s) for which a DOTS server was explicitly
   configured
        (<xref target="msc"></xref>). target="msc" format="default"/>). IPv6-capable DOTS clients MUST <bcp14>MUST</bcp14> use the
        source address selection algorithm defined in <xref
        target="RFC6724"></xref> target="RFC6724" format="default"/> to select the candidate source addresses to
        contact each of these DOTS servers. DOTS sessions MUST <bcp14>MUST</bcp14> be established
        and MUST <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 MUST <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 Section 7.1 of <xref
        target="RFC9132"></xref> target="RFC9132" sectionFormat="of" section="7.1" format="default"/> for more details about DOTS authentication
        methods.</t>
        <t>When conveying a mitigation request to protect the attack
        target(s), the DOTS client MUST <bcp14>MUST</bcp14> select an available DOTS server whose
        network has assigned the IP prefixes from which target
        prefixes/addresses
        addresses or prefixes are derived. This implies that if no appropriate
        DOTS server is found, the DOTS client MUST NOT <bcp14>MUST NOT</bcp14> send the mitigation
        request to any other available DOTS server.</t>
        <t>For example, a mitigation request to protect target resources bound
        to a PA IP address/prefix address or prefix cannot be satisfied by a provisioning domain
        other than the one that owns those addresses/prefixes. addresses or prefixes. Consequently,
        if a CPE detects a DDoS attack that spreads over all its network
        attachments, it MUST <bcp14>MUST</bcp14> contact all DOTS servers for mitigation
        purposes.</t>
        <t>The DOTS client MUST <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"></xref> target="TS.24008" format="default"/> 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 title="Multi-Homed numbered="true" toc="default">
        <name>Multihomed Enterprise: Single CPE, Multiple Upstream ISPs"> ISPs</name>
        <t><xref target="dotsmcgms"></xref> target="dotsmcgms" format="default"/> illustrates the DOTS sessions that
        can be established with a client-domain DOTS gateway (hosted within
        the CPE as per <xref target="dep"></xref>), which target="dep" format="default"/>) that is enabled within
        the context of the scenario described in <xref target="sc2"></xref>. target="sc2" format="default"/>.
        This deployment is characterized as follows:</t>

        <t><list style="symbols">
            <t>One
        <ul spacing="normal">
          <li>One or more DOTS clients are enabled in hosts located in the
            internal network.</t>

            <t>A network.</li>
          <li>A client-domain DOTS gateway is enabled to aggregate and then
            relay the requests towards upstream DOTS servers.</t>
          </list></t>

        <t><figure align="center" anchor="dotsmcgms"
            title="Multiple servers.</li>
        </ul>
        <figure anchor="dotsmcgms">
          <name>Multiple DOTS Clients, Single DOTS Gateway, Multiple DOTS Servers"> Servers</name>
          <artwork align="center"><![CDATA[ align="center" name="" type="" alt=""><![CDATA[
                                 +--+
....................   ----------|S1|
.    +---+         . /           +--+
.    | C1|----+    ./     DOTS Server Domain #1
.    +---+    |    .
.             |   /.
.+---+      +-+-+/ .
.| C3|------| G |  .
.+---+      +-+-+\ .
.            CPE  \.
.     +---+    |   .
.     | C2|----+   .\
.     +---+        . \          +--+
'..................'  ----------|S2|
                                +--+
 DOTS Client Domain     DOTS Server Domain #2
]]></artwork>
          </figure>When
        </figure>
        <t>When PA addresses/prefixes addresses or prefixes are in use, the same
        considerations discussed in <xref target="dcpe"></xref> target="dcpe" format="default"/> 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 (Section
        3.2.4 of <xref target="RFC8811"></xref>).</t> (<xref target="RFC8811" section="3.2.4" sectionFormat="of"/>).</t>
        <t>Nevertheless, when PI addresses/prefixes addresses or prefixes are assigned assigned, and absent
        any policy, the client-domain DOTS gateway SHOULD <bcp14>SHOULD</bcp14> send mitigation
        requests to all its DOTS servers. Otherwise, the attack traffic may
        still be delivered via the ISP that hasn&rsquo;t hasn't received the
        mitigation request.</t>
        <t>An alternate deployment model is depicted in <xref
        target="mcms"></xref>. target="mcms" format="default"/>. This deployment assumes that:</t>

        <t><list style="symbols">
            <t>One
        <ul spacing="normal">
          <li>One or more DOTS clients are enabled in hosts located in the
            internal network. These DOTS clients may use <xref
            target="RFC8973"></xref> target="RFC8973" format="default"/> to discover their DOTS server(s).</t>

            <t>These server(s).</li>
          <li>These DOTS clients communicate directly with upstream DOTS
            servers.</t>
          </list></t>

        <t><figure align="center" anchor="mcms"
            title="Multiple
            servers.</li>
        </ul>
        <figure anchor="mcms">
          <name>Multiple DOTS Clients, Multiple DOTS Servers"> Servers</name>
          <artwork align="center"><![CDATA[ align="center" name="" type="" alt=""><![CDATA[
       ..........
       .  +--+  .
 +--------|C1|--------+
 |     .  +--+  .     |
 |     .        .     |
+--+   .  +--+  .   +--+
|S2|------|C3|------|S1|
+--+   .  +--+  .   +--+
 |     .        .     |
 |     .  +--+  .     |
 +--------|C2|--------+
       .  +--+  .
       '........'
      DOTS Client
        Domain
]]></artwork>
          </figure></t>
        </figure>
        <t>If PI addresses/prefixes addresses or prefixes are in use, the DOTS client MUST <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 NOT RECOMMENDED. <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>If PA addresses/prefixes addresses or prefixes are used, the same considerations
        discussed in <xref target="dcpe"></xref> target="dcpe" format="default"/> need to be followed by the
        DOTS clients. Because DOTS clients are not embedded in the CPE and
        multiple addresses/prefixes 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"></xref> target="RFC4116" format="default"/> are not specific to DOTS.</t>
        <t>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"></xref>).</t>

        <t><figure align="center" anchor="scms"
            title="Single Homed target="scms" format="default"/>).</t>
        <figure anchor="scms">
          <name>Single-Homed DOTS Clients"> Clients</name>
          <artwork align="center"><![CDATA[ align="center" name="" type="" alt=""><![CDATA[
       ..........
       .  +--+  .
 +--------|C1|  .
 |     .  +--+  .
+--+   .  +--+  .   +--+
|S2|   .  |C2|------|S1|
+--+   .  +--+  .   +--+
       '........'
      DOTS Client
        Domain
]]></artwork>
          </figure></t>
        </figure>
        <t>For both deployments depicted in Figures <xref format="counter"
        target="mcms"></xref> target="mcms"/> and <xref format="counter"
        target="scms"></xref>, target="scms"/>, each DOTS client SHOULD <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 MUST <bcp14>MUST</bcp14> select the appropriate source IP
        address when forwarding DOTS messages received from an internal DOTS
        client.</t>
      </section>
      <section title="Multi-Homed numbered="true" toc="default">
        <name>Multihomed Enterprise: Multiple CPEs, Multiple Upstream ISPs"> ISPs</name>
        <t>The deployments depicted in Figures <xref format="counter"
        target="mcms"></xref> target="mcms"/> and <xref format="counter" target="scms"></xref> target="scms"/>
        also apply to the scenario described in <xref target="sc3"></xref>. target="sc3" format="default"/>.
        One specific problem for this scenario is to select the appropriate
        exit router when contacting a given DOTS server.</t>
        <t>An alternative deployment scheme is shown in <xref
        target="mcmgms"></xref>:<list style="symbols">
            <t>DOTS target="mcmgms" format="default"/>:</t>
        <ul spacing="normal">
          <li>DOTS clients are enabled in hosts located in the internal
            network.</t>

            <t>A
            network.</li>
          <li>A client-domain DOTS gateway is enabled in each CPE (CPE1 and
            CPE2 per <xref target="dep"></xref>).</t>

            <t>Each target="dep" format="default"/>).</li>
          <li>Each of these client-domain DOTS gateways communicates with the
            DOTS server of the provisioning domain.</t>
          </list></t>

        <t><figure align="center" anchor="mcmgms"
            title="Multiple domain.</li>
        </ul>
        <figure anchor="mcmgms">
          <name>Multiple DOTS Clients, Multiple DOTS Gateways, Multiple DOTS Servers"> Servers</name>
          <artwork align="center"><![CDATA[ align="center" name="" type="" alt=""><![CDATA[
       .................................
       .                 +---+         .
       .    +------------| C1|----+    .
       .    |            +---+    |    .
       .    |                     |    .
+--+   .  +-+-+      +---+      +-+-+  .   +--+
|S2|------|G2 |------| C3|------|G1 |------|S1|
+--+   .  +-+-+      +---+      +-+-+  .   +--+
       .  CPE2                   CPE1  .
       .    |            +---+    |    .
       .    +------------| C2|----+    .
       .                 +---+         .
       '...............................'
              DOTS Client Domain
]]></artwork>
          </figure></t>
        </figure>
        <t>When PI addresses/prefixes addresses or prefixes are used, DOTS clients MUST <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>When
        <t> When PA addresses/prefixes are used, but no filter rules are provided
	to DOTS clients, the latter MUST DOTS clients <bcp14>MUST</bcp14> contact all client-domain DOTS gateways simultaneously to send a DOTS message. Upon receipt of a
        request by a client-domain

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

	</t>
        <t>When PA addresses/prefixes 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 MUST <bcp14>MUST</bcp14> select the appropriate client-domain
        DOTS gateway to reach. The use of the same anycast addresses is NOT
        RECOMMENDED <bcp14>NOT
        RECOMMENDED</bcp14> to reach client-domain DOTS gateways.</t>
      </section>
      <section title="Multi-Homed numbered="true" toc="default">
        <name>Multihomed Enterprise: Single ISP"> ISP</name>
        <t>The key difference of between the scenario described in <xref
        target="sc4"></xref> compared to target="sc4" format="default"/> and the other scenarios is that
        multi-homing
        multihoming is provided by the same ISP. Concretely, that ISP can
        decide to provision the enterprise network with:</t>

        <t><list style="symbols">
            <t>The
        <ul spacing="normal">
          <li>The same DOTS server for all network attachments.</t>

            <t>Distinct attachments.</li>
          <li>Distinct DOTS servers for each network attachment. These DOTS
            servers need to coordinate when a mitigation action is received
            from the enterprise network.</t>
          </list></t> network.</li>
        </ul>
        <t>In both cases, DOTS agents enabled within the enterprise network
        MAY
        <bcp14>MAY</bcp14> decide to select one or all network attachments to send DOTS
        mitigation requests.</t>
      </section>
    </section>
    <section anchor="Security" title="Security Considerations"> numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>A set of security threats related to multihoming are is discussed in
      <xref target="RFC4218"></xref>.</t> target="RFC4218" format="default"/>.</t>

      <t>DOTS-related security considerations are discussed in Section 4 of <xref target="RFC8811"></xref>.</t>
      target="RFC8811" sectionFormat="of" section="5" format="default"/>.</t>
      <t>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
      SHOULD NOT
      <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
      deployment specific and must be subject to explicit consent from the
      DOTS client domain administrator. How to seek for such consent is
      implementation-
      implementation and deployment-specific.</t> deployment specific.</t>
    </section>
    <section anchor="IANA" title="IANA Considerations"> numbered="true" toc="default">
      <name>IANA Considerations</name>
<t>This document does not require any action from IANA.</t> has no IANA actions.</t>

          </section>

  </middle>
  <back>
    <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.6724.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.8811.xml"/>
      </references>
      <references>
        <name>Informative References</name>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4732.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8973.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4116.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3582.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8043.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7556.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9132.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8783.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8903.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8803.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8612.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4218.xml"/>

        <reference anchor="TS.24008" target="https://www.3gpp.org/DynaReport/24008.htm">
          <front>
            <title>Mobile radio interface Layer 3 specification; Core network
          protocols; Stage 3</title>
            <author>
              <organization>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" title="Acknowledgements"> numbered="false" toc="default">
      <name>Acknowledgements</name>
      <t>Thanks to Roland Dobbins, Nik Teague, Jon Shallow, Dan Wing, and
      Christian Jacquenet <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>Thanks to Kirill Kasavchenko <contact fullname="Kirill Kasavchenko"/> for the comments.</t>
      <t>Thanks to Kathleen Moriarty <contact fullname="Kathleen Moriarty"/> for the secdir review, Joel Jaeggli <contact fullname="Joel Jaeggli"/> for
      the opsdir review, Mirja Kuhlewind <contact fullname="Mirja Kühlewind"/> for the tsvart review, and Dave
      Thaler <contact fullname="Dave
      Thaler"/> for the Intdir intdir review.</t>
      <t>Many thanks to Roman Danyliw <contact fullname="Roman Danyliw"/> for the careful AD review.</t>
      <t>Thanks to Lars Eggert, Robert Wilton, Paul Wouters, Erik Kline, and
      &Eacute;ric Vyncke <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>
  </middle>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      <reference anchor="TS.24008"
                 target="http://www.3gpp.org/DynaReport/24008.htm">
        <front>
          <title>Mobile radio interface Layer 3 specification; Core network
          protocols; Stage 3 (Release 16)</title>

          <author fullname="" surname="">
            <organization>3GPP</organization>
          </author>

          <date day="0" month="December" year="2019" />
        </front>
      </reference>
    </references>

  </back>
</rfc>