<?xmlversion="1.0" encoding="US-ASCII"?>version='1.0' encoding='UTF-8'?> <!DOCTYPE rfcSYSTEM "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 " "> <!ENTITY zwsp "​"> <!ENTITY nbhy "‑"> <!ENTITY wj "⁠"> ]> <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="DOTSMultihoming">Multi-homingMultihoming">Multihoming Deployment Considerations forDistributed-Denial-of-ServiceDDoS Open Threat Signaling (DOTS)</title> <seriesInfo name="RFC" value="9284"/> <author initials="M" surname="Boucadair" fullname="MohamedBoucadair" 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="TirumaleswarReddy.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="WeiPan" 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 discussesmulti-homingmultihoming considerations forDistributed-Denial-of-ServiceDDoS 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> <sectiontitle="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 adistributed Denial-of-Service (DoS)DDoS attack <xreftarget="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 <xreftarget="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 effortswhichthat can evolve as the attacks mutate, thereby reducing the impact of an attack and leading tomore efficientmore-efficient responsive actions. <xreftarget="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 <xreftarget="arch"></xref> (<xref target="RFC8811"></xref>):</t> <t><figure align="center" anchor="arch" title="Basictarget="arch" format="default"/> (repeated from <xref target="RFC8811" sectionFormat="of" section="2"/>):</t> <figure anchor="arch"> <name>Basic DOTSArchitecture">Architecture</name> <artworkalign="center"><![CDATA[+-----------+align="center" name="" type="" alt=""><![CDATA[ +-----------+ +-------------+ | Mitigator | ~~~~~~~~~~ | DOTS Server | +-----------+ +-------------+ | | | +---------------+ +-------------+ | Attack Target | ~~~~~~ | DOTS Client | +---------------+ +-------------+ ]]></artwork></figure></t></figure> <t><xreftarget="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 providedDOTS server(s)addresses(e.g., by usingfor the DOTS server or servers <xreftarget="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 aremulti-homed.multihomed. The reader may refer to <xreftarget="RFC3582"></xref>target="RFC3582" format="default"/> for an overview ofmulti-homingmultihoming goals and motivations. This document discusses DOTSmulti-homingmultihoming considerations. Specifically, the document aimsto:<list style="numbers">to:</t> <ol spacing="normal"><li> <t>Complete the base DOTS architecture withmulti-homingmultihoming 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 DDoSattack.</t> <t>Randomlyattack.</li> <li>Randomly replicating all DOTS mitigation requests among all available DOTS servers issuboptimal.</t> <t>Sequentiallysuboptimal.</li> <li>Sequentially contacting DOTS servers may increase the delay before a mitigation plan isenforced.</t> </list></t> <t>Identifyenforced.</li> </ul> </li> <li>Identify DOTS deployment schemes in amulti-homingmultihoming context, where DOTS services can be offered by all or a subset of upstreamproviders.</t>providers.</li> <li> <t>Provide guidelines and recommendations for placing DOTS requests inmulti-homedmultihomed networks,e.g.,: <list style="symbols"> <t>Selectfor example: </t> <ul spacing="normal"> <li>Select the appropriate DOTSserver(s).</t> <t>Identifyserver(s).</li> <li>Identify cases where anycast is not recommended forDOTS.</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 <xreftarget="RFC8903"></xref>.</t>target="RFC8903" format="default"/>.</li> <li> <t>Augment the description withmulti-homingmultihoming technicalities,e.g., <list style="symbols"> <t>Onefor example: </t> <ul spacing="normal"> <li>One vs. multiple upstream networkproviders</t> <t>Oneproviders</li> <li>One vs. multiple interconnectrouters</t> <t>Provider-Independentrouters</li> <li>Provider-Independent (PI) vs. Provider-Aggregatable (PA) IPaddresses</t> </list></t> <t>Describeaddresses</li> </ul> </li> <li>Describe the recommended behavior of DOTS clients and client-domain DOTS gateways for eachcase.</t> </list></t> <t>Multi-homedcase.</li> </ul> <t>Multihomed DOTS agents are assumed to make use of the protocols defined in <xreftarget="RFC9132"></xref>target="RFC9132" format="default"/> and <xreftarget="RFC8783"></xref>.target="RFC8783" format="default"/>. This document does not require any specific extension to the base DOTS protocols for deploying DOTS in amulti-homedmultihomed context.</t> </section> <sectiontitle="Requirements Language"> <t>Thenumbered="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 inBCP 14BCP 14 <xreftarget="RFC2119"></xref>target="RFC2119"/> <xreftarget="RFC8174"></xref>target="RFC8174"/> when, and only when, they appear in all capitals, as shownhere.</t>here. </t> </section> <sectiontitle="Terminology">numbered="true" toc="default"> <name>Terminology</name> <t>This document makes use of the terms defined in <xreftarget="RFC8811"></xref>,target="RFC8811" format="default"/>, <xreftarget="RFC8612"></xref>,target="RFC8612" format="default"/>, and <xreftarget="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-uniqueaddresses:</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-uniqueaddresses:</dt> <dd>globally unique addresses that are not assigned by a transit provider, but are provided by some otherorganisation,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 somemulti-homingmultihoming 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 <xreftarget="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 thatthe DOTS server can be reached via any active interface.</t> <t>This section distinguishes between residential CPEsvs.and enterprise CPEs because PI addresses may be used forenterprises while thisenterprises, 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 Residentialnumbered="true" toc="default"> <name>Multihomed Residential: SingleCPE">CPE</name> <t>The scenario shown in <xreftarget="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 singleCPE.</t>CPE.</li> <li> <t>The CPE is connected to multiple provisioning domains (i.e., both fixed and mobile networks). ProvisioningdomainDomain (PvD) is explained in <xreftarget="RFC7556"></xref>. <vspace blankLines="1" />Intarget="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, fasterhand-overs,handovers, or better resiliency purposes.</t><t>Each</li> <li>Each of these provisioning domains assigns IPaddresses/prefixesaddresses 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 <xreftarget="RFC8973"></xref>.target="RFC8973" format="default"/>. Theseaddresses/prefixesaddresses 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 <xreftarget="RFC8043"></xref>.</t> </list></t> <t><figure align="center" anchor="rcpe" title="Typical Multi-homedtarget="RFC8043" format="default"/>.</li> </ul> <figure anchor="rcpe"> <name>Typical Multihomed ResidentialCPE"> <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-Homednumbered="true" toc="default"> <name>Multihomed Enterprise: Single CPE, Multiple UpstreamISPs">ISPs</name> <t>The scenario shown in <xreftarget="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 singlerouter.</t> <t>Thatrouter.</li> <li>That router is connected to multiple provisioning domains managed by distinct administrativeentities.</t> </list></t>entities.</li> </ul> <t>Unlike the previous scenario, two sub-cases can be considered for an enterprise network withregardsregard 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 IPaddresses/prefixes;addresses or prefixes; the sameaddress/prefixaddress or prefix is then used when establishing communications over any of the provisioningdomains.</t> <t>PA addresses/prefixes:domains.</li> <li>PA addresses or prefixes: Each of the provisioning domains assigns IPaddresses/prefixesaddresses or prefixes to the enterprise network. Theseaddresses/prefixesaddresses or prefixes are used when communicating over the provisioning domain that assignedthem.</t> </list></t> <t><figure align="center" anchor="scmi" title="Multi-homedthem.</li> </ol> <figure anchor="scmi"> <name>Multihomed Enterprise Network (Single CPEconnectedConnected to MultipleNetworks)"> <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-homednumbered="true" toc="default"> <name>Multihomed Enterprise: Multiple CPEs, Multiple UpstreamISPs">ISPs</name> <t>This scenario is similar to the one described in <xreftarget="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, MultipleISPs)"> <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-homednumbered="true" toc="default"> <name>Multihomed Enterprise with the SameISP">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 whichmulti-homingmultihoming is supported by the same ISP (i.e., same provisioning domain).</t> </section> </section> <sectiontitle="DOTS Multi-homingnumbered="true" toc="default"> <name>DOTS Multihoming DeploymentConsiderations">Considerations</name> <t><xreftarget="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 <xreftarget="msc"></xref>.</t> <texttabletarget="msc" format="default"/>.</t> <table anchor="dep"style="all" title="Samplealign="center"> <name>Sample DeploymentCases"> <ttcol align="center">Scenario</ttcol> <ttcolCases</name> <thead> <tr> <th align="center">Scenario</th> <th align="center">DOTSclient</ttcol> <ttcol align="center">Client-domain DOTS gateway</ttcol> <c>Residential CPE</c> <c>CPE</c> <c>N/A</c> <c>SingleClient</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,Multiplemultiple provisioningdomains</c> <c>Internaldomains</td> <td align="center">Internal hosts orCPE</c> <c>CPE</c> <c>MultipleCPE</td> <td align="center">CPE</td> </tr> <tr> <td align="center">Multiple CPEs,Multiplemultiple provisioningdomains</c> <c>Internaldomains</td> <td align="center">Internal hosts or all CPEs (CPE1 andCPE2)</c> <c>CPEsCPE2)</td> <td align="center">CPEs (CPE1 andCPE2)</c> <c>Multi-homedCPE2)</td> </tr> <tr> <td align="center">Multihomed enterprise,Singlesingle provisioningdomain</c> <c>Internaldomain</td> <td align="center">Internal hosts or all CPEs (CPE1 andCPE2)</c> <c>CPEsCPE2)</td> <td align="center">CPEs (CPE1 andCPE2)</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><xreftarget="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 <xreftarget="sc1"></xref>.target="sc1" format="default"/>. As listed in <xreftarget="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 ResidentialCPE">CPE</name> <artworkalign="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 clientMUST<bcp14>MUST</bcp14> resolve the DOTS server's name provided by each provisioning domain usingeitherthe DNS servers either learned from the respective provisioning domain orfrom the DNS serversassociated with the interface(s) for which a DOTS server was explicitly configured (<xreftarget="msc"></xref>).target="msc" format="default"/>). IPv6-capable DOTS clientsMUST<bcp14>MUST</bcp14> use the source address selection algorithm defined in <xreftarget="RFC6724"></xref>target="RFC6724" format="default"/> to select the candidate source addresses to contact each of these DOTS servers. DOTS sessionsMUST<bcp14>MUST</bcp14> be established andMUST<bcp14>MUST</bcp14> be maintained with each of the DOTS servers because the mitigation scope of each of these servers is restricted. The DOTS clientMUST<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 toSection 7.1 of<xreftarget="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 clientMUST<bcp14>MUST</bcp14> select an available DOTS server whose network has assigned the IP prefixes from which targetprefixes/addressesaddresses or prefixes are derived. This implies that if no appropriate DOTS server is found, the DOTS clientMUST 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 IPaddress/prefixaddress or prefix cannot be satisfied by a provisioning domain other than the one that owns thoseaddresses/prefixes.addresses or prefixes. Consequently, if a CPE detects a DDoS attack that spreads over all its network attachments, itMUST<bcp14>MUST</bcp14> contact all DOTS servers for mitigation purposes.</t> <t>The DOTS clientMUST<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) <xreftarget="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> <sectiontitle="Multi-Homednumbered="true" toc="default"> <name>Multihomed Enterprise: Single CPE, Multiple UpstreamISPs">ISPs</name> <t><xreftarget="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 <xreftarget="dep"></xref>), whichtarget="dep" format="default"/>) that is enabled within the context of the scenario described in <xreftarget="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 internalnetwork.</t> <t>Anetwork.</li> <li>A client-domain DOTS gateway is enabled to aggregate and then relay the requests towards upstream DOTSservers.</t> </list></t> <t><figure align="center" anchor="dotsmcgms" title="Multipleservers.</li> </ul> <figure anchor="dotsmcgms"> <name>Multiple DOTS Clients, Single DOTS Gateway, Multiple DOTSServers">Servers</name> <artworkalign="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 PAaddresses/prefixesaddresses or prefixes are in use, the same considerations discussed in <xreftarget="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 PIaddresses/prefixesaddresses or prefixes areassignedassigned, and absent any policy, the client-domain DOTS gatewaySHOULD<bcp14>SHOULD</bcp14> send mitigation requests to all its DOTS servers. Otherwise, the attack traffic may still be delivered via the ISP thathasn’thasn't received the mitigation request.</t> <t>An alternate deployment model is depicted in <xreftarget="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 <xreftarget="RFC8973"></xref>target="RFC8973" format="default"/> to discover their DOTSserver(s).</t> <t>Theseserver(s).</li> <li>These DOTS clients communicate directly with upstream DOTSservers.</t> </list></t> <t><figure align="center" anchor="mcms" title="Multipleservers.</li> </ul> <figure anchor="mcms"> <name>Multiple DOTS Clients, Multiple DOTSServers">Servers</name> <artworkalign="center"><![CDATA[align="center" name="" type="" alt=""><![CDATA[ .......... . +--+ . +--------|C1|--------+ | . +--+ . | | . . | +--+ . +--+ . +--+ |S2|------|C3|------|S1| +--+ . +--+ . +--+ | . . | | . +--+ . | +--------|C2|--------+ . +--+ . '........' DOTS Client Domain ]]></artwork></figure></t></figure> <t>If PIaddresses/prefixesaddresses or prefixes are in use, the DOTS clientMUST<bcp14>MUST</bcp14> send a mitigation request to all the DOTS servers. The use of the same anycast addresses to reach these DOTS servers isNOT 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 PAaddresses/prefixesaddresses or prefixes are used, the same considerations discussed in <xreftarget="dcpe"></xref>target="dcpe" format="default"/> need to be followed by the DOTS clients. Because DOTS clients are not embedded in the CPE and multipleaddresses/prefixesaddresses 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 <xreftarget="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 <xreftarget="scms"></xref>).</t> <t><figure align="center" anchor="scms" title="Single Homedtarget="scms" format="default"/>).</t> <figure anchor="scms"> <name>Single-Homed DOTSClients">Clients</name> <artworkalign="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 clientSHOULD<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 CPEMUST<bcp14>MUST</bcp14> select the appropriate source IP address when forwarding DOTS messages received from an internal DOTS client.</t> </section> <sectiontitle="Multi-Homednumbered="true" toc="default"> <name>Multihomed Enterprise: Multiple CPEs, Multiple UpstreamISPs">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 <xreftarget="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 <xreftarget="mcmgms"></xref>:<list style="symbols"> <t>DOTStarget="mcmgms" format="default"/>:</t> <ul spacing="normal"> <li>DOTS clients are enabled in hosts located in the internalnetwork.</t> <t>Anetwork.</li> <li>A client-domain DOTS gateway is enabled in each CPE (CPE1 and CPE2 per <xreftarget="dep"></xref>).</t> <t>Eachtarget="dep" format="default"/>).</li> <li>Each of these client-domain DOTS gateways communicates with the DOTS server of the provisioningdomain.</t> </list></t> <t><figure align="center" anchor="mcmgms" title="Multipledomain.</li> </ul> <figure anchor="mcmgms"> <name>Multiple DOTS Clients, Multiple DOTS Gateways, Multiple DOTSServers">Servers</name> <artworkalign="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 PIaddresses/prefixesaddresses or prefixes are used, DOTS clientsMUST<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, thelatter MUSTDOTS clients <bcp14>MUST</bcp14> contact all client-domain DOTS gateways simultaneously to send a DOTS message.Upon receipt of a request by a client-domainClient-domain DOTSgateway, it MUSTgateways <bcp14>MUST</bcp14> check whetherthea received request is to be forwarded upstream (if the target IP prefix is managed by the upstream server) orrejected.</t>rejected. </t> <t>When PAaddresses/prefixesaddresses 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 clientsMUST<bcp14>MUST</bcp14> select the appropriate client-domain DOTS gateway to reach. The use of the same anycast addresses isNOT RECOMMENDED<bcp14>NOT RECOMMENDED</bcp14> to reach client-domain DOTS gateways.</t> </section> <sectiontitle="Multi-Homednumbered="true" toc="default"> <name>Multihomed Enterprise: SingleISP">ISP</name> <t>The key differenceofbetween the scenario described in <xreftarget="sc4"></xref> compared totarget="sc4" format="default"/> and the other scenarios is thatmulti-homingmultihoming 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 networkattachments.</t> <t>Distinctattachments.</li> <li>Distinct DOTS servers for each network attachment. These DOTS servers need to coordinate when a mitigation action is received from the enterprisenetwork.</t> </list></t>network.</li> </ul> <t>In both cases, DOTS agents enabled within the enterprise networkMAY<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 multihomingareis discussed in <xreftarget="RFC4218"></xref>.</t>target="RFC4218" format="default"/>.</t> <t>DOTS-related security considerations are discussed inSection 4 of<xreftarget="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 clientSHOULD 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 isdeployment-specificdeployment specific and must be subject to explicit consent from the DOTS client domain administrator. How to seekforsuch consent isimplementation-implementation anddeployment-specific.</t>deployment specific.</t> </section> <section anchor="IANA"title="IANA Considerations">numbered="true" toc="default"> <name>IANA Considerations</name> <t>This documentdoes 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 toRoland 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 toKirill Kasavchenko<contact fullname="Kirill Kasavchenko"/> for the comments.</t> <t>Thanks toKathleen 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, andDave Thaler<contact fullname="Dave Thaler"/> for theIntdirintdir review.</t> <t>Many thanks toRoman Danyliw<contact fullname="Roman Danyliw"/> for the careful AD review.</t> <t>Thanks toLars Eggert, Robert Wilton, Paul Wouters, Erik Kline, and É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>