Multi-homing Deployment Considerations
for Distributed-Denial-of-Service Open Threat Signaling (DOTS)OrangeRennes35000Francemohamed.boucadair@orange.comMcAfee, Inc.Embassy Golf Link Business ParkBangaloreKarnataka560071IndiaTirumaleswarReddy_Konda@McAfee.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/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 seem to be under attack. To improve such situation,
the IETF is specifying the DDoS Open Threat Signaling (DOTS) architecture, where a DOTS
client can inform a DOTS server that the network is under a potential
attack and that appropriate mitigation actions are required. Indeed,
because the lack of a common method to coordinate a real-time response
among involved actors and network domains jeopardizes the efficiency of
DDoS attack mitigation actions, the DOTS protocol is meant to carry
requests for DDoS attack mitigation, 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 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.DOTS may be deployed within networks that are connected to one single
upstream provider. It 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: Send a DOTS mitigation request to an arbitrary DOTS server
won't help mitigating a DDoS attack.Blindly forking 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.Sketch 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.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 gateways
for each case.Multi-homed DOTS agents are assumed to make use of the protocols
defined in and ; no specific extension is
required 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 .IP indifferently refers to IPv4 or IPv6.This section describes some multi-homing scenarios that are relevant
to DOTS. In the following sub-sections, only the connections of border
routers are shown; internal network topologies are not elaborated.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.The scenario shown in is characterized
as follows: The home network is connected to the Internet using one single
CPE (Customer Premises Equipment).The CPE is connected to multiple provisioning domains (i.e.,
both fixed and mobile networks). Provisioning domain (PvD) is
explained in .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 one
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.This scenario is similar to the one described in ; the main difference is that dedicated routers
are used to connect to each provisioning domain.This scenario is a variant of and in which multi-homing is supported by the same
ISP (i.e., same provisioning domain).Editor's Note: The use of anycast addresses is to be
consistently discussed. provides some sample, non-exhaustive,
deployment schemes to illustrate how DOTS agents may be deployed for
each of the scenarios introduced in .ScenarioDOTS clientDOTS gatewayResidential CPECPEN/ASingle CPE, Multiple provisioning domainsinternal hosts or CPECPEMultiple CPEs, Multiple provisioning domainsinternal hosts or all CPEs (rtr1 and rtr2)CPEs (rtr1 and rtr2)Multi-homed enterprise, Single provisioning domaininternal hosts or all CPEs (rtr1 and rtr2)CPEs (rtr1 and rtr2)These deployment schemes are further discussed in the following
sub-sections. 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 .For each provisioning domain, the DOTS client MUST resolve the DOTS
server's name provided by a provisioning domain () using the DNS
servers learned from the respective provisioning domain. The DOTS
client 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 maintained with each of the DOTS servers because the
mitigation scope of these servers is restricted. The DOTS client
SHOULD use the certificate provisioned by a provisioning domain to
authenticate itself to the DOTS server provided by the same
provisioning domain.When conveying a mitigation request to protect the attack
target(s), the DOTS client among the DOTS servers available MUST
select a DOTS server whose network has assigned the prefixes from
which target prefixes and target IP addresses are derived. This
implies that if no appropriate DOTS server is found, the DOTS client
must not send the mitigation request to any 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
another domain 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 both DOTS servers for mitigation
purposes. Nevertheless, if the DDoS attack is received from one single
network, then only the DOTS server of that network must be
contacted.The DOTS client MUST be able to associate a DOTS server with each
provisioning domain. 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. illustrates a first set of DOTS
associations that can be established with a DOTS gateway, 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 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
DOTS gateway to contact its DOTS server(s). The DOTS gateways can be
reachable from DOTS clients by using an unicast address or an anycast
address.Nevertheless, when PI addresses/prefixes are assigned, the DOTS
gateway MUST send the same request to all its DOTS servers.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 the
mitigation request for all its PI addresses/prefixes to all the DOTS
servers. The use of anycast addresses is NOT RECOMMENDED.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 addreses/prefixes may not be assigned to the DOTS client
(typically in an IPv4 context), some issues arise 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 ). Each DOTS client is provided with policies (e.g., prefix filter)
that will trigger DOTS communications with the DOTS servers. Such
policies will help the DOTS client to select the appropriate
destination IP address.The CPE MUST select the appropriate source IP address when
forwarding DOTS messages received from an internal DOTS client. If
anycast addresses are used to reach 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.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 DOTS gateway is enabled in each CPE (rtr1, rtr2).Each of these DOTS gateways communicates with the DOTS server
of the provisioning domain.When PI addresses/prefixes are used, DOTS clients MUST contact all
the DOTS gateways to send a DOTS message. DOTS gateways will then
relay the request to the DOTS server. Note that the use of anycast
addresses is NOT RECOMMENDED to establish DOTS sessions between DOTS
clients and DOTS gateways.When PA addresses/prefixes are used, but no filter rules are
provided to DOTS clients, the latter MUST contact all DOTS gateways
simultaneously to send a DOTS message. Upon receipt of a request by a
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 DOTS gateway to
reach. The use of anycast addresses is NOT RECOMMENDED to reach 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.DOTS-related security considerations are discussed in Section 4 of
.TBD: In Home networks, if EST is used then how will the DOTS gateway
(EST client) be provisioned with credentials for initial enrolment (see
Section 2.2 in RFC 7030).This document does not require any action from IANA.Thanks to Roland Dobbins, Nik Teague, Jon Shallow, Dan Wing, Wei Pan,
and Christian Jacquenet for sharing their comments on the mailing
list.Thanks to Kirill Kasavchenko for the comments.