Multi-homing Deployment Considerations
for Distributed-Denial-of-Service Open Threat Signaling (DOTS)OrangeRennes35000Francemohamed.boucadair@orange.comAkamaiEmbassy Golf Link Business ParkBangaloreKarnataka560071Indiakondtir@gmail.comHuawei Technologieswilliam.panwei@huawei.comThis document discusses multi-homing considerations for
Distributed-Denial-of-Service Open Threat Signaling (DOTS). The goal is
to provide some guidance for DOTS clients and client-domain DOTS
gateways when multihomed.In many deployments, it may not be possible for a network to
determine the cause of a distributed Denial-of-Service (DoS) attack
. 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 , 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
can evolve as the attacks mutate, thereby reducing the impact of an
attack and leading to more efficient responsive actions. identifies a set of scenarios for DOTS; most of
these scenarios involve a Customer Premises Equipment (CPE).The high-level base DOTS architecture is illustrated in (): 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 ).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. The reader may refer to for
an overview of multi-homing goals and motivations. This document
discusses DOTS multi-homing considerations. Specifically, the document
aims to:Complete the base DOTS architecture with multi-homing specifics.
Those specifics need to be taken into account because: Sending a DOTS mitigation request to an arbitrary DOTS server
will not necessarily help in mitigating a DDoS attack.Randomly replicating all DOTS mitigation requests among all
available DOTS servers is suboptimal.Sequentially contacting DOTS servers may increase the delay
before a mitigation plan is enforced.Identify DOTS deployment schemes in a multi-homing context, where
DOTS services can be offered by all or a subset of upstream
providers.Provide guidelines and recommendations for placing DOTS requests
in multi-homed networks, e.g.,: Select the appropriate DOTS server(s).Identify cases where anycast is not recommended for DOTS.This document adopts the following methodology: Identify and extract viable deployment candidates from .Augment the description with multi-homing technicalities, e.g.,
One vs. multiple upstream network providersOne vs. multiple interconnect routersProvider-Independent (PI) vs. Provider-Aggregatable (PA) IP
addressesDescribe the recommended behavior of DOTS clients and
client-domain DOTS gateways for each case.Multi-homed DOTS agents are assumed to make use of the protocols
defined in and . This document does not require any specific
extension to the base DOTS protocols for deploying DOTS in a multi-homed
context.The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP 14
when, and
only when, they appear in all capitals, as shown here.This document makes use of the terms defined in , , and . In particular:are
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 ).are
globally-unique addresses which are not assigned by a transit
provider, but are provided by some other organisation, usually a
Regional Internet Registry (RIR) (Section 2 of ).IP indifferently refers to IPv4 or IPv6.This section describes some multi-homing scenarios that are relevant
to DOTS. In the following subsections, only the connections of border
routers are shown; internal network topologies are not elaborated.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 . These
DOTS servers can be owned by the upstream provider, managed by a
third-party (e.g., mitigation service provider), or a combination
thereof.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.This section distinguishes between residential CPEs vs. enterprise
CPEs because PI addresses may be used for enterprises while this is not
the current practice for residential CPEs.In the following subsections, all or a subset of interconnection
links are associated with DOTS servers.The scenario shown in is characterized
as follows: The home network is connected to the Internet using one single
CPE.The CPE is connected to multiple provisioning domains (i.e.,
both fixed and mobile networks). Provisioning domain (PvD) is
explained in . In a typical deployment scenario, these
provisioning domains are owned by the same provider (see Section 1
of ). Such a deployment is meant to
seamlessly use both fixed and cellular networks for bonding,
faster hand-overs, or better resiliency purposes.Each of these provisioning domains assigns IP
addresses/prefixes to the CPE and provides additional
configuration information such as a list of DNS servers, DNS
suffixes associated with the network, default gateway address, and
DOTS server's name . These
addresses/prefixes are assumed to be Provider-Aggregatable
(PA).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 .The scenario shown in is characterized
as follows: The enterprise network is connected to the Internet using a
single router.That router is connected to multiple provisioning domains
(i.e., managed by distinct administrative entities).Unlike the previous scenario, two sub-cases can be considered for
an enterprise network with regards to assigned addresses:PI addresses/prefixes: The enterprise is the owner of the IP
addresses/prefixes; the same address/prefix is then used when
establishing communications over any of the provisioning
domains.PA addresses/prefixes: Each of the provisioning domains assigns
IP addresses/prefixes to the enterprise network. These
addresses/prefixes are used when communicating over the
provisioning domain that assigned them.This scenario is similar to the one described in ; the main difference is that dedicated routers
(CPE1 and CPE2) are used to connect to each provisioning domain.This scenario is a variant of Sections and
in which multi-homing is supported by the same ISP (i.e., same
provisioning domain). provides some sample, non-exhaustive,
deployment schemes to illustrate how DOTS agents may be deployed for
each of the scenarios introduced in .ScenarioDOTS clientClient-domain DOTS gatewayResidential CPECPEN/ASingle CPE, Multiple provisioning domainsInternal hosts or CPECPEMultiple CPEs, Multiple provisioning domainsInternal hosts or all CPEs (CPE1 and CPE2)CPEs (CPE1 and CPE2)Multi-homed enterprise, Single provisioning domainInternal hosts or all CPEs (CPE1 and CPE2)CPEs (CPE1 and CPE2)These deployment schemes are further discussed in the following
subsections. 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 . As listed in , the
DOTS client is hosted by the residential CPE.The DOTS client MUST resolve the DOTS server's name provided by
each provisioning domain using either the DNS servers learned from the
respective provisioning domain or from the DNS servers associated with
the interface(s) for which a DOTS server was explicitly configured
(). IPv6-capable DOTS clients MUST use the
source address selection algorithm defined in to select the candidate source addresses to
contact each of these DOTS servers. DOTS sessions MUST be established
and MUST be maintained with each of the DOTS servers because the
mitigation scope of each of these servers is restricted. The DOTS
client MUST 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 for more details about DOTS authentication
methods.When conveying a mitigation request to protect the attack
target(s), the DOTS client MUST select an available DOTS server whose
network has assigned the IP prefixes from which target
prefixes/addresses are derived. This implies that if no appropriate
DOTS server is found, the DOTS client MUST NOT send the mitigation
request to any other available DOTS server.For example, a mitigation request to protect target resources bound
to a PA IP address/prefix cannot be satisfied by a provisioning domain
other than the one that owns those addresses/prefixes. Consequently,
if a CPE detects a DDoS attack that spreads over all its network
attachments, it MUST contact all DOTS servers for mitigation
purposes.The DOTS client MUST 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) when attaching to a second network, the DOTS
client must record the interface from which a DOTS server was
provisioned. 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. illustrates the DOTS sessions that
can be established with a client-domain DOTS gateway (hosted within
the CPE as per ), which is enabled within
the context of the scenario described in .
This deployment is characterized as follows:One of more DOTS clients are enabled in hosts located in the
internal network.A client-domain DOTS gateway is enabled to aggregate and then
relay the requests towards upstream DOTS servers.When PA addresses/prefixes are in use, the same
considerations discussed in 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 an unicast address or an anycast address (Section
3.2.4 of ).Nevertheless, when PI addresses/prefixes are assigned and absent
any policy, the client-domain DOTS gateway MUST send mitigation
requests to all its DOTS servers. Otherwise, the attack traffic may
still be delivered via the ISP which hasn’t received the
mitigation request.An alternate deployment model is depicted in . This deployment assumes that:One or more DOTS clients are enabled in hosts located in the
internal network. These DOTS clients may use to discover their DOTS server(s).These DOTS clients communicate directly with upstream DOTS
servers.If PI addresses/prefixes are in use, the DOTS client MUST send a
mitigation request to all the DOTS servers. The use of anycast
addresses to reach these DOTS servers is NOT RECOMMENDED. 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.If PA addresses/prefixes are used, the same considerations
discussed in need to be followed by the
DOTS clients. Because DOTS clients are not embedded in the CPE and
multiple addresses/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 are not specific to DOTS.Another deployment approach is to enable many DOTS clients; each of
them is responsible for handling communications with a specific DOTS
server (see ).For both deployments depicted in Figures and , each DOTS client SHOULD 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 select the appropriate source IP
address when forwarding DOTS messages received from an internal DOTS
client.The deployments depicted in Figures and
also apply to the scenario described in .
One specific problem for this scenario is to select the appropriate
exit router when contacting a given DOTS server.An alternative deployment scheme is shown in :DOTS clients are enabled in hosts located in the internal
network.A client-domain DOTS gateway is enabled in each CPE (CPE1 and
CPE2 per ).Each of these client-domain DOTS gateways communicates with the
DOTS server of the provisioning domain.When PI addresses/prefixes are used, DOTS clients MUST 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 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.When PA addresses/prefixes are used, but no filter rules are
provided to DOTS clients, the latter MUST contact all client-domain
DOTS gateways simultaneously to send a DOTS message. Upon receipt of a
request by a client-domain DOTS gateway, it MUST check whether the
request is to be forwarded upstream (if the target IP prefix is
managed by the upstream server) or rejected.When PA addresses/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 select the appropriate client-domain
DOTS gateway to reach. The use of anycast addresses is NOT RECOMMENDED
to reach client-domain DOTS gateways.The key difference of the scenario described in compared to the other scenarios is that
multi-homing is provided by the same ISP. Concretely, that ISP can
decide to provision the enterprise network with:The same DOTS server for all network attachments.Distinct DOTS servers for each network attachment. These DOTS
servers need to coordinate when a mitigation action is received
from the enterprise network.In both cases, DOTS agents enabled within the enterprise network
MAY decide to select one or all network attachments to send DOTS
mitigation requests.A set of security threats related to multihoming are discussed in
.DOTS-related security considerations are discussed in Section 4 of
.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 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 for such consent is
implementation- and deployment-specific.This document does not require any action from IANA.Thanks to Roland Dobbins, Nik Teague, Jon Shallow, Dan Wing, and
Christian Jacquenet for sharing their comments on the mailing list.Thanks to Kirill Kasavchenko for the comments.Thanks to Kathleen Moriarty for the secdir review, Joel Jaeggli for
the opsdir review, and Mirja Kuhlewind for the tsvart review.Many thanks to Roman Danyliw for the careful AD review.Thanks to Lars Eggert, Robert Wilton, Paul Wouters, Erik Kline, and
Éric Vyncke for the IESG review.Mobile radio interface Layer 3 specification; Core network
protocols; Stage 3 (Release 16)3GPP