Table 1 provides some sample, non-exhaustive deployment schemes to illustrate how DOTS agents may be deployed for each of the scenarios introduced in
Section 4.
Scenario |
DOTS Client |
Client-Domain DOTS Gateway |
Residential CPE |
CPE |
N/A |
Single CPE, multiple provisioning domains |
Internal hosts or CPE |
CPE |
Multiple CPEs, multiple provisioning domains |
Internal hosts or all CPEs (CPE1 and CPE2) |
CPEs (CPE1 and CPE2) |
Multihomed enterprise, single provisioning domain |
Internal hosts or all CPEs (CPE1 and CPE2) |
CPEs (CPE1 and CPE2) |
Table 1: Sample Deployment Cases
These deployment schemes are further discussed in the following subsections.
Figure 5 depicts DOTS sessions that need to be established between a DOTS client (C) and two DOTS servers (S1, S2) within the context of the scenario described in
Section 4.1. As listed in
Table 1, the DOTS client is hosted by the residential CPE.
+--+
----------|S1|
/ +--+
/ DOTS Server Domain #1
/
+---+/
| C |
+---+\
CPE \
\
\ +--+
----------|S2|
+--+
DOTS Server Domain #2
The DOTS client
MUST resolve the DOTS server's name provided by each provisioning domain using the DNS servers either learned from the respective provisioning domain or associated with the interface(s) for which a DOTS server was explicitly configured (
Section 4). IPv6-capable DOTS clients
MUST use the source address selection algorithm defined in [
RFC 6724] 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
RFC 9132 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 addresses or prefixes 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 or prefix cannot be satisfied by a provisioning domain other than the one that owns those addresses or prefixes. Consequently, if a CPE detects a DDoS attack that spreads over all its network attachments, it
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) [
TS.24008] when attaching to a second network, the DOTS client must record the interface from which a DOTS server was provisioned. A DOTS signaling session to a given DOTS server must be established using the interface from which the DOTS server was provisioned. If a DOTS server is explicitly configured, DOTS signaling with that server must be established via the interfaces that are indicated in the explicit configuration or via any active interface if no interface is configured.
Figure 6 illustrates the DOTS sessions that can be established with a client-domain DOTS gateway (hosted within the CPE as per
Table 1) that is enabled within the context of the scenario described in
Section 4.2. This deployment is characterized as follows:
-
One or 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.
+--+
.................... ----------|S1|
. +---+ . / +--+
. | C1|----+ ./ DOTS Server Domain #1
. +---+ | .
. | /.
.+---+ +-+-+/ .
.| C3|------| G | .
.+---+ +-+-+\ .
. CPE \.
. +---+ | .
. | C2|----+ .\
. +---+ . \ +--+
'..................' ----------|S2|
+--+
DOTS Client Domain DOTS Server Domain #2
When PA addresses or prefixes are in use, the same considerations discussed in
Section 5.1 need to be followed by the client-domain DOTS gateway to contact its DOTS server(s). The client-domain DOTS gateways can be reachable from DOTS clients by using a unicast address or an anycast address (
Section 3.2.4 of
RFC 8811).
Nevertheless, when PI addresses or prefixes are assigned, and absent any policy, the client-domain DOTS gateway
SHOULD send mitigation requests to all its DOTS servers. Otherwise, the attack traffic may still be delivered via the ISP that hasn't received the mitigation request.
An alternate deployment model is depicted in
Figure 7. This deployment assumes that:
-
One or more DOTS clients are enabled in hosts located in the internal network. These DOTS clients may use [RFC 8973] to discover their DOTS server(s).
-
These DOTS clients communicate directly with upstream DOTS servers.
..........
. +--+ .
+--------|C1|--------+
| . +--+ . |
| . . |
+--+ . +--+ . +--+
|S2|------|C3|------|S1|
+--+ . +--+ . +--+
| . . |
| . +--+ . |
+--------|C2|--------+
. +--+ .
'........'
DOTS Client
Domain
If PI addresses or prefixes are in use, the DOTS client
MUST send a mitigation request to all the DOTS servers. The use of the same 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 or prefixes are used, the same considerations discussed in
Section 5.1 need to be followed by the DOTS clients. Because DOTS clients are not embedded in the CPE and multiple addresses or prefixes may not be assigned to the DOTS client (typically in an IPv4 context), some issues may arise in how to steer traffic towards the appropriate DOTS server by using the appropriate source IP address. These complications discussed in [
RFC 4116] 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
Figure 8).
..........
. +--+ .
+--------|C1| .
| . +--+ .
+--+ . +--+ . +--+
|S2| . |C2|------|S1|
+--+ . +--+ . +--+
'........'
DOTS Client
Domain
For both deployments depicted in Figures [
7] and [
8], 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 [
7] and [
8] also apply to the scenario described in
Section 4.3. 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
Figure 9:
-
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 Table 1).
-
Each of these client-domain DOTS gateways communicates with the DOTS server of the provisioning domain.
.................................
. +---+ .
. +------------| C1|----+ .
. | +---+ | .
. | | .
+--+ . +-+-+ +---+ +-+-+ . +--+
|S2|------|G2 |------| C3|------|G1 |------|S1|
+--+ . +-+-+ +---+ +-+-+ . +--+
. CPE2 CPE1 .
. | +---+ | .
. +------------| C2|----+ .
. +---+ .
'...............................'
DOTS Client Domain
When PI addresses or 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 (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.
When PA addresses/prefixes are used, but no filter rules are provided to DOTS clients, the DOTS clients
MUST contact all client-domain DOTS gateways simultaneously to send a DOTS message. Client-domain DOTS gateways
MUST check whether a received request is to be forwarded upstream (if the target IP prefix is managed by the upstream server) or rejected.
When PA addresses or prefixes are used, but specific filter rules are provided to DOTS clients using some means that are out of scope of this document, the clients
MUST select the appropriate client-domain DOTS gateway to reach. The use of the same anycast addresses is
NOT RECOMMENDED to reach client-domain DOTS gateways.
The key difference between the scenario described in
Section 4.4 and the other scenarios is that multihoming is provided by the same ISP. Concretely, that ISP can decide to provision the enterprise network with:
-
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.