<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" consensus="true" docName="draft-ietf-dots-signal-call-home-14" indexInclude="true" ipr="trust200902" number="9066" prepTime="2021-12-09T22:28:29" scripts="Common,Latin" sortRefs="true" submissionType="IETF" symRefs="true" tocDepth="3" tocInclude="true" xml:lang="en">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-dots-signal-call-home-14" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9066" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="DOTS Signal Call Home">Distributed Denial-of-Service Open Threat Signaling (DOTS) Signal Channel Call Home</title>
    <seriesInfo name="RFC" value="9066" stream="IETF"/>
    <author fullname="Tirumaleswar Reddy.K" initials="T." surname="Reddy.K">
      <organization showOnFrontPage="true">Akamai</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 fullname="Mohamed Boucadair" initials="M." role="editor" surname="Boucadair">
      <organization showOnFrontPage="true">Orange</organization>
      <address>
        <postal>
          <street/>
          <city>Rennes</city>
          <code>35000</code>
          <country>France</country>
        </postal>
        <email>mohamed.boucadair@orange.com</email>
      </address>
    </author>
    <author fullname="Jon Shallow" initials="J." surname="Shallow">
      <organization showOnFrontPage="true"/>
      <address>
        <postal>
          <street/>
          <city/>
          <code/>
          <country>United Kingdom</country>
        </postal>
        <email>supjps-ietf@jpshallow.com</email>
      </address>
    </author>
    <date month="12" year="2021"/>
    <workgroup>DOTS</workgroup>
    <keyword>Automation</keyword>
    <keyword>Anti-DDoS Automation</keyword>
    <keyword>DDoS Mitigation</keyword>
    <keyword>Collaborative Networking</keyword>
    <keyword>Protective Networking</keyword>
    <keyword>Security</keyword>
    <keyword>Scrubbing</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">This document specifies the Denial-of-Service Open Threat Signaling (DOTS) signal channel Call Home, which
      enables a Call Home DOTS server to initiate a secure connection to a
      Call Home DOTS client and to receive attack traffic information from
      the Call Home DOTS client. The Call Home DOTS server in turn uses the
      attack traffic information to identify compromised devices launching
      outgoing DDoS attacks and take appropriate mitigation action(s).</t>
      <t indent="0" pn="section-abstract-2">The DOTS signal channel Call Home is not specific to home networks;
      the solution targets any deployment in which it is required to block
      DDoS attack traffic closer to the source(s) of a DDoS attack.</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This is an Internet Standards Track document.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This document is a product of the Internet Engineering Task Force
            (IETF).  It represents the consensus of the IETF community.  It has
            received public review and has been approved for publication by
            the Internet Engineering Steering Group (IESG).  Further
            information on Internet Standards is available in Section 2 of 
            RFC 7841.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc9066" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2021 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document. Code Components extracted from this
            document must include Revised BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Revised BSD License.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-terminology">Terminology</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-applicability-scope">Applicability Scope</xref></t>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-coexistence-of-a-base-dots-">Coexistence of a Base DOTS Signal Channel and DOTS Call Home</xref></t>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-dots-signal-channel-call-hom">DOTS Signal Channel Call Home</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2">
              <li pn="section-toc.1-1.5.2.1">
                <t indent="0" pn="section-toc.1-1.5.2.1.1"><xref derivedContent="5.1" format="counter" sectionFormat="of" target="section-5.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-procedure">Procedure</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.2">
                <t indent="0" pn="section-toc.1-1.5.2.2.1"><xref derivedContent="5.2" format="counter" sectionFormat="of" target="section-5.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-dots-signal-channel-variati">DOTS Signal Channel Variations</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2.2.2">
                  <li pn="section-toc.1-1.5.2.2.2.1">
                    <t indent="0" pn="section-toc.1-1.5.2.2.2.1.1"><xref derivedContent="5.2.1" format="counter" sectionFormat="of" target="section-5.2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-heartbeat-mechanism">Heartbeat Mechanism</xref></t>
                  </li>
                  <li pn="section-toc.1-1.5.2.2.2.2">
                    <t indent="0" pn="section-toc.1-1.5.2.2.2.2.1"><xref derivedContent="5.2.2" format="counter" sectionFormat="of" target="section-5.2.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-redirected-signaling">Redirected Signaling</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.5.2.3">
                <t indent="0" pn="section-toc.1-1.5.2.3.1"><xref derivedContent="5.3" format="counter" sectionFormat="of" target="section-5.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-dots-signal-channel-extensi">DOTS Signal Channel Extension</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2.3.2">
                  <li pn="section-toc.1-1.5.2.3.2.1">
                    <t indent="0" pn="section-toc.1-1.5.2.3.2.1.1"><xref derivedContent="5.3.1" format="counter" sectionFormat="of" target="section-5.3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-mitigation-request">Mitigation Request</xref></t>
                  </li>
                  <li pn="section-toc.1-1.5.2.3.2.2">
                    <t indent="0" pn="section-toc.1-1.5.2.3.2.2.1"><xref derivedContent="5.3.2" format="counter" sectionFormat="of" target="section-5.3.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-address-sharing-considerati">Address Sharing Considerations</xref></t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-dots-signal-call-home-yang-">DOTS Signal Call Home YANG Module</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.6.2">
              <li pn="section-toc.1-1.6.2.1">
                <t indent="0" pn="section-toc.1-1.6.2.1.1"><xref derivedContent="6.1" format="counter" sectionFormat="of" target="section-6.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-tree-structure">Tree Structure</xref></t>
              </li>
              <li pn="section-toc.1-1.6.2.2">
                <t indent="0" pn="section-toc.1-1.6.2.2.1"><xref derivedContent="6.2" format="counter" sectionFormat="of" target="section-6.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-yang-json-mapping-parameter">YANG/JSON Mapping Parameters to CBOR</xref></t>
              </li>
              <li pn="section-toc.1-1.6.2.3">
                <t indent="0" pn="section-toc.1-1.6.2.3.1"><xref derivedContent="6.3" format="counter" sectionFormat="of" target="section-6.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-yang-module">YANG Module</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.7.2">
              <li pn="section-toc.1-1.7.2.1">
                <t indent="0" pn="section-toc.1-1.7.2.1.1"><xref derivedContent="7.1" format="counter" sectionFormat="of" target="section-7.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-dots-signal-channel-cbor-ma">DOTS Signal Channel CBOR Mappings Registry</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.2">
                <t indent="0" pn="section-toc.1-1.7.2.2.1"><xref derivedContent="7.2" format="counter" sectionFormat="of" target="section-7.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-new-dots-conflict-cause">New DOTS Conflict Cause</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.3">
                <t indent="0" pn="section-toc.1-1.7.2.3.1"><xref derivedContent="7.3" format="counter" sectionFormat="of" target="section-7.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-dots-signal-call-home-yang-m">DOTS Signal Call Home YANG Module</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="9" format="counter" sectionFormat="of" target="section-9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-privacy-considerations">Privacy Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="10" format="counter" sectionFormat="of" target="section-10"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.10.2">
              <li pn="section-toc.1-1.10.2.1">
                <t indent="0" pn="section-toc.1-1.10.2.1.1"><xref derivedContent="10.1" format="counter" sectionFormat="of" target="section-10.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.10.2.2">
                <t indent="0" pn="section-toc.1-1.10.2.2.1"><xref derivedContent="10.2" format="counter" sectionFormat="of" target="section-10.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.11">
            <t indent="0" pn="section-toc.1-1.11.1"><xref derivedContent="Appendix A" format="default" sectionFormat="of" target="section-appendix.a"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-some-home-network-issues">Some Home Network Issues</xref></t>
          </li>
          <li pn="section-toc.1-1.12">
            <t indent="0" pn="section-toc.1-1.12.1"><xref derivedContent="Appendix B" format="default" sectionFormat="of" target="section-appendix.b"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-disambiguating-base-dots-si">Disambiguating Base DOTS Signal vs. DOTS Call Home</xref></t>
          </li>
          <li pn="section-toc.1-1.13">
            <t indent="0" pn="section-toc.1-1.13.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.c"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgements">Acknowledgements</xref></t>
          </li>
          <li pn="section-toc.1-1.14">
            <t indent="0" pn="section-toc.1-1.14.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.d"/><xref derivedContent="" format="title" sectionFormat="of" target="name-contributors">Contributors</xref></t>
          </li>
          <li pn="section-toc.1-1.15">
            <t indent="0" pn="section-toc.1-1.15.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.e"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="introduction" numbered="true" toc="include" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">The Distributed Denial-of-Service Open Threat Signaling (DOTS) signal
      channel protocol <xref target="RFC9132" format="default" sectionFormat="of" derivedContent="RFC9132"/> is
      used to carry information about a network resource or a network (or a
      part thereof) that is under a Distributed Denial-of-Service (DDoS)
      attack <xref target="RFC4732" format="default" sectionFormat="of" derivedContent="RFC4732"/>. Such information is sent by a
      DOTS client to one or multiple DOTS servers so that appropriate
      mitigation actions are undertaken on traffic deemed suspicious. Various
      use cases are discussed in <xref target="RFC8903" format="default" sectionFormat="of" derivedContent="RFC8903"/>.</t>
      <t indent="0" pn="section-1-2">However, <xref target="RFC9132" format="default" sectionFormat="of" derivedContent="RFC9132"/> only covers
      how to mitigate when being attacked (i.e., protecting a network from
      inbound DDoS attacks). It does not cover how to control the attacks
      close to their source(s) that are misusing network resources (i.e.,
      outbound DDoS attacks). In particular, the DOTS signal protocol does not
      discuss cooperative DDoS mitigation between the network hosting an
      attack source and the Internet Service Provider (ISP) to suppress the
      outbound DDoS attack traffic originating from that network. As a
      reminder, the base basic DOTS architecture is depicted in <xref target="basea" format="default" sectionFormat="of" derivedContent="Figure 1"/> (<xref target="RFC8811" sectionFormat="of" section="2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8811#section-2" derivedContent="RFC8811"/>).</t>
      <figure anchor="basea" align="left" suppress-title="false" pn="figure-1">
        <name slugifiedName="name-basic-dots-architecture">Basic DOTS Architecture</name>
        <artwork align="center" name="" type="" alt="" pn="section-1-3.1">+-----------+            +-------------+
| Mitigator | ~~~~~~~~~~ | DOTS Server |
+-----------+            +-------------+
                                |
                                |
                                |
+---------------+        +-------------+
| Attack Target | ~~~~~~ | DOTS Client |
+---------------+        +-------------+
</artwork>
      </figure>
      <t indent="0" pn="section-1-4"><xref target="home" format="default" sectionFormat="of" derivedContent="Appendix A"/> details why the rise of Internet of
      Things (IoT) compounds the possibility of these being used as malicious
      actors that need to be controlled. Similar issues can be encountered in
      enterprise networks, data centers, etc. The ISP offering a DDoS
      mitigation service can detect outgoing DDoS attack traffic originating
      from its subscribers, or the ISP may receive filtering rules (e.g., using
      BGP Flowspec <xref target="RFC8955" format="default" sectionFormat="of" derivedContent="RFC8955"/> <xref target="RFC8956" format="default" sectionFormat="of" derivedContent="RFC8956"/>) from a transit provider to filter, block, or
      rate-limit DDoS attack traffic originating from the ISP's subscribers to
      a downstream target. Nevertheless, the DOTS signal channel does not
      provide means for the ISP to request blocking such attacks close to the
      sources without altering legitimate traffic. This document fills that
      void by specifying an extension to the DOTS signal channel: DOTS signal
      channel Call Home.</t>
      <t indent="3" pn="section-1-5">Note: Another design approach would be to extend the DOTS signal
          channel with a new attribute to explicitly indicate whether a
          mitigation request concerns an outbound DDoS attack. In such an
          approach, it is assumed that a DOTS server is deployed within the
          domain that is hosting the attack source(s), while a DOTS client is
          enabled within an upstream network (e.g., access network). However,
          initiating a DOTS signal channel from an upstream network to a
          source network is complicated because of the presence of translators
          and firewalls. Moreover, the use of the same signal channel to
          handle both inbound and outbound attacks complicates both the
          heartbeat and redirection mechanisms that are executed as a function
          of the attack direction (see Sections <xref format="counter" target="hb" sectionFormat="of" derivedContent="5.2.1"/> and <xref format="counter" target="redirect" sectionFormat="of" derivedContent="5.2.2"/>). Also, the DOTS server will be subject to
          fingerprinting (e.g., using scanning tools) and DoS attacks (e.g.,
          by having the DOTS server perform computationally expensive
          operations). Various management and deployment considerations that
          motivate the Call Home functionality are listed in <xref target="RFC8071" sectionFormat="of" section="1.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8071#section-1.1" derivedContent="RFC8071"/>.</t>
      <t indent="0" pn="section-1-6">"DOTS signal channel Call Home" (or "DOTS Call Home" for short) refers
      to a DOTS signal channel established at the initiative of a DOTS server
      thanks to a role reversal at the (D)TLS layer (<xref target="proc" format="default" sectionFormat="of" derivedContent="Section 5.1"/>). That is, the DOTS server initiates a secure
      connection to a DOTS client and uses that connection to receive the
      attack traffic information (e.g., attack sources) from the DOTS
      client.</t>
      <t indent="0" pn="section-1-7">A high-level DOTS Call Home functional architecture is shown in <xref target="fa" format="default" sectionFormat="of" derivedContent="Figure 2"/>. Attack source(s) are within the DOTS server
      domain.</t>
      <figure anchor="fa" align="left" suppress-title="false" pn="figure-2">
        <name slugifiedName="name-basic-dots-signal-channel-c">Basic DOTS Signal Channel Call Home Functional Architecture</name>
        <artwork align="center" name="" type="" alt="" pn="section-1-8.1">                               Scope
                     +.-.-.-.-.-.-.-.-.-.-.-.+
+---------------+    :    +-------------+    :
|    Alert      | ~~~:~~~ |  Call Home  |    :
|               |    :    | DOTS client |    :
+---------------+    :    +------+------+    :
                     :           |           :
                     :           |           :
                     :           |           :
+---------------+    :    +------+------+    :
|    Attack     | ~~~:~~~ |  Call Home  |    :
|   Source(s)   |    :    | DOTS server |    :
+---------------+    :    +-------------+    :
                     +.-.-.-.-.-.-.-.-.-.-.-.+</artwork>
      </figure>
      <t indent="0" pn="section-1-9">DOTS agents involved in the DOTS Call Home otherwise adhere to the
      DOTS roles as defined in <xref target="RFC8612" format="default" sectionFormat="of" derivedContent="RFC8612"/>. For clarity,
      this document uses "Call Home DOTS client" (or "Call Home DOTS server")
      to refer to a DOTS client (or DOTS server) deployed in a Call Home
      scenario (<xref target="fa" format="default" sectionFormat="of" derivedContent="Figure 2"/>). Call Home DOTS agents may (or may not)
      be co-located with DOTS agents that are compliant with <xref target="RFC9132" format="default" sectionFormat="of" derivedContent="RFC9132"/> (see <xref target="coex" format="default" sectionFormat="of" derivedContent="Section 4"/> for more details).</t>
      <t indent="0" pn="section-1-10">A Call Home DOTS client relies upon a variety of triggers to make use
      of the Call Home function (e.g., scrubbing the traffic from the attack
      source or receiving an alert from an attack target, a peer DDoS Mitigation
      System (DMS), or a transit provider). The definition of these triggers
      is deployment specific. It is therefore out of the scope of this
      document to elaborate on how these triggers are made available to a Call
      Home DOTS client.</t>
      <t indent="0" pn="section-1-11">In a typical deployment scenario, the Call Home DOTS server is
      enabled on a Customer Premises Equipment (CPE), which is aligned with
      recent trends to enrich the CPE with advanced security features. For
      example, the DOTS Call Home service can be part of services supported by
      an ISP-managed CPE or a managed security service subscribed to by the user.
      Unlike classic DOTS deployments <xref target="RFC8903" format="default" sectionFormat="of" derivedContent="RFC8903"/>, a Call Home DOTS server
      maintains a single DOTS signal channel session for each DOTS-capable
      upstream provisioning domain <xref target="I-D.ietf-dots-multihoming" format="default" sectionFormat="of" derivedContent="DOTS-MULTIHOMING">
        </xref>.</t>
      <t indent="0" pn="section-1-12">For instance, the Call Home DOTS server in the home network initiates
      the signal channel Call Home in "idle" time; subsequently, the
      Call Home DOTS client in the ISP environment can initiate a mitigation
      request whenever the ISP detects there is an attack from a compromised
      device in the DOTS server domain (i.e., from within the home
      network).</t>
      <t indent="0" pn="section-1-13">The Call Home DOTS server uses the DDoS attack traffic information to
      identify the compromised device in its domain that is responsible for
      launching the DDoS attack, optionally notifies a network administrator,
      and takes appropriate mitigation action(s). For example, a mitigation
      action can be to quarantine the compromised device or block its traffic
      to the attack target(s) until the mitigation request is withdrawn.</t>
      <t indent="0" pn="section-1-14">This document assumes that Call Home DOTS servers are provisioned
      with a way to know how to reach the upstream Call Home DOTS client(s),
      which could occur by a variety of means (e.g., <xref target="RFC8973" format="default" sectionFormat="of" derivedContent="RFC8973"/>). The specification of such means are out of
      scope of this document.</t>
      <t indent="0" pn="section-1-15">More information about the applicability scope of the DOTS signal
      channel Call Home is provided in <xref target="as" format="default" sectionFormat="of" derivedContent="Section 3"/>.</t>
    </section>
    <section anchor="notation" numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-terminology">Terminology</name>
      <t indent="0" pn="section-2-1">
    The key words "<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 "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
    described in BCP 14 <xref target="RFC2119" format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/> 
    when, and only when, they appear in all capitals, as shown here.
      </t>
      <t indent="0" pn="section-2-2">The reader should be familiar with the terms defined in <xref target="RFC8612" sectionFormat="of" section="1.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8612#section-1.2" derivedContent="RFC8612"/>.</t>
      <t indent="0" pn="section-2-3">"DDoS Mitigation System (DMS)" refers to a system that performs DDoS
      mitigation.</t>
      <t indent="0" pn="section-2-4">"Base DOTS signal channel" refers to <xref target="RFC9132" format="default" sectionFormat="of" derivedContent="RFC9132"/>.</t>
      <t indent="0" pn="section-2-5">The meaning of the symbols in YANG tree diagrams are defined in <xref target="RFC8340" format="default" sectionFormat="of" derivedContent="RFC8340"/> and <xref target="RFC8791" format="default" sectionFormat="of" derivedContent="RFC8791"/>.</t>
      <t indent="0" pn="section-2-6">(D)TLS is used for statements that apply to both Transport Layer
      Security (TLS) <xref target="RFC8446" format="default" sectionFormat="of" derivedContent="RFC8446"/> and Datagram Transport
      Layer Security (DTLS) <xref target="RFC6347" format="default" sectionFormat="of" derivedContent="RFC6347"/> <xref target="I-D.ietf-tls-dtls13" format="default" sectionFormat="of" derivedContent="DTLS13"/>.
      Specific terms are used for any statement that applies to either
      protocol alone.</t>
    </section>
    <section anchor="as" numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-applicability-scope">Applicability Scope</name>
      <t indent="0" pn="section-3-1">The problems discussed in <xref target="introduction" format="default" sectionFormat="of" derivedContent="Section 1"/> may be
      encountered in many deployments (e.g., home networks, enterprise
      networks, transit networks, data centers). The solution specified in
      this document can be used for those deployments to block DDoS attack
      traffic closer to the source(s) of the attack. That is, attacks that are
      issued, e.g., from within an enterprise network or a data center will
      thus be blocked before exiting these networks.</t>
      <t indent="0" pn="section-3-2">An instantiation of the Call Home functional architecture is depicted
      in <xref target="pb" format="default" sectionFormat="of" derivedContent="Figure 3"/>.</t>
      <figure anchor="pb" align="left" suppress-title="false" pn="figure-3">
        <name slugifiedName="name-dots-signal-channel-call-ho">DOTS Signal Channel Call Home Reference Architecture</name>
        <artwork align="center" name="" type="" alt="" pn="section-3-3.1">                +-------------+
                |Attack Target|
                +-----+-------+  
                      | /\      Target Network
......................|.||....................      
             .--------+-||-------. 
            (           ||        )-.
          .'            ||           ' 
          (  Internet   ||            ) 
           (            ||          -'
            '-(         ||          )
               '------+-||---------' 
......................|.||..................... 
             .--------+-||-------.      Network   
            (           ||        )-.  Provider
          .' Call Home  ||           '   (DMS)
          ( DOTS client ||            ) 
           (            ||          -'
            '-(         ||          )
               '------+-||---------' 
......................|.||.......................
             .--------+-||-------. Source Network
            (           ||        )-.
          .' Call Home  ||           ' 
          ( DOTS server || Outbound   ) 
           (            ||   DDoS   -'
            '-(         ||  Attack  )
               '------+-||---------' 
                      | ||
                +-----+-++----+
                |Attack Source|                           
                +-------------+
</artwork>
      </figure>
      <t indent="0" pn="section-3-4">It is out of the scope of this document to identify an exhaustive
      list of such deployments.</t>
      <t indent="0" pn="section-3-5">Call Home DOTS agent relationships are similar to those discussed in
      <xref target="RFC8811" sectionFormat="of" section="2.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8811#section-2.3" derivedContent="RFC8811"/>. For example, multiple
      Call Home DOTS servers of the same domain can be associated with the
      same Call Home DOTS client. A Call Home DOTS client may decide to
      contact these Call Home DOTS servers sequentially, fork a mitigation
      request to all of them, or select one Call Home DOTS server to place a
      mitigation request. Such a decision is implementation specific.</t>
      <t indent="0" pn="section-3-6">For some mitigations, feedback may be required from an
      administrator to confirm a filtering action. The means to seek an
      administrator's consent are deployment specific. Indeed, a variety of
      implementation options can be considered for any given Call Home
      DOTS deployment, such as push notifications using a dedicated application,
      Syslog, etc. It is out of the scope of this document to make
      recommendations about how such interactions are implemented (see <xref target="fa" format="default" sectionFormat="of" derivedContent="Figure 2"/>).</t>
      <t indent="0" pn="section-3-7">The Call Home DOTS server can be enabled on a border router or a
      dedicated appliance. For the particular case of home networks, the Call
      Home DOTS server functionality can be enabled on a managed CPE or
      bundled with a CPE management application that is provided by an ISP to
      its subscribers. These managed services are likely to be designed to
      hide the complexity of managing (including configuring) the CPE. For
      example, managed CPEs support the means to notify the user when a new device
      is detected in order to seek confirmation as to whether or not access should be
      granted to the device. These means can be upgraded to interface
      with the Call Home DOTS server. Customized settings can be configured by
      users to control the notifications (e.g., triggers, type) and default
      actions.</t>
    </section>
    <section anchor="coex" numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-coexistence-of-a-base-dots-">Coexistence of a Base DOTS Signal Channel and DOTS Call Home</name>
      <t indent="0" pn="section-4-1">The DOTS signal channel Call Home does not require or preclude the
      activation of the base DOTS signal channel <xref target="RFC9132" format="default" sectionFormat="of" derivedContent="RFC9132"/>. Some sample deployment
      schemes are discussed in this section for illustration purposes.</t>
      <t indent="0" pn="section-4-2">The network that hosts an attack source may also be subject to
      inbound DDoS attacks. In that case, both the base DOTS signal channel
      and DOTS signal channel Call Home may be enabled as shown in <xref target="merged" format="default" sectionFormat="of" derivedContent="Figure 4"/> (same DMS provider) or <xref target="merged1" format="default" sectionFormat="of" derivedContent="Figure 5"/> (distinct DMS providers).</t>
      <figure anchor="merged" align="left" suppress-title="false" pn="figure-4">
        <name slugifiedName="name-activation-of-a-base-dots-s">Activation of a Base DOTS Signal Channel and Call Home (Same DMS Provider)</name>
        <artwork align="center" name="" type="" alt="" pn="section-4-3.1">    DOTS Signal Channel      Base DOTS
        Call Home          Signal Channel  
   +-.-.-.-.-.-.-.-.-.-++-.-.-.-.-.-.-.-.-.-+
   :          +------+ :: +------+          :
   :          | DOTS | :: | DOTS |          :
   :          |client| :: |server|          :
   :          +--+---+ :: +---+--+          :
   :     /\      |     ::     |             : Network
   :     ||      |     ::     |             :Provider
   :     ||      |     ::     |             :  (DMS)  
...:.....||......|.....::.....|.............:........
Outbound ||      |     ::     |       || Inbound
  DDoS   ||      |     ::     |       ||   DDoS
 Attack  ||      |     ::     |       \/  Attack
   :          +--+---+ :: +---+--+          : 
   :          | DOTS | :: | DOTS |          :
   :          |server| :: |client|          :
   :          +------+ :: +------+          :
   +-.-.-.-.-.-.-.-.-.-++-.-.-.-.-.-.-.-.-.-+
                   Network #A</artwork>
      </figure>
      <t indent="0" pn="section-4-4">Note that a DMS provider may not be on the default forwarding path of
      inbound DDoS attack traffic targeting a network (e.g., Network #B in
      <xref target="merged1" format="default" sectionFormat="of" derivedContent="Figure 5"/>). Nevertheless, the DOTS signal channel
      Call Home requires the DMS provider to be on the default forwarding path
      of the outbound traffic from a given network.</t>
      <figure anchor="merged1" align="left" suppress-title="false" pn="figure-5">
        <name slugifiedName="name-activation-of-a-base-dots-si">Activation of a Base DOTS Signal Channel and Call Home (Distinct DMS Providers)</name>
        <artwork align="center" name="" type="" alt="" pn="section-4-5.1">    DOTS Signal Channel      Base DOTS
        Call Home          Signal Channel  
   +-.-.-.-.-.-.-.-.-.-++-.-.-.-.-.-.-.-.-.-+
   : Network  +------+ :: +------+   Third  :
   : Provider | DOTS | :: | DOTS |   Party  :
   :  (DMS)   |client| :: |server|    DMS   :
   :          +--+---+ :: +---+--+ Provider :
   :     /\      |     ::     |             : 
   :     ||      |     ::     |             :
   :     ||      |     ::     |             :
...:.....||......|.....::.....|.............:........
Outbound ||      |     ::     |       || Inbound
  DDoS   ||      |     ::     |       ||   DDoS
 Attack  ||      |     ::     |       \/  Attack
   :          +--+---+ :: +---+--+          : 
   :          | DOTS | :: | DOTS |          :
   :          |server| :: |client|          :
   :          +------+ :: +------+          :
   +-.-.-.-.-.-.-.-.-.-++-.-.-.-.-.-.-.-.-.-+
                   Network #B
</artwork>
      </figure>
      <t indent="0" pn="section-4-6">Figures <xref format="counter" target="snode" sectionFormat="of" derivedContent="6"/> and <xref format="counter" target="snode2" sectionFormat="of" derivedContent="7"/> depict examples where the same
      node embeds both base DOTS and Call Home DOTS agents. For example, a
      DOTS server and a Call Home DOTS client may be enabled on the same
      device within the infrastructure of a DMS provider (e.g., Node #i in
      <xref target="snode" format="default" sectionFormat="of" derivedContent="Figure 6"/>), or a DOTS client and a Call Home DOTS
      server may be enabled on the same device within a source network (e.g.,
      Node #j with Network #D shown in <xref target="snode2" format="default" sectionFormat="of" derivedContent="Figure 7"/>).</t>
      <t indent="0" pn="section-4-7">Whether the same or distinct nodes are used to host base DOTS and
      Call Home DOTS agents is specific to each domain.</t>
      <figure anchor="snode" align="left" suppress-title="false" pn="figure-6">
        <name slugifiedName="name-the-same-node-embedding-a-c">The Same Node Embedding a Call Home DOTS Client and a DOTS Server at the Network Provider's Side</name>
        <artwork align="center" name="" type="" alt="" pn="section-4-8.1">    DOTS Signal Channel      Base DOTS
        Call Home          Signal Channel  
   +-.-.-.-.-.-.-.-.-.-++-.-.-.-.-.-.-.-.-.-+ 
   :        +----------------------+        :                   
   :        |       Node #i        |        :
   :        | +------+    +------+ |        :
   :        | | DOTS |    | DOTS | |        :
   :        | |client|    |server| |        :
   :        | +--+---+    +---+--+ |        :
   :        +----|-----::-----|----+        : Network
   :     /\      |     ::     |             :Provider
   :     ||      |     ::     |             :  (DMS)  
...:.....||......|.....::.....|.............:........
Outbound ||      |     ::     |       || Inbound
  DDoS   ||      |     ::     |       ||   DDoS
 Attack  ||      |     ::     |       \/  Attack
   :          +--+---+ :: +---+--+          : 
   :          | DOTS | :: | DOTS |          :
   :          |server| :: |client|          :
   :          +------+ :: +------+          :
   +-.-.-.-.-.-.-.-.-.-++-.-.-.-.-.-.-.-.-.-+
                   Network #C
</artwork>
      </figure>
      <figure anchor="snode2" align="left" suppress-title="false" pn="figure-7">
        <name slugifiedName="name-the-same-node-embedding-bot">The Same Node Embedding both a DOTS Client and a Call Home DOTS Server</name>
        <artwork align="center" name="" type="" alt="" pn="section-4-9.1">    DOTS Signal Channel      Base DOTS
        Call Home          Signal Channel  
   +-.-.-.-.-.-.-.-.-.-++-.-.-.-.-.-.-.-.-.-+ 
   :        +----------------------+        :                   
   :        |       Node #k        |        :
   :        | +------+    +------+ |        :
   :        | | DOTS |    | DOTS | |        :
   :        | |client|    |server| |        :
   :        | +--+---+    +---+--+ |        :
   :        +----|-----::-----|----+        : Network
   :     /\      |     ::     |             :Provider
   :     ||      |     ::     |             :  (DMS)  
...:.....||......|.....::.....|.............:........
Outbound ||      |     ::     |       || Inbound
  DDoS   ||      |     ::     |       ||   DDoS
 Attack  ||      |     ::     |       \/  Attack
   :        +----|-----::-----|----+        :
   :        | +--+---+    +---+--+ |        :
   :        | | DOTS |    | DOTS | |        :
   :        | |server|    |client| |        :
   :        | +------+    +------+ |        :
   :        |       Node #j        |        :
   :        +----------------------+        :
   +-.-.-.-.-.-.-.-.-.-++-.-.-.-.-.-.-.-.-.-+
                   Network #D</artwork>
      </figure>
      <t indent="0" pn="section-4-10"><xref target="app" format="default" sectionFormat="of" derivedContent="Appendix B"/> elaborates on the considerations
      to unambiguously distinguish DOTS messages that belong to each of these
      channels.</t>
    </section>
    <section anchor="spec" numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-dots-signal-channel-call-hom">DOTS Signal Channel Call Home</name>
      <section anchor="proc" numbered="true" toc="include" removeInRFC="false" pn="section-5.1">
        <name slugifiedName="name-procedure">Procedure</name>
        <t indent="0" pn="section-5.1-1">The DOTS signal channel Call Home preserves all but one of the DOTS
        client/server roles in the DOTS protocol stack, as compared to the client-initiated DOTS signal channel protocol <xref target="RFC9132" format="default" sectionFormat="of" derivedContent="RFC9132"/>. The role reversal that
        occurs is at the (D)TLS layer; that is, (1) the Call Home DOTS server
        acts as a DTLS client, and the Call Home DOTS client acts as a DTLS
        server; or (2) the Call Home DOTS server acts as a TLS client
        initiating the underlying TCP connection, and the Call Home DOTS client
        acts as a TLS server. The Call Home DOTS server initiates a (D)TLS
        handshake to the Call Home DOTS client.</t>
        <t indent="0" pn="section-5.1-2">For example, a home network element (e.g., home router) co-located
        with a Call Home DOTS server is the (D)TLS client. That is, the Call
        Home DOTS server assumes the role of the (D)TLS client, but the
        network element's role as a DOTS server remains the same.</t>
        <t indent="0" pn="section-5.1-3">Existing certificate chains and mutual authentication mechanisms
        between the DOTS agents are unaffected by the Call Home function. From
        a deployment standpoint, and given the scale of Call Home DOTS servers
        that may be involved, enabling means for automating the provisioning
        of credentials on Call Home DOTS servers to authenticate to the Call
        Home DOTS client is encouraged. It is out of the scope of this
        document to elaborate on these means.</t>
        <t indent="0" pn="section-5.1-4"><xref target="signalch" format="default" sectionFormat="of" derivedContent="Figure 8"/> illustrates a sample DOTS Call Home
        flow exchange:</t>
        <figure anchor="signalch" align="left" suppress-title="false" pn="figure-8">
          <name slugifiedName="name-dots-signal-channel-call-home">DOTS Signal Channel Call Home Sequence Diagram</name>
          <artwork name="" type="" align="left" alt="" pn="section-5.1-5.1">           +-----------+                        +-----------+
           | Call Home |                        | Call Home |
           |    DOTS   |                        |    DOTS   |
           |   server  |                        |   client  |
           +-----+-----+                        +-----+-----+
           (D)TLS client                        (D)TLS server
                 |                                    |
                 |         1. (D)TLS connection       |
                 |-----------------------------------&gt;|
                 |         2. Mitigation request      |
                 |&lt;-----------------------------------|
                 |              ...                   |
</artwork>
        </figure>
        <t indent="0" pn="section-5.1-6">The DOTS signal channel Call Home procedure is as follows:</t>
        <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-5.1-7"><li pn="section-5.1-7.1" derivedCounter="1.">
            <t indent="0" pn="section-5.1-7.1.1">If UDP transport is used, the Call Home DOTS server begins by
            initiating a DTLS connection to the Call Home DOTS client.</t>
            <t indent="0" pn="section-5.1-7.1.2">If TCP is used, the Call Home DOTS server begins
            by initiating a TCP connection to the Call Home DOTS client. Once
            connected, the Call Home DOTS server continues to initiate a TLS
            connection to the Call Home DOTS client.</t>
            <t indent="0" pn="section-5.1-7.1.3">Peer DOTS agents may have mutual agreement to use
            a specific port number, such as by explicit configuration or
            dynamic discovery <xref target="RFC8973" format="default" sectionFormat="of" derivedContent="RFC8973"/>. The interaction
            between the base DOTS signal channel and the Call Home is
            discussed in <xref target="app" format="default" sectionFormat="of" derivedContent="Appendix B"/>.</t>
            <t indent="0" pn="section-5.1-7.1.4">The Happy Eyeballs mechanism explained in <xref target="RFC9132" sectionFormat="of" section="4.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9132#section-4.3" derivedContent="RFC9132"/> is used
            for initiating (D)TLS connections.</t>
          </li>
          <li pn="section-5.1-7.2" derivedCounter="2.">
            <t indent="0" pn="section-5.1-7.2.1">Using this (D)TLS connection, the Call Home DOTS client may
            request, withdraw, or retrieve the status of mitigation requests.
            The Call Home DOTS client supplies the source information by means
            of new attributes defined in <xref target="mitigation" format="default" sectionFormat="of" derivedContent="Section 5.3.1"/>.
            </t>
            <t indent="0" pn="section-5.1-7.2.2">The heartbeat mechanism used for the DOTS
            Call Home deviates from the one defined in <xref target="RFC9132" sectionFormat="of" section="4.7" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9132#section-4.7" derivedContent="RFC9132"/>. <xref target="hb" format="default" sectionFormat="of" derivedContent="Section 5.2.1"/> specifies the behavior to be followed by Call
            Home DOTS agents.</t>
          </li>
        </ol>
        <t indent="0" pn="section-5.1-8"/>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-5.2">
        <name slugifiedName="name-dots-signal-channel-variati">DOTS Signal Channel Variations</name>
        <t indent="0" pn="section-5.2-1"/>
        <section anchor="hb" numbered="true" toc="include" removeInRFC="false" pn="section-5.2.1">
          <name slugifiedName="name-heartbeat-mechanism">Heartbeat Mechanism</name>
          <t indent="0" pn="section-5.2.1-1">Once the (D)TLS section is established between the DOTS agents,
          the Call Home DOTS client contacts the Call Home DOTS server to
          retrieve the session configuration parameters (<xref target="RFC9132" sectionFormat="of" section="4.5" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9132#section-4.5" derivedContent="RFC9132"/>). The Call Home DOTS
          server adjusts the "heartbeat-interval" to accommodate binding
          timers used by on-path NATs and firewalls. Heartbeats will then be exchanged by the DOTS agents following the instructions retrieved
          using the signal channel session configuration exchange.</t>
          <t indent="0" pn="section-5.2.1-2">It is the responsibility of Call Home DOTS servers to ensure that
          on-path translators/firewalls are maintaining a binding so that the
          same external IP address and/or port number is retained for the DOTS
          signal channel session. A Call Home DOTS client <bcp14>MAY</bcp14> trigger their
          heartbeat requests immediately after receiving heartbeat probes from
          its peer Call Home DOTS server.</t>
          <t indent="0" pn="section-5.2.1-3">When an outgoing attack that saturates the outgoing link from the
          Call Home DOTS server is detected and reported by a Call Home DOTS
          client, the latter <bcp14>MUST</bcp14> continue to use the DOTS signal channel even
          if no traffic is received from the Call Home DOTS server.</t>
          <t indent="0" pn="section-5.2.1-4">If the Call Home DOTS server receives traffic from the Call Home
          DOTS client, the Call Home DOTS server <bcp14>MUST</bcp14> continue to use the DOTS signal channel even if the threshold of allowed missing heartbeats ("missing-hb-allowed") is reached.</t>
          <t indent="0" pn="section-5.2.1-5">If the Call Home DOTS server does not receive any traffic from
          the peer Call Home DOTS client during the time span required to
          exhaust the maximum "missing-hb-allowed" threshold, the Call Home
          DOTS server concludes the session is disconnected. Then, the Call
          Home DOTS server <bcp14>MUST</bcp14> try to establish a new DOTS signal channel
          session, preferably by resuming the (D)TLS session.</t>
        </section>
        <section anchor="redirect" numbered="true" toc="include" removeInRFC="false" pn="section-5.2.2">
          <name slugifiedName="name-redirected-signaling">Redirected Signaling</name>
          <t indent="0" pn="section-5.2.2-1">A Call Home DOTS server <bcp14>MUST NOT</bcp14> support the redirected signaling
          mechanism as specified in <xref target="RFC9132" sectionFormat="of" section="4.6" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9132#section-4.6" derivedContent="RFC9132"/> 

(i.e., a 5.03 response
          that conveys an alternate DOTS server's Fully Qualified Domain Name (FQDN) or IP address(es)). A Call Home DOTS client <bcp14>MUST</bcp14> silently
          discard such a message as only a Call Home DOTS server can initiate a
          new (D)TLS connection.</t>
          <t indent="0" pn="section-5.2.2-2">If a Call Home DOTS client wants to redirect a Call Home DOTS
          server to another Call Home DOTS client, it <bcp14>MUST</bcp14> send a
          Non-confirmable PUT request to the predefined resource
          ".well-known/dots/redirect" with the following
          attributes in the body of the PUT request:</t>
          <dl newline="false" spacing="normal" indent="3" pn="section-5.2.2-3">
            <dt pn="section-5.2.2-3.1">alt-ch-client:</dt>
            <dd pn="section-5.2.2-3.2">
              <t indent="0" pn="section-5.2.2-3.2.1">The FQDN of an alternate Call Home
              DOTS client. It is also presented as a reference identifier for
              authentication purposes.</t>
              <t indent="0" pn="section-5.2.2-3.2.2">This is a
              mandatory attribute for DOTS signal Call Home. It <bcp14>MUST NOT</bcp14> be
              used for base DOTS signal channel operations.</t>
            </dd>
            <dt pn="section-5.2.2-3.3">alt-ch-client-record:</dt>
            <dd pn="section-5.2.2-3.4">
              <t indent="0" pn="section-5.2.2-3.4.1">List of IP addresses for the
              alternate Call Home DOTS client. If no "alt-ch-client-record" is
              provided, the Call Home DOTS server passes the "alt-ch-client"
              name to a name resolution library to retrieve one or more IP
              addresses of the alternate Call Home DOTS client.</t>
              <t indent="0" pn="section-5.2.2-3.4.2">This is an optional attribute for DOTS signal
              Call Home. It <bcp14>MUST NOT</bcp14> be used for base DOTS signal channel
              operations.</t>
            </dd>
            <dt pn="section-5.2.2-3.5">ttl:</dt>
            <dd pn="section-5.2.2-3.6">
              <t indent="0" pn="section-5.2.2-3.6.1">The Time To Live (TTL) of the alternate Call
              Home DOTS client. That is, the time interval in which the alternate
              Call Home DOTS client may be cached for use by a Call Home DOTS
              server.</t>
              <t indent="0" pn="section-5.2.2-3.6.2">This is an optional attribute
              for DOTS signal Call Home. It <bcp14>MUST NOT</bcp14> be used for base DOTS
              signal channel operations.</t>
            </dd>
          </dl>
          <t indent="0" pn="section-5.2.2-4">On receipt of this PUT request, the Call Home DOTS server
          responds with a 2.01 (Created), closes this connection, and
          establishes a connection with the new Call Home DOTS client. The
          processing of the TTL is defined in <xref target="RFC9132" sectionFormat="of" section="4.6" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9132#section-4.6" derivedContent="RFC9132"/>. If the Call Home DOTS
          server cannot service the PUT request, the response is rejected with
          a 4.00 (Bad Request).</t>
          <t indent="0" pn="section-5.2.2-5"><xref target="red-example" format="default" sectionFormat="of" derivedContent="Figure 9"/> shows a PUT request example to
          convey the alternate Call Home DOTS client
          "alt-call-home-client.example" together with its IP addresses
          2001:db8:6401::1 and 2001:db8:6401::2. The validity of this
          alternate Call Home DOTS client is 10 minutes.</t>
          <figure anchor="red-example" align="left" suppress-title="false" pn="figure-9">
            <name slugifiedName="name-example-of-a-put-request-fo">Example of a PUT Request for Redirected Signaling</name>
            <sourcecode name="" type="coap" markers="false" pn="section-5.2.2-6.1">
   Header: PUT (Code=0.03)
   Uri-Path: ".well-known"
   Uri-Path: "dots"
   Uri-Path: "redirect"
   Uri-Path: "cuid=dz6pHjaADkaFTbjr0JGBpw"
   Uri-Path: "mid=123"
   Content-Format: "application/dots+cbor"

   {
     "ietf-dots-signal-channel:redirected-signal": {
       "ietf-dots-call-home:alt-ch-client":
                     "alt-call-home-client.example",
       "ietf-dots-call-home:alt-ch-client-record": [
          "2001:db8:6401::1",
          "2001:db8:6401::2"
        ],
       "ietf-dots-call-home:ttl": 600
   }
</sourcecode>
          </figure>
          <t indent="0" pn="section-5.2.2-7"><xref target="red-example" format="default" sectionFormat="of" derivedContent="Figure 9"/> uses the JSON encoding of YANG-modeled data for the CoAP message body. The same encoding is used in <xref target="example" format="default" sectionFormat="of" derivedContent="Figure 10"/> (<xref target="mitigation" format="default" sectionFormat="of" derivedContent="Section 5.3.1"/>).
          </t>
        </section>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-5.3">
        <name slugifiedName="name-dots-signal-channel-extensi">DOTS Signal Channel Extension</name>
        <section anchor="mitigation" numbered="true" toc="include" removeInRFC="false" pn="section-5.3.1">
          <name slugifiedName="name-mitigation-request">Mitigation Request</name>
          <t indent="0" pn="section-5.3.1-1">This specification extends the mitigation request defined in
          <xref target="RFC9132" sectionFormat="of" section="4.4.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9132#section-4.4.1" derivedContent="RFC9132"/> to
          convey the attack source information (e.g., source prefixes, source
          port numbers). The DOTS client conveys the following new parameters
          in the Concise Binary Object Representation (CBOR) body of the mitigation request:</t>
          <dl newline="false" spacing="normal" indent="3" pn="section-5.3.1-2">
            <dt pn="section-5.3.1-2.1">source-prefix:</dt>
            <dd pn="section-5.3.1-2.2">
              <t indent="0" pn="section-5.3.1-2.2.1">A list of attacker IP prefixes used
              to attack the target. Prefixes are represented using Classless
              Inter-Domain Routing (CIDR) notation (<xref target="RFC4632" format="default" sectionFormat="of" derivedContent="RFC4632">BCP
              122 </xref>). </t>
              <t indent="0" pn="section-5.3.1-2.2.2">As a reminder, the prefix
              length <bcp14>MUST</bcp14> be less than or equal to 32 (or 128) for IPv4 (or
              IPv6).</t>
              <t indent="0" pn="section-5.3.1-2.2.3">The prefix list <bcp14>MUST NOT</bcp14> include
              broadcast, loopback, or multicast addresses. These addresses are
              considered invalid values. Note that link-local addresses are
              allowed. The Call Home DOTS client <bcp14>MUST</bcp14> validate that attacker
              prefixes are within the scope of the Call Home DOTS server
              domain (e.g., prefixes assigned to the Call Home DOTS server
              domain or networks it services). This check is meant to avoid
              contacting Call Home DOTS servers that are not entitled to
              enforce actions on specific prefixes.</t>
              <t indent="0" pn="section-5.3.1-2.2.4">This is an optional attribute for the base DOTS
              signal channel operations.</t>
            </dd>
            <dt pn="section-5.3.1-2.3">source-port-range:</dt>
            <dd pn="section-5.3.1-2.4">
              <t indent="0" pn="section-5.3.1-2.4.1">A list of port numbers used by
              the attack traffic flows. </t>
              <t indent="0" pn="section-5.3.1-2.4.2">A port range
              is defined by two bounds, a lower port number ("lower-port") and
              an upper port number ("upper-port"). When only "lower-port" is
              present, it represents a single port number. </t>
              <t indent="0" pn="section-5.3.1-2.4.3">For TCP, UDP, Stream Control Transmission
              Protocol (SCTP) <xref target="RFC4960" format="default" sectionFormat="of" derivedContent="RFC4960"/>, or Datagram
              Congestion Control Protocol (DCCP) <xref target="RFC4340" format="default" sectionFormat="of" derivedContent="RFC4340"/>, a range of ports can be any subrange
              of 0-65535 -- for example, 0-1023, 1024-65535, or 1024-49151.
              </t>
              <t indent="0" pn="section-5.3.1-2.4.4">This is an optional attribute for the
              base DOTS signal channel operations.</t>
            </dd>
            <dt pn="section-5.3.1-2.5">source-icmp-type-range:</dt>
            <dd pn="section-5.3.1-2.6">
              <t indent="0" pn="section-5.3.1-2.6.1">A list of ICMP types used
              by the attack traffic flows. An ICMP type range is defined by
              two bounds, a lower ICMP type (lower-type) and an upper ICMP
              type (upper-type). When only "lower-type" is present, it
              represents a single ICMP type. Both ICMP <xref target="RFC0792" format="default" sectionFormat="of" derivedContent="RFC0792"/> and ICMPv6 <xref target="RFC4443" format="default" sectionFormat="of" derivedContent="RFC4443"/> types are supported. Whether ICMP or
              ICMPv6 types are to be used is determined by the address family
              of the "target-prefix". </t>
              <t indent="0" pn="section-5.3.1-2.6.2">This is an
              optional attribute for the base DOTS signal channel
              operations.</t>
            </dd>
          </dl>
          <t indent="0" pn="section-5.3.1-3">The "source-prefix" parameter is a mandatory attribute when the
          attack traffic information is signaled by a Call Home DOTS client
          (i.e., the Call Home scenario depicted in <xref target="signalch" format="default" sectionFormat="of" derivedContent="Figure 8"/>). The "target-prefix" attribute <bcp14>MUST</bcp14> be
          included in the mitigation request signaling the attack information
          to a Call Home DOTS server. The "target-uri" or "target-fqdn"
          parameters can be included in a mitigation request for diagnostic
          purposes to notify the Call Home DOTS server domain administrator
          but <bcp14>SHOULD NOT</bcp14> be used to determine the target IP addresses.
          "alias-name" is unlikely to be conveyed in a Call Home mitigation
          request given that a target may be any IP resource and that there is
          no incentive for a Call Home DOTS server (embedded, for example, in
          a CPE) to maintain aliases.</t>
          <t indent="0" pn="section-5.3.1-4">In order to help attack source identification by a Call Home DOTS
          server, the Call Home DOTS client <bcp14>SHOULD</bcp14> include in its mitigation
          request additional information such as "source-port-range" or
          "source-icmp-type-range" to disambiguate nodes sharing the same
        "source-prefix". IPv6 addresses/prefixes are sufficient to uniquely
          identify a network endpoint, without need for port numbers or ICMP
          type information. While this is also possible for IPv4, it is much
          less often the case than for IPv6. More address sharing implications
          on the setting of source information ("source-prefix",
          "source-port-range") are discussed in <xref target="nat" format="default" sectionFormat="of" derivedContent="Section 5.3.2"/>.</t>
          <t indent="0" pn="section-5.3.1-5">Only immediate mitigation requests (i.e., "trigger-mitigation"
          set to "true") are allowed; Call Home DOTS clients <bcp14>MUST NOT</bcp14> send
          requests with "trigger-mitigation" set to "false". Such requests
          <bcp14>MUST</bcp14> be discarded by the Call Home DOTS server with a 4.00 (Bad
          Request).</t>
          <t indent="0" pn="section-5.3.1-6">An example of a mitigation request sent by a Call Home DOTS
          client is shown in <xref target="example" format="default" sectionFormat="of" derivedContent="Figure 10"/>.</t>
          <figure anchor="example" align="left" suppress-title="false" pn="figure-10">
            <name slugifiedName="name-an-example-of-a-mitigation-">An Example of a Mitigation Request Issued by a Call Home DOTS Client</name>
            <sourcecode name="" type="json" markers="false" pn="section-5.3.1-7.1">
  Header: PUT (Code=0.03)
  Uri-Path: ".well-known"
  Uri-Path: "dots"
  Uri-Path: "mitigate"
  Uri-Path: "cuid=dz6pHjaADkaFTbjr0JGBpw"
  Uri-Path: "mid=56"
  Content-Format: "application/dots+cbor"

  {
    "ietf-dots-signal-channel:mitigation-scope": {
      "scope": [
        {
          "target-prefix": [
             "2001:db8:c000::/128"
           ],
          "ietf-dots-call-home:source-prefix": [
             "2001:db8:123::1/128"
           ],
          "lifetime": 3600
        }
      ]
    }
  }
</sourcecode>
          </figure>
          <t indent="0" pn="section-5.3.1-8">The Call Home DOTS server <bcp14>MUST</bcp14> check that the "source-prefix" is
          within the scope of the Call Home DOTS server domain. Note that in a
          DOTS Call Home scenario, the Call Home DOTS server considers, by
          default, that any routable IP prefix enclosed in "target-prefix" is
          within the scope of the Call Home DOTS client. Invalid mitigation
          requests are handled as per <xref target="RFC9132" sectionFormat="of" section="4.4.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9132#section-4.4.1" derivedContent="RFC9132"/>.</t>
          <t indent="3" pn="section-5.3.1-9">
            Note: These validation checks do not apply when the source
              information is included as a hint in the context of the base
              DOTS signal channel.</t>
          <t indent="0" pn="section-5.3.1-10">Call Home DOTS server domain administrator consent <bcp14>MAY</bcp14> be
          required to block the traffic from the compromised device to the
          attack target. An implementation <bcp14>MAY</bcp14> have a configuration knob to
          block the traffic from the compromised device to the attack target
          with or without DOTS server domain administrator consent.</t>
          <t indent="0" pn="section-5.3.1-11">If consent from the Call Home DOTS server domain administrator
          is required, the Call Home DOTS server replies with 2.01 (Created)
          and the "status" code set to 1 (attack-mitigation-in-progress). Then,
          the mechanisms defined in <xref target="RFC9132" sectionFormat="of" section="4.4.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9132#section-4.4.2" derivedContent="RFC9132"/> are followed by the DOTS
          agents to update the mitigation status. In particular, if the attack
          traffic is blocked, the Call Home DOTS server informs the Call Home
          DOTS client that the attack is being mitigated (i.e., by setting the
          "status" code to 2 (attack-successfully-mitigated)).</t>
          <t indent="0" pn="section-5.3.1-12">If the attack traffic information is identified by the Call Home
          DOTS server or the Call Home DOTS server domain administrator as
          legitimate traffic, the mitigation request is rejected with a 4.09
          (Conflict) (e.g., when no consent is required from an administrator)
          or a notification message with the "conflict-clause" (<xref target="RFC9132" sectionFormat="of" section="4.4.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9132#section-4.4.1" derivedContent="RFC9132"/>) set to the
          following new value:</t>
          <dl newline="false" spacing="normal" indent="3" pn="section-5.3.1-13">
            <dt pn="section-5.3.1-13.1">4:</dt>
            <dd pn="section-5.3.1-13.2">Mitigation request rejected. This code is
              returned by the DOTS server to indicate the attack traffic has
              been classified as legitimate traffic.</dd>
          </dl>
          <t indent="0" pn="section-5.3.1-14">Once the request is validated by the Call Home DOTS server,
          appropriate actions are enforced to block the attack traffic within
          the source network. For example, if the Call Home DOTS server is
          embedded in a CPE, it can program the packet processor to punt all

          the traffic from the compromised device to the target to slow path.
          The CPE inspects the punted slow path traffic to detect and block
          the outgoing DDoS attack traffic or quarantine the device (e.g.,
          using MAC-level filtering) until it is remediated and notifies the
          CPE administrator about the compromised device. Note that the Call
          Home DOTS client is informed about the progress of the attack
          mitigation following the rules in <xref target="RFC9132" sectionFormat="of" section="4.4.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9132#section-4.4.2" derivedContent="RFC9132"/>.</t>
          <t indent="0" pn="section-5.3.1-15">The DOTS agents follow the same procedures specified in <xref target="RFC9132" format="default" sectionFormat="of" derivedContent="RFC9132"/> for managing a mitigation
          request.</t>
        </section>
        <section anchor="nat" numbered="true" toc="include" removeInRFC="false" pn="section-5.3.2">
          <name slugifiedName="name-address-sharing-considerati">Address Sharing Considerations</name>
          <t indent="0" pn="section-5.3.2-1"><xref target="ex1" format="default" sectionFormat="of" derivedContent="Figure 11"/> depicts an example of a network
          provider that hosts a Call Home DOTS client and deploys a Carrier-Grade NAT (CGN) between the DOTS client domain and DOTS server
          domain. In such cases, communicating an external IP address in a
          mitigation request by a Call Home DOTS client is likely to be
          discarded by the Call Home DOTS server because the external IP
          address is not visible locally to the Call Home DOTS server (<xref target="ex1" format="default" sectionFormat="of" derivedContent="Figure 11"/>). The Call Home DOTS server is only aware of
          the internal IP addresses/prefixes bound to its domain (i.e., those
          used in the internal realm shown in <xref target="ex1" format="default" sectionFormat="of" derivedContent="Figure 11"/>).
          Thus, Call Home DOTS clients that are aware of the presence of
          on-path CGNs <bcp14>MUST NOT</bcp14> include the external IP address and/or port
          number identifying the suspect attack source (i.e., those used in
          the external realm shown in <xref target="ex1" format="default" sectionFormat="of" derivedContent="Figure 11"/>) but <bcp14>MUST</bcp14>
          include the internal IP address and/or port number. To that aim, the
          Call Home DOTS client <bcp14>SHOULD</bcp14> rely on mechanisms, such as those described in <xref target="RFC8512" format="default" sectionFormat="of" derivedContent="RFC8512"/> or <xref target="RFC8513" format="default" sectionFormat="of" derivedContent="RFC8513"/>, to
          retrieve the internal IP address and port number that are mapped to
          an external IP address and port number. For the particular case of
          NAT64 <xref target="RFC6146" format="default" sectionFormat="of" derivedContent="RFC6146"/>, if the target address is an
          IPv4 address, the IPv4-converted IPv6 address of this target address
          <xref target="RFC6052" format="default" sectionFormat="of" derivedContent="RFC6052"/> <bcp14>SHOULD</bcp14> be used.</t>
          <figure anchor="ex1" align="left" suppress-title="false" pn="figure-11">
            <name slugifiedName="name-example-of-a-cgn-between-do">Example of a CGN between DOTS Domains</name>
            <artwork align="center" name="" type="" alt="" pn="section-5.3.2-2.1">  N |        .-------------------. 
  E |       (                     )-.
  T |     .'                         ' 
  W |     (        Call Home          ) 
  O |      (      DOTS client       -'
  R |       '-(                     )
  K |          '-------+-----------' 
    |                  |      
  P |                  |
  R |              +---+---+
  O |              |  CGN  |        External Realm
  V |..............|       |......................         
  I |              |       |        Internal Realm
  D |              +---+---+        
  E |                  |
  R |                  |
   ---                 |   
             .---------+---------. 
            (                     )-.
          .'     Source Network      ' 
          (                           ) 
           (        Call Home        -'
            '-(    DOTS server      )
               '------+------------' 
                      |  
                +-----+-------+
                |Attack Source|
                +-------------+
</artwork>
          </figure>
          <t indent="0" pn="section-5.3.2-3">If a Mapping of Address and Port (MAP) Border Relay <xref target="RFC7597" format="default" sectionFormat="of" derivedContent="RFC7597"/> or Lightweight Address Family Transition Router (lwAFTR) <xref target="RFC7596" format="default" sectionFormat="of" derivedContent="RFC7596"/> is enabled in the provider's domain
          to service its customers, the identification of an attack source
          bound to an IPv4 address/prefix <bcp14>MUST</bcp14> also rely on source port
          numbers because the same IPv4 address is assigned to multiple
          customers. The port information is required to unambiguously
          identify the source of an attack.</t>
          <t indent="0" pn="section-5.3.2-4">If a translator is enabled on the boundaries of the domain
          hosting the Call Home DOTS server (e.g., a CPE with NAT enabled as
          shown in Figures <xref format="counter" target="ex2" sectionFormat="of" derivedContent="12"/> and
          <xref format="counter" target="ex2b" sectionFormat="of" derivedContent="13"/>), the Call Home DOTS
          server uses the attack traffic information conveyed in a mitigation
          request to find the internal source IP address of the compromised
          device and blocks the traffic from the compromised device traffic to
          the attack target until the mitigation request is withdrawn. The
          Call Home DOTS server proceeds with a NAT mapping table lookup using
          the attack information (or a subset thereof) as a key. The lookup
          can be local (<xref target="ex2" format="default" sectionFormat="of" derivedContent="Figure 12"/>) or via a dedicated
          administration interface that is offered by the CPE (<xref target="ex2b" format="default" sectionFormat="of" derivedContent="Figure 13"/>). This identification allows the suspicious
          device to be isolated while avoiding disturbances of other
          services.</t>
          <figure anchor="ex2" align="left" suppress-title="false" pn="figure-12">
            <name slugifiedName="name-example-of-a-dots-server-do">Example of a DOTS Server Domain with a NAT Embedded in a CPE</name>
            <artwork align="center" name="" type="" alt="" pn="section-5.3.2-5.1">             .-------------------. 
            (                     )-.
          .'   Network Provider (DMS)' 
          (                           ) 
           (        Call Home       -'
            '-(    DOTS client      )
               '-------+-----------' 
                       |
   ---             +---+---+   
  S |              |  CPE  |  External Realm
  O |..............|       |................         
  U |              |  NAT  |  Internal Realm
  R |              +---+---+        
  C |                  |   
  E |        .---------+---------. 
    |       (                     )-.
  N |     .'                         ' 
  E |     (          Call Home        ) 
  T |      (        DOTS server     -'
  W |       '-(                     )
  O |          '-------+-----------' 
  R |                  |  
  K |           +------+------+
    |           |Attack Source|                           
                +-------------+
</artwork>
          </figure>
          <figure anchor="ex2b" align="left" suppress-title="false" pn="figure-13">
            <name slugifiedName="name-example-of-a-call-home-dots">Example of a Call Home DOTS Server and a NAT Embedded in a CPE</name>
            <artwork align="center" name="" type="" alt="" pn="section-5.3.2-6.1">             .-------------------. 
            (                     )-.
          .'  Network Provider (DMS) ' 
          (                           ) 
           (        Call Home       -'
            '-(    DOTS client      )
               '---------+---------' 
                         |
   ---             +-----+-----+   
  S |              |  CPE/NAT  |  External Realm
  O |..............|           |................
  U |              | Call Home |  Internal Realm        
  R |              |DOTS server| 
  C |              +-----+-----+        
  E |                    |   
    |        .-----------+-------. 
    |       (                     )-.
  N |     .'                         ' 
  E |     (     Local Area Network    ) 
  T |      (                        -'
  W |       '-(                     )
  O |          '--------+----------' 
  R |                   |  
  K |            +------+------+
    |            |Attack Source|                           
                 +-------------+
</artwork>
          </figure>
          <t indent="0" pn="section-5.3.2-7">If, for any reason, address sharing is deployed in both source and
          provider networks, both Call Home DOTS agents have to proceed with
          address mapping lookups following the behavior specified in
          reference to <xref target="ex1" format="default" sectionFormat="of" derivedContent="Figure 11"/> (network provider) and
          Figures <xref format="counter" target="ex2" sectionFormat="of" derivedContent="12"/> and <xref format="counter" target="ex2b" sectionFormat="of" derivedContent="13"/> (source network).</t>
        </section>
      </section>
    </section>
    <section anchor="YANG" numbered="true" toc="include" removeInRFC="false" pn="section-6">
      <name slugifiedName="name-dots-signal-call-home-yang-">DOTS Signal Call Home YANG Module</name>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-6.1">
        <name slugifiedName="name-tree-structure">Tree Structure</name>
        <t indent="0" pn="section-6.1-1">This document augments the "ietf-dots-signal-channel" (dots-signal)
        DOTS signal YANG module defined in <xref target="RFC9132" format="default" sectionFormat="of" derivedContent="RFC9132"/> for signaling the attack
        traffic information. This document defines the YANG module
        "ietf-dots-call-home", which has the following tree structure:</t>
        <sourcecode name="" type="yangtree" markers="false" pn="section-6.1-2">
module: ietf-dots-call-home

  augment-structure /dots-signal:dots-signal/dots-signal:message-type
                    /dots-signal:mitigation-scope/dots-signal:scope:
    +-- source-prefix*            inet:ip-prefix
    +-- source-port-range* [lower-port]
    |  +-- lower-port    inet:port-number
    |  +-- upper-port?   inet:port-number
    +-- source-icmp-type-range* [lower-type]
       +-- lower-type    uint8
       +-- upper-type?   uint8
  augment-structure /dots-signal:dots-signal/dots-signal:message-type
                    /dots-signal:redirected-signal:
    +-- (type)?
       +--:(call-home-only)
          +-- alt-ch-client           inet:domain-name
          +-- alt-ch-client-record*   inet:ip-address
          +-- ttl?                    uint32
</sourcecode>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-6.2">
        <name slugifiedName="name-yang-json-mapping-parameter">YANG/JSON Mapping Parameters to CBOR</name>
        <t indent="0" pn="section-6.2-1">The YANG/JSON mapping parameters to CBOR are listed in <xref target="table1" format="default" sectionFormat="of" derivedContent="Table 1"/>.</t>
        <t indent="3" pn="section-6.2-2">
          Note: Implementers must check that the mapping output provided
            by their YANG-to-CBOR encoding schemes is aligned with the content
            of <xref target="table1" format="default" sectionFormat="of" derivedContent="Table 1"/>.
        </t>
        <table anchor="table1" align="center" pn="table-1">
          <name slugifiedName="name-yang-json-mapping-parameters">YANG/JSON Mapping Parameters to CBOR</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Parameter Name</th>
              <th align="left" colspan="1" rowspan="1">YANG Type</th>
              <th align="left" colspan="1" rowspan="1">CBOR Key Value</th>
              <th align="left" colspan="1" rowspan="1">CBOR Major Type &amp; Information</th>
              <th align="left" colspan="1" rowspan="1">JSON Type</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">ietf-dots-call-home:​source-prefix</td>
              <td align="left" colspan="1" rowspan="1">leaf-list inet:​ip-prefix</td>
              <td align="left" colspan="1" rowspan="1">32768</td>
              <td align="left" colspan="1" rowspan="1">4 array<br/>3 text string</td>
              <td align="left" colspan="1" rowspan="1">Array String</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">ietf-dots-call-home:​source-port-range</td>
              <td align="left" colspan="1" rowspan="1">list</td>
              <td align="left" colspan="1" rowspan="1">32769</td>
              <td align="left" colspan="1" rowspan="1">4 array</td>
              <td align="left" colspan="1" rowspan="1">Array</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">ietf-dots-call-home:​source-icmp-type-range</td>
              <td align="left" colspan="1" rowspan="1">list</td>
              <td align="left" colspan="1" rowspan="1">32770</td>
              <td align="left" colspan="1" rowspan="1">4 array</td>
              <td align="left" colspan="1" rowspan="1">Array</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">lower-type</td>
              <td align="left" colspan="1" rowspan="1">uint8</td>
              <td align="left" colspan="1" rowspan="1">32771</td>
              <td align="left" colspan="1" rowspan="1">0 unsigned</td>
              <td align="left" colspan="1" rowspan="1">Number</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">upper-type</td>
              <td align="left" colspan="1" rowspan="1">uint8</td>
              <td align="left" colspan="1" rowspan="1">32772</td>
              <td align="left" colspan="1" rowspan="1">0 unsigned</td>
              <td align="left" colspan="1" rowspan="1">Number</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">ietf-dots-call-home:​alt-ch-client</td>
              <td align="left" colspan="1" rowspan="1">inet: domain-name</td>
              <td align="left" colspan="1" rowspan="1">32773</td>
              <td align="left" colspan="1" rowspan="1">3 text string</td>
              <td align="left" colspan="1" rowspan="1">String</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">ietf-dots-call-home:​alt-ch-client-record</td>
              <td align="left" colspan="1" rowspan="1">leaf-list inet:​ip-address</td>
              <td align="left" colspan="1" rowspan="1">32774</td>
              <td align="left" colspan="1" rowspan="1">4 array<br/>3 text string</td>
              <td align="left" colspan="1" rowspan="1">Array<br/>String</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">ietf-dots-call-home:​ttl</td>
              <td align="left" colspan="1" rowspan="1">uint32</td>
              <td align="left" colspan="1" rowspan="1">32775</td>
              <td align="left" colspan="1" rowspan="1">0 unsigned</td>
              <td align="left" colspan="1" rowspan="1">Number</td>
            </tr>
          </tbody>
        </table>
        <t indent="0" pn="section-6.2-4">The YANG/JSON mappings to CBOR for "lower-port" and "upper-port"
        are already defined in Table 5 of <xref target="RFC9132" format="default" sectionFormat="of" derivedContent="RFC9132"/>.</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-6.3">
        <name slugifiedName="name-yang-module">YANG Module</name>
        <t indent="0" pn="section-6.3-1">This module uses the common YANG types defined in <xref target="RFC6991" format="default" sectionFormat="of" derivedContent="RFC6991"/> and the data structure extension defined in
        <xref target="RFC8791" format="default" sectionFormat="of" derivedContent="RFC8791"/>.</t>
        <sourcecode name="ietf-dots-call-home@2021-12-09.yang" type="yang" markers="true" pn="section-6.3-2">
module ietf-dots-call-home {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-dots-call-home";
  prefix dots-call-home;

  import ietf-inet-types {
    prefix inet;
    reference
      "Section 4 of RFC 6991";
  }
  import ietf-dots-signal-channel {
    prefix dots-signal;
    reference
      "RFC 9132: Distributed Denial-of-Service Open Threat
                 Signaling (DOTS) Signal Channel Specification";
  }
  import ietf-yang-structure-ext {
    prefix sx;
    reference
      "RFC 8791: YANG Data Structure Extensions";
  }

  organization
    "IETF DDoS Open Threat Signaling (DOTS) Working Group";
  contact
    "WG Web:   &lt;https://datatracker.ietf.org/wg/dots/&gt;
     WG List:  &lt;mailto:dots@ietf.org&gt;

     Author:  Konda, Tirumaleswar Reddy
              &lt;mailto:kondtir@gmail.com&gt;;

     Author:  Mohamed Boucadair
              &lt;mailto:mohamed.boucadair@orange.com&gt;;

     Author:  Jon Shallow
              &lt;mailto:ietf-supjps@jpshallow.com&gt;";
  description
    "This module contains YANG definitions for the signaling
     messages exchanged between a DOTS client and a DOTS server
     for the Call Home deployment scenario.

     Copyright (c) 2021 IETF Trust and the persons identified as
     authors of the code.  All rights reserved.

     Redistribution and use in source and binary forms, with or
     without modification, is permitted pursuant to, and subject
     to the license terms contained in, the Simplified BSD License
     set forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (http://trustee.ietf.org/license-info).

     This version of this YANG module is part of RFC 9066; see
     the RFC itself for full legal notices.";

  revision 2021-12-09 {
    description
      "Initial revision.";
    reference
      "RFC 9066: Distributed Denial-of-Service Open Threat
                 Signaling (DOTS) Signal Channel Call Home";
  }
  sx:augment-structure "/dots-signal:dots-signal"
                     + "/dots-signal:message-type"
                     + "/dots-signal:mitigation-scope"
                     + "/dots-signal:scope" {
    description
      "Attack source details.";
    leaf-list source-prefix {
      type inet:ip-prefix;
      description
        "IPv4 or IPv6 prefix identifying the attack source(s).";
    }
    list source-port-range {
      key "lower-port";
      description
        "Port range. When only lower-port is
         present, it represents a single port number.";
      leaf lower-port {
        type inet:port-number;
        description
          "Lower port number of the port range.";
      }
      leaf upper-port {
        type inet:port-number;
        must '. &gt;= ../lower-port' {
          error-message
            "The upper port number must be greater than
             or equal to the lower port number.";
        }
        description
          "Upper port number of the port range.";
      }
    }
    list source-icmp-type-range {
      key "lower-type";
      description
        "ICMP/ICMPv6 type range. When only lower-type is
         present, it represents a single ICMP/ICMPv6 type.

         The address family of the target-prefix is used
         to determine whether ICMP or ICMPv6 is used.";
      leaf lower-type {
        type uint8;
        description
          "Lower ICMP/ICMPv6 type of the ICMP type range.";
        reference
          "RFC 792: Internet Control Message Protocol
           RFC 4443: Internet Control Message Protocol (ICMPv6)
                     for the Internet Protocol Version 6 (IPv6)
                     Specification.";
      }
      leaf upper-type {
        type uint8;
        must '. &gt;= ../lower-type' {
          error-message
            "The upper ICMP/ICMPv6 type must be greater than
             or equal to the lower ICMP type.";
        }
        description
          "Upper type of the ICMP type range.";
        reference
          "RFC 792: Internet Control Message Protocol
           RFC 4443: Internet Control Message Protocol (ICMPv6)
                     for the Internet Protocol Version 6 (IPv6)
                     Specification.";
      }
    }
  }
  sx:augment-structure "/dots-signal:dots-signal"
                     + "/dots-signal:message-type"
                     + "/dots-signal:redirected-signal" {
    description
      "Augments the redirected signal to communicate an
       alternate Call Home DOTS client.";
    choice type {
      description
        "Indicates the type of the DOTS session (e.g., base
         DOTS signal channel, DOTS Call Home).";
      case call-home-only {
        description
          "These attributes appear only in a signal Call Home
           channel message from a Call Home DOTS client
           to a Call Home DOTS server.";
        leaf alt-ch-client {
          type inet:domain-name;
          mandatory true;
          description
            "FQDN of an alternate Call Home DOTS client.

             This name is also presented as a reference
             identifier for authentication purposes.";
        }
        leaf-list alt-ch-client-record {
          type inet:ip-address;
          description
            "List of IP addresses for the alternate Call
             Home DOTS client.

             If this data node is not present, a Call Home
             DOTS server resolves the alt-ch-client into
             one or more IP addresses.";
        }
        leaf ttl {
          type uint32;
          units "seconds";
          description
            "The Time To Live (TTL) of the alternate Call Home
             DOTS client.";
          reference
            "Section 4.6 of RFC 9132";
        }
      }
    }
  }
}
</sourcecode>
      </section>
    </section>
    <section anchor="IANA" numbered="true" toc="include" removeInRFC="false" pn="section-7">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-7-1"/>
      <section anchor="map" numbered="true" toc="include" removeInRFC="false" pn="section-7.1">
        <name slugifiedName="name-dots-signal-channel-cbor-ma">DOTS Signal Channel CBOR Mappings Registry</name>
        <t indent="0" pn="section-7.1-1">This specification registers the following comprehension-optional
        parameters (<xref target="table2" format="default" sectionFormat="of" derivedContent="Table 2"/>) in the IANA "DOTS Signal Channel CBOR Key Values"
        registry <xref target="Key-Map" format="default" sectionFormat="of" derivedContent="Key-Map"/>.</t>
        <table anchor="table2" align="center" pn="table-2">
          <name slugifiedName="name-assigned-dots-signal-channe">Assigned DOTS Signal Channel CBOR Key Values</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Parameter Name</th>
              <th align="left" colspan="1" rowspan="1">CBOR Key Value</th>
              <th align="left" colspan="1" rowspan="1">CBOR Major Type</th>
              <th align="left" colspan="1" rowspan="1">Change Controller</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">ietf-dots-call-home:​source-prefix</td>
              <td align="left" colspan="1" rowspan="1">32768</td>
              <td align="left" colspan="1" rowspan="1">4</td>
              <td align="left" colspan="1" rowspan="1">IESG</td>
              <td align="left" colspan="1" rowspan="1">RFC 9066</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">ietf-dots-call-home:​source-port-range</td>
              <td align="left" colspan="1" rowspan="1">32769</td>
              <td align="left" colspan="1" rowspan="1">4</td>
              <td align="left" colspan="1" rowspan="1">IESG</td>
              <td align="left" colspan="1" rowspan="1">RFC 9066</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">ietf-dots-call-home:​source-icmp-type-range</td>
              <td align="left" colspan="1" rowspan="1">32770</td>
              <td align="left" colspan="1" rowspan="1">4</td>
              <td align="left" colspan="1" rowspan="1">IESG</td>
              <td align="left" colspan="1" rowspan="1">RFC 9066</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">lower-type</td>
              <td align="left" colspan="1" rowspan="1">32771</td>
              <td align="left" colspan="1" rowspan="1">0</td>
              <td align="left" colspan="1" rowspan="1">IESG</td>
              <td align="left" colspan="1" rowspan="1">RFC 9066</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">upper-type</td>
              <td align="left" colspan="1" rowspan="1">32772</td>
              <td align="left" colspan="1" rowspan="1">0</td>
              <td align="left" colspan="1" rowspan="1">IESG</td>
              <td align="left" colspan="1" rowspan="1">RFC 9066</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">ietf-dots-call-home:​alt-ch-client</td>
              <td align="left" colspan="1" rowspan="1">32773</td>
              <td align="left" colspan="1" rowspan="1">3</td>
              <td align="left" colspan="1" rowspan="1">IESG</td>
              <td align="left" colspan="1" rowspan="1">RFC 9066</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">ietf-dots-call-home:​alt-ch-client-record</td>
              <td align="left" colspan="1" rowspan="1">32774</td>
              <td align="left" colspan="1" rowspan="1">4</td>
              <td align="left" colspan="1" rowspan="1">IESG</td>
              <td align="left" colspan="1" rowspan="1">RFC 9066</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">ietf-dots-call-home:​ttl</td>
              <td align="left" colspan="1" rowspan="1">32775</td>
              <td align="left" colspan="1" rowspan="1">0</td>
              <td align="left" colspan="1" rowspan="1">IESG</td>
              <td align="left" colspan="1" rowspan="1">RFC 9066</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-7.2">
        <name slugifiedName="name-new-dots-conflict-cause">New DOTS Conflict Cause</name>
        <t indent="0" pn="section-7.2-1">Per this document, IANA has assigned a new code from the "DOTS
        Signal Channel Conflict Cause Codes" registry <xref target="Cause" format="default" sectionFormat="of" derivedContent="Cause"/>.</t>
        <table align="center" pn="table-3">
          <name slugifiedName="name-assigned-dots-signal-channel">Assigned DOTS Signal Channel Conflict Cause Code</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Code</th>
              <th align="left" colspan="1" rowspan="1">Label</th>
              <th align="left" colspan="1" rowspan="1">Description</th>
              <th align="left" colspan="1" rowspan="1">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">4</td>
              <td align="left" colspan="1" rowspan="1">request-rejected-legitimate-traffic</td>
              <td align="left" colspan="1" rowspan="1">Mitigation request rejected. This code is returned by the DOTS
          server to indicate the attack traffic has been classified as
          legitimate traffic.</td>
              <td align="left" colspan="1" rowspan="1">RFC 9066</td>
            </tr>
          </tbody>
        </table>
        <t indent="0" pn="section-7.2-3"/>
      </section>
      <section anchor="yang" numbered="true" toc="include" removeInRFC="false" pn="section-7.3">
        <name slugifiedName="name-dots-signal-call-home-yang-m">DOTS Signal Call Home YANG Module</name>
        <t indent="0" pn="section-7.3-1">Per this document, IANA has registered the following URI in the
        "ns" subregistry within the "IETF XML Registry" <xref target="RFC3688" format="default" sectionFormat="of" derivedContent="RFC3688"/>: </t>
        <dl spacing="compact" indent="6" newline="false" pn="section-7.3-2">
          <dt pn="section-7.3-2.1">URI:</dt>
          <dd pn="section-7.3-2.2">urn:ietf:params:xml:ns:yang:ietf-dots-call-home</dd>
          <dt pn="section-7.3-2.3">Registrant Contact:</dt>
          <dd pn="section-7.3-2.4">The IETF.</dd>
          <dt pn="section-7.3-2.5">XML:</dt>
          <dd pn="section-7.3-2.6"> N/A; the requested URI is an XML namespace.</dd>
        </dl>
        <t indent="0" pn="section-7.3-3">Per this document, IANA has registered the following YANG
        module in the "YANG Module Names" subregistry <xref target="RFC6020" format="default" sectionFormat="of" derivedContent="RFC6020"/> within the "YANG Parameters" registry:</t>
        <dl spacing="compact" indent="6" newline="false" pn="section-7.3-4">
          <dt pn="section-7.3-4.1">name:</dt>
          <dd pn="section-7.3-4.2">ietf-dots-call-home</dd>
          <dt pn="section-7.3-4.3">namespace:</dt>
          <dd pn="section-7.3-4.4">urn:ietf:params:xml:ns:yang:ietf-dots-call-home</dd>
          <dt pn="section-7.3-4.5">maintained by IANA:</dt>
          <dd pn="section-7.3-4.6">N</dd>
          <dt pn="section-7.3-4.7">prefix:</dt>
          <dd pn="section-7.3-4.8">dots-call-home</dd>
          <dt pn="section-7.3-4.9">reference:</dt>
          <dd pn="section-7.3-4.10">RFC 9066</dd>
        </dl>
      </section>
    </section>
    <section anchor="security" numbered="true" toc="include" removeInRFC="false" pn="section-8">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-8-1">This document deviates from classic DOTS signal channel usage by
      having the DOTS server initiate the (D)TLS connection. Security considerations related to the DOTS signal
      channel discussed in <xref target="RFC9132" sectionFormat="of" section="11" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9132#section-11" derivedContent="RFC9132"/> and (D)TLS early data
      discussed in <xref target="RFC9132" sectionFormat="of" section="7" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9132#section-7" derivedContent="RFC9132"/> <bcp14>MUST</bcp14> be considered. DOTS
      agents <bcp14>MUST</bcp14> authenticate each other using (D)TLS before a DOTS signal
      channel session is considered valid.</t>
      <t indent="0" pn="section-8-2">The Call Home function enables a Call Home DOTS server to be
      reachable by only the intended Call Home DOTS client. Appropriate
      filters (e.g., access control lists) can be installed on the Call Home
      DOTS server and network between the Call Home DOTS agents so that only
      communications from a trusted Call Home DOTS client to the Call Home
      DOTS server are allowed. These filters can be automatically installed by
      a Call Home DOTS server based on the configured or discovered peer Call
      Home DOTS client(s).</t>
      <t indent="0" pn="section-8-3">An attacker may launch a DoS attack on the DOTS client by having it
      perform computationally expensive operations before deducing that the
      attacker doesn't possess a valid key. For instance, in TLS 1.3 <xref target="RFC8446" format="default" sectionFormat="of" derivedContent="RFC8446"/>, the ServerHello message contains a key share
      value based on an expensive asymmetric key operation for key
      establishment. Common precautions mitigating DoS attacks are
      recommended, such as temporarily adding the source
      address to a drop-list after a set number of unsuccessful authentication attempts.</t>
      <t indent="0" pn="section-8-4">The DOTS signal Call Home channel can be misused by a misbehaving
      Call Home DOTS client by arbitrarily signaling legitimate traffic as
      being attack traffic or falsifying mitigation signals so that some
      sources are disconnected or some traffic is rate-limited. Such
      misbehaving Call Home DOTS clients may include sources identified by IP
      addresses that are used for internal use only (that is, these addresses
      are not visible outside a Call Home DOTS server domain). Absent explicit
      policy (e.g., the Call Home DOTS client and server are managed by the
      same administrative entity), such requests should be discarded by the
      Call Home DOTS server. More generally, Call Home DOTS servers should not
      blindly trust mitigation requests from Call Home DOTS clients. 

For
      example, Call Home DOTS servers could use the attack flow information
      contained in a mitigation request to enable a full-fledged packet
      inspection function to inspect all the traffic from the compromised
      device to the target. They could also redirect the traffic from the
      potentially compromised device to the target towards a DDoS mitigation
      system that can scrub the suspicious traffic without blindly blocking
      all traffic from the indicated attack source to the target. Call Home
      DOTS servers can also seek the consent of the DOTS server domain
      administrator to block the traffic from the potentially compromised
      device to the target (see <xref target="mitigation" format="default" sectionFormat="of" derivedContent="Section 5.3.1"/>). The means to
      seek consent are implementation specific.</t>
      <t indent="0" pn="section-8-5">Call Home DOTS agents may interact with on-path address sharing
      functions to retrieve an internal IP address / external IP address
      mapping (<xref target="nat" format="default" sectionFormat="of" derivedContent="Section 5.3.2"/>) identifying an attack source.
      Blocking access or manipulating the mapping information will complicate
      DDoS attack mitigation close to an attack source. Additional security
      considerations are specific to the actual mechanism used to access that
      mapping (refer, e.g., to <xref target="RFC8512" sectionFormat="of" section="4" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8512#section-4" derivedContent="RFC8512"/> or
      <xref target="RFC8513" sectionFormat="of" section="4" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8513#section-4" derivedContent="RFC8513"/>).</t>
      <t indent="0" pn="section-8-6"> This document augments YANG data structures that are meant to be used as an abstract representation of DOTS signal channel Call Home messages. As such, the "ietf-dots-call-home" module does not introduce any new vulnerabilities beyond those specified above and in <xref target="RFC9132" format="default" sectionFormat="of" derivedContent="RFC9132"/>.
      </t>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-9">
      <name slugifiedName="name-privacy-considerations">Privacy Considerations</name>
      <t indent="0" pn="section-9-1">The considerations discussed in <xref target="RFC6973" format="default" sectionFormat="of" derivedContent="RFC6973"/> were
      taken into account to assess whether the DOTS Call Home introduces
      privacy threats.</t>
      <t indent="0" pn="section-9-2">Concretely, the protocol does not leak any new information that can
      be used to ease surveillance. In particular, the Call Home DOTS server
      is not required to share information that is local to its network (e.g.,
      internal identifiers of an attack source) with the Call Home DOTS
      client. Also, the recommended data to be included in Call Home DOTS
      messages is a subset of the Layer 3 / Layer 4 information that can be
      learned from the overall traffic flows that exit the Call Home DOTS
      server domain. Furthermore, Call Home DOTS clients do not publicly
      reveal attack identification information; that information is encrypted
      and only shared with an authorized entity in the domain to which the IP
      address/prefix is assigned, from which an attack was issued.</t>
      <t indent="0" pn="section-9-3">The DOTS Call Home does not preclude the validation of mitigation
      requests received from a Call Home DOTS client. For example, a security
      service running on the CPE may require an administrator's consent before
      the CPE acts upon the mitigation request indicated by the Call Home DOTS
      client. How the consent is obtained is out of scope of this
      document.</t>
      <t indent="0" pn="section-9-4">Note that a Call Home DOTS server can seek an administrator's
      consent, validate the request by inspecting the relevant traffic for
      attack signatures, or proceed with both courses of action.</t>
      <t indent="0" pn="section-9-5">The DOTS Call Home is only advisory in nature. Concretely, the DOTS
      Call Home does not impose any action to be enforced within the network
      hosting an attack source; it is up to the Call Home DOTS server (and/or
      network administrator) to decide whether and which actions are
      required.</t>
      <t indent="0" pn="section-9-6">Moreover, the DOTS Call Home avoids misattribution by appropriately
      identifying the network to which a suspect attack source belongs
      (e.g., address sharing issues discussed in <xref target="mitigation" format="default" sectionFormat="of" derivedContent="Section 5.3.1"/>).</t>
      <t indent="0" pn="section-9-7">Triggers to send a DOTS mitigation request to a Call Home DOTS server
      are deployment specific. For example, a Call Home DOTS client may rely
      on the output of some DDoS detection systems (flow exports or similar
      functions) deployed within the DOTS client domain to detect potential
      outbound DDoS attacks or may rely on abuse claims received from remote victim
      networks. These systems may be misused to track users and infer their
      activities. Such misuses are not required to achieve the functionality
      defined in this document (that is, protect the Internet and avoid
      altering the IP reputation of source networks). It is out of the scope
      to identify privacy threats specific to given attack detection
      technology. The reader may refer, for example, to <xref target="RFC7011" sectionFormat="of" section="11.8" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7011#section-11.8" derivedContent="RFC7011"/>.</t>
    </section>
  </middle>
  <back>
    <displayreference target="I-D.ietf-dots-multihoming" to="DOTS-MULTIHOMING"/>
    <displayreference target="I-D.ietf-i2nsf-terminology" to="I2NSF-TERMS"/>
    <displayreference target="I-D.ietf-tls-dtls13" to="DTLS13"/>
    <references pn="section-10">
      <name slugifiedName="name-references">References</name>
      <references pn="section-10.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="RFC0792" target="https://www.rfc-editor.org/info/rfc792" quoteTitle="true" derivedAnchor="RFC0792">
          <front>
            <title>Internet Control Message Protocol</title>
            <author initials="J." surname="Postel" fullname="J. Postel">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="1981" month="September"/>
          </front>
          <seriesInfo name="STD" value="5"/>
          <seriesInfo name="RFC" value="792"/>
          <seriesInfo name="DOI" value="10.17487/RFC0792"/>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author initials="S." surname="Bradner" fullname="S. Bradner">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="1997" month="March"/>
            <abstract>
              <t indent="0">In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC3688" target="https://www.rfc-editor.org/info/rfc3688" quoteTitle="true" derivedAnchor="RFC3688">
          <front>
            <title>The IETF XML Registry</title>
            <author initials="M." surname="Mealling" fullname="M. Mealling">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2004" month="January"/>
            <abstract>
              <t indent="0">This document describes an IANA maintained registry for IETF standards which use Extensible Markup Language (XML) related items such as Namespaces, Document Type Declarations (DTDs), Schemas, and Resource Description Framework (RDF) Schemas.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="81"/>
          <seriesInfo name="RFC" value="3688"/>
          <seriesInfo name="DOI" value="10.17487/RFC3688"/>
        </reference>
        <reference anchor="RFC4443" target="https://www.rfc-editor.org/info/rfc4443" quoteTitle="true" derivedAnchor="RFC4443">
          <front>
            <title>Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification</title>
            <author initials="A." surname="Conta" fullname="A. Conta">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Deering" fullname="S. Deering">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Gupta" fullname="M. Gupta" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2006" month="March"/>
            <abstract>
              <t indent="0">This document describes the format of a set of control messages used in ICMPv6 (Internet Control Message Protocol).  ICMPv6 is the Internet Control Message Protocol for Internet Protocol version 6 (IPv6).  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="89"/>
          <seriesInfo name="RFC" value="4443"/>
          <seriesInfo name="DOI" value="10.17487/RFC4443"/>
        </reference>
        <reference anchor="RFC6020" target="https://www.rfc-editor.org/info/rfc6020" quoteTitle="true" derivedAnchor="RFC6020">
          <front>
            <title>YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)</title>
            <author initials="M." surname="Bjorklund" fullname="M. Bjorklund" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2010" month="October"/>
            <abstract>
              <t indent="0">YANG is a data modeling language used to model configuration and state data manipulated by the Network Configuration Protocol (NETCONF), NETCONF remote procedure calls, and NETCONF notifications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6020"/>
          <seriesInfo name="DOI" value="10.17487/RFC6020"/>
        </reference>
        <reference anchor="RFC6052" target="https://www.rfc-editor.org/info/rfc6052" quoteTitle="true" derivedAnchor="RFC6052">
          <front>
            <title>IPv6 Addressing of IPv4/IPv6 Translators</title>
            <author initials="C." surname="Bao" fullname="C. Bao">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Huitema" fullname="C. Huitema">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Bagnulo" fullname="M. Bagnulo">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Boucadair" fullname="M. Boucadair">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="X." surname="Li" fullname="X. Li">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2010" month="October"/>
            <abstract>
              <t indent="0">This document discusses the algorithmic translation of an IPv6 address to a corresponding IPv4 address, and vice versa, using only statically configured information.  It defines a well-known prefix for use in algorithmic translations, while allowing organizations to also use network-specific prefixes when appropriate.  Algorithmic translation is used in IPv4/IPv6 translators, as well as other types of proxies and gateways (e.g., for DNS) used in IPv4/IPv6 scenarios. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6052"/>
          <seriesInfo name="DOI" value="10.17487/RFC6052"/>
        </reference>
        <reference anchor="RFC6146" target="https://www.rfc-editor.org/info/rfc6146" quoteTitle="true" derivedAnchor="RFC6146">
          <front>
            <title>Stateful NAT64: Network Address and Protocol Translation from IPv6 Clients to IPv4 Servers</title>
            <author initials="M." surname="Bagnulo" fullname="M. Bagnulo">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="P." surname="Matthews" fullname="P. Matthews">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="I." surname="van Beijnum" fullname="I. van Beijnum">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2011" month="April"/>
          </front>
          <seriesInfo name="RFC" value="6146"/>
          <seriesInfo name="DOI" value="10.17487/RFC6146"/>
        </reference>
        <reference anchor="RFC6347" target="https://www.rfc-editor.org/info/rfc6347" quoteTitle="true" derivedAnchor="RFC6347">
          <front>
            <title>Datagram Transport Layer Security Version 1.2</title>
            <author initials="E." surname="Rescorla" fullname="E. Rescorla">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="N." surname="Modadugu" fullname="N. Modadugu">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2012" month="January"/>
            <abstract>
              <t indent="0">This document specifies version 1.2 of the Datagram Transport Layer Security (DTLS) protocol.  The DTLS protocol provides communications privacy for datagram protocols.  The protocol allows client/server applications to communicate in a way that is designed to prevent eavesdropping, tampering, or message forgery.  The DTLS protocol is based on the Transport Layer Security (TLS) protocol and provides equivalent security guarantees.  Datagram semantics of the underlying transport are preserved by the DTLS protocol.  This document updates DTLS 1.0 to work with TLS version 1.2.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6347"/>
          <seriesInfo name="DOI" value="10.17487/RFC6347"/>
        </reference>
        <reference anchor="RFC6991" target="https://www.rfc-editor.org/info/rfc6991" quoteTitle="true" derivedAnchor="RFC6991">
          <front>
            <title>Common YANG Data Types</title>
            <author initials="J." surname="Schoenwaelder" fullname="J. Schoenwaelder" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2013" month="July"/>
            <abstract>
              <t indent="0">This document introduces a collection of common data types to be used with the YANG data modeling language.  This document obsoletes RFC 6021.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6991"/>
          <seriesInfo name="DOI" value="10.17487/RFC6991"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="May"/>
            <abstract>
              <t indent="0">RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8446" target="https://www.rfc-editor.org/info/rfc8446" quoteTitle="true" derivedAnchor="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author initials="E." surname="Rescorla" fullname="E. Rescorla">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2018" month="August"/>
            <abstract>
              <t indent="0">This document specifies version 1.3 of the Transport Layer Security (TLS) protocol.  TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t indent="0">This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961.  This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="RFC8791" target="https://www.rfc-editor.org/info/rfc8791" quoteTitle="true" derivedAnchor="RFC8791">
          <front>
            <title>YANG Data Structure Extensions</title>
            <author initials="A." surname="Bierman" fullname="A. Bierman">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Björklund" fullname="M. Björklund">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="K." surname="Watsen" fullname="K. Watsen">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2020" month="June"/>
            <abstract>
              <t indent="0">This document describes YANG mechanisms for defining abstract data structures with YANG.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8791"/>
          <seriesInfo name="DOI" value="10.17487/RFC8791"/>
        </reference>
        <reference anchor="RFC9132" target="https://www.rfc-editor.org/info/rfc9132" quoteTitle="true" derivedAnchor="RFC9132">
          <front>
            <title>Distributed Denial-of-Service Open Threat Signaling (DOTS) Signal Channel Specification</title>
            <author initials="M." surname="Boucadair" fullname="M. Boucadair" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Shallow" fullname="J. Shallow">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Reddy.K" fullname="T. Reddy.K">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2021" month="September"/>
            <abstract>
              <t indent="0">This document specifies the Distributed Denial-of-Service Open Threat Signaling (DOTS) signal channel, a protocol for signaling the need for protection against Distributed Denial-of-Service (DDoS) attacks to a server capable of enabling network traffic mitigation on behalf of the requesting client.</t>
              <t indent="0">A companion document defines the DOTS data channel, a separate reliable communication layer for DOTS management and configuration purposes.</t>
              <t indent="0">This document obsoletes RFC 8782.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9132"/>
          <seriesInfo name="DOI" value="10.17487/RFC9132"/>
        </reference>
      </references>
      <references pn="section-10.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="Cause" target="https://www.iana.org/assignments/dots/" quoteTitle="true" derivedAnchor="Cause">
          <front>
            <title>DOTS Signal Channel Conflict Cause Codes</title>
            <author>
              <organization showOnFrontPage="true">IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="I-D.ietf-dots-multihoming" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-ietf-dots-multihoming-09" derivedAnchor="DOTS-MULTIHOMING">
          <front>
            <title>Multi-homing Deployment Considerations for Distributed-Denial-of-Service Open Threat Signaling (DOTS)</title>
            <author fullname="Mohamed Boucadair">
              <organization showOnFrontPage="true">Orange</organization>
            </author>
            <author fullname="Tirumaleswar Reddy">
              <organization showOnFrontPage="true">McAfee, Inc.</organization>
            </author>
            <author fullname="Wei Pan">
              <organization showOnFrontPage="true">Huawei Technologies</organization>
            </author>
            <date month="December" day="2" year="2021"/>
            <abstract>
              <t indent="0">   This 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.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-dots-multihoming-09"/>
          <format type="TXT" target="https://www.ietf.org/archive/id/draft-ietf-dots-multihoming-09.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.ietf-tls-dtls13" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-ietf-tls-dtls13-43" derivedAnchor="DTLS13">
          <front>
            <title>The Datagram Transport Layer Security (DTLS) Protocol Version 1.3</title>
            <author fullname="Eric Rescorla">
              <organization showOnFrontPage="true">RTFM, Inc.</organization>
            </author>
            <author fullname="Hannes Tschofenig">
              <organization showOnFrontPage="true">Arm Limited</organization>
            </author>
            <author fullname="Nagendra Modadugu">
              <organization showOnFrontPage="true">Google, Inc.</organization>
            </author>
            <date month="April" day="30" year="2021"/>
            <abstract>
              <t indent="0">   This document specifies Version 1.3 of the Datagram Transport Layer
   Security (DTLS) protocol.  DTLS 1.3 allows client/server applications
   to communicate over the Internet in a way that is designed to prevent
   eavesdropping, tampering, and message forgery.

   The DTLS 1.3 protocol is intentionally based on the Transport Layer
   Security (TLS) 1.3 protocol and provides equivalent security
   guarantees with the exception of order protection/non-replayability.
   Datagram semantics of the underlying transport are preserved by the
   DTLS protocol.

   This document obsoletes RFC 6347.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tls-dtls13-43"/>
          <format type="TXT" target="https://www.ietf.org/archive/id/draft-ietf-tls-dtls13-43.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.ietf-i2nsf-terminology" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-ietf-i2nsf-terminology-08" derivedAnchor="I2NSF-TERMS">
          <front>
            <title>Interface to Network Security Functions (I2NSF) Terminology</title>
            <author fullname="Susan Hares">
              <organization showOnFrontPage="true">Huawei</organization>
            </author>
            <author fullname="John Strassner">
              <organization showOnFrontPage="true">Huawei</organization>
            </author>
            <author fullname="Diego R. Lopez">
	 </author>
            <author fullname="Liang Xia">
              <organization showOnFrontPage="true">Huawei</organization>
            </author>
            <author fullname="Henk Birkholz">
              <organization showOnFrontPage="true">Fraunhofer SIT</organization>
            </author>
            <date month="July" day="5" year="2019"/>
            <abstract>
              <t indent="0">   This document defines a set of terms that are used for the Interface
   to Network Security Functions (I2NSF) effort.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-i2nsf-terminology-08"/>
          <format type="TXT" target="https://www.ietf.org/archive/id/draft-ietf-i2nsf-terminology-08.txt"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="Key-Map" target="https://www.iana.org/assignments/dots/" quoteTitle="true" derivedAnchor="Key-Map">
          <front>
            <title>DOTS Signal Channel CBOR Key Values</title>
            <author>
              <organization showOnFrontPage="true">IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="RFC2663" target="https://www.rfc-editor.org/info/rfc2663" quoteTitle="true" derivedAnchor="RFC2663">
          <front>
            <title>IP Network Address Translator (NAT) Terminology and Considerations</title>
            <author initials="P." surname="Srisuresh" fullname="P. Srisuresh">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Holdrege" fullname="M. Holdrege">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="1999" month="August"/>
            <abstract>
              <t indent="0">This document attempts to describe the operation of NAT devices and the associated considerations in general, and to define the terminology used to identify various flavors of NAT.  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2663"/>
          <seriesInfo name="DOI" value="10.17487/RFC2663"/>
        </reference>
        <reference anchor="RFC4340" target="https://www.rfc-editor.org/info/rfc4340" quoteTitle="true" derivedAnchor="RFC4340">
          <front>
            <title>Datagram Congestion Control Protocol (DCCP)</title>
            <author initials="E." surname="Kohler" fullname="E. Kohler">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Handley" fullname="M. Handley">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Floyd" fullname="S. Floyd">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2006" month="March"/>
            <abstract>
              <t indent="0">The Datagram Congestion Control Protocol (DCCP) is a transport protocol that provides bidirectional unicast connections of congestion-controlled unreliable datagrams.  DCCP is suitable for applications that transfer fairly large amounts of data and that can benefit from control over the tradeoff between timeliness and reliability.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4340"/>
          <seriesInfo name="DOI" value="10.17487/RFC4340"/>
        </reference>
        <reference anchor="RFC4632" target="https://www.rfc-editor.org/info/rfc4632" quoteTitle="true" derivedAnchor="RFC4632">
          <front>
            <title>Classless Inter-domain Routing (CIDR): The Internet Address Assignment and Aggregation Plan</title>
            <author initials="V." surname="Fuller" fullname="V. Fuller">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Li" fullname="T. Li">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2006" month="August"/>
            <abstract>
              <t indent="0">This memo discusses the strategy for address assignment of the existing 32-bit IPv4 address space with a view toward conserving the address space and limiting the growth rate of global routing state. This document obsoletes the original Classless Inter-domain Routing (CIDR) spec in RFC 1519, with changes made both to clarify the concepts it introduced and, after more than twelve years, to update the Internet community on the results of deploying the technology described.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="122"/>
          <seriesInfo name="RFC" value="4632"/>
          <seriesInfo name="DOI" value="10.17487/RFC4632"/>
        </reference>
        <reference anchor="RFC4732" target="https://www.rfc-editor.org/info/rfc4732" quoteTitle="true" derivedAnchor="RFC4732">
          <front>
            <title>Internet Denial-of-Service Considerations</title>
            <author initials="M." surname="Handley" fullname="M. Handley" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="E." surname="Rescorla" fullname="E. Rescorla" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author>
              <organization showOnFrontPage="true">IAB</organization>
            </author>
            <date year="2006" month="December"/>
            <abstract>
              <t indent="0">This document provides an overview of possible avenues for denial-of-service (DoS) attack on Internet systems.  The aim is to encourage protocol designers and network engineers towards designs that are more robust.  We discuss partial solutions that reduce the effectiveness of attacks, and how some solutions might inadvertently open up alternative vulnerabilities.  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4732"/>
          <seriesInfo name="DOI" value="10.17487/RFC4732"/>
        </reference>
        <reference anchor="RFC4949" target="https://www.rfc-editor.org/info/rfc4949" quoteTitle="true" derivedAnchor="RFC4949">
          <front>
            <title>Internet Security Glossary, Version 2</title>
            <author initials="R." surname="Shirey" fullname="R. Shirey">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2007" month="August"/>
            <abstract>
              <t indent="0">This Glossary provides definitions, abbreviations, and explanations of terminology for information system security. The 334 pages of entries offer recommendations to improve the comprehensibility of written material that is generated in the Internet Standards Process (RFC 2026). The recommendations follow the principles that such writing should (a) use the same term or definition whenever the same concept is mentioned; (b) use terms in their plainest, dictionary sense; (c) use terms that are already well-established in open publications; and (d) avoid terms that either favor a particular vendor or favor a particular technology or mechanism over other, competing techniques that already exist or could be developed.  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="FYI" value="36"/>
          <seriesInfo name="RFC" value="4949"/>
          <seriesInfo name="DOI" value="10.17487/RFC4949"/>
        </reference>
        <reference anchor="RFC4960" target="https://www.rfc-editor.org/info/rfc4960" quoteTitle="true" derivedAnchor="RFC4960">
          <front>
            <title>Stream Control Transmission Protocol</title>
            <author initials="R." surname="Stewart" fullname="R. Stewart" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2007" month="September"/>
            <abstract>
              <t indent="0">This document obsoletes RFC 2960 and RFC 3309.  It describes the Stream Control Transmission Protocol (SCTP).  SCTP is designed to transport Public Switched Telephone Network (PSTN) signaling messages over IP networks, but is capable of broader applications.</t>
              <t indent="0">SCTP is a reliable transport protocol operating on top of a connectionless packet network such as IP.  It offers the following services to its users:</t>
              <t indent="0">--  acknowledged error-free non-duplicated transfer of user data,</t>
              <t indent="0">--  data fragmentation to conform to discovered path MTU size,</t>
              <t indent="0">--  sequenced delivery of user messages within multiple streams, with an option for order-of-arrival delivery of individual user messages,</t>
              <t indent="0">--  optional bundling of multiple user messages into a single SCTP packet, and</t>
              <t indent="0">--  network-level fault tolerance through supporting of multi-homing at either or both ends of an association.</t>
              <t indent="0"> The design of SCTP includes appropriate congestion avoidance behavior and resistance to flooding and masquerade attacks.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4960"/>
          <seriesInfo name="DOI" value="10.17487/RFC4960"/>
        </reference>
        <reference anchor="RFC6398" target="https://www.rfc-editor.org/info/rfc6398" quoteTitle="true" derivedAnchor="RFC6398">
          <front>
            <title>IP Router Alert Considerations and Usage</title>
            <author initials="F." surname="Le Faucheur" fullname="F. Le Faucheur" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2011" month="October"/>
            <abstract>
              <t indent="0">The IP Router Alert Option is an IP option that alerts transit routers to more closely examine the contents of an IP packet.  The Resource reSerVation Protocol (RSVP), Pragmatic General Multicast (PGM), the Internet Group Management Protocol (IGMP), Multicast Listener Discovery (MLD), Multicast Router Discovery (MRD), and General Internet Signaling Transport (GIST) are some of the protocols that make use of the IP Router Alert Option.  This document discusses security aspects and usage guidelines around the use of the current IP Router Alert Option, thereby updating RFC 2113 and RFC 2711. Specifically, it provides recommendations against using the Router Alert in the end-to-end open Internet and identifies controlled environments where protocols depending on Router Alert can be used safely.  It also provides recommendations about protection approaches for service providers.  Finally, it provides brief guidelines for Router Alert implementation on routers.  This memo documents an Internet  Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="168"/>
          <seriesInfo name="RFC" value="6398"/>
          <seriesInfo name="DOI" value="10.17487/RFC6398"/>
        </reference>
        <reference anchor="RFC6973" target="https://www.rfc-editor.org/info/rfc6973" quoteTitle="true" derivedAnchor="RFC6973">
          <front>
            <title>Privacy Considerations for Internet Protocols</title>
            <author initials="A." surname="Cooper" fullname="A. Cooper">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="H." surname="Tschofenig" fullname="H. Tschofenig">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="B." surname="Aboba" fullname="B. Aboba">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Peterson" fullname="J. Peterson">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Morris" fullname="J. Morris">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Hansen" fullname="M. Hansen">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Smith" fullname="R. Smith">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2013" month="July"/>
            <abstract>
              <t indent="0">This document offers guidance for developing privacy considerations for inclusion in protocol specifications.  It aims to make designers, implementers, and users of Internet protocols aware of privacy-related design choices.  It suggests that whether any individual RFC warrants a specific privacy considerations section will depend on the document's content.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6973"/>
          <seriesInfo name="DOI" value="10.17487/RFC6973"/>
        </reference>
        <reference anchor="RFC7011" target="https://www.rfc-editor.org/info/rfc7011" quoteTitle="true" derivedAnchor="RFC7011">
          <front>
            <title>Specification of the IP Flow Information Export (IPFIX) Protocol for the Exchange of Flow Information</title>
            <author initials="B." surname="Claise" fullname="B. Claise" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="B." surname="Trammell" fullname="B. Trammell" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="P." surname="Aitken" fullname="P. Aitken">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2013" month="September"/>
            <abstract>
              <t indent="0">This document specifies the IP Flow Information Export (IPFIX) protocol, which serves as a means for transmitting Traffic Flow information over the network.  In order to transmit Traffic Flow information from an Exporting Process to a Collecting Process, a common representation of flow data and a standard means of communicating them are required.  This document describes how the IPFIX Data and Template Records are carried over a number of transport protocols from an IPFIX Exporting Process to an IPFIX Collecting Process.  This document obsoletes RFC 5101.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="77"/>
          <seriesInfo name="RFC" value="7011"/>
          <seriesInfo name="DOI" value="10.17487/RFC7011"/>
        </reference>
        <reference anchor="RFC7596" target="https://www.rfc-editor.org/info/rfc7596" quoteTitle="true" derivedAnchor="RFC7596">
          <front>
            <title>Lightweight 4over6: An Extension to the Dual-Stack Lite Architecture</title>
            <author initials="Y." surname="Cui" fullname="Y. Cui">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Q." surname="Sun" fullname="Q. Sun">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Boucadair" fullname="M. Boucadair">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Tsou" fullname="T. Tsou">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Y." surname="Lee" fullname="Y. Lee">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="I." surname="Farrer" fullname="I. Farrer">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2015" month="July"/>
            <abstract>
              <t indent="0">Dual-Stack Lite (DS-Lite) (RFC 6333) describes an architecture for transporting IPv4 packets over an IPv6 network.  This document specifies an extension to DS-Lite called "Lightweight 4over6", which moves the Network Address and Port Translation (NAPT) function from the centralized DS-Lite tunnel concentrator to the tunnel client located in the Customer Premises Equipment (CPE).  This removes the requirement for a Carrier Grade NAT function in the tunnel concentrator and reduces the amount of centralized state that must be held to a per-subscriber level.  In order to delegate the NAPT function and make IPv4 address sharing possible, port-restricted IPv4 addresses are allocated to the CPEs.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7596"/>
          <seriesInfo name="DOI" value="10.17487/RFC7596"/>
        </reference>
        <reference anchor="RFC7597" target="https://www.rfc-editor.org/info/rfc7597" quoteTitle="true" derivedAnchor="RFC7597">
          <front>
            <title>Mapping of Address and Port with Encapsulation (MAP-E)</title>
            <author initials="O." surname="Troan" fullname="O. Troan" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="W." surname="Dec" fullname="W. Dec">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="X." surname="Li" fullname="X. Li">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Bao" fullname="C. Bao">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Matsushima" fullname="S. Matsushima">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Murakami" fullname="T. Murakami">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Taylor" fullname="T. Taylor" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2015" month="July"/>
            <abstract>
              <t indent="0">This document describes a mechanism for transporting IPv4 packets across an IPv6 network using IP encapsulation.  It also describes a generic mechanism for mapping between IPv6 addresses and IPv4 addresses as well as transport-layer ports.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7597"/>
          <seriesInfo name="DOI" value="10.17487/RFC7597"/>
        </reference>
        <reference anchor="RFC8071" target="https://www.rfc-editor.org/info/rfc8071" quoteTitle="true" derivedAnchor="RFC8071">
          <front>
            <title>NETCONF Call Home and RESTCONF Call Home</title>
            <author initials="K." surname="Watsen" fullname="K. Watsen">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="February"/>
            <abstract>
              <t indent="0">This RFC presents NETCONF Call Home and RESTCONF Call Home, which enable a NETCONF or RESTCONF server to initiate a secure connection to a NETCONF or RESTCONF client, respectively.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8071"/>
          <seriesInfo name="DOI" value="10.17487/RFC8071"/>
        </reference>
        <reference anchor="RFC8340" target="https://www.rfc-editor.org/info/rfc8340" quoteTitle="true" derivedAnchor="RFC8340">
          <front>
            <title>YANG Tree Diagrams</title>
            <author initials="M." surname="Bjorklund" fullname="M. Bjorklund">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="L." surname="Berger" fullname="L. Berger" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2018" month="March"/>
            <abstract>
              <t indent="0">This document captures the current syntax used in YANG module tree diagrams.  The purpose of this document is to provide a single location for this definition.  This syntax may be updated from time to time based on the evolution of the YANG language.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="215"/>
          <seriesInfo name="RFC" value="8340"/>
          <seriesInfo name="DOI" value="10.17487/RFC8340"/>
        </reference>
        <reference anchor="RFC8512" target="https://www.rfc-editor.org/info/rfc8512" quoteTitle="true" derivedAnchor="RFC8512">
          <front>
            <title>A YANG Module for Network Address Translation (NAT) and Network Prefix Translation (NPT)</title>
            <author initials="M." surname="Boucadair" fullname="M. Boucadair" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Sivakumar" fullname="S. Sivakumar">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Jacquenet" fullname="C. Jacquenet">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Vinapamula" fullname="S. Vinapamula">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="Q." surname="Wu" fullname="Q. Wu">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2019" month="January"/>
            <abstract>
              <t indent="0">This document defines a YANG module for the Network Address Translation (NAT) function.</t>
              <t indent="0">Network Address Translation from IPv4 to IPv4 (NAT44), Network Address and Protocol Translation from IPv6 Clients to IPv4 Servers (NAT64), customer-side translator (CLAT), Stateless IP/ICMP Translation (SIIT), Explicit Address Mappings (EAM) for SIIT, IPv6-to-IPv6 Network Prefix Translation (NPTv6), and Destination NAT are covered in this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8512"/>
          <seriesInfo name="DOI" value="10.17487/RFC8512"/>
        </reference>
        <reference anchor="RFC8513" target="https://www.rfc-editor.org/info/rfc8513" quoteTitle="true" derivedAnchor="RFC8513">
          <front>
            <title>A YANG Data Model for Dual-Stack Lite (DS-Lite)</title>
            <author initials="M." surname="Boucadair" fullname="M. Boucadair">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Jacquenet" fullname="C. Jacquenet">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Sivakumar" fullname="S. Sivakumar">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2019" month="January"/>
            <abstract>
              <t indent="0">This document defines a YANG module for the Dual-Stack Lite (DS-Lite) Address Family Transition Router (AFTR) and Basic Bridging BroadBand (B4) elements.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8513"/>
          <seriesInfo name="DOI" value="10.17487/RFC8513"/>
        </reference>
        <reference anchor="RFC8517" target="https://www.rfc-editor.org/info/rfc8517" quoteTitle="true" derivedAnchor="RFC8517">
          <front>
            <title>An Inventory of Transport-Centric Functions Provided by Middleboxes: An Operator Perspective</title>
            <author initials="D." surname="Dolson" fullname="D. Dolson" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Snellman" fullname="J. Snellman">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Boucadair" fullname="M. Boucadair" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Jacquenet" fullname="C. Jacquenet">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2019" month="February"/>
            <abstract>
              <t indent="0">This document summarizes an operator's perception of the benefits that may be provided by intermediary devices that execute functions beyond normal IP forwarding.  Such intermediary devices are often called "middleboxes".</t>
              <t indent="0">RFC 3234 defines a taxonomy of middleboxes and issues in the Internet.  Most of those middleboxes utilize or modify application- layer data.  This document primarily focuses on devices that observe and act on information carried in the transport layer, and especially information carried in TCP packets.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8517"/>
          <seriesInfo name="DOI" value="10.17487/RFC8517"/>
        </reference>
        <reference anchor="RFC8576" target="https://www.rfc-editor.org/info/rfc8576" quoteTitle="true" derivedAnchor="RFC8576">
          <front>
            <title>Internet of Things (IoT) Security: State of the Art and Challenges</title>
            <author initials="O." surname="Garcia-Morchon" fullname="O. Garcia-Morchon">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Kumar" fullname="S. Kumar">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Sethi" fullname="M. Sethi">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2019" month="April"/>
            <abstract>
              <t indent="0">The Internet of Things (IoT) concept refers to the usage of standard Internet protocols to allow for human-to-thing and thing-to-thing communication.  The security needs for IoT systems are well recognized, and many standardization steps to provide security have been taken -- for example, the specification of the Constrained Application Protocol (CoAP) secured with Datagram Transport Layer Security (DTLS).  However, security challenges still exist, not only because there are some use cases that lack a suitable solution, but also because many IoT devices and systems have been designed and deployed with very limited security capabilities.  In this document, we first discuss the various stages in the lifecycle of a thing. Next, we document the security threats to a thing and the challenges that one might face to protect against these threats.  Lastly, we discuss the next steps needed to facilitate the deployment of secure IoT systems.  This document can be used by implementers and authors of IoT specifications as a reference for details about security considerations while documenting their specific security challenges, threat models, and mitigations.</t>
              <t indent="0">This document is a product of the IRTF Thing-to-Thing Research Group (T2TRG).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8576"/>
          <seriesInfo name="DOI" value="10.17487/RFC8576"/>
        </reference>
        <reference anchor="RFC8612" target="https://www.rfc-editor.org/info/rfc8612" quoteTitle="true" derivedAnchor="RFC8612">
          <front>
            <title>DDoS Open Threat Signaling (DOTS) Requirements</title>
            <author initials="A." surname="Mortensen" fullname="A. Mortensen">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Reddy" fullname="T. Reddy">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Moskowitz" fullname="R. Moskowitz">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2019" month="May"/>
            <abstract>
              <t indent="0">This document defines the requirements for the Distributed Denial-of- Service (DDoS) Open Threat Signaling (DOTS) protocols enabling coordinated response to DDoS attacks.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8612"/>
          <seriesInfo name="DOI" value="10.17487/RFC8612"/>
        </reference>
        <reference anchor="RFC8811" target="https://www.rfc-editor.org/info/rfc8811" quoteTitle="true" derivedAnchor="RFC8811">
          <front>
            <title>DDoS Open Threat Signaling (DOTS) Architecture</title>
            <author initials="A." surname="Mortensen" fullname="A. Mortensen" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Reddy.K" fullname="T. Reddy.K" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="F." surname="Andreasen" fullname="F. Andreasen">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="N." surname="Teague" fullname="N. Teague">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Compton" fullname="R. Compton">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2020" month="August"/>
            <abstract>
              <t indent="0">This document describes an architecture for establishing and maintaining Distributed Denial-of-Service (DDoS) Open Threat Signaling (DOTS) within and between domains. The document does not specify protocols or protocol extensions, instead focusing on defining architectural relationships, components, and concepts used in a DOTS deployment.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8811"/>
          <seriesInfo name="DOI" value="10.17487/RFC8811"/>
        </reference>
        <reference anchor="RFC8903" target="https://www.rfc-editor.org/info/rfc8903" quoteTitle="true" derivedAnchor="RFC8903">
          <front>
            <title>Use Cases for DDoS Open Threat Signaling</title>
            <author initials="R." surname="Dobbins" fullname="R. Dobbins">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="Migault" fullname="D. Migault">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Moskowitz" fullname="R. Moskowitz">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="N." surname="Teague" fullname="N. Teague">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="L." surname="Xia" fullname="L. Xia">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="K." surname="Nishizuka" fullname="K. Nishizuka">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2021" month="May"/>
            <abstract>
              <t indent="0">The DDoS Open Threat Signaling (DOTS) effort is intended to provide protocols to facilitate interoperability across disparate DDoS Mitigation solutions. This document presents sample use cases that describe the interactions expected between the DOTS components as well as DOTS messaging exchanges. These use cases are meant to identify the interacting DOTS components, how they collaborate, and what the typical information to be exchanged is.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8903"/>
          <seriesInfo name="DOI" value="10.17487/RFC8903"/>
        </reference>
        <reference anchor="RFC8955" target="https://www.rfc-editor.org/info/rfc8955" quoteTitle="true" derivedAnchor="RFC8955">
          <front>
            <title>Dissemination of Flow Specification Rules</title>
            <author initials="C." surname="Loibl" fullname="C. Loibl">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Hares" fullname="S. Hares">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Raszuk" fullname="R. Raszuk">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="D." surname="McPherson" fullname="D. McPherson">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Bacher" fullname="M. Bacher">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2020" month="December"/>
            <abstract>
              <t indent="0">This document defines a Border Gateway Protocol Network Layer Reachability Information (BGP NLRI) encoding format that can be used to distribute (intra-domain and inter-domain) traffic Flow Specifications for IPv4 unicast and IPv4 BGP/MPLS VPN services. This allows the routing system to propagate information regarding more specific components of the traffic aggregate defined by an IP destination prefix. </t>
              <t indent="0">It also specifies BGP Extended Community encoding formats, which can be used to propagate Traffic Filtering Actions along with the Flow Specification NLRI.  Those Traffic Filtering Actions encode actions a routing system can take if the packet matches the Flow Specification.</t>
              <t indent="0"> This document obsoletes both RFC 5575 and RFC 7674.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8955"/>
          <seriesInfo name="DOI" value="10.17487/RFC8955"/>
        </reference>
        <reference anchor="RFC8956" target="https://www.rfc-editor.org/info/rfc8956" quoteTitle="true" derivedAnchor="RFC8956">
          <front>
            <title>Dissemination of Flow Specification Rules for IPv6</title>
            <author initials="C." surname="Loibl" fullname="C. Loibl" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Raszuk" fullname="R. Raszuk" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Hares" fullname="S. Hares" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2020" month="December"/>
            <abstract>
              <t indent="0">"Dissemination of Flow Specification Rules" (RFC 8955) provides a Border Gateway Protocol (BGP) extension for the propagation of traffic flow information for the purpose of rate limiting or filtering IPv4 protocol data packets. </t>
              <t indent="0">This document extends RFC 8955 with IPv6 functionality. It also updates RFC 8955 by changing the IANA Flow Spec Component Types registry.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8956"/>
          <seriesInfo name="DOI" value="10.17487/RFC8956"/>
        </reference>
        <reference anchor="RFC8973" target="https://www.rfc-editor.org/info/rfc8973" quoteTitle="true" derivedAnchor="RFC8973">
          <front>
            <title>DDoS Open Threat Signaling (DOTS) Agent Discovery</title>
            <author initials="M." surname="Boucadair" fullname="M. Boucadair">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Reddy.K" fullname="T. Reddy.K">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2021" month="January"/>
            <abstract>
              <t indent="0">This document specifies mechanisms to configure DDoS Open Threat Signaling (DOTS) clients with their DOTS servers. The discovery procedure also covers the DOTS signal channel Call Home. It can be useful to know the appropriate DOTS server for a given location in order to engage mitigation actions. This is true even in cases where the DOTS client cannot localize the attack: cases where it only knows that some resources are under attack and that help is needed.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8973"/>
          <seriesInfo name="DOI" value="10.17487/RFC8973"/>
        </reference>
        <reference anchor="RS" target="https://web.archive.org/web/20150315054838/http://ha.ckers.org/slowloris/" quoteTitle="true" derivedAnchor="RS">
          <front>
            <title>Slowloris HTTP DoS</title>
            <author fullname="RSnake" surname="RSnake">
              <organization showOnFrontPage="true"/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="Sec-by-design" target="https://www.gov.uk/government/publications/secure-by-design-report" quoteTitle="true" derivedAnchor="Sec-by-design">
          <front>
            <title>Secure by Design: Improving the cyber security of consumer Internet of Things Report</title>
            <author fullname="" surname="">
              <organization showOnFrontPage="true">UK Department for Digital, Culture, Media &amp; Sport</organization>
            </author>
            <date month="March" year="2018"/>
          </front>
        </reference>
      </references>
    </references>
    <section anchor="home" numbered="true" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-some-home-network-issues">Some Home Network Issues</name>
      <t indent="0" pn="section-appendix.a-1">Internet of Things (IoT) devices are becoming more and more
      prevalent, in particular in home networks. With compute and memory
      becoming cheaper and cheaper, various types of IoT devices become
      available in the consumer market at affordable prices. But on the
      downside, there is a corresponding threat since most of these IoT
      devices are bought off-the-shelf and most manufacturers haven't
      considered security in the product design (e.g., <xref target="Sec-by-design" format="default" sectionFormat="of" derivedContent="Sec-by-design"/>). IoT devices deployed in home networks
      can be easily compromised, they often do not have an easy mechanism to
      upgrade, and even when upgradable, IoT manufacturers may cease
      manufacture and/or discontinue patching vulnerabilities on IoT devices
      (Sections <xref target="RFC8576" sectionFormat="bare" section="5.4" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8576#section-5.4" derivedContent="RFC8576"/> and <xref target="RFC8576" sectionFormat="bare" section="5.5" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8576#section-5.5" derivedContent="RFC8576"/> of  <xref target="RFC8576" format="default" sectionFormat="of" derivedContent="RFC8576"/>). These
      vulnerable and compromised devices will continue to be used for a long
      period of time in the home, and the end-user does not know that IoT
      devices in his/her home are compromised. The compromised IoT devices are
      typically used for launching DDoS attacks (<xref target="RFC8576" sectionFormat="of" section="3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8576#section-3" derivedContent="RFC8576"/>) on victims while the owner/administrator of
      the home network is not aware about such misbehaviors. Similar to other
      DDoS attacks, the victim in this attack can be an application server, a
      host, a router, a firewall, or an entire network. Such misbehaviors can
      cause collateral damage that will affect end users, and can also harm
      the reputation of an Internet Service Provider (ISP) for being a source
      of attack traffic.</t>
      <t indent="0" pn="section-appendix.a-2">Nowadays, network devices in a home network can offer network
      security functions (e.g., firewall <xref target="RFC4949" format="default" sectionFormat="of" derivedContent="RFC4949"/> or
      Intrusion Protection System (IPS) service <xref target="I-D.ietf-i2nsf-terminology" format="default" sectionFormat="of" derivedContent="I2NSF-TERMS"/> on a home router) to protect
      the devices connected to the home network from both external and
      internal attacks. It is natural to seek to provide DDoS defense in these
      devices as well, and over the years several techniques have been
      identified to detect DDoS attacks; some of these techniques can be
      enabled on home network devices but most of them are used within the
      ISP's network.</t>
      <t indent="0" pn="section-appendix.a-3">Some of the DDoS attacks like spoofed RST or FIN packets, Slowloris
      <xref target="RS" format="default" sectionFormat="of" derivedContent="RS"/>, and Transport Layer Security (TLS)
      renegotiation are difficult to detect on a home network device without
      adversely affecting its performance. The reason is that typically home
      devices such as home routers have fast path to boost the throughput. For
      every new TCP/UDP flow, only the first few packets are punted through
      the slow path. Hence, it is not possible to detect various DDoS attacks
      in the slow path, since the attack payload is sent to the target server
      after the flow is switched to fast path. The reader may refer to <xref target="RFC6398" sectionFormat="of" section="2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc6398#section-2" derivedContent="RFC6398"/> for a brief definition of slow and
      fast paths.</t>
      <t indent="0" pn="section-appendix.a-4">Deep Packet Inspection (DPI) of all the packets of a flow would be
      able to detect some of the attacks. However, a full-fledged DPI to
      detect these type of DDoS attacks is functionally or operationally not
      possible for all the devices attached to the home network because of the
      memory and CPU limitations of the home routers. Furthermore, for certain
      DDoS attacks the logic needed to distinguish legitimate traffic from
      attack traffic on a per-packet basis is complex. This complexity is
      because that the packet itself may look "legitimate" and no attack
      signature can be identified. The anomaly can be identified only after
      detailed statistical analysis. In addition, network security services in
      home networks may not be able to detect all types of DDoS attacks using
      DPI. ISPs offering DDoS mitigation services have a DDoS detection
      capability that relies upon anomaly detection to identify zero day DDoS
      attacks and to detect DDoS attacks that cannot be detected using
      signatures and rate-limit techniques.</t>
      <t indent="0" pn="section-appendix.a-5">ISPs can detect some DDoS attacks originating from a home network
      (e.g., <xref target="RFC8517" sectionFormat="of" section="2.6" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8517#section-2.6" derivedContent="RFC8517"/>), but the ISP
      usually does not have a mechanism to detect which device in the home
      network is generating the DDoS attack traffic. The primary reason for
      this is that devices in an IPv4 home network are typically behind a
      Network Address Translation (NAT) border <xref target="RFC2663" format="default" sectionFormat="of" derivedContent="RFC2663"/>.
      Even in case of an IPv6 home network, although the ISP can identify the
      infected device in the home network launching the DDoS traffic by
      tracking its unique IPv6 address, the infected device can easily change
      its IPv6 address to evade remediation. A security function on the local
      home network is better positioned to track the compromised device across
      IPv6 address (and potentially even MAC address) changes and thus ensure
      that remediation remains in place across such events.</t>
    </section>
    <section anchor="app" numbered="true" toc="include" removeInRFC="false" pn="section-appendix.b">
      <name slugifiedName="name-disambiguating-base-dots-si">Disambiguating Base DOTS Signal vs. DOTS Call Home</name>
      <t indent="0" pn="section-appendix.b-1">With the DOTS signal channel Call Home, there is a chance that two
      DOTS agents can simultaneously establish two DOTS signal channels with
      different directions (base DOTS signal channel and DOTS signal channel
      Call Home). Here is one example drawn from the home network.
      Nevertheless, the outcome of the discussion is not specific to these
      networks, but applies to any DOTS Call Home scenario.</t>
      <t indent="0" pn="section-appendix.b-2">In the Call Home scenario, the Call Home DOTS server in, for example,
      the home network can mitigate the DDoS attacks launched by the
      compromised device in its domain by receiving the mitigation request
      sent by the Call Home DOTS client in the ISP environment. In addition,
      the DOTS client in the home network can initiate a mitigation request to
      the DOTS server in the ISP environment to ask for help when the home
      network is under a DDoS attack. Such Call Home DOTS server and DOTS
      client in the home network can co-locate in the same home network
      element (e.g., the Customer Premises Equipment). In this case, with the
      same peer at the same time the home network element will have the base
      DOTS signal channel defined in <xref target="RFC9132" format="default" sectionFormat="of" derivedContent="RFC9132"/> and the DOTS signal channel
      Call Home defined in this specification. Thus, these two signal channels
      need to be distinguished when they are both supported. Two approaches
      have been considered for distinguishing the two DOTS signal channels,
      but only the one that using the dedicated port number has been chosen as
      the best choice.</t>
      <t indent="0" pn="section-appendix.b-3">By using a dedicated port number for each, these two signal channels
      can be separated unambiguously and easily. For example, the CPE uses the
      port number 4646 allocated in <xref target="RFC9132" format="default" sectionFormat="of" derivedContent="RFC9132"/> to initiate the basic signal
      channel to the ISP when it acts as the DOTS client, and uses another
      port number to initiate the signal channel Call Home. Based on the
      different port numbers, the ISP can directly decide which kind of
      procedures should follow immediately after it receives the DOTS
      messages. This approach just requires two (D)TLS sessions to be
      established respectively for the basic signal channel and signal channel
      Call Home.</t>
      <t indent="0" pn="section-appendix.b-4">The other approach is signaling the role of each DOTS agent (e.g., by
      using the DOTS data channel as depicted in <xref target="data" format="default" sectionFormat="of" derivedContent="Figure 14"/>).
      For example, the DOTS agent in the home network first initiates a DOTS
      data channel to the peer DOTS agent in the ISP environment, at this time
      the DOTS agent in the home network is the DOTS client and the peer DOTS
      agent in the ISP environment is the DOTS server. After that, the DOTS
      agent in the home network retrieves the DOTS Call Home capability of the
      peer DOTS agent. If the peer supports the DOTS Call Home, the DOTS agent
      needs to subscribe to the peer to use this extension. Then, the reversal
      of DOTS role can be recognized as done by both DOTS agents. When the
      DOTS agent in the ISP environment, which now is the DOTS client, wants
      to filter the attackers' traffic, it requests the DOTS agent in the home
      network, which now is the DOTS server, for help.</t>
      <figure anchor="data" align="left" suppress-title="false" pn="figure-14">
        <name slugifiedName="name-example-of-dots-data-channe">Example of DOTS Data Channel Augmentation</name>
        <sourcecode name="" type="yangtree" markers="false" pn="section-appendix.b-5.1">
  augment /ietf-data:dots-data/ietf-data:capabilities:
      +--ro call-home-support?   boolean
    augment /ietf-data:dots-data/ietf-data:dots-client:
      +--rw call-home-enable?   boolean
</sourcecode>
      </figure>
      <t indent="0" pn="section-appendix.b-6">Signaling the role will complicate the DOTS protocols, and this
      complexity is not required in context where the DOTS Call Home is not
      required or only when the DOTS Call Home is needed. Besides, the DOTS
      data channel may not work during attack time. Even if changing the above
      example from using the DOTS data channel to the DOTS signal channel, the
      more procedures will still reduce the efficiency. Using the dedicated
      port number is much easier and more concise compared to the second
      approach, and its cost that establishing two (D)TLS sessions is much
      less. So, using a dedicated port number for the DOTS Call Home is
      recommended in this specification. The dedicated port number can be
      configured locally or discovered using means such as <xref target="RFC8973" format="default" sectionFormat="of" derivedContent="RFC8973"/>.</t>
    </section>
    <section anchor="ack" numbered="false" toc="include" removeInRFC="false" pn="section-appendix.c">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t indent="0" pn="section-appendix.c-1">Thanks to <contact fullname="Wei Pei"/>, <contact fullname="Xia Liang"/>, <contact fullname="Roman Danyliw"/>, <contact fullname="Dan Wing"/>, <contact fullname="Toema       Gavrichenkov"/>, <contact fullname="Daniel Migault"/>, <contact fullname="Sean Turner"/>, and <contact fullname="Valery Smyslov"/> for the
      comments.</t>
      <t indent="0" pn="section-appendix.c-2"><contact fullname="Benjamin Kaduk"/>'s AD review is valuable. Many thanks to him for the
      detailed review.</t>
      <t indent="0" pn="section-appendix.c-3">Thanks to <contact fullname="Radia Perlman"/> and <contact fullname="David Schinazi"/> for the directorate
      reviews.</t>
      <t indent="0" pn="section-appendix.c-4">Thanks to <contact fullname="Ebben Aries"/> for the YANG Doctors review.</t>
      <t indent="0" pn="section-appendix.c-5">Thanks to <contact fullname="Éric Vyncke"/>, <contact fullname="Roman Danyliw"/>, <contact fullname="Barry Leiba"/>, <contact fullname="Robert       Wilton"/>, and <contact fullname="Erik Kline"/> for the IESG review.</t>
    </section>
    <section anchor="contr" numbered="false" toc="include" removeInRFC="false" pn="section-appendix.d">
      <name slugifiedName="name-contributors">Contributors</name>
      <t indent="0" pn="section-appendix.d-1">The following individuals have contributed to this document:</t>
      <contact fullname="Joshi Harsha">
        <organization showOnFrontPage="true">McAfee, Inc.</organization>
        <address>
          <postal>
            <street>Embassy Golf Link Business Park</street>
            <city>Bangalore</city>
            <region>Karnataka</region>
            <code>560071</code>
            <country>India</country>
          </postal>
          <email>harsha_joshi@mcafee.com</email>
        </address>
      </contact>
      <contact fullname="Wei Pan">
        <organization showOnFrontPage="true">Huawei Technologies</organization>
        <address>
          <postal>
            <street/>
            <city/>
            <region/>
            <code/>
            <country>China</country>
          </postal>
          <email>william.panwei@huawei.com</email>
        </address>
      </contact>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.e">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author fullname="Tirumaleswar Reddy.K" initials="T." surname="Reddy.K">
        <organization showOnFrontPage="true">Akamai</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 fullname="Mohamed Boucadair" initials="M." role="editor" surname="Boucadair">
        <organization showOnFrontPage="true">Orange</organization>
        <address>
          <postal>
            <street/>
            <city>Rennes</city>
            <code>35000</code>
            <country>France</country>
          </postal>
          <email>mohamed.boucadair@orange.com</email>
        </address>
      </author>
      <author fullname="Jon Shallow" initials="J." surname="Shallow">
        <organization showOnFrontPage="true"/>
        <address>
          <postal>
            <street/>
            <city/>
            <code/>
            <country>United Kingdom</country>
          </postal>
          <email>supjps-ietf@jpshallow.com</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
