<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" ipr="trust200902" docName="draft-ietf-tsvwg-multipath-dccp-11" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" prepTime="2023-10-12T14:28:35" indexInclude="true" scripts="Common,Latin" tocDepth="3">
  <!-- xml2rfc v2v3 conversion 3.18.2 -->
  <front>
    <title abbrev="Multipath DCCP">DCCP Extensions for Multipath Operation with Multiple Addresses</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-tsvwg-multipath-dccp-11" stream="IETF"/>
    <author initials="M." surname="Amend" fullname="Markus Amend" role="editor">
      <organization abbrev="DT" showOnFrontPage="true">Deutsche Telekom</organization>
      <address>
        <postal>
          <street>Deutsche-Telekom-Allee 9</street>
          <city>Darmstadt</city>
          <code>64295</code>
          <country>Germany</country>
        </postal>
        <email>Markus.Amend@telekom.de</email>
      </address>
    </author>
    <author initials="A." surname="Brunstrom" fullname="Anna Brunstrom">
      <organization showOnFrontPage="true">Karlstad University</organization>
      <address>
        <postal>
          <street>Universitetsgatan 2</street>
          <city>Karlstad</city>
          <code>651 88</code>
          <country>Sweden</country>
        </postal>
        <email>anna.brunstrom@kau.se</email>
      </address>
    </author>
    <author initials="A." surname="Kassler" fullname="Andreas Kassler">
      <organization showOnFrontPage="true">Karlstad University</organization>
      <address>
        <postal>
          <street>Universitetsgatan 2</street>
          <city>Karlstad</city>
          <code>651 88</code>
          <country>Sweden</country>
        </postal>
        <email>andreas.kassler@kau.se</email>
      </address>
    </author>
    <author initials="V." surname="Rakocevic" fullname="Veselin Rakocevic">
      <organization showOnFrontPage="true">City University of London</organization>
      <address>
        <postal>
          <street>Northampton Square</street>
          <city>London</city>
          <country>United Kingdom</country>
        </postal>
        <email>veselin.rakocevic.1@city.ac.uk</email>
      </address>
    </author>
    <author initials="S." surname="Johnson" fullname="Stephen Johnson">
      <organization showOnFrontPage="true">BT</organization>
      <address>
        <postal>
          <street>Adastral Park</street>
          <city>Martlesham Heath</city>
          <code>IP5 3RE</code>
          <country>United Kingdom</country>
        </postal>
        <email>stephen.h.johnson@bt.com</email>
      </address>
    </author>
    <date month="10" year="2023" day="12"/>
    <area>transport</area>
    <workgroup>Transport Area Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">DCCP communications as defined in <xref target="RFC4340" format="default" sectionFormat="of" derivedContent="RFC4340"/> are restricted to a single path per
connection, yet multiple paths often exist between peers.  The
simultaneous use of available multiple paths for a DCCP session could
improve resource usage within the network and, thus, improve user
experience through higher throughput and improved resilience to
network failures.
Use cases for a Multipath DCCP (MP-DCCP) are mobile devices (e.g., handsets, vehicles) and residential home gateways simultaneously connected to distinct networks as, e.g., 
a cellular and a Wireless Local Area (WLAN) networks
or a cellular and a fixed access networks. Compared to existing multipath protocols, such as MPTCP, MP-DCCP provides specific support for non-TCP user
traffic (e.g., UDP or plain IP).  More details on potential use cases are provided in <xref target="multipath-dccp.org" format="default" sectionFormat="of" derivedContent="multipath-dccp.org"/>, <xref target="IETF115.Slides" format="default" sectionFormat="of" derivedContent="IETF115.Slides"/>, and <xref target="MP-DCCP.Paper" format="default" sectionFormat="of" derivedContent="MP-DCCP.Paper"/>.
All these use cases profit from an Open Source Linux reference implementation provided under <xref target="multipath-dccp.org" format="default" sectionFormat="of" derivedContent="multipath-dccp.org"/>.</t>
      <t indent="0" pn="section-abstract-2">This document specifies a set of extensions to
DCCP to support multipath operations.  Multipath DCCP provides 
the ability to simultaneously use multiple
paths between peers.  The protocol offers
the same type of service to applications as DCCP and it provides the
components necessary to establish and use multiple DCCP flows across
different paths simultaneously.</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 Internet-Draft is submitted in full conformance with the
        provisions of BCP 78 and BCP 79.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
        Internet-Drafts are working documents of the Internet Engineering Task
        Force (IETF). Note that other groups may also distribute working
        documents as Internet-Drafts. The list of current Internet-Drafts is
        at <eref target="https://datatracker.ietf.org/drafts/current/" brackets="none"/>.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
        Internet-Drafts are draft documents valid for a maximum of six months
        and may be updated, replaced, or obsoleted by other documents at any
        time. It is inappropriate to use Internet-Drafts as reference
        material or to cite them other than as "work in progress."
        </t>
        <t indent="0" pn="section-boilerplate.1-4">
        This Internet-Draft will expire on 14 April 2024.
        </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) 2023 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>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.1.2">
              <li pn="section-toc.1-1.1.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.2.1.1"><xref derivedContent="1.1" format="counter" sectionFormat="of" target="section-1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-multipath-dccp-in-the-netwo">Multipath DCCP in the Networking Stack</xref></t>
              </li>
              <li pn="section-toc.1-1.1.2.2">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.2.2.1"><xref derivedContent="1.2" format="counter" sectionFormat="of" target="section-1.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-terminology">Terminology</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" 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-operation-overview">Operation Overview</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.2.2">
              <li pn="section-toc.1-1.2.2.1">
                <t indent="0" pn="section-toc.1-1.2.2.1.1"><xref derivedContent="2.1" format="counter" sectionFormat="of" target="section-2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-mp-dccp-concept">MP-DCCP Concept</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" 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-requirements-language">Requirements Language</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-mp-dccp-protocol">MP-DCCP Protocol</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2">
              <li pn="section-toc.1-1.4.2.1">
                <t indent="0" pn="section-toc.1-1.4.2.1.1"><xref derivedContent="4.1" format="counter" sectionFormat="of" target="section-4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-multipath-capable-feature">Multipath Capable Feature</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.2">
                <t indent="0" pn="section-toc.1-1.4.2.2.1"><xref derivedContent="4.2" format="counter" sectionFormat="of" target="section-4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-multipath-option">Multipath Option</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2.2.2">
                  <li pn="section-toc.1-1.4.2.2.2.1">
                    <t indent="0" pn="section-toc.1-1.4.2.2.2.1.1"><xref derivedContent="4.2.1" format="counter" sectionFormat="of" target="section-4.2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-mp_confirm">MP_CONFIRM</xref></t>
                  </li>
                  <li pn="section-toc.1-1.4.2.2.2.2">
                    <t indent="0" pn="section-toc.1-1.4.2.2.2.2.1"><xref derivedContent="4.2.2" format="counter" sectionFormat="of" target="section-4.2.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-mp_join">MP_JOIN</xref></t>
                  </li>
                  <li pn="section-toc.1-1.4.2.2.2.3">
                    <t indent="0" pn="section-toc.1-1.4.2.2.2.3.1"><xref derivedContent="4.2.3" format="counter" sectionFormat="of" target="section-4.2.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-mp_fast_close">MP_FAST_CLOSE</xref></t>
                  </li>
                  <li pn="section-toc.1-1.4.2.2.2.4">
                    <t indent="0" pn="section-toc.1-1.4.2.2.2.4.1"><xref derivedContent="4.2.4" format="counter" sectionFormat="of" target="section-4.2.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-mp_key">MP_KEY</xref></t>
                  </li>
                  <li pn="section-toc.1-1.4.2.2.2.5">
                    <t indent="0" pn="section-toc.1-1.4.2.2.2.5.1"><xref derivedContent="4.2.5" format="counter" sectionFormat="of" target="section-4.2.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-mp_seq">MP_SEQ</xref></t>
                  </li>
                  <li pn="section-toc.1-1.4.2.2.2.6">
                    <t indent="0" pn="section-toc.1-1.4.2.2.2.6.1"><xref derivedContent="4.2.6" format="counter" sectionFormat="of" target="section-4.2.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-mp_hmac">MP_HMAC</xref></t>
                  </li>
                  <li pn="section-toc.1-1.4.2.2.2.7">
                    <t indent="0" pn="section-toc.1-1.4.2.2.2.7.1"><xref derivedContent="4.2.7" format="counter" sectionFormat="of" target="section-4.2.7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-mp_rtt">MP_RTT</xref></t>
                  </li>
                  <li pn="section-toc.1-1.4.2.2.2.8">
                    <t indent="0" pn="section-toc.1-1.4.2.2.2.8.1"><xref derivedContent="4.2.8" format="counter" sectionFormat="of" target="section-4.2.8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-mp_addaddr">MP_ADDADDR</xref></t>
                  </li>
                  <li pn="section-toc.1-1.4.2.2.2.9">
                    <t indent="0" pn="section-toc.1-1.4.2.2.2.9.1"><xref derivedContent="4.2.9" format="counter" sectionFormat="of" target="section-4.2.9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-mp_removeaddr">MP_REMOVEADDR</xref></t>
                  </li>
                  <li pn="section-toc.1-1.4.2.2.2.10">
                    <t indent="0" pn="section-toc.1-1.4.2.2.2.10.1"><xref derivedContent="4.2.10" format="counter" sectionFormat="of" target="section-4.2.10"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-mp_prio">MP_PRIO</xref></t>
                  </li>
                  <li pn="section-toc.1-1.4.2.2.2.11">
                    <t indent="0" pn="section-toc.1-1.4.2.2.2.11.1"><xref derivedContent="4.2.11" format="counter" sectionFormat="of" target="section-4.2.11"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-mp_close">MP_CLOSE</xref></t>
                  </li>
                  <li pn="section-toc.1-1.4.2.2.2.12">
                    <t indent="0" pn="section-toc.1-1.4.2.2.2.12.1"><xref derivedContent="4.2.12" format="counter" sectionFormat="of" target="section-4.2.12"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-experimental-mp-dccp-sub-op">Experimental MP-DCCP Sub-Option MP_EXP for private use</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.4.2.3">
                <t indent="0" pn="section-toc.1-1.4.2.3.1"><xref derivedContent="4.3" format="counter" sectionFormat="of" target="section-4.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-mp-dccp-handshaking-procedu">MP-DCCP Handshaking Procedure</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.4">
                <t indent="0" pn="section-toc.1-1.4.2.4.1"><xref derivedContent="4.4" format="counter" sectionFormat="of" target="section-4.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-address-knowledge-exchange">Address knowledge exchange</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2.4.2">
                  <li pn="section-toc.1-1.4.2.4.2.1">
                    <t indent="0" pn="section-toc.1-1.4.2.4.2.1.1"><xref derivedContent="4.4.1" format="counter" sectionFormat="of" target="section-4.4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-advertising-a-new-path-mp_a">Advertising a new path (MP_ADDADDR)</xref></t>
                  </li>
                  <li pn="section-toc.1-1.4.2.4.2.2">
                    <t indent="0" pn="section-toc.1-1.4.2.4.2.2.1"><xref derivedContent="4.4.2" format="counter" sectionFormat="of" target="section-4.4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-removing-a-path-mp_removead">Removing a path (MP_REMOVEADDR)</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.4.2.5">
                <t indent="0" pn="section-toc.1-1.4.2.5.1"><xref derivedContent="4.5" format="counter" sectionFormat="of" target="section-4.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-close-a-mp-dccp-connection">Close a MP-DCCP connection</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.6">
                <t indent="0" pn="section-toc.1-1.4.2.6.1"><xref derivedContent="4.6" format="counter" sectionFormat="of" target="section-4.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-fallback">Fallback</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.7">
                <t indent="0" pn="section-toc.1-1.4.2.7.1"><xref derivedContent="4.7" format="counter" sectionFormat="of" target="section-4.7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-congestion-control-consider">Congestion Control Considerations</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.8">
                <t indent="0" pn="section-toc.1-1.4.2.8.1"><xref derivedContent="4.8" format="counter" sectionFormat="of" target="section-4.8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-maximum-packet-size-conside">Maximum Packet Size Considerations</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.9">
                <t indent="0" pn="section-toc.1-1.4.2.9.1"><xref derivedContent="4.9" format="counter" sectionFormat="of" target="section-4.9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-path-usage-strategies">Path usage strategies</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2.9.2">
                  <li pn="section-toc.1-1.4.2.9.2.1">
                    <t indent="0" pn="section-toc.1-1.4.2.9.2.1.1"><xref derivedContent="4.9.1" format="counter" sectionFormat="of" target="section-4.9.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-path-mobility">Path mobility</xref></t>
                  </li>
                  <li pn="section-toc.1-1.4.2.9.2.2">
                    <t indent="0" pn="section-toc.1-1.4.2.9.2.2.1"><xref derivedContent="4.9.2" format="counter" sectionFormat="of" target="section-4.9.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-concurrent-path-usage">Concurrent path usage</xref></t>
                  </li>
                </ul>
              </li>
            </ul>
          </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-security-considerations">Security Considerations</xref></t>
          </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-interactions-with-middlebox">Interactions with Middleboxes</xref></t>
          </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-implementation">Implementation</xref></t>
          </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-acknowledgments">Acknowledgments</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-iana-considerations">IANA 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-differences-from-multipath-">Differences from Multipath TCP</xref></t>
          </li>
          <li pn="section-toc.1-1.12">
            <t indent="0" pn="section-toc.1-1.12.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="intro" numbered="true" removeInRFC="false" toc="include" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">Datagram Congestion Control Protocol (DCCP) <xref target="RFC4340" format="default" sectionFormat="of" derivedContent="RFC4340"/> is a
transport protocol that provides bidirectional unicast connections of
congestion-controlled unreliable datagrams. DCCP communications are restricted to one single path. 
Multipath DCCP (MP-DCCP) provides a set of extensions to DCCP to
enable a DCCP connection to simultaneously establish flow across multiple paths. This can be  beneficial to applications that transfer
large amounts of data, by utilizing the capacity/connectivity offered by 
multiple paths. In addition, the multipath extensions enable to tradeoff timeliness and reliability,
which is important for low-latency applications that do not require
guaranteed delivery services, such as Audio/Video streaming.</t>
      <t indent="0" pn="section-1-2">MP-DCCP was first suggested
in the context of the 3GPP work on 5G multi-access solutions
<xref target="I-D.amend-tsvwg-multipath-framework-mpdccp" format="default" sectionFormat="of" derivedContent="I-D.amend-tsvwg-multipath-framework-mpdccp"/> and for hybrid access
networks <xref target="I-D.lhwxz-hybrid-access-network-architecture" format="default" sectionFormat="of" derivedContent="I-D.lhwxz-hybrid-access-network-architecture"/><xref target="I-D.muley-network-based-bonding-hybrid-access" format="default" sectionFormat="of" derivedContent="I-D.muley-network-based-bonding-hybrid-access"/>, where
MP-DCCP can be applied for load-balancing, seamless session handover, and bandwidth
aggregation (referred to as Access Traffic Steering, Switching, and Splitting (ATSSS)
in the 3GPP terminology <xref target="TS23.501" format="default" sectionFormat="of" derivedContent="TS23.501"/>).</t>
      <t indent="0" pn="section-1-3">This document specifies a set of protocol changes that add multipath
support to DCCP; specifically, support for signaling and setting up
multiple paths (a.k.a, "subflows"), managing these subflows, reordering of
data, and termination of sessions.</t>
      <t indent="0" pn="section-1-4">DCCP, as stated in <xref target="RFC4340" format="default" sectionFormat="of" derivedContent="RFC4340"/> does not provide reliable and ordered
delivery. Consequently, multiple application subflows may be multiplexed over a
single DCCP connection with no inherent performance penalty 
for application subflows that do not require in-ordered delivery. DCCP
does not provide built-in support for those multiple application subflows.</t>
      <t indent="0" pn="section-1-5">Encapsulation for DCCP in UDP is defined in <xref target="RFC6773" format="default" sectionFormat="of" derivedContent="RFC6773"/>.
<xref target="I-D.amend-tsvwg-multipath-framework-mpdccp" format="default" sectionFormat="of" derivedContent="I-D.amend-tsvwg-multipath-framework-mpdccp"/> proposes a 
lightweight encapsulation for DCCP flow headers appropriate for unreliable 
IP traffic in terms of UDP and other non-TCP packets in comparison to MPTCP.
This is not considered in the present specification.</t>
      <section anchor="mpdccp_network_stack" numbered="true" removeInRFC="false" toc="include" pn="section-1.1">
        <name slugifiedName="name-multipath-dccp-in-the-netwo">Multipath DCCP in the Networking Stack</name>
        <t indent="0" pn="section-1.1-1">MP-DCCP provides a set of features to DCCP; <xref target="ref-comparison-of-standard-dccp-and-mp-dccp-protocol-stacks" format="default" sectionFormat="of" derivedContent="Figure 1"/> illustrates this layering. 
It operates at the transport layer and can be used as a transparent for
both higher and lower layers. 
It is
designed to be used by applications in the same way as DCCP with no
changes to the application itself.</t>
        <figure anchor="ref-comparison-of-standard-dccp-and-mp-dccp-protocol-stacks" align="left" suppress-title="false" pn="figure-1">
          <name slugifiedName="name-comparison-of-standard-dccp">Comparison of Standard DCCP and MP-DCCP Protocol Stacks</name>
          <artwork align="left" pn="section-1.1-2.1"><![CDATA[
                             +-------------------------------+
                             |           Application         |
+---------------+            +-------------------------------+
|  Application  |            |            MP-DCCP            |
+---------------+            + - - - - - - - + - - - - - - - +
|      DCCP     |            |Subflow (DCCP) |Subflow (DCCP) |
+---------------+            +-------------------------------+
|      IP       |            |       IP      |      IP       |
+---------------+            +-------------------------------+
]]></artwork>
        </figure>
      </section>
      <section anchor="terminology" numbered="true" removeInRFC="false" toc="include" pn="section-1.2">
        <name slugifiedName="name-terminology">Terminology</name>
        <t indent="0" pn="section-1.2-1">This document uses terms that are either specific
for multipath transport or are defined in the context of MP-DCCP,
similar to <xref target="RFC8684" format="default" sectionFormat="of" derivedContent="RFC8684"/>, as follows:</t>
        <t indent="0" pn="section-1.2-2">Path: A sequence of links between a sender and a receiver, defined in
this context by a 4-tuple of source and destination address/ port pairs.</t>
        <t indent="0" pn="section-1.2-3">(MP-DCCP) Connection: A set of one or more subflows, over which an
application can communicate between two hosts. The MP-DCCP connection is
exposed as single DCCP socket to the application.</t>
        <t indent="0" pn="section-1.2-4">Token: A locally unique identifier given to a multipath connection by a
host. May also be referred to as a "Connection ID".</t>
        <t indent="0" pn="section-1.2-5">Host: An end host operating an MP-DCCP implementation, and either
initiating or accepting an MP-DCCP connection.</t>
        <t indent="0" pn="section-1.2-6">SubFlow: A subflow refers to a DCCP flows transmitted using a specific path (4-tuple of source and destination address/port
pairs) that forms one of the multipath flows used by a single connection.</t>
        <t indent="0" pn="section-1.2-7">In addition to these
terms, within the framework of MP-DCCP the interpretation of, and effect on,
regular single-path DCCP semantics is discussed in <xref target="protocol" format="default" sectionFormat="of" derivedContent="Section 4"/>.</t>
        <t indent="0" pn="section-1.2-8">The term SubFlow is not to be confused with an "application sub-flows" mentioned in
Section 17.2 of <xref target="RFC4340" format="default" sectionFormat="of" derivedContent="RFC4340"/>.
Application subflows are differentiated 
by source and destination port per application as, for example, enabled
by Service Codes introduced to DCCP in <xref target="RFC5595" format="default" sectionFormat="of" derivedContent="RFC5595"/>, and those application subflows
can be multiplexed over a single DCCP connection. For the sake of consistency,
this specification assumes a single application is served by a DCCP connection,
as shown in <xref target="ref-comparison-of-standard-dccp-and-mp-dccp-protocol-stacks" format="default" sectionFormat="of" derivedContent="Figure 1"/>.
This ought to not impact DCCP operation on each single path
as noted in (Section 2.4 of <xref target="RFC5595" format="default" sectionFormat="of" derivedContent="RFC5595"/>).
Application subflows can co-exist with MP-DCCP operation as specified in this document.</t>
      </section>
    </section>
    <section anchor="op_overview" numbered="true" removeInRFC="false" toc="include" pn="section-2">
      <name slugifiedName="name-operation-overview">Operation Overview</name>
      <t indent="0" pn="section-2-1">DCCP (Section 17.2 of <xref target="RFC4340" format="default" sectionFormat="of" derivedContent="RFC4340"/>) allows multiple application 
subflows to be multiplexed over a single DCCP connection with 
potentially same performance. However, DCCP does not provide built-in 
support for managing multiple subflows within one DCCP connection.
Various congestion control mechanisms have been specified to optimize
DCCP performance for specific traffic types in terms of profiles denoted
by a Congestion Control IDentifier (CCID).</t>
      <t indent="0" pn="section-2-2">The extension of DCCP for Multipath-DCCP (MP-DCCP) is 
described in detail in <xref target="protocol" format="default" sectionFormat="of" derivedContent="Section 4"/>.</t>
      <t indent="0" pn="section-2-3">At a high level of the MP-DCCP operation, the data 
stream from a DCCP application is split 
by MP-DCCP operation into one or more subflows which can be 
transmitted via different also physically isolated paths.
The corresponding control information allows the receiver to optionally 
re-assemble and deliver the received data in the originally transmitted order to the 
recipient application. This may be necessary because DCCP does not guarantee in-order delivery.
The details of the transmission scheduling mechanism and 
optional reordering mechanism are up to the sender and receiver, respectively,
and are outside the scope of this document.</t>
      <t indent="0" pn="section-2-4">The following sections define MP-DCCP behavior in detail.</t>
      <t indent="0" pn="section-2-5">A Multipath DCCP connection provides a bidirectional connection of datagrams 
between two hosts exchanging data using in DCCP. It does not require 
any change to the applications. Multipath DCCP enables the 
hosts to use multiples paths with different IP addresses to transport 
the packets of an MP-DCCP connection. MP-DCCP manages the request, 
set-up, authentication, prioritization, modification, and removal of
the DCCP subflows on different paths as well as the exchange of performance 
parameters.<br/>
The number of DCCP subflows can vary during the 
lifetime of a Multipath DCCP connection. The details of the path management decisions for
when to add or remove subflows are outside the scope of this document.</t>
      <t indent="0" pn="section-2-6">The Multipath Capability for MP-DCCP is negotiated with a new DCCP 
feature, as specified in <xref target="mp_capable" format="default" sectionFormat="of" derivedContent="Section 4.1"/>. Once 
negotiated, all subsequent MP-DCCP operations for that connection are signalled with a 
variable length multipath-related option, as described in <xref target="protocol" format="default" sectionFormat="of" derivedContent="Section 4"/>.
All MP-DCCP operations are signaled by MP-DCCP suboptions described in {#MP_OPT}.</t>
      <section anchor="concept" numbered="true" removeInRFC="false" toc="include" pn="section-2.1">
        <name slugifiedName="name-mp-dccp-concept">MP-DCCP Concept</name>
        <t indent="0" pn="section-2.1-1"><xref target="ref-example-mp-dccp-usage-scenario" format="default" sectionFormat="of" derivedContent="Figure 2"/> provides a general overview of the MP-DCCP working mode, whose main 
characteristics are summarized in this section.</t>
        <figure anchor="ref-example-mp-dccp-usage-scenario" align="left" suppress-title="false" pn="figure-2">
          <name slugifiedName="name-example-mp-dccp-usage-scena">Example MP-DCCP Usage Scenario</name>
          <artwork align="left" pn="section-2.1-2.1"><![CDATA[
           Host A                               Host B
------------------------             ------------------------
Address A1    Address A2             Address B1    Address B2
----------    ----------             ----------    ----------
  |             |                      |             |
  |         (DCCP subflow setup)       |             |
  |----------------------------------->|             |
  |<-----------------------------------|             |
  |             |                      |             |
  |             |  (DCCP subflow setup)|             |
  |             |--------------------->|             |
  |             |<---------------------|             |
  | merge individual DCCP subflows to one MP-DCCP connection
  |             |                      |             |
]]></artwork>
        </figure>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-2.1-3">
          <li pn="section-2.1-3.1">
            <t indent="0" pn="section-2.1-3.1.1">An MP-DCCP connection begins with a 4-way handshake, between 
two hosts as described in <xref target="handshaking" format="default" sectionFormat="of" derivedContent="Section 4.3"/>. In <xref target="ref-example-mp-dccp-usage-scenario" format="default" sectionFormat="of" derivedContent="Figure 2"/>,
an MP-DCCP connection is established between addresses A1 and B1 on Hosts
A and B, respectively. MP-DCCP does not require both peers to have 
more than one address.</t>
          </li>
          <li pn="section-2.1-3.2">
            <t indent="0" pn="section-2.1-3.2.1">When additional paths and corresponding addresses/ports are available, additional DCCP subflows are created on 
these paths and are attached to the existing MP-DCCP session, which
continues to provide a single connection to the applications at both
endpoints. The example illustrates creation of an additional DCCP subflow between Address A2
on Host A and Address B1 on Host B.</t>
          </li>
          <li pn="section-2.1-3.3">
            <t indent="0" pn="section-2.1-3.3.1">MP-DCCP identifies multiple paths by the presence of multiple
addresses/ports at hosts.  Combinations of these multiple addresses/ports
indicate the additional paths.  In the example, other potential
paths that could be set up are A1&lt;-&gt;B2 and A2&lt;-&gt;B2.  Although this
additional subflow is shown as being initiated from A2, it could
alternatively have been initiated from B1 or B2.</t>
          </li>
          <li pn="section-2.1-3.4">
            <t indent="0" pn="section-2.1-3.4.1">The discovery and setup of additional subflows is achieved
through a path management method including the logic and details of the procedures for adding/removing subflows;
this document describes measures to allow a host to initiate new subflows and signal available addresses 
between peers. The definition of a path management method is, however, out of scope of this document and subject to a 
corresponding policy and the specifics of the implementation. If a MP-DCCP peer host limits  the maximum number of paths that can be maintained (e.g., similar to what is discussed in Section 3.4 of <xref target="RFC8041" format="default" sectionFormat="of" derivedContent="RFC8041"/>, the creation of new subflows from that peer host needs to be avoided and incoming subflow requests terminated.</t>
          </li>
          <li pn="section-2.1-3.5">
            <t indent="0" pn="section-2.1-3.5.1">MP-DCCP adds connection-level sequence numbers and exchange of
Round-Trip Time (RTT) information to enable optional reordering features.</t>
          </li>
          <li pn="section-2.1-3.6">
            <t indent="0" pn="section-2.1-3.6.1">Subflows are terminated in the same way as regular DCCP connections, as described
in (<xref target="RFC4340" format="default" sectionFormat="of" derivedContent="RFC4340"/>, Section 8.3). The MP-DCCP connection is terminated by a
connection-level DCCP-CloseReq or DCCP-Close message.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="requirements-language" numbered="true" removeInRFC="false" toc="include" pn="section-3">
      <name slugifiedName="name-requirements-language">Requirements Language</name>
      <t indent="0" pn="section-3-1">The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in
   BCP 14 <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>
    </section>
    <section anchor="protocol" numbered="true" removeInRFC="false" toc="include" pn="section-4">
      <name slugifiedName="name-mp-dccp-protocol">MP-DCCP Protocol</name>
      <t indent="0" pn="section-4-1">The DCCP protocol feature list (<xref target="RFC4340" format="default" sectionFormat="of" derivedContent="RFC4340"/>, Section 6.4) is
updated by adding  a new Multipath feature with Feature number THIS-FEATURE, as
shown in <xref target="ref-feature-list" format="default" sectionFormat="of" derivedContent="Table 1"/>.</t>
      <table anchor="ref-feature-list" align="center" pn="table-1">
        <name slugifiedName="name-multipath-feature">Multipath Feature</name>
        <thead>
          <tr>
            <th align="center" colspan="1" rowspan="1">Number</th>
            <th align="left" colspan="1" rowspan="1">Meaning</th>
            <th align="center" colspan="1" rowspan="1">Rule</th>
            <th align="center" colspan="1" rowspan="1">Rec'n Value</th>
            <th align="center" colspan="1" rowspan="1">Initial Req'd</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="center" colspan="1" rowspan="1">THIS-FEATURE</td>
            <td align="left" colspan="1" rowspan="1">Multipath Capable</td>
            <td align="center" colspan="1" rowspan="1">SP</td>
            <td align="center" colspan="1" rowspan="1">0</td>
            <td align="center" colspan="1" rowspan="1">N</td>
          </tr>
        </tbody>
      </table>
      <dl indent="3" newline="false" spacing="normal" pn="section-4-3">
        <dt pn="section-4-3.1">Rec'n Rule:</dt>
        <dd pn="section-4-3.2">
          <t indent="0" pn="section-4-3.2.1">The reconciliation rule used for the feature. SP indicates the server-priority,
NN indicates this is non-negotiable.</t>
        </dd>
        <dt pn="section-4-3.3">Initial Value:</dt>
        <dd pn="section-4-3.4">
          <t indent="0" pn="section-4-3.4.1">The initial value for the feature. Every feature has a known initial value.</t>
        </dd>
        <dt pn="section-4-3.5">Req'd:</dt>
        <dd pn="section-4-3.6">
          <t indent="0" pn="section-4-3.6.1">This column is "Y" if and only if every DCCP implementation MUST
understand the feature. If it is "N", then the feature behaves like an extension, and it is safe to respond to Change options for the feature
with empty Confirm options.</t>
        </dd>
      </dl>
      <t indent="0" pn="section-4-4">This specification adds a DCCP protocol option as defined in (<xref target="RFC4340" format="default" sectionFormat="of" derivedContent="RFC4340"/>, Section 5.8) providing
a new Multipath related variable-length option with option type 46, as
shown in <xref target="ref-option-list" format="default" sectionFormat="of" derivedContent="Table 2"/>.</t>
      <table anchor="ref-option-list" align="center" pn="table-2">
        <name slugifiedName="name-multipath-option-set">Multipath Option Set</name>
        <thead>
          <tr>
            <th align="center" colspan="1" rowspan="1">Type</th>
            <th align="center" colspan="1" rowspan="1">Option Length</th>
            <th align="center" colspan="1" rowspan="1">Meaning</th>
            <th align="center" colspan="1" rowspan="1">DCCP-Data?</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="center" colspan="1" rowspan="1">46</td>
            <td align="center" colspan="1" rowspan="1">variable</td>
            <td align="center" colspan="1" rowspan="1">Multipath</td>
            <td align="center" colspan="1" rowspan="1">Y</td>
          </tr>
        </tbody>
      </table>
      <section anchor="mp_capable" numbered="true" removeInRFC="false" toc="include" pn="section-4.1">
        <name slugifiedName="name-multipath-capable-feature">Multipath Capable Feature</name>
        <t indent="0" pn="section-4.1-1">A DCCP endpoint negotiates the Multipath Capable Feature to determine whether multipath extensions can be enabled for a DCCP connection.</t>
        <t indent="0" pn="section-4.1-2">The Multipath Capable feature (MP_CAPABLE) has feature number THIS-FEATURE and has a length of one-byte.
The leftmost four bits specify the compatible version of the
MP-DCCP implementation (THIS-VER for this specification). The following four bits are unassigned in version, THIS-VER. The unassigned bits MUST be set to zero by the sender and MUST be ignored by the receiver.</t>
        <figure anchor="ref-mp-capable-format" align="left" suppress-title="false" pn="figure-3">
          <name slugifiedName="name-format-of-the-multipath-cap">Format of the Multipath Capable feature</name>
          <artwork align="left" pn="section-4.1-3.1"><![CDATA[
    0  1  2  3   4  5  6  7
   +-----------+------------+
   | THIS-VER  | Unassigned |
   +-----------+------------+
]]></artwork>
        </figure>
        <t indent="0" pn="section-4.1-4">The setting of the MP_CAPABLE feature MUST follow the server-priority reconciliation rule described
in (<xref target="RFC4340" format="default" sectionFormat="of" derivedContent="RFC4340"/>, Section 6.3.1). This allows multiple versions to be
specified in order of priority.</t>
        <t indent="0" pn="section-4.1-5">The negotiation MUST be a part of the initial handshake procedure
 described in <xref target="handshaking" format="default" sectionFormat="of" derivedContent="Section 4.3"/>. No subsequent re-negotiation of
the MP_CAPABLE feature is allowed for the same MP-DCCP connection.</t>
        <t indent="0" pn="section-4.1-6">Clients MUST include a Change R option during the initial handshake request to
supply a list of supported MP-DCCP protocol versions, ordered by preference.</t>
        <t indent="0" pn="section-4.1-7">Servers MUST include a Confirm L option in the subsequent response to agree on
an MP-DCCP version to be used from the Client list, followed by its own
supported version(s), ordered by preference. Any subflow added to an existing MP-DCCP connection MUST use the
version negotiated for the first subflow.</t>
        <t indent="0" pn="section-4.1-8">If no agreement is found, the Server MUST reply with an empty Confirm L option
with feature number THIS-FEATURE and no values.</t>
        <t indent="0" pn="section-4.1-9">An example of successful version negotiation is shown hereafter:</t>
        <figure anchor="ref-mp-capable-example" align="left" suppress-title="false" pn="figure-4">
          <name slugifiedName="name-example-of-mp-dccp-support-">Example of MP-DCCP support negotiation using MP_CAPABLE</name>
          <artwork align="left" pn="section-4.1-10.1"><![CDATA[
      Client                                             Server
      ------                                             ------
      DCCP-Req + Change R(MP_CAPABLE, 1 0)
                     ----------------------------------->

                      DCCP-Resp + Confirm L(MP_CAPABLE, 1, 2 1 0)
            <-----------------------------------

                 * agreement on version = 1 *
]]></artwork>
        </figure>
        <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-4.1-11"><li pn="section-4.1-11.1" derivedCounter="1.">
            <t indent="0" pn="section-4.1-11.1.1">The Client indicates support for both MP-DCCP versions 1 and 0, with a preference
for version 1.</t>
          </li>
          <li pn="section-4.1-11.2" derivedCounter="2.">
            <t indent="0" pn="section-4.1-11.2.1">Server agrees on using MP-DCCP version 1, and supplies its own preference list.</t>
          </li>
          <li pn="section-4.1-11.3" derivedCounter="3.">
            <t indent="0" pn="section-4.1-11.3.1">MP-DCCP is then enabled between the Client and Server with version 1.</t>
          </li>
        </ol>
        <t indent="0" pn="section-4.1-12">If the version negotiation fails or the MP_CAPABLE feature is not present in the DCCP-Request or DCCP-Response packets of the initial handshake procedure, the MP-DCCP connection SHOULD fallback to regular DCCP or MUST close the connection. Further details are specified in <xref target="fallback" format="default" sectionFormat="of" derivedContent="Section 4.6"/></t>
      </section>
      <section anchor="MP_OPT" numbered="true" removeInRFC="false" toc="include" pn="section-4.2">
        <name slugifiedName="name-multipath-option">Multipath Option</name>
        <t indent="0" pn="section-4.2-1">MP-DCCP uses one single option to signal various multipath-related operations. The format of this option is shown in <xref target="ref-mp-option-format" format="default" sectionFormat="of" derivedContent="Figure 5"/>.</t>
        <figure anchor="ref-mp-option-format" align="left" suppress-title="false" pn="figure-5">
          <name slugifiedName="name-multipath-option-format">Multipath Option Format</name>
          <artwork align="left" pn="section-4.2-2.1"><![CDATA[
            1          2          3         
 01234567 89012345 67890123 45678901 23456789
+--------+--------+--------+--------+--------+
|00101110| Length | MP_OPT | Value(s) ...
+--------+--------+--------+--------+--------+
 Type=46
]]></artwork>
        </figure>
        <t indent="0" pn="section-4.2-3">The fields used by the the multipath option are described in <xref target="ref-mp-option-list" format="default" sectionFormat="of" derivedContent="Table 3"/>. MP_OPT refers to an MP-DCCP suboption.</t>
        <table anchor="ref-mp-option-list" align="center" pn="table-3">
          <name slugifiedName="name-mp_opt-option-types">MP_OPT Option Types</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Type</th>
              <th align="left" colspan="1" rowspan="1">Option Length</th>
              <th align="left" colspan="1" rowspan="1">MP_OPT</th>
              <th align="left" colspan="1" rowspan="1">Meaning</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">46</td>
              <td align="left" colspan="1" rowspan="1">var</td>
              <td align="left" colspan="1" rowspan="1">0 =MP_CONFIRM</td>
              <td align="left" colspan="1" rowspan="1">Confirm reception and processing of an MP_OPT option</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">46</td>
              <td align="left" colspan="1" rowspan="1">12</td>
              <td align="left" colspan="1" rowspan="1">1 =MP_JOIN</td>
              <td align="left" colspan="1" rowspan="1">Join path to an existing MP-DCCP connection</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">46</td>
              <td align="left" colspan="1" rowspan="1">var</td>
              <td align="left" colspan="1" rowspan="1">2 =MP_FAST_CLOSE</td>
              <td align="left" colspan="1" rowspan="1">Close an MP-DCCP connection unconditionally</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">46</td>
              <td align="left" colspan="1" rowspan="1">var</td>
              <td align="left" colspan="1" rowspan="1">3 =MP_KEY</td>
              <td align="left" colspan="1" rowspan="1">Exchange key material for MP_HMAC</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">46</td>
              <td align="left" colspan="1" rowspan="1">9</td>
              <td align="left" colspan="1" rowspan="1">4 =MP_SEQ</td>
              <td align="left" colspan="1" rowspan="1">Multipath Sequence Number</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">46</td>
              <td align="left" colspan="1" rowspan="1">23</td>
              <td align="left" colspan="1" rowspan="1">5 =MP_HMAC</td>
              <td align="left" colspan="1" rowspan="1">HMA Code for authentication</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">46</td>
              <td align="left" colspan="1" rowspan="1">12</td>
              <td align="left" colspan="1" rowspan="1">6 =MP_RTT</td>
              <td align="left" colspan="1" rowspan="1">Transmit RTT values</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">46</td>
              <td align="left" colspan="1" rowspan="1">var</td>
              <td align="left" colspan="1" rowspan="1">7 =MP_ADDADDR</td>
              <td align="left" colspan="1" rowspan="1">Advertise additional Address</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">46</td>
              <td align="left" colspan="1" rowspan="1">4</td>
              <td align="left" colspan="1" rowspan="1">8 =MP_REMOVEADDR</td>
              <td align="left" colspan="1" rowspan="1">Remove Address</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">46</td>
              <td align="left" colspan="1" rowspan="1">4</td>
              <td align="left" colspan="1" rowspan="1">9 =MP_PRIO</td>
              <td align="left" colspan="1" rowspan="1">Change Subflow Priority</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">46</td>
              <td align="left" colspan="1" rowspan="1">var</td>
              <td align="left" colspan="1" rowspan="1">10 =MP_CLOSE</td>
              <td align="left" colspan="1" rowspan="1">Close an MP-DCCP subflow</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">46</td>
              <td align="left" colspan="1" rowspan="1">TBD</td>
              <td align="left" colspan="1" rowspan="1">&gt;10</td>
              <td align="left" colspan="1" rowspan="1">Reserved for future MP suboptions.</td>
            </tr>
          </tbody>
        </table>
        <t indent="0" pn="section-4.2-5">Future MP suboptions could be defined in a later version or extension to this specification.</t>
        <t indent="0" pn="section-4.2-6">These operations are largely inspired by the signals defined in <xref target="RFC8684" format="default" sectionFormat="of" derivedContent="RFC8684"/>.</t>
        <section anchor="MP_CONFIRM" numbered="true" removeInRFC="false" toc="include" pn="section-4.2.1">
          <name slugifiedName="name-mp_confirm">MP_CONFIRM</name>
          <figure anchor="ref-mp-confirm-format" align="left" suppress-title="false" pn="figure-6">
            <name slugifiedName="name-format-of-the-mp_confirm-su">Format of the MP_CONFIRM suboption</name>
            <artwork align="left" pn="section-4.2.1-1.1"><![CDATA[
              1          2          3           4          5
   01234567 89012345 67890123 45678901 23456789 01234567 89012345
  +--------+--------+--------+--------+--------+--------+--------+
  |00101110|  var   |00000000| List of confirmations ...
  +--------+--------+--------+--------+--------+--------+--------+
   Type=46   Length  MP_OPT=0
]]></artwork>
          </figure>
          <t indent="0" pn="section-4.2.1-2">Some multipath options require confirmation from the remote peer (see <xref target="ref-mp-option-confirm" format="default" sectionFormat="of" derivedContent="Table 4"/>). Such options will be retransmitted by the sender 
until a MP_CONFIRM is received or confirmation of options is identified outdated. The further processing of the multipath options in the
receiving host is not the subject of MP_CONFIRM.</t>
          <t indent="0" pn="section-4.2.1-3">Multipath suboptions could arrive out-of-order, therefore suboptions defined in <xref target="ref-mp-option-confirm" format="default" sectionFormat="of" derivedContent="Table 4"/>
MUST be sent in a DCCP datagram with MP_SEQ <xref target="MP_SEQ" format="default" sectionFormat="of" derivedContent="Section 4.2.5"/>. This allows a receiver to identify whether
suboptions are associated with obsolete datasets that would otherwise conflict with newer datasets. In case of MP_ADDADDR or MP_REMOVEADDR the same dataset is identified based on AddressID, whereas the same dataset for MP_PRIO is identified by the subflow in use. An outdated
suboption is detected at the receiver if a previous suboption referring to the same dataset contained a higher sequence number
in the MP_SEQ. AN MP_CONFIRM MAY be generated for suboptions that are identified as outdated.</t>
          <t indent="0" pn="section-4.2.1-4">Similarly an MP_CONFIRM could arrive out of order. The associated
MP_SEQ received MUST be echoed to ensure that the most recent suboption is confirmed. This protects from inconsistencies that could occur, e.g. if three MP_PRIO options are sent one after
the other on one path in order to first set the path priority to 0, then to 1 and finally to 0 again. Without an associated
MP_SEQ, a loss of the third MP_PRIO option and a loss of the MP_CONFIRM of the second update and the third update would
cause the sender to incorrectly interpret that the priority value was set to 0 without recognizing that the receiver has applied
priority value 1.</t>
          <t indent="0" pn="section-4.2.1-5">The length of the MP_CONFIRM option and the path over which the option is sent depend on the confirmed suboptions and the received
MP_SEQ, which is both copied verbatim and appended as a list of confirmations. The list is structured by first listing the received
MP_SEQ followed by the confirmed suboption or suboptions. The same rules apply when suboptions with different MP_SEQs are confirmed at
once. This could happen if a datagram with MP_PRIO and a first MP_SEQ_1 and another datagram with MP_ADDADDR and a second MP_SEQ_2 are
received in short succession. In this case, the structure described above is concatenated resulting in  MP_SEQ_1 + MP_PRIO + MP_SEQ_2 + MP_ADDADDR.</t>
          <table anchor="ref-mp-option-confirm" align="center" pn="table-4">
            <name slugifiedName="name-multipath-options-requiring">Multipath options requiring confirmation</name>
            <thead>
              <tr>
                <th align="left" colspan="1" rowspan="1">Type</th>
                <th align="left" colspan="1" rowspan="1">Option Length</th>
                <th align="left" colspan="1" rowspan="1">MP_OPT</th>
                <th align="left" colspan="1" rowspan="1">MP_CONFIRM Sending path</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left" colspan="1" rowspan="1">46</td>
                <td align="left" colspan="1" rowspan="1">var</td>
                <td align="left" colspan="1" rowspan="1">7 =MP_ADDADDR</td>
                <td align="left" colspan="1" rowspan="1">Any available</td>
              </tr>
              <tr>
                <td align="left" colspan="1" rowspan="1">46</td>
                <td align="left" colspan="1" rowspan="1">4</td>
                <td align="left" colspan="1" rowspan="1">8 =MP_REMOVEADDR</td>
                <td align="left" colspan="1" rowspan="1">Any available</td>
              </tr>
              <tr>
                <td align="left" colspan="1" rowspan="1">46</td>
                <td align="left" colspan="1" rowspan="1">4</td>
                <td align="left" colspan="1" rowspan="1">9 =MP_PRIO</td>
                <td align="left" colspan="1" rowspan="1">Any available</td>
              </tr>
            </tbody>
          </table>
          <t indent="0" pn="section-4.2.1-7">An example to illustrate the MP-DCCP confirm procedure for the MP_PRIO option is shown in <xref target="ref-mp-dccp-confirm-good" format="default" sectionFormat="of" derivedContent="Figure 7"/>. The host A sends a 
DCCP-Request on path A2-B2 with an MP_PRIO option with value 1 and associated sequence number of 1. Host B replies on the same path in 
this instance (but could be any path) with a DCCP-Response containing the MP_CONFIRM option and a list containing the original sequence number (1)
together with the associated option (MP_PRIO)</t>
          <figure anchor="ref-mp-dccp-confirm-good" align="left" suppress-title="false" pn="figure-7">
            <name slugifiedName="name-example-mp-dccp-confirm-pro">Example MP-DCCP CONFIRM procedure</name>
            <artwork align="left" pn="section-4.2.1-8.1"><![CDATA[
          Host A                                     Host B 
------------------------                     ------------------------
Address A1    Address A2                     Address B1    Address B2
----------    ----------                     ----------    ----------
     |             |                                   |       |
     |             | DCCP-Request(seqno 1) + MP_PRIO(1)|       |
     |             |------------------------------------------>|
     |             |                                   |       |
     |             | DCCP-Response +                   |       |
     |             |<---- MP_CONFIRM(seqno 1, MP_PRIO) --------|
     |             |                                   |       |
]]></artwork>
          </figure>
          <t indent="0" pn="section-4.2.1-9">A second example to illustrate the same MP-DCCP confirm procedure but where an out of date option is also delivered is shown in (<xref target="ref-mp-dccp-confirm-outdated" format="default" sectionFormat="of" derivedContent="Figure 8"/>.
Here, a first DCCP-Data is sent from Host A to Host B with option MP_PRIO set to 4. Host A subsequently sends a second DCCP-Data with option MP_PRIO
set to 1. In this case, the delivery of the first MP_PRIO is delayed in the network between Host A and Host B and arrives after the second MP_PRIO. Host B
ignores this second MP_PRIO as the associated sequence number is earlier than the first. Host B sends a DCCP-Ack confirming receipt of the MP_PRIO(1) with sequence number 2.</t>
          <figure anchor="ref-mp-dccp-confirm-outdated" align="left" suppress-title="false" pn="figure-8">
            <name slugifiedName="name-example-mp-dccp-confirm-proc">Example MP-DCCP CONFIRM procedure with outdated suboption</name>
            <artwork align="left" pn="section-4.2.1-10.1"><![CDATA[
          Host A                                     Host B 
------------------------                     ------------------------
Address A1    Address A2                     Address B1    Address B2
----------    ----------                     ----------    ----------
     |             |                                   |       |
     |             | DCCP-Data(seqno 1) +  MP_PRIO(4)  |       |
     |             |------------                       |       |
     |             |            \                      |       |
     |             | DCCP-Data(seqno 2) +  MP_PRIO(1)  |       |
     |             |--------------\--------------------------->|
     |             |               \                   |       |
     |             |                -------------------------->|
     |             |                                   |       |
     |             | DCCP-Ack +                        |       |
     |             |<---- MP_CONFIRM(seqno 2, MP_PRIO) --------|
     |             |                                   |       |
]]></artwork>
          </figure>
        </section>
        <section anchor="MP_JOIN" numbered="true" removeInRFC="false" toc="include" pn="section-4.2.2">
          <name slugifiedName="name-mp_join">MP_JOIN</name>
          <figure anchor="ref-MP_JOIN" align="left" suppress-title="false" pn="figure-9">
            <name slugifiedName="name-format-of-the-mp_join-subop">Format of the MP_JOIN Suboption</name>
            <artwork align="left" pn="section-4.2.2-1.1"><![CDATA[
              1          2          3
   01234567 89012345 67890123 45678901
  +--------+--------+--------+--------+
  |00101110|00001100|00000001| Addr ID|
  +--------+--------+--------+--------+
  | Path Token                        |
  +--------+--------+--------+--------+
  | Nonce                             |
  +--------+--------+--------+--------+
   Type=46  Length=12 MP_OPT=1
]]></artwork>
          </figure>
          <t indent="0" pn="section-4.2.2-2">The MP_JOIN option is used to add a new subflow to an existing MP-DCCP
connection and REQUIRES a successful establishment of the first subflow using MP_KEY.
The Path Token is the SHA256 hash of the derived key (d-key),
which was previously exchanged with the MP_KEY option.
MP_HMAC MUST be set when using MP_JOIN to provide authentication (See
<xref target="MP_HMAC" format="default" sectionFormat="of" derivedContent="Section 4.2.6"/> for details).</t>
          <t indent="0" pn="section-4.2.2-3">The MP_JOIN option includes an "Addr ID" (Address ID) generated by the sender of the option, used to identify the source
address of this packet, even if the IP header was changed in
transit by a middlebox.  The value of this field is generated
by the sender and MUST map uniquely to a source IP address for the
sending host.  The Address ID allows address removal (<xref target="MP_REMOVEADDR" format="default" sectionFormat="of" derivedContent="Section 4.2.9"/>)
without needing to know what the source address at the receiver is,
thus allowing address removal through NATs.  The Address ID also
allows correlation between new subflow setup attempts and address
signaling (<xref target="MP_ADDADDR" format="default" sectionFormat="of" derivedContent="Section 4.2.8"/>), to prevent setting up duplicate subflows
on the same path, if an MP_JOIN and MP_ADDADDR are sent at the same
time.</t>
          <t indent="0" pn="section-4.2.2-4">The Address IDs of the subflow used in the initial DCCP Request/Response exchange of
the first subflow in the connection are implicit, and have the value
zero.  A host MUST store the mappings between Address IDs and
addresses both for itself and the remote host.  An implementation
will also need to know which local and remote Address IDs are
associated with which established subflows, for when addresses are
removed from a local or remote host. An Address ID always MUST be unique
over the lifetime of a subflow and can only be re-assigned if sender and
receiver no longer have them in use.</t>
          <t indent="0" pn="section-4.2.2-5">The Nonce is a 32-bit random value locally generated for every MP_JOIN option.
Together with the Token, the Nonce value builds the basis to calculate the
HMAC used in the handshaking process as described in <xref target="handshaking" format="default" sectionFormat="of" derivedContent="Section 4.3"/>.</t>
          <t indent="0" pn="section-4.2.2-6">If the path token can not be verified by the receiving host during a handshake negotiation, 
the new subflow MUST be closed, as specified in <xref target="fallback" format="default" sectionFormat="of" derivedContent="Section 4.6"/>.</t>
        </section>
        <section anchor="MP_FAST_CLOSE" numbered="true" removeInRFC="false" toc="include" pn="section-4.2.3">
          <name slugifiedName="name-mp_fast_close">MP_FAST_CLOSE</name>
          <t indent="0" pn="section-4.2.3-1">DCCP can send a Close or Reset signals to abruptly close a
connection.  Using MP-DCCP, a regular Close or Reset only has the scope of the
SubFlow over which a signal was received. 
As such, it will only close the subflow and does not
affect other remaining SubFlows or the MP-DCCP connection (unless it is the last
SubFlow).
This permits break-before-make handover between
SubFlows.</t>
          <t indent="0" pn="section-4.2.3-2">An MP-DCCP-level
"Reset" allows the abrupt closure of the MP-DCCP connection
using the MP_FAST_CLOSE suboption.</t>
          <figure anchor="ref-MP_FAST_CLOSE" align="left" suppress-title="false" pn="figure-10">
            <name slugifiedName="name-format-of-the-mp_fast_close">Format of the MP_FAST_CLOSE Suboption</name>
            <artwork align="left" pn="section-4.2.3-3.1"><![CDATA[
              1          2          3
   01234567 89012345 67890123 45678901 23456789
  +--------+--------+--------+--------+--------+
  |00101110|  var   |00000010| Key Data ...
  +--------+--------+--------+--------+--------+
   Type=46   Length  MP_OPT=2
]]></artwork>
          </figure>
          <t indent="0" pn="section-4.2.3-4">The MP_FAST_CLOSE suboption MUST be sent from an initiating host on all subflows 
using a DCCP-Reset packet with Reset Code THIS-RESET-CODE. 
To protect from unauthorized shutdown of a multipath DCCP connection, 
the selected Key Data of the peer host during the handshaking procedure 
is carried by the MP_FAST_CLOSE option.</t>
          <t indent="0" pn="section-4.2.3-5">On completion of this step, the initiating host tears down all subflows 
and the multipath DCCP connection immediately terminates.</t>
          <t indent="0" pn="section-4.2.3-6">Upon reception of the MP_FAST_CLOSE and successful validation of the 
Key Data, a DCCP Reset packet response is sent on all subflows to 
the initiating host with Reset Code THIS-RESET-CODE. 
The host then closes the MP-DCCP connection (i.e., it transitions 
the connection state to CLOSED).</t>
        </section>
        <section anchor="MP_KEY" numbered="true" removeInRFC="false" toc="include" pn="section-4.2.4">
          <name slugifiedName="name-mp_key">MP_KEY</name>
          <figure anchor="ref-MP_KEY" align="left" suppress-title="false" pn="figure-11">
            <name slugifiedName="name-format-of-the-mp_key-subopt">Format of the MP_KEY Suboption</name>
            <artwork align="left" pn="section-4.2.4-1.1"><![CDATA[
                       1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +---------------+---------------+---------------+---------------+
  |0 0 1 0 1 1 1 0|      var      |0 0 0 0 0 0 1 1| Key Type (1)  | 
  +---------------+---------------+---------------+---------------+
  |  Key Data (1) |  Key Type (2) |  Key Data (2) | ....
  +---------------+---------------+---------------+---------------+
      Type=46          Length         MP_OPT=3
]]></artwork>
          </figure>
          <t indent="0" pn="section-4.2.4-2">The MP_KEY suboption is used to exchange key material between
hosts for a given connection. 
The Length varies between 12 and 68 Bytes for a single-key message, and up to
110 Bytes when all specified Key Types 0-2 are provided. The Key Type field 
specifies the type of the following key data. 
The set of key types are shown in <xref target="ref-key-type-list" format="default" sectionFormat="of" derivedContent="Table 5"/>.</t>
          <table anchor="ref-key-type-list" align="center" pn="table-5">
            <name slugifiedName="name-mp_key-key-types">MP_KEY Key Types</name>
            <thead>
              <tr>
                <th align="left" colspan="1" rowspan="1">Key  Type</th>
                <th align="left" colspan="1" rowspan="1">Key Length (Bytes)</th>
                <th align="left" colspan="1" rowspan="1">Meaning</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left" colspan="1" rowspan="1">0 =Plain Text</td>
                <td align="left" colspan="1" rowspan="1">8</td>
                <td align="left" colspan="1" rowspan="1">Plain Text Key</td>
              </tr>
              <tr>
                <td align="left" colspan="1" rowspan="1">1 =ECDHE-C25519-SHA256</td>
                <td align="left" colspan="1" rowspan="1">32</td>
                <td align="left" colspan="1" rowspan="1">ECDHE with SHA256 and Curve25519</td>
              </tr>
              <tr>
                <td align="left" colspan="1" rowspan="1">2 =ECDHE-C25519-SHA512</td>
                <td align="left" colspan="1" rowspan="1">64</td>
                <td align="left" colspan="1" rowspan="1">ECDHE with SHA512 and Curve25519</td>
              </tr>
              <tr>
                <td align="left" colspan="1" rowspan="1">3-255</td>
                <td align="left" colspan="1" rowspan="1"> </td>
                <td align="left" colspan="1" rowspan="1">Unassigned</td>
              </tr>
            </tbody>
          </table>
          <dl newline="true" indent="3" spacing="normal" pn="section-4.2.4-4">
            <dt pn="section-4.2.4-4.1">Plain Text</dt>
            <dd pn="section-4.2.4-4.2">
              <t indent="0" pn="section-4.2.4-4.2.1">Key Material is exchanged in plain text between hosts, and the key
parts (key-a, key-b) are used by each host to generate the derived
key (d-key) by concatenating the two parts with the local key
in front (e.g. hostA d-key(A)=(key-a+key-b), hostB d-key(B)=(key-b+key-a)).</t>
            </dd>
          </dl>
          <dl newline="true" indent="3" spacing="normal" pn="section-4.2.4-5">
            <dt pn="section-4.2.4-5.1">ECDHE-SHA256-C25519</dt>
            <dd pn="section-4.2.4-5.2">
              <t indent="0" pn="section-4.2.4-5.2.1">Public Key Material is exchanged via ECDHE key exchange with SHA256 and
Curve 25519 to generate the derived key (d-key) from the shared secret.</t>
            </dd>
          </dl>
          <dl newline="true" indent="3" spacing="normal" pn="section-4.2.4-6">
            <dt pn="section-4.2.4-6.1">ECDHE-SHA512-C25519</dt>
            <dd pn="section-4.2.4-6.2">
              <t indent="0" pn="section-4.2.4-6.2.1">Public Key Material is exchanged via ECDHE key exchange with SHA512 and
Curve 25519 to generate the derived key (d-key) from the shared secret.</t>
            </dd>
          </dl>
          <t indent="0" pn="section-4.2.4-7">Multiple keys are only permitted in the DCCP-Request message
of the handshake procedure for the first subflow. This allows the hosts to agree
on a single key type to be used, as described in <xref target="handshaking" format="default" sectionFormat="of" derivedContent="Section 4.3"/></t>
          <t indent="0" pn="section-4.2.4-8">If the key type can not be agreed in the 
handshake procedure, the MP-DCCP connection MUST fallback to not using MP-DCCP, as 
indicated in <xref target="fallback" format="default" sectionFormat="of" derivedContent="Section 4.6"/></t>
        </section>
        <section anchor="MP_SEQ" numbered="true" removeInRFC="false" toc="include" pn="section-4.2.5">
          <name slugifiedName="name-mp_seq">MP_SEQ</name>
          <figure anchor="ref-MP_SEQ" align="left" suppress-title="false" pn="figure-12">
            <name slugifiedName="name-format-of-the-mp_seq-subopt">Format of the MP_SEQ Suboption</name>
            <artwork align="left" pn="section-4.2.5-1.1"><![CDATA[
              1          2          3           4          5
   01234567 89012345 67890123 45678901 23456789 01234567 89012345
  +--------+--------+--------+--------+--------+--------+--------+
  |00101110|00001001|00000100| Multipath Sequence Number         
  +--------+--------+--------+--------+--------+--------+--------+
                    |
  +--------+--------+
   Type=46  Length=9 MP_OPT=4
]]></artwork>
          </figure>
          <t indent="0" pn="section-4.2.5-2">The MP_SEQ suboption is used for end-to-end datagram-based sequence
numbers of an MP-DCCP connection. The initial data sequence
number (IDSN) SHOULD be set randomly <xref target="RFC4086" format="default" sectionFormat="of" derivedContent="RFC4086"/>.</t>
          <t indent="0" pn="section-4.2.5-3">The MP_SEQ number space is
independent from the path individual sequence number space and MUST be
sent with all DCCP-Data and DCCP-DataACK packet.</t>
          <t indent="0" pn="section-4.2.5-4">When the sequence number space is exhausted, the sequence number MUST
be wrapped. <xref target="RFC7323" format="default" sectionFormat="of" derivedContent="RFC7323"/> provides guidance on selecting an appropriately
sized sequence number space according to the maximum segment lifetime of
TCP. 64 bits is the recommended size for TCP to avoid the sequence number
space going through within the segment lifetime. For DCCP, the Maximum
Segment Lifetime is the same as that of TCP as specified in <xref target="RFC4340" format="default" sectionFormat="of" derivedContent="RFC4340"/>,
Section 3.4. Compared to TCP, the sequence number for DCCP is incremented
per packet rather than per byte transmitted. For this reason, the 48 bits
chosen in MP_SEQ are considered sufficiently large.</t>
        </section>
        <section anchor="MP_HMAC" numbered="true" removeInRFC="false" toc="include" pn="section-4.2.6">
          <name slugifiedName="name-mp_hmac">MP_HMAC</name>
          <figure anchor="ref-MP_HMAC" align="left" suppress-title="false" pn="figure-13">
            <name slugifiedName="name-format-of-the-mp_hmac-subop">Format of the MP_HMAC Suboption</name>
            <artwork align="left" pn="section-4.2.6-1.1"><![CDATA[
              1          2          3           4
   01234567 89012345 67890123 45678901 23456789 01234567
  +--------+--------+--------+--------+--------+--------+
  |00101110|00010111|00000101| HMAC-SHA256 (20 bytes) ...
  +--------+--------+--------+--------+--------+--------+
   Type=46  Length=23 MP_OPT=5
]]></artwork>
          </figure>
          <t indent="0" pn="section-4.2.6-2">The MP_HMAC suboption is used to provide authentication for the MP_JOIN,
MP_ADDADDR, and MP_REMOVEADDR suboptions. The HMAC code is generated according
to <xref target="RFC2104" format="default" sectionFormat="of" derivedContent="RFC2104"/> in combination with the SHA256 hash algorithm described in
<xref target="RFC6234" format="default" sectionFormat="of" derivedContent="RFC6234"/>, with the output truncated to the leftmost 160 bits (20 bytes).</t>
          <t indent="0" pn="section-4.2.6-3">The "Key" used for the HMAC computation is the derived key (d-key)
described in <xref target="MP_KEY" format="default" sectionFormat="of" derivedContent="Section 4.2.4"/>, while the HMAC "Message" is a concatenation of</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.2.6-4">
            <li pn="section-4.2.6-4.1">
              <t indent="0" pn="section-4.2.6-4.1.1">MP_JOIN: The token and nonce of the MP_JOIN for which authentication
   shall be performed.</t>
            </li>
            <li pn="section-4.2.6-4.2">
              <t indent="0" pn="section-4.2.6-4.2.1">MP_ADDADDR: The Address ID with associated IP address
   and if defined port, otherwise two octets of value 0.</t>
            </li>
            <li pn="section-4.2.6-4.3">
              <t indent="0" pn="section-4.2.6-4.3.1">MP_REMOVEADDR: Solely the Address ID.</t>
            </li>
          </ul>
          <t indent="0" pn="section-4.2.6-5">MP_JOIN, MP_ADDADDR and MP_REMOVEADDR can co-exist or be used multiple times
within a single DCCP packet. All these multipath options include an individual
MP_HASH option. This ensures the MP_HASH is correctly associated.
Otherwise, the receiver cannot validate multiple MP_JOIN, MP_ADDADDR or
MP_REMOVEADDR. Therefore, a MP_HASH MUST directly follow its associated multipath
option. In the likely case of sending a MP_JOIN together with a MP_ADDADDR, this
results in concatenating MP_JOIN + MP_HMAC_1 + MP_ADDADDR + MP_HMAC_2, whereas the
first MP_HMAC_1 is associated with the MP_JOIN and the second MP_HMAC_2 with the
MP_ADDADDR suboption.</t>
          <t indent="0" pn="section-4.2.6-6">If the HMAC can not be validated by a receiving host, the subsequent handling depends
on which suboption was being authenticated. If the suboption to be authenticated was either
MP_ADDADDR or MP_REMOVEADDR, the receiving host MUST silently ignore it (see <xref target="MP_ADDADDR" format="default" sectionFormat="of" derivedContent="Section 4.2.8"/> and <xref target="MP_REMOVEADDR" format="default" sectionFormat="of" derivedContent="Section 4.2.9"/>). 
If the suboption to be authenticated was MP_JOIN, the subflow MUST be closed (see <xref target="fallback" format="default" sectionFormat="of" derivedContent="Section 4.6"/>)</t>
        </section>
        <section anchor="MP_RTT" numbered="true" removeInRFC="false" toc="include" pn="section-4.2.7">
          <name slugifiedName="name-mp_rtt">MP_RTT</name>
          <figure anchor="ref-MP_RTT" align="left" suppress-title="false" pn="figure-14">
            <name slugifiedName="name-format-of-the-mp_rtt-subopt">Format of the MP_RTT Suboption</name>
            <artwork align="left" pn="section-4.2.7-1.1"><![CDATA[
              1          2          3           4          5
   01234567 89012345 67890123 45678901 23456789 01234567 89012345
  +--------+--------+--------+--------+--------+--------+--------+
  |00101110|00001100|00000110|RTT Type| RTT
  +--------+--------+--------+--------+--------+--------+--------+
           | Age                               |
  +--------+--------+--------+--------+--------+
   Type=46  Length=12 MP_OPT=6
]]></artwork>
          </figure>
          <t indent="0" pn="section-4.2.7-2">The MP_RTT suboption is used to transmit RTT values and age
(represented in milliseconds) that belong to the path over which this information is transmitted.
This information is useful for the receiving host to
calculate the RTT difference between the SubFlows and to estimate whether
missing data has been lost.</t>
          <t indent="0" pn="section-4.2.7-3">The RTT and Age information is a 32-bit integer. This covers a period of
approximately 1193 hours.</t>
          <dl newline="true" indent="3" spacing="normal" pn="section-4.2.7-4">
            <dt pn="section-4.2.7-4.1">Raw RTT (=0)</dt>
            <dd pn="section-4.2.7-4.2">
              <t indent="0" pn="section-4.2.7-4.2.1">Raw RTT value of the last Datagram Round-Trip, preferably provided by the CCID in use.</t>
            </dd>
          </dl>
          <dl newline="true" indent="3" spacing="normal" pn="section-4.2.7-5">
            <dt pn="section-4.2.7-5.1">Min RTT (=1)</dt>
            <dd pn="section-4.2.7-5.2">
              <t indent="0" pn="section-4.2.7-5.2.1">Min RTT value over a given period, preferably provided by the CCID in use.</t>
            </dd>
          </dl>
          <dl newline="true" indent="3" spacing="normal" pn="section-4.2.7-6">
            <dt pn="section-4.2.7-6.1">Max RTT (=2)</dt>
            <dd pn="section-4.2.7-6.2">
              <t indent="0" pn="section-4.2.7-6.2.1">Max RTT value over a given period, preferably provided by the CCID in use.</t>
            </dd>
          </dl>
          <dl newline="true" indent="3" spacing="normal" pn="section-4.2.7-7">
            <dt pn="section-4.2.7-7.1">Smooth RTT (=3)</dt>
            <dd pn="section-4.2.7-7.2">
              <t indent="0" pn="section-4.2.7-7.2.1">Averaged RTT value over a given period, preferably provided by the CCID in use.</t>
            </dd>
          </dl>
          <dl newline="true" indent="3" spacing="normal" pn="section-4.2.7-8">
            <dt pn="section-4.2.7-8.1">Age</dt>
            <dd pn="section-4.2.7-8.2">
              <t indent="0" pn="section-4.2.7-8.2.1">The Age parameter defines the time difference between now - creation of the MP_RTT option -
 and the conducted RTT measurement in milliseconds. If no previous measurement
 exists, e.g., when initialized, the value is 0.</t>
            </dd>
          </dl>
          <t indent="0" pn="section-4.2.7-9">An example of a flow showing  the exchange of path individual 
RTT information is provided in
<xref target="ref-MP_RTT_example" format="default" sectionFormat="of" derivedContent="Figure 15"/>. 
RTT1 refers to the first path and RTT2 to the second path. The
RTT values could be extracted from the sender's Congestion Control procedure and
at the receiving host using the MP_RTT suboption. With the reception of RTT1
and RTT2, the receiver is able to calculate the path_delta which corresponds to
the absolute difference of both values.
In the case that the path individual RTTs are symmetric in the down- and uplink directions, packets
with missing sequence number MP_SEQ, e.g., in a reordering process, can be assumed
lost after path_delta/2.</t>
          <figure anchor="ref-MP_RTT_example" align="left" suppress-title="false" pn="figure-15">
            <name slugifiedName="name-exemplary-flow-of-mp_rtt-ex">Exemplary flow of MP_RTT exchange and usage</name>
            <artwork align="left" pn="section-4.2.7-10.1"><![CDATA[
   MP-DCCP                   MP-DCCP
   Sender                    Receiver
   +--------+  MP_RTT(RTT1)  +-------------+
   |   RTT1 |----------------|             |
   |        |                | path_delta= |
   |        |  MP_RTT(RTT2)  | |RTT1-RTT2| |
   |   RTT2 |----------------|             |
   +--------+                +-------------+
]]></artwork>
          </figure>
        </section>
        <section anchor="MP_ADDADDR" numbered="true" removeInRFC="false" toc="include" pn="section-4.2.8">
          <name slugifiedName="name-mp_addaddr">MP_ADDADDR</name>
          <t indent="0" pn="section-4.2.8-1">The MP_ADDADDR suboption announces additional addresses (and, optionally,
port numbers) by which a host can be reached. This can be sent at any
time during an existing DCCP connection, when the sender wishes to
enable multiple paths and/or when additional paths become available.
Multiple instances of this suboption within a packet 
can simultaneously advertise 
new addresses.</t>
          <t indent="0" pn="section-4.2.8-2">The Length is variable depending on the address family (IPv4 or IPv6) and whether a port number is
used. This field is in range between 8 and 22 bytes.</t>
          <t indent="0" pn="section-4.2.8-3">The final 2 octets, optionally specify the DCCP port number to
use, and their presence can be inferred from the length of the option.
Although it is expected that the majority of use cases will use the
same port pairs as used for the initial subflow (e.g., port 80
remains port 80 on all subflows, as does the ephemeral port at the
client), there could be cases (such as port-based load balancing) where
the explicit specification of a different port is required.  If no
port is specified, the receiving host MUST assume that any attempt to
connect to the specified address uses the port already used by the
SubFlow on which the MP_ADDADDR signal was sent.</t>
          <t indent="0" pn="section-4.2.8-4">Along with the MP_ADDADDR option a MP_HMAC option MUST be sent for
authentication. The truncated HMAC parameter present in this MP_HMAC
option is the leftmost 20 bytes of an HMAC, negotiated and calculated
as described in <xref target="MP_HMAC" format="default" sectionFormat="of" derivedContent="Section 4.2.6"/>. In the same way as for MP_JOIN,
the key for the HMAC algorithm, in the case of the message transmitted
by Host A, will be Key-A followed by Key-B, and in the case of Host B,
Key-B followed by Key-A.  These are the keys that were exchanged and
selected in the original MP_KEY handshake. The message for the HMAC is
the Address ID, IP address, and port that precede the HMAC in the
MP_ADDADDR option.  If the port is not present in the MP_ADDADDR option,
the HMAC message will include 2 octets of value zero.
The rationale for the HMAC is to prevent unauthorized entities from
injecting MP_ADDADDR signals in an attempt to hijack a connection.
Note that, additionally, the presence of this HMAC prevents the
address from being changed in flight unless the key is known by an
intermediary.  If a host receives an MP_ADDADDR option for which it
cannot validate the HMAC, it SHOULD silently ignore the option.</t>
          <t indent="0" pn="section-4.2.8-5">The presence of a MP_SEQ <xref target="MP_SEQ" format="default" sectionFormat="of" derivedContent="Section 4.2.5"/> MUST be ensured in a DCCP datagram
in which MP_ADDADDR is sent, as described in <xref target="MP_CONFIRM" format="default" sectionFormat="of" derivedContent="Section 4.2.1"/>.</t>
          <figure anchor="ref-MP_ADDADDR" align="left" suppress-title="false" pn="figure-16">
            <name slugifiedName="name-format-of-the-mp_addaddr-su">Format of the MP_ADDADDR Suboption</name>
            <artwork align="left" pn="section-4.2.8-6.1"><![CDATA[
                      1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +---------------+---------------+-------+-------+---------------+
  |0 0 1 0 1 1 1 0|      var      |0 0 0 0 0 1 1 1|  Address ID   |
  +---------------+---------------+-------+-------+---------------+
  |          Address (IPv4 - 4 bytes / IPv6 - 16 bytes)           |
  +-------------------------------+-------------------------------+
  |   Port (2 bytes, optional)    | + MP_HMAC option
  +-------------------------------+
       Type=46         Length         MP_OPT=7
]]></artwork>
          </figure>
          <t indent="0" pn="section-4.2.8-7">Each address has an Address ID that could be used for uniquely
identifying the address within a connection for address removal. The
Address ID is also used to identify MP_JOIN options (see <xref target="MP_JOIN" format="default" sectionFormat="of" derivedContent="Section 4.2.2"/>)
relating to the same address, even when address translators are in use.
The Address ID MUST uniquely identify the address for the sender of the
option (within the scope of the connection); the mechanism for
allocating such IDs is implementation specific.</t>
          <t indent="0" pn="section-4.2.8-8">All Address IDs learned via either MP_JOIN or MP_ADDADDR can be stored
by the receiver in a data structure that gathers all the
Address-ID-to-address mappings for a connection (identified by a token
pair). In this way, there is a stored mapping between the Address ID,
observed source address, and token pair for future processing of control
information for a connection. Note that an implementation
MAY discard incoming address advertisements, for example, for
avoiding the required mapping state, or because advertised addresses
are of no use to it (for example, IPv6 addresses when it has IPv4
only).  Therefore, a host MUST treat address advertisements as soft
state, and the sender MAY choose to refresh advertisements periodically.</t>
          <t indent="0" pn="section-4.2.8-9">A host
MAY advertise a private addresses, e.g., because there is a 
NAT on the path.  It is not
desirable to prohibit this, since there could be cases where both hosts
have additional interfaces on the same private network.</t>
          <t indent="0" pn="section-4.2.8-10">The MP_JOIN handshake to
create a new subflow (<xref target="MP_JOIN" format="default" sectionFormat="of" derivedContent="Section 4.2.2"/>) provides mechanisms to minimize
security risks.  The MP_JOIN message contains a 32-bit token that
uniquely identifies a connection to the receiving host. If the
token is unknown, the host MUST send a DCCP-Reset.</t>
          <t indent="0" pn="section-4.2.8-11">In the unlikely
event that the token is already known, the SubFlow setup will continue, but the
HMAC exchange must provide authentication, which will fail. This
 provides sufficient protection against two unconnected hosts
accidentally setting up a new subflow using a private
address.</t>
          <t indent="0" pn="section-4.2.8-12">Further security considerations around the issue of
MP_ADDADDR messages that accidentally misdirect, or maliciously direct,
new MP_JOIN attempts are discussed in <xref target="security" format="default" sectionFormat="of" derivedContent="Section 5"/>.
If a sending host of an MP_ADDADDR knows that no incoming subflows can
be established at a particular address, an MP_ADDADDR SHOULD NOT
announce that address unless the sending host has new knowledge about
the possibility to do so. This information can be obtained from local
firewall or routing settings, knowledge about availability of external
NAT or firewall, or from connectivity checks performed by the
host/application.</t>
          <t indent="0" pn="section-4.2.8-13">The reception of an MP_ADDADDR message is acknowledged using MP_CONFIRM
(<xref target="MP_CONFIRM" format="default" sectionFormat="of" derivedContent="Section 4.2.1"/>). This ensures reliable exchange of address
information.</t>
          <t indent="0" pn="section-4.2.8-14">A host MAY send an MP_ADDADDR message with an already assigned Address
ID, but the Address MUST be the same as previously assigned to this
Address ID, and the Port MUST be different from one already in use
for this Address ID.  If these conditions are not met, the receiver
SHOULD silently ignore the MP_ADDADDR.  A host wishing to replace an
existing Address ID MUST first remove the existing one (<xref target="MP_REMOVEADDR" format="default" sectionFormat="of" derivedContent="Section 4.2.9"/>).</t>
          <t indent="0" pn="section-4.2.8-15">A host that receives an MP_ADDADDR, but finds at connection set up
that the IP address and port number is unsuccessful, SHOULD NOT perform
further connection attempts to this address/port combination for this
connection. However, a sender that wishes to trigger a new incoming
connection attempt on a previously advertised address/port combination
can therefore refresh the MP_ADDADDR information by sending the option again.</t>
        </section>
        <section anchor="MP_REMOVEADDR" numbered="true" removeInRFC="false" toc="include" pn="section-4.2.9">
          <name slugifiedName="name-mp_removeaddr">MP_REMOVEADDR</name>
          <t indent="0" pn="section-4.2.9-1">If, during the lifetime of an MP-DCCP connection, a previously announced
address becomes invalid (e.g., if an interface disappears), the
affected host SHOULD announce this. The peer can remove a previously 
added address with an Address ID from a connection
using the Remove Address (MP_REMOVEADDR) suboption. This
will terminate any subflows currently using that address.</t>
          <t indent="0" pn="section-4.2.9-2">Along with the MP_REMOVEADDR suboption a MP_HMAC option MUST be sent for
authentication. The truncated HMAC parameter present in this MP_HMAC
option is the leftmost 20 bytes of an HMAC, negotiated and calculated
as described in <xref target="MP_HMAC" format="default" sectionFormat="of" derivedContent="Section 4.2.6"/>. In the same way as for MP_JOIN,
the key for the HMAC algorithm, in the case of the message transmitted
by Host A, will be Key-A followed by Key-B, and in the case of Host B,
Key-B followed by Key-A.  These are the keys that were exchanged and
selected in the original MP_KEY handshake. The message for the HMAC is
the Address ID.</t>
          <t indent="0" pn="section-4.2.9-3">The rationale for using a HMAC is to prevent unauthorized entities from
injecting MP_REMOVEADDR signals in an attempt to hijack a connection.
Note that, additionally, the presence of this HMAC prevents the
address from being removed in flight unless the key is known by an
intermediary.  If a host receives an MP_REMOVEADDR option for which it
cannot validate the HMAC, it SHOULD silently ignore the option.</t>
          <t indent="0" pn="section-4.2.9-4">A receiver MUST include a MP_SEQ <xref target="MP_SEQ" format="default" sectionFormat="of" derivedContent="Section 4.2.5"/> in a DCCP datagram that sends
an  MP_REMOVEADDR. Further details are given in <xref target="MP_CONFIRM" format="default" sectionFormat="of" derivedContent="Section 4.2.1"/>.</t>
          <t indent="0" pn="section-4.2.9-5">The reception of an MP_REMOVEADDR message is acknowledged using MP_CONFIRM
(<xref target="MP_CONFIRM" format="default" sectionFormat="of" derivedContent="Section 4.2.1"/>). This ensures reliable exchange of address
information. To avoid inconsistent states, the sender releases 
the address ID only after MP_REMOVEADDR has been confirmed.</t>
          <t indent="0" pn="section-4.2.9-6">The sending and receipt of this message SHOULD trigger the closing procedure
described in <xref target="RFC4340" format="default" sectionFormat="of" derivedContent="RFC4340"/> between client and server, respectively on the affected
subflow(s) (if possible). This helps remove middlebox state, before
removing any local state.</t>
          <t indent="0" pn="section-4.2.9-7">Address removal is done by Address ID to allow the use of NATs and other
middleboxes that rewrite source addresses.  If there is no address
at the requested Address ID, the receiver will silently ignore the request.</t>
          <figure anchor="refMP_REMOVEADDR" align="left" suppress-title="false" pn="figure-17">
            <name slugifiedName="name-format-of-the-mp_removeaddr">Format of the MP_REMOVEADDR Suboption</name>
            <artwork align="left" pn="section-4.2.9-8.1"><![CDATA[
                     1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+---------------+---------------+---------------+---------------+
|0 0 1 0 1 1 1 0|0 0 0 0 0 1 0 0|0 0 0 0 1 0 0 0|   Address ID  |
+---------------+---------------+---------------+---------------+
     Type=46        Length=4         MP_OPT=8

-> followed by MP_HMAC option
]]></artwork>
          </figure>
          <t indent="0" pn="section-4.2.9-9">A subflow that is still functioning MUST be closed with a DCCP-Close
exchange as in regular DCCP, rather than using this option. For more
information, see <xref target="closing" format="default" sectionFormat="of" derivedContent="Section 4.5"/>.</t>
        </section>
        <section anchor="MP_PRIO" numbered="true" removeInRFC="false" toc="include" pn="section-4.2.10">
          <name slugifiedName="name-mp_prio">MP_PRIO</name>
          <t indent="0" pn="section-4.2.10-1">The path priority SHOULD be considered as hints 
for the packet scheduler when making decisions which path to use for 
payload traffic.
When a single specific path from the set of available
paths is treated with higher priority compared to the others
when making scheduling decisions for payload traffic, a host can 
signal such change in priority to the peer.
This could be used when there are different costs for
using different paths (e.g., WiFi is free while cellular has limit on
volume, 5G has higher energy consumption). The priority of a path
could also change, for example, when a mobile host runs out
of battery, the usage of only a single path may be the preferred choice
of the user.</t>
          <t indent="0" pn="section-4.2.10-2">The MP_PRIO suboption, shown below, can be used to set a priority flag
for the SubFlow over which the suboption is received.</t>
          <figure anchor="ref-MP_PRIO" align="left" suppress-title="false" pn="figure-18">
            <name slugifiedName="name-format-of-the-mp_prio-subop">Format of the MP_PRIO Suboption</name>
            <artwork align="left" pn="section-4.2.10-3.1"><![CDATA[
                        1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +---------------+---------------+---------------+--------------+
   |0 0 1 0 1 1 1 0|0 0 0 0 0 1 0 0|0 0 0 0 1 0 0 1|(resvd)| prio |
   +---------------+---------------+---------------+--------------+
       Type=46         Length=4        MP_OPT=9
]]></artwork>
          </figure>
          <t indent="0" pn="section-4.2.10-4">The following values are available for Prio field:</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.2.10-5">
            <li pn="section-4.2.10-5.1">
              <t indent="0" pn="section-4.2.10-5.1.1">0: Do not use. The path is not available.</t>
            </li>
            <li pn="section-4.2.10-5.2">
              <t indent="0" pn="section-4.2.10-5.2.1">1: Standby: do not use this path for traffic scheduling, if another
   path (secondary or primary) is available. The path will only be used if 
   other secondary or primary paths are not established.</t>
            </li>
            <li pn="section-4.2.10-5.3">
              <t indent="0" pn="section-4.2.10-5.3.1">2: Secondary: do not use this path for traffic scheduling, if the other
   paths are good enough. The path will be used occasionally for increasing 
   temporarily the available capacity, e.g. when primary paths are 
   congested or are not available. This is the recommended setting for
   paths that have costs or data caps as these paths will be used less
   frequently then primary paths.</t>
            </li>
            <li pn="section-4.2.10-5.4">
              <t indent="0" pn="section-4.2.10-5.4.1">3 - 15: Primary: The path can be used for packet scheduling decisions. The 
   priority number indicates the relative priority of one path over the 
   other for primary paths. Higher numbers indicate higher priority. 
   The peer should consider sending traffic first over higher priority paths. 
   This is the recommended setting for paths that do not have a cost or 
   data caps associated with them as these paths will be frequently used.</t>
            </li>
          </ul>
          <t indent="0" pn="section-4.2.10-6">Example use cases include:
1) Setting Wi-Fi path to Primary and Cellular paths to Secondary. In this case
   Wi-Fi will be used and Cellular only if the Wi-Fi path is congested or not
   available. Such setting results in using the Cellular path only temporally, 
   if more capacity is needed than the WiFi path can provide, indicating a 
   clear priority of the Wi-Fi path over the Cellular due to e.g. cost reasons.
2) Setting Wi-Fi path to Primary and Cellular to Standby. In this case Wi-Fi
   will be used and Cellular only, if the Wi-Fi path is not available. 
3) Setting Wi-Fi path to Primary and Cellular path to Primary. In this case,
   both paths can be used when making packet scheduling decisions.</t>
          <t indent="0" pn="section-4.2.10-7">If not specified, the default behavior is to always use a path for 
packet scheduling decisions (MP_PRIO=3), when the path has been established and 
added to an existing MP-DCCP connection. At least one path ought to have a 
MP_PRIO value greater or equal to one for it to be allowed to send on the 
connection. It is RECOMMENDED to update at least one path to a non-zero MP_PRIO
value when an MP-DCCP connection enters a state where all paths remain with an
MP_PRIO value of zero. This helps an MP-DCCP connection to 
schedule when the multipath scheduler strictly respects MP_PRIO value 0.
MP_PRIO is assumed to be exchanged reliably using the MP_CONFIRM 
mechanisms (see <xref target="ref-mp-option-confirm" format="default" sectionFormat="of" derivedContent="Table 4"/>).</t>
          <t indent="0" pn="section-4.2.10-8">A MP_SEQ <xref target="MP_SEQ" format="default" sectionFormat="of" derivedContent="Section 4.2.5"/> MUST be present in a DCCP datagram
in which MP_PRIO is sent. Further details are given in <xref target="MP_CONFIRM" format="default" sectionFormat="of" derivedContent="Section 4.2.1"/>.</t>
        </section>
        <section anchor="MP_CLOSE" numbered="true" removeInRFC="false" toc="include" pn="section-4.2.11">
          <name slugifiedName="name-mp_close">MP_CLOSE</name>
          <figure anchor="ref-MP_CLOSE" align="left" suppress-title="false" pn="figure-19">
            <name slugifiedName="name-format-of-the-mp_close-subo">Format of the MP_CLOSE Suboption</name>
            <artwork align="left" pn="section-4.2.11-1.1"><![CDATA[
              1          2          3           
   01234567 89012345 67890123 45678901 23456789 
  +--------+--------+--------+--------+--------+
  |00101110|  var   |00001010| Key Data ...
  +--------+--------+--------+--------+--------+
   Type=46   Length  MP_OPT=10
]]></artwork>
          </figure>
          <t indent="0" pn="section-4.2.11-2">An MP-DCCP connection can be gracefully closed by sending and MP_CLOSE to the peer host. 
On all subflows, the regular termination procedure as described in <xref target="RFC4340" format="default" sectionFormat="of" derivedContent="RFC4340"/> 
MUST be initiated using MP_CLOSE in the initial packet (either a DCCP-CloseReq or a DCCP-Close). 
When  a DCCP-CloseReq is used, the following DCCP-Close MUST also carry the MP_CLOSE 
to avoid keeping a state in the sender of the DCCP-CloseReq. 
At the initiator of the DCCP-CloseReq, all sockets including the MP-DCCP connection socket, 
transition to CLOSEREQ state. 
To protect from unauthorized shutdown of a multi-path connection, the selected Key Data of 
the peer host during the handshaking procedure MUST be included in by the MP_CLOSE option 
and must be validated by the peer host. 
Note, the Key Data is different between MP_CLOSE option carried by DCCP-CloseReq or DCCP-Close.</t>
          <t indent="0" pn="section-4.2.11-3">On reception of the first DCCP-CloseReq carrying a MP_CLOSE with valid Key Data, 
or due to a local decision, all subflows transition to the CLOSING state 
before transmitting a DCCP-Close carrying MP_CLOSE. 
The MP-DCCP connection socket on the host sending the DCCP-Close reflects the state of 
the initial SubFlow during handshake with MP_KEY option. 
If the initial subflow no longer exists, the state moves immediately to CLOSED.</t>
          <t indent="0" pn="section-4.2.11-4">Upon reception of the first DCCP-Close carrying a MP_CLOSE with valid Key Data 
at the peer host, all subflows, as well as the MP-DCCP connection socket, 
move to the CLOSED state. After this, a DCCP-Reset with Reset Code 1 
MUST be sent on any subflow in response to a received DCCP-Close containing a valid MP_CLOSE option.</t>
          <t indent="0" pn="section-4.2.11-5">When the MP-DCCP connection socket is in CLOSEREQ or CLOSE state, new subflow requests using MP_JOIN MUST be ignored.</t>
          <t indent="0" pn="section-4.2.11-6">Contrary to a MP_FAST_CLOSE <xref target="MP_FAST_CLOSE" format="default" sectionFormat="of" derivedContent="Section 4.2.3"/>, no single-sided abrupt termination is applied.</t>
        </section>
        <section anchor="MP_EXP" numbered="true" removeInRFC="false" toc="include" pn="section-4.2.12">
          <name slugifiedName="name-experimental-mp-dccp-sub-op">Experimental MP-DCCP Sub-Option MP_EXP for private use</name>
          <t indent="0" pn="section-4.2.12-1">This section reserves a MP-DCCP sub-option to define and specify any experimental additional feature for improving and optimization of MP-DCCP protocol. This
option could be applicable to specific environments or scenarios according to potential new requirements and meant for private use only. MP_OPT 
feature number 11 is specified with an exemplary description as below:</t>
          <figure anchor="ref-MP_EXP" align="left" suppress-title="false" pn="figure-20">
            <name slugifiedName="name-format-of-the-mp_exp-subopt">Format of the MP_EXP Suboption</name>
            <artwork align="left" pn="section-4.2.12-2.1"><![CDATA[
                     1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+---------------+---------------+---------------+---------------+
|0 0 1 0 1 1 1 0|      var      |0 0 0 0 1 0 1 1|   Data TBD    |
+---------------+---------------+---------------+---------------+
|   ...                                                         
+---------------------------------------------------------------+
     Type=46         Length         MP_OPT=11
]]></artwork>
          </figure>
          <t indent="0" pn="section-4.2.12-3">The Data field can carry any data according to the foreseen use by the experimenters with a maximum length of 252 Bytes.</t>
        </section>
      </section>
      <section anchor="handshaking" numbered="true" removeInRFC="false" toc="include" pn="section-4.3">
        <name slugifiedName="name-mp-dccp-handshaking-procedu">MP-DCCP Handshaking Procedure</name>
        <t indent="0" pn="section-4.3-1">An example to illustrate the MP-DCCP handshake procedure is shown in <xref target="ref-mp-dccp-handshaking" format="default" sectionFormat="of" derivedContent="Figure 21"/>.</t>
        <figure anchor="ref-mp-dccp-handshaking" align="left" suppress-title="false" pn="figure-21">
          <name slugifiedName="name-example-mp-dccp-handshake">Example MP-DCCP Handshake</name>
          <artwork align="left" pn="section-4.3-2.1"><![CDATA[
          Host A                                         Host B 
------------------------                              ----------
Address A1    Address A2                              Address B1
----------    ----------                              ----------
     |             |                                       |
     |             DCCP-Request + MP_CAPABLE               |
     |------- MP_KEY(Key-A(1), Key-A(2),...) ------------->|
     |<---------------------- MP_KEY(Key-B) ---------------|
     |             DCCP-Response +  MP_CAPABLE             |
     |             |                                       |
     |   DCCP-Ack  |                                       |
     |--------- MP_KEY(Key-A) + MP_KEY(Key-B) ------------>|
     |<----------------------------------------------------|
     |   DCCP-Ack  |                                       |
     |             |                                       |
     |             |          DCCP-Request + MP_CAPABLE    |
     |             |--- MP_JOIN(TB,RA) ------------------->|
     |             |<------MP_JOIN(TB,RB) + MP_HMAC(B)-----|
     |             |DCCP-Response  + MP_CAPABLE            |
     |             |                                       |
     |             |DCCP-Ack                               |
     |             |-------- MP_HMAC(A) ------------------>|
     |             |<--------------------------------------|
     |             |DCCP-ACK                               |
]]></artwork>
        </figure>
        <t indent="0" pn="section-4.3-3">The basic initial handshake for the first subflow is as follows:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.3-4">
          <li pn="section-4.3-4.1">
            <t indent="0" pn="section-4.3-4.1.1">Host A sends a DCCP-Request with the MP-Capable feature Change
request and the MP_KEY option with an Host-specific Key-A for
each of supported types as described in <xref target="MP_KEY" format="default" sectionFormat="of" derivedContent="Section 4.2.4"/>.</t>
          </li>
          <li pn="section-4.3-4.2">
            <t indent="0" pn="section-4.3-4.2.1">Host B sends a DCCP-Response with Confirm feature for
MP-Capable and the MP_Key option with a single Host-specific Key-B.
The type of the key is chosen from the list of supported types
from the previous request.</t>
          </li>
          <li pn="section-4.3-4.3">
            <t indent="0" pn="section-4.3-4.3.1">Host A sends a DCCP-Ack with both Keys echoed to Host B.</t>
          </li>
          <li pn="section-4.3-4.4">
            <t indent="0" pn="section-4.3-4.4.1">Host B sends a DCCP-Ack to confirm both keys and conclude the handshaking.</t>
          </li>
        </ul>
        <t indent="0" pn="section-4.3-5">Host A waits for the final DCCP-Ack from host B before starting any
establishment of additional subflow connections.</t>
        <t indent="0" pn="section-4.3-6">The handshake for subsequent subflows based on a successful initial
handshake is as follows:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-4.3-7">
          <li pn="section-4.3-7.1">
            <t indent="0" pn="section-4.3-7.1.1">Host A sends a DCCP-Request with the MP-Capable feature Change
request and the MP_JOIN option with Host B's Token TB, generated from
the derived key by applying a SHA256 hash and truncating to the first
32 bits. Additionally, an own random nonce RA is transmitted with the
MP_JOIN.</t>
          </li>
          <li pn="section-4.3-7.2">
            <t indent="0" pn="section-4.3-7.2.1">Host B computes the HMAC of the DCCP-Request and sends a DCCP-Response
with Confirm feature option for MP-Capable and the MP_JOIN option with
the Token TB and a random nonce RB together with the computed MP_HMAC.
The HMAC is calculated by taking the leftmost 20 bytes from the SHA256 hash
of a HMAC code created by using the nonce received with MP_JOIN(A) and the
local nonce RB as message and the derived key described in <xref target="MP_KEY" format="default" sectionFormat="of" derivedContent="Section 4.2.4"/> as key:  </t>
            <t indent="0" pn="section-4.3-7.2.2">
MP_HMAC(B) = HMAC-SHA256(Key=d-key(B), Msg=RB+RA)</t>
          </li>
          <li pn="section-4.3-7.3">
            <t indent="0" pn="section-4.3-7.3.1">Host A sends a DCCP-Ack with the HMAC computed for the DCCP-Response.
The HMAC is calculated by taking the leftmost 20 bytes from the SHA256 hash
of a HMAC code created by using the local nonce RA and the nonce received
with MP_JOIN(B) as message and the derived key described in <xref target="MP_KEY" format="default" sectionFormat="of" derivedContent="Section 4.2.4"/> as key:  </t>
            <t indent="0" pn="section-4.3-7.3.2">
MP_HMAC(A) = HMAC-SHA256(Key=d-key(A), Msg=RA+RB)</t>
          </li>
          <li pn="section-4.3-7.4">
            <t indent="0" pn="section-4.3-7.4.1">Host B sends a DCCP-Ack to confirm the HMAC and to conclude the
handshaking.</t>
          </li>
        </ul>
      </section>
      <section anchor="address-knowledge-exchange" numbered="true" removeInRFC="false" toc="include" pn="section-4.4">
        <name slugifiedName="name-address-knowledge-exchange">Address knowledge exchange</name>
        <section anchor="advertising-a-new-path-mpaddaddr" numbered="true" removeInRFC="false" toc="include" pn="section-4.4.1">
          <name slugifiedName="name-advertising-a-new-path-mp_a">Advertising a new path (MP_ADDADDR)</name>
          <t indent="0" pn="section-4.4.1-1">When a host (Host A) wants to advertise the availability of a new path, it should use the MP_ADDADDR option (<xref target="MP_ADDADDR" format="default" sectionFormat="of" derivedContent="Section 4.2.8"/>) as
shown in the example in <xref target="ref-mp-dccp-add-address" format="default" sectionFormat="of" derivedContent="Figure 22"/>. The MP_ADDADDR option passed in the DCCP-Data contains the following parameters:
* an identifier (id 2) for the new IP address which is used as a reference in subsequent control exchanges.
* the IP address of the new path (A2_IP)
* A pair of octets specifying the port number associated with this IP address. The value of 00 here, indicates that the port number is the same
  as that used for the initial subflow address A1_IP</t>
          <t indent="0" pn="section-4.4.1-2">The following options MUST be included in a packet carrying MP_ADDADDR:
* the leftmost 20 bytes of the HMAC(A) generated during the initial handshaking procedure described in <xref target="handshaking" format="default" sectionFormat="of" derivedContent="Section 4.3"/> and <xref target="MP_HMAC" format="default" sectionFormat="of" derivedContent="Section 4.2.6"/>
* the MP_SEQ option with the sequence number (seqno 12) for this message according to <xref target="MP_SEQ" format="default" sectionFormat="of" derivedContent="Section 4.2.5"/>.</t>
          <t indent="0" pn="section-4.4.1-3">Host B acknowledges receipt of the MP_ADDADDR message with a DCCP-Ack containing the MP_CONFIRM option. The parameters supplied in this
response are as follows:
* an MP_CONFIRM containing the MP_SEQ number (seqno 12) of the packet carrying the option that we are confirming together with the MP_ADDADDR option
* the leftmost 20 bytes of the HMAC(B) generated during the initial handshaking procedure <xref target="handshaking" format="default" sectionFormat="of" derivedContent="Section 4.3"/></t>
          <figure anchor="ref-mp-dccp-add-address" align="left" suppress-title="false" pn="figure-22">
            <name slugifiedName="name-example-mp-dccp-addaddr-pro">Example MP-DCCP ADDADDR procedure</name>
            <artwork align="left" pn="section-4.4.1-4.1"><![CDATA[
          Host A                                         Host B 
------------------------                              -----------
Address A1    Address A2                               Address B1
----------    ----------                              -----------
     |             |                                       |
     |   DCCP-Data +  MP_ADDADDR(id 2, A2_IP, 00) +        |
     |------- MP_HMAC(A) + MP_SEQ(seqno 12) -------------->|
     |             |                                       |      
     |   DCCP-Ack + MP_HMAC(B) +                           |
     |<----- MP_CONFIRM(seqno 12, MP_ADDADDR) -------------|
]]></artwork>
          </figure>
        </section>
        <section anchor="removing-a-path-mpremoveaddr" numbered="true" removeInRFC="false" toc="include" pn="section-4.4.2">
          <name slugifiedName="name-removing-a-path-mp_removead">Removing a path (MP_REMOVEADDR)</name>
          <t indent="0" pn="section-4.4.2-1">When a host (Host A) wants to indicate that a path is no longer available, it should use the MP_REMOVEADDR option (<xref target="MP_REMOVEADDR" format="default" sectionFormat="of" derivedContent="Section 4.2.9"/>) as
shown in the example in <xref target="ref-mp-dccp-remove-address" format="default" sectionFormat="of" derivedContent="Figure 23"/>. The MP_REMOVEADDR option passed in the DCCP-Data contains the following parameters:
* an identifier (id 2) for the IP address to remove (A2_IP) and which was specified in a previous MP_ADDADDR message.</t>
          <t indent="0" pn="section-4.4.2-2">The following options must be included in a packet carrying MP_REMOVEADDR
* the leftmost 20 bytes of the HMAC(A) generated during the initial handshaking procedure described in <xref target="handshaking" format="default" sectionFormat="of" derivedContent="Section 4.3"/> and <xref target="MP_HMAC" format="default" sectionFormat="of" derivedContent="Section 4.2.6"/>
* the MP_SEQ option with the sequence number (seqno 33) for this message according to <xref target="MP_SEQ" format="default" sectionFormat="of" derivedContent="Section 4.2.5"/>.</t>
          <t indent="0" pn="section-4.4.2-3">Host B acknowledges receipt of the MP_REMOVEADDR message with a DCCP-Ack containing the MP_CONFIRM option. The parameters supplied in this
response are as follows:
* an MP_CONFIRM containing the MP_SEQ number (seqno 33) of the packet carrying the option that we are confirming, together with the MP_REMOVEADDR option
* the leftmost 20 bytes of the HMAC(B) generated during the initial handshaking procedure <xref target="handshaking" format="default" sectionFormat="of" derivedContent="Section 4.3"/></t>
          <figure anchor="ref-mp-dccp-remove-address" align="left" suppress-title="false" pn="figure-23">
            <name slugifiedName="name-example-mp-dccp-removeaddr-">Example MP-DCCP REMOVEADDR procedure</name>
            <artwork align="left" pn="section-4.4.2-4.1"><![CDATA[
          Host A                                         Host B 
------------------------                              -----------
Address A1    Address A2                               Address B1
----------    ----------                              -----------
     |             |                                       |
     |   DCCP-Data +  MP_REMOVEADDR(id 2) +                |
     |------- MP_HMAC(A) + MP_SEQ(seqno 33) -------------->|
     |             |                                       |      
     |   DCCP-Ack + MP_HMAC(B) +                           |
     |<----- MP_CONFIRM(seqno 33, MP_REMOVEADDR) ----------|
]]></artwork>
          </figure>
        </section>
      </section>
      <section anchor="closing" numbered="true" removeInRFC="false" toc="include" pn="section-4.5">
        <name slugifiedName="name-close-a-mp-dccp-connection">Close a MP-DCCP connection</name>
        <t indent="0" pn="section-4.5-1">When a host wants to close an existing subflow but not the whole MP-DCCP
connection, it MUST initiate the regular DCCP connection termination procedure 
as described in Section 5.6 of <xref target="RFC4340" format="default" sectionFormat="of" derivedContent="RFC4340"/>, i.e., it sends a DCCP-Close/DCCP-Reset on the subflow. This
may be preceded by a DCCP-CloseReq. In the event of an irregular termination of a subflow,
e.g., during subflow establishment, it MUST use an appropriate DCCP reset code as specified in IANA <xref target="DCCP.Parameter" format="default" sectionFormat="of" derivedContent="DCCP.Parameter"/> for DCCP operations. This could be, for example, sending reset code 5 (Option Error) when an MP-DCCP
option provides invalid data or reset code 9 (Too Busy) when the maximum number of maintainable paths
is reached. Note that receiving a reset code 9 for secondary subflows SHOULD NOT impact already existing active
subflows. If necessary, these subflows are terminated in a subsequent step using the procedures described in
this section.</t>
        <t indent="0" pn="section-4.5-2">A host terminates an MP-DCCP connection using the DCCP connection termination specified in section 5.5 of
<xref target="RFC4340" format="default" sectionFormat="of" derivedContent="RFC4340"/> on each subflow with the first packet on each subflow carrying MP_CLOSE (see <xref target="MP_CLOSE" format="default" sectionFormat="of" derivedContent="Section 4.2.11"/>).</t>
        <artwork align="left" pn="section-4.5-3"><![CDATA[
  Host A                                   Host B
  ------                                   ------
                                   <-      Optional DCCP-CloseReq +
                                           MP_CLOSE [A's key] 
                                           [on all subflows]
  DCCP-Close + MP_CLOSE            ->
  [B's key] [on all subflows]
                                   <-      DCCP-Reset
                                           [on all subflows]
]]></artwork>
        <t indent="0" pn="section-4.5-4">Additionally, an MP-DCCP connection may be closed abruptly using the "Fast Close"
procedure described in <xref target="MP_FAST_CLOSE" format="default" sectionFormat="of" derivedContent="Section 4.2.3"/>, where a DCCP-Reset is sent on all
subflows, each carrying the MP_FAST_CLOSE option.</t>
        <artwork align="left" pn="section-4.5-5"><![CDATA[
  Host A                                   Host B
  ------                                   ------
  DCCP-Reset + MP_FAST_CLOSE       ->
  [B's key] [on all subflows]
                                   <-      DCCP-Reset
                                           [on all subflows]
]]></artwork>
      </section>
      <section anchor="fallback" numbered="true" removeInRFC="false" toc="include" pn="section-4.6">
        <name slugifiedName="name-fallback">Fallback</name>
        <t indent="0" pn="section-4.6-1">When a subflow fails to operate following MP-DCCP intended behavior, it is 
necessary to proceed with a fallback. This may be either falling back 
to regular DCCP <xref target="RFC4340" format="default" sectionFormat="of" derivedContent="RFC4340"/> or removing a problematic subflow. The main reasons for 
subflow failing include: no MP support at peer host, failure to negotiate protocol
version, loss of MP-DCCP suboptions, faulty/non-supported MP-DCCP options or modification
of payload data.</t>
        <t indent="0" pn="section-4.6-2">At the start of an MP-DCCP connection, the handshake ensures exchange of MP-DCCP feature and
options and thus ensures that the path is fully MP-DCCP capable. If during the
handshake procedure it appears that DCCP-Request or DCCP-Response
messages do not carry the MP_CAPABLE feature, the MP-DCCP connection will not be 
established and the handshake SHOULD fallback to regular DCCP (if this is not 
possible it MUST be closed).</t>
        <t indent="0" pn="section-4.6-3">A connection SHOULD fallback to regular DCCP if the endpoints fail to agree on a
protocol version to use during the Multipath Capable feature negotiation. This is described in
<xref target="mp_capable" format="default" sectionFormat="of" derivedContent="Section 4.1"/>. The protocol version negotiation distinguishes between negotiation
for the initial connection establishment, and addition of subsequent subflows. If
protocol version negotiation is not successful during the initial connection establishment,
MP-DCCP connection will fallback to regular DCCP.</t>
        <t indent="0" pn="section-4.6-4">The fallback procedure to regular DCCP MUST be also applied if the MP_KEY <xref target="MP_KEY" format="default" sectionFormat="of" derivedContent="Section 4.2.4"/> Key Type cannot be negotiated.</t>
        <t indent="0" pn="section-4.6-5">If a subflow attempts to join an existing MP-DCCP connection, but MP-DCCP options or MP_CAPABLE
feature are not present or are faulty in the handshake procedure, that subflow MUST be closed.
This is especially the case if a different MP_CAPABLE version than the originally negotiated
version is used. Reception of a non-verifiable MP_HMAC (<xref target="MP_HMAC" format="default" sectionFormat="of" derivedContent="Section 4.2.6"/>) or an invalid
MP_JOIN Path Token <xref target="MP_JOIN" format="default" sectionFormat="of" derivedContent="Section 4.2.2"/> during flow establishment MUST cause the
subflow to be closed.</t>
        <t indent="0" pn="section-4.6-6">The subflow closing procedure MUST be also applied if a final ACK carrying MP_KEY with wrong Key-A/Key-B is
received or MP_KEY option is malformed.</t>
        <t indent="0" pn="section-4.6-7">Another relevant case is when payload data is modified by middleboxes. DCCP uses 
checksum to protect the data, as described in section 9 of <xref target="RFC4340" format="default" sectionFormat="of" derivedContent="RFC4340"/>. A checksum will 
fail if the data has been changed in any way. All data from the start of the segment that
failed the checksum onwards cannot be considered trustworthy. DCCP defines that if 
the checksum fails, the receiving endpoint MUST drop the application data and report 
that data as dropped due to corruption using a Data Dropped option (Drop Code 3, 
Corrupt). If data is dropped due to corruption for an MP-DCCP connection, the affected
subflow MAY be closed.</t>
      </section>
      <section anchor="congestion-control-considerations" numbered="true" removeInRFC="false" toc="include" pn="section-4.7">
        <name slugifiedName="name-congestion-control-consider">Congestion Control Considerations</name>
        <t indent="0" pn="section-4.7-1">Senders MUST manage per-path congestion status, and avoid to
sending more data on a given path than congestion control
for each path allows.</t>
      </section>
      <section anchor="maximum-packet-size-considerations" numbered="true" removeInRFC="false" toc="include" pn="section-4.8">
        <name slugifiedName="name-maximum-packet-size-conside">Maximum Packet Size Considerations</name>
        <t indent="0" pn="section-4.8-1">A DCCP implementation maintains the maximum packet size (MPS) during operation of a DCCP session. This procedure is specified for single-path DCCP in <xref target="RFC4340" format="default" sectionFormat="of" derivedContent="RFC4340"/>, Section 14. Without any restrictions, this is adopted for MP-DCCP operations, in particular the PMTU measurement and the Sender Behaviour. The DCCP application interface SHOULD allow the application to discover the current MPS. This reflects the current supported largest size for the data stream that can be used across the set of all active MP-DCCP subflows.</t>
      </section>
      <section anchor="path-usage-strategies" numbered="true" removeInRFC="false" toc="include" pn="section-4.9">
        <name slugifiedName="name-path-usage-strategies">Path usage strategies</name>
        <t indent="0" pn="section-4.9-1">MP-DCCP can be configured to realize one of several strategies for path usage, via selecting one DCCP subflow of the multiple DCCP subflows within a MP-DCCP connection for data transmission. This can be a dynamic process further facilitated by the means of DCCP and MP-DCCP defined options such as path preference using MP-PRIO, adding or removing DCCP subflows using MP_REMOVEADDR, MP_ADDADDR or DCCP-Close/DCCP-Reset and also path metrics such as packet-loss-rate, CWND or RTT provided by the Congestion Control Algorithm.
Selecting an appropriate method can allow MP-DCCP to realize different path utilization strategies that make MP-DCCP suitable for end-to-end implementation over the Internet or in controlled environments such as Hybrid Access or 5G ATSSS.</t>
        <section anchor="path_mobility" numbered="true" removeInRFC="false" toc="include" pn="section-4.9.1">
          <name slugifiedName="name-path-mobility">Path mobility</name>
          <t indent="0" pn="section-4.9.1-1">The path mobility strategy provides the use of a single path with a seamless handover function to continue the connection when the currently used path is deemed unsuitable for service delivery.
Some of the DCCP subflows of a MP-DCCP connection might become inactive due to either the occurrence of certain error conditions (e.g., DCCP timeout, packet loss threshold, RTT threshold, closed/removed) or adjustments from the MP-DCCP user.
When there is outbound data to send and the primary path becomes inactive (e.g., due to failures) or de-prioritized, the MP-DCCP endpoint SHOULD try to send the data through an alternate path with a different source or destination address (depending on the point of failure), if one exists. This process SHOULD respect the path priority configured by MP_PRIO or if not available pick the most divergent source-destination pair from the original used source-destination pair.
Note: Rules for picking the most appropriate source-destination pair are an implementation decision and are not specified within this document.
Path mobility is supported in the current Linux reference implementation <xref target="multipath-dccp.org" format="default" sectionFormat="of" derivedContent="multipath-dccp.org"/>.</t>
        </section>
        <section anchor="concurrent-path-usage" numbered="true" removeInRFC="false" toc="include" pn="section-4.9.2">
          <name slugifiedName="name-concurrent-path-usage">Concurrent path usage</name>
          <t indent="0" pn="section-4.9.2-1">Different to a path mobility strategy, the selection between MP-DCCP
subflows is a per-packet decision that is a part of the multipath
scheduling process. This method would allow multiple subflows to be
simultaneously used to aggregate the path resources to obtain higher
connection throughput.</t>
          <t indent="0" pn="section-4.9.2-2">In this scenario, the selection of congestion control, per-packet scheduling
and potential re-ordering method determines a concurrent path utilization
strategy and result in a particular transport characteristic.
A concurrent path usage method uses a scheduling design that could seek to 
maximize reliability, throughput, minimizing latency, etc.</t>
          <t indent="0" pn="section-4.9.2-3">Concurrent path usage over the Internet can have implications. When a 
Multipath DCCP connection uses two or more paths, there is no guarantee 
that these paths are fully disjoint.  When two (or more) subflows share 
the same bottleneck, using a standard congestion control scheme could 
result in an unfair distribution of the capacity with the multipath 
connection using more capacity than competing single path connections.<br/>
Multipath TCP uses the coupled congestion control Linked Increases 
Algorithm (LIA) specified in the experimental specification <xref target="RFC6356" format="default" sectionFormat="of" derivedContent="RFC6356"/> to solve this problem.  This 
scheme could also be specified for Multipath DCCP.  The same applies to 
other coupled congestion control schemes that have been proposed for 
Multipath TCP such as Opportunistic Linked Increases Algorithm <xref target="OLIA" format="default" sectionFormat="of" derivedContent="OLIA"/>.</t>
          <t indent="0" pn="section-4.9.2-4">The specification of scheduling for concurrent multipath and related the 
congestion control algorithms and re-ordering methods for use in the general
Internet are outside the scope of this document. If, and when, the IETF
specifies a method for concurrent usage of multiple paths for the
general Internet, the framework specified in this document could be used to 
provide an IETF recommended method for MP-DCCP.</t>
        </section>
      </section>
    </section>
    <section anchor="security" numbered="true" removeInRFC="false" toc="include" pn="section-5">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-5-1">Similar to DCCP, MP-DCCP does not provide cryptographic security
guarantees inherently. Thus, if applications need cryptographic security
(integrity, authentication, confidentiality, access control, and
anti-replay protection) the use of IPsec, DTLS over DCCP <xref target="RFC5238" format="default" sectionFormat="of" derivedContent="RFC5238"/> or other
end-to-end security is recommended;
Secure Real-time Transport Protocol (SRTP) <xref target="RFC3711" format="default" sectionFormat="of" derivedContent="RFC3711"/> is one candidate
protocol for authentication. Together with Encryption of Header
Extensions in SRTP, as provided by <xref target="RFC6904" format="default" sectionFormat="of" derivedContent="RFC6904"/>, also integrity would
be provided.</t>
      <t indent="0" pn="section-5-2">DCCP <xref target="RFC4340" format="default" sectionFormat="of" derivedContent="RFC4340"/> provides protection against hijacking
and limits the potential impact of some denial-of-service attacks, but
DCCP provides no inherent protection against an on-path attacker snooping on data
packets. Regarding the security of MP-DCCP no additional risks should be
introduced compared to regular DCCP. Thereof derived are the
following key security requirements to be fulfilled by MP-DCCP:</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5-3">
        <li pn="section-5-3.1">
          <t indent="0" pn="section-5-3.1.1">Provide a mechanism to confirm that parties involved in a subflow
handshake are identical to those in the original connection setup.</t>
        </li>
        <li pn="section-5-3.2">
          <t indent="0" pn="section-5-3.2.1">Provide verification that the new address to be included in a MP
connection is valid for a peer to receive traffic at before using it.</t>
        </li>
        <li pn="section-5-3.3">
          <t indent="0" pn="section-5-3.3.1">Provide replay protection, i.e., ensure that a request to add/remove a
subflow is 'fresh'.</t>
        </li>
      </ul>
      <t indent="0" pn="section-5-4">To achieve these goals, MP-DCCP includes a hash-based handshake
algorithm documented in Sections <xref target="MP_KEY" format="default" sectionFormat="of" derivedContent="Section 4.2.4"/> and <xref target="handshaking" format="default" sectionFormat="of" derivedContent="Section 4.3"/>. The
security of the MP-DCCP connection depends on the use of keys that are
shared once at the start of the first subflow and are never sent again
over the network. To ease demultiplexing while not revealing
cryptographic material, future subflows use a truncated cryptographic
hash of this key as the connection identification "token". The keys are
concatenated and used as keys for creating Hash-based Message
Authentication Codes (HMACs) used on subflow setup, in order to verify
that the parties in the handshake are the same as in the original
connection setup. It also provides verification that the peer can
receive traffic at this new address. Replay attacks would still be
possible when only keys are used;
therefore, the handshakes use single-use random numbers (nonces) at both
ends -- this ensures that the HMAC will never be the same on two handshakes.
Guidance on generating random numbers suitable for use as keys is given
in <xref target="RFC4086" format="default" sectionFormat="of" derivedContent="RFC4086"/>. During normal operation, regular DCCP protection
mechanisms (such as header checksum to protect DCCP headers against
corruption) is designed to provide the same level of protection against attacks on
individual DCCP subflows as exists for regular DCCP.</t>
      <t indent="0" pn="section-5-5">As discussed in <xref target="MP_ADDADDR" format="default" sectionFormat="of" derivedContent="Section 4.2.8"/>, a host may advertise its private
addresses, but these might point to different hosts in the receiver's
network.  The MP_JOIN handshake (<xref target="MP_JOIN" format="default" sectionFormat="of" derivedContent="Section 4.2.2"/>) is designed to ensure that this
does not set up a subflow to the incorrect host.
However, it could still create unwanted DCCP handshake traffic.  This
feature of MP-DCCP could be a target for denial-of-service exploits,
with malicious participants in MP-DCCP connections encouraging the
recipient to target other hosts in the network.  Therefore,
implementations should consider heuristics at both the
sender and receiver to reduce the impact of this.</t>
    </section>
    <section anchor="middlebox" numbered="true" removeInRFC="false" toc="include" pn="section-6">
      <name slugifiedName="name-interactions-with-middlebox">Interactions with Middleboxes</name>
      <t indent="0" pn="section-6-1">Issues from interaction with on-path middleboxes such as NATs, firewalls, proxies,
intrusion detection systems (IDSs), and others have to be considered for all
extensions to standard protocols since otherwise unexpected reactions of
middleboxes may hinder its deployment. DCCP already provides means to
mitigate the potential impact of middleboxes, also in comparison to TCP (see
<xref target="RFC4043" format="default" sectionFormat="of" derivedContent="RFC4043"/>, Section 16). When both hosts are located behind a NAT or
firewall entity, specific measures have to be applied such as the <xref target="RFC5596" format="default" sectionFormat="of" derivedContent="RFC5596"/>-specified
simultaneous-open technique that update the (traditionally asymmetric)
connection-establishment procedures for DCCP.  Further standardized technologies
addressing middleboxes operating as NATs are provided in <xref target="RFC5597" format="default" sectionFormat="of" derivedContent="RFC5597"/>.</t>
      <t indent="0" pn="section-6-2"><xref target="RFC6773" format="default" sectionFormat="of" derivedContent="RFC6773"/> specifies UDP Encapsulation for NAT Traversal of DCCP sessions,
similar to other UDP encapsulations such as for SCTP <xref target="RFC6951" format="default" sectionFormat="of" derivedContent="RFC6951"/>. Future
specifications by the IETF could specify other methods for DCCP encapsulation.</t>
    </section>
    <section anchor="implementation" numbered="true" removeInRFC="false" toc="include" pn="section-7">
      <name slugifiedName="name-implementation">Implementation</name>
      <t indent="0" pn="section-7-1">The approach described above has been implemented in open source across different testbeds and a new scheduling algorithm has been extensively tested. Also 
demonstrations of a laboratory setup have been executed and have been published at <xref target="multipath-dccp.org" format="default" sectionFormat="of" derivedContent="multipath-dccp.org"/>.</t>
    </section>
    <section anchor="acknowledgments" numbered="true" removeInRFC="false" toc="include" pn="section-8">
      <name slugifiedName="name-acknowledgments">Acknowledgments</name>
      <t indent="0" pn="section-8-1"><xref target="RFC6824" format="default" sectionFormat="of" derivedContent="RFC6824"/> and <xref target="RFC8684" format="default" sectionFormat="of" derivedContent="RFC8684"/> defined Multipath TCP and provided important
inputs for this specification.</t>
      <t indent="0" pn="section-8-2">The authors gratefully acknowledge significant input into this document from Dirk von Hugo, Nathalie Romo Moreno, Omar Nassef, Mohamed Boucadair, Simone Ferlin, and Behcet Sarikaya.</t>
    </section>
    <section anchor="iana-considerations" numbered="true" removeInRFC="false" toc="include" pn="section-9">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-9-1">This section provides guidance to the Internet Assigned Numbers Authority (IANA) regarding registration of values related to the MP extension of the DCCP protocol 
in accordance with <xref target="RFC8126" format="default" sectionFormat="of" derivedContent="RFC8126"/>.  This document defines one new value which is requested to be allocated in the IANA DCCP Feature Numbers registry and three new registries to be allocated in the DCCP registry group.</t>
      <t indent="0" pn="section-9-2">This document requests IANA to assign a new DCCP feature parameter for negotiating
the support of multipath capability for DCCP sessions between hosts
as described in <xref target="protocol" format="default" sectionFormat="of" derivedContent="Section 4"/>. The following entry in <xref target="ref-add-feature-list" format="default" sectionFormat="of" derivedContent="Table 6"/> should be
added to the Feature Numbers registry in the DCCP registry group according to <xref target="RFC4340" format="default" sectionFormat="of" derivedContent="RFC4340"/>, Section 19.4. under the "DCCP Protocol" heading.</t>
      <table anchor="ref-add-feature-list" align="center" pn="table-6">
        <name slugifiedName="name-addition-to-dccp-feature-nu">Addition to DCCP Feature Numbers registry</name>
        <thead>
          <tr>
            <th align="center" colspan="1" rowspan="1">Value</th>
            <th align="center" colspan="1" rowspan="1">Feature Name</th>
            <th align="center" colspan="1" rowspan="1">Specification</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="center" colspan="1" rowspan="1">THIS-FEATURE (10 suggested)</td>
            <td align="center" colspan="1" rowspan="1">MP-DCCP capability feature</td>
            <td align="center" colspan="1" rowspan="1">[ThisDocument]</td>
          </tr>
        </tbody>
      </table>
      <t indent="0" pn="section-9-4">Sect. <xref target="mp_capable" format="default" sectionFormat="of" derivedContent="Section 4.1"/> specifies the new 1-Byte entry above includes a 4-bit part to specify the version of the used MP-DCCP implementation. This document requests IANA to create a new 'MP-DCCP Versions' registry within the DCCP registry group to track the MP-DCCP version. The initial content of this registry is as follows:</t>
      <table anchor="ref-add-version-list" align="center" pn="table-7">
        <name slugifiedName="name-mp-dccp-versions-registry">MP-DCCP Versions Registry</name>
        <thead>
          <tr>
            <th align="center" colspan="1" rowspan="1">Version</th>
            <th align="center" colspan="1" rowspan="1">Value</th>
            <th align="center" colspan="1" rowspan="1">Specification</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="center" colspan="1" rowspan="1">THIS-VER</td>
            <td align="center" colspan="1" rowspan="1">Suggested 0000</td>
            <td align="center" colspan="1" rowspan="1">[ThisDocument]</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">Unassigned</td>
            <td align="center" colspan="1" rowspan="1">0001 - 1111</td>
            <td align="center" colspan="1" rowspan="1"> </td>
          </tr>
        </tbody>
      </table>
      <t indent="0" pn="section-9-6">Future MP-DCCP versions 1 to 15 are assigned from this registry using the Specification Required policy (Section 4.6 of <xref target="RFC8126" format="default" sectionFormat="of" derivedContent="RFC8126"/>).</t>
      <t indent="0" pn="section-9-7">This document requests IANA to assign a new DCCP protocol option THIS-DCCP-OPTION (suggested type=46) as described in <xref target="MP_OPT" format="default" sectionFormat="of" derivedContent="Section 4.2"/>. In this document, THIS-DCCP-OPTION is replaced by 46 for better readability.</t>
      <t indent="0" pn="section-9-8">IANA is requested to create a new 'MP-DCCP Suboptions' registry within the DCCP registry group. The following entries in <xref target="ref-add-proto-opt-list" format="default" sectionFormat="of" derivedContent="Table 8"/> should be added to the new 'MP-DCCP Suboptions' registry. The registry in <xref target="ref-add-proto-opt-list" format="default" sectionFormat="of" derivedContent="Table 8"/> has an upper boundary of 255 in the numeric value field.</t>
      <table anchor="ref-add-proto-opt-list" align="center" pn="table-8">
        <name slugifiedName="name-mp-dccp-suboptions-registry">MP-DCCP Suboptions registry</name>
        <thead>
          <tr>
            <th align="center" colspan="1" rowspan="1">Value</th>
            <th align="center" colspan="1" rowspan="1">Symbol</th>
            <th align="center" colspan="1" rowspan="1">Name</th>
            <th align="center" colspan="1" rowspan="1">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="center" colspan="1" rowspan="1">Type=46</td>
            <td align="center" colspan="1" rowspan="1">MP_OPT</td>
            <td align="center" colspan="1" rowspan="1">DCCP Multipath option</td>
            <td align="center" colspan="1" rowspan="1">
              <xref target="MP_OPT" format="default" sectionFormat="of" derivedContent="Section 4.2"/></td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">MP_OPT=0</td>
            <td align="center" colspan="1" rowspan="1">MP_CONFIRM</td>
            <td align="center" colspan="1" rowspan="1">Confirm reception/processing of an MP_OPT option</td>
            <td align="center" colspan="1" rowspan="1">
              <xref target="MP_CONFIRM" format="default" sectionFormat="of" derivedContent="Section 4.2.1"/></td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">MP_OPT=1</td>
            <td align="center" colspan="1" rowspan="1">MP_JOIN</td>
            <td align="center" colspan="1" rowspan="1">Join subflow to existing MP-DCCP connection</td>
            <td align="center" colspan="1" rowspan="1">
              <xref target="MP_JOIN" format="default" sectionFormat="of" derivedContent="Section 4.2.2"/></td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">MP_OPT=2</td>
            <td align="center" colspan="1" rowspan="1">MP_FAST_CLOSE</td>
            <td align="center" colspan="1" rowspan="1">Close MP-DCCP connection</td>
            <td align="center" colspan="1" rowspan="1">
              <xref target="MP_FAST_CLOSE" format="default" sectionFormat="of" derivedContent="Section 4.2.3"/></td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">MP_OPT=3</td>
            <td align="center" colspan="1" rowspan="1">MP_KEY</td>
            <td align="center" colspan="1" rowspan="1">Exchange key material for MP_HMAC</td>
            <td align="center" colspan="1" rowspan="1">
              <xref target="MP_KEY" format="default" sectionFormat="of" derivedContent="Section 4.2.4"/></td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">MP_OPT=4</td>
            <td align="center" colspan="1" rowspan="1">MP_SEQ</td>
            <td align="center" colspan="1" rowspan="1">Multipath Sequence Number</td>
            <td align="center" colspan="1" rowspan="1">
              <xref target="MP_SEQ" format="default" sectionFormat="of" derivedContent="Section 4.2.5"/></td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">MP_OPT=5</td>
            <td align="center" colspan="1" rowspan="1">MP_HMAC</td>
            <td align="center" colspan="1" rowspan="1">Hash-based Message Auth. Code for MP-DCCP</td>
            <td align="center" colspan="1" rowspan="1">
              <xref target="MP_HMAC" format="default" sectionFormat="of" derivedContent="Section 4.2.6"/></td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">MP_OPT=6</td>
            <td align="center" colspan="1" rowspan="1">MP_RTT</td>
            <td align="center" colspan="1" rowspan="1">Transmit RTT values and calculation parameters</td>
            <td align="center" colspan="1" rowspan="1">
              <xref target="MP_RTT" format="default" sectionFormat="of" derivedContent="Section 4.2.7"/></td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">MP_OPT=7</td>
            <td align="center" colspan="1" rowspan="1">MP_ADDADDR</td>
            <td align="center" colspan="1" rowspan="1">Advertise additional Address(es)/Port(s)</td>
            <td align="center" colspan="1" rowspan="1">
              <xref target="MP_ADDADDR" format="default" sectionFormat="of" derivedContent="Section 4.2.8"/></td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">MP_OPT=8</td>
            <td align="center" colspan="1" rowspan="1">MP_REMOVEADDR</td>
            <td align="center" colspan="1" rowspan="1">Remove Address(es)/ Port(s)</td>
            <td align="center" colspan="1" rowspan="1">
              <xref target="MP_REMOVEADDR" format="default" sectionFormat="of" derivedContent="Section 4.2.9"/></td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">MP_OPT=9</td>
            <td align="center" colspan="1" rowspan="1">MP_PRIO</td>
            <td align="center" colspan="1" rowspan="1">Change Subflow Priority</td>
            <td align="center" colspan="1" rowspan="1">
              <xref target="MP_PRIO" format="default" sectionFormat="of" derivedContent="Section 4.2.10"/></td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">MP_OPT=10</td>
            <td align="center" colspan="1" rowspan="1">MP_CLOSE</td>
            <td align="center" colspan="1" rowspan="1">Close MP-DCCP subflow</td>
            <td align="center" colspan="1" rowspan="1">
              <xref target="MP_CLOSE" format="default" sectionFormat="of" derivedContent="Section 4.2.11"/></td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">MP_OPT=11</td>
            <td align="center" colspan="1" rowspan="1">MP_EXP</td>
            <td align="center" colspan="1" rowspan="1">Experimental Sub-Option for private use</td>
            <td align="center" colspan="1" rowspan="1">
              <xref target="MP_EXP" format="default" sectionFormat="of" derivedContent="Section 4.2.12"/></td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">MP_OPT&gt;11</td>
            <td align="center" colspan="1" rowspan="1">Unassigned</td>
            <td align="center" colspan="1" rowspan="1">Reserved for future MP-DCCP suboptions</td>
            <td align="center" colspan="1" rowspan="1"> </td>
          </tr>
        </tbody>
      </table>
      <t indent="0" pn="section-9-10">Future MP-DCCP sub-options with MP_OPT&gt;11 are assigned from this registry using the Specification Required policy (Section 4.6 of <xref target="RFC8126" format="default" sectionFormat="of" derivedContent="RFC8126"/>).</t>
      <t indent="0" pn="section-9-11">In addition IANA is requested to assign a new DCCP Reset Code value THIS-RESET-CODE (13 suggested) in the DCCP Reset Codes Registry, with the short description "Abrupt MP termination".  Use of this reset code is defined in section <xref target="MP_FAST_CLOSE" format="default" sectionFormat="of" derivedContent="Section 4.2.3"/>.</t>
      <t indent="0" pn="section-9-12">In addition IANA is requested to assign for this version of the MP-DCCP protocol a new 'MP_KEY' registry containing three different sub options to the MP-KEY option to identify the MP_KEY Key types in terms of 8-bit values as specified in <xref target="MP_KEY" format="default" sectionFormat="of" derivedContent="Section 4.2.4"/> according to the entries in <xref target="ref-mp_key-sub-opt-list" format="default" sectionFormat="of" derivedContent="Table 9"/> below. Values in range 3-255 (decimal) inclusive remain unassigned in this THIS-VER of the protocol and are assigned via Specification Required <xref target="RFC8126" format="default" sectionFormat="of" derivedContent="RFC8126"/>
in potential future versions of the MP-DCCP protocol.</t>
      <table anchor="ref-mp_key-sub-opt-list" align="center" pn="table-9">
        <name slugifiedName="name-mp-dccp-mp_key-registry-wit">MP-DCCP MP_KEY registry with type sub-options for key data exchange on different paths</name>
        <thead>
          <tr>
            <th align="center" colspan="1" rowspan="1">Value</th>
            <th align="center" colspan="1" rowspan="1">Key Type</th>
            <th align="center" colspan="1" rowspan="1">Name or Meaning</th>
            <th align="left" colspan="1" rowspan="1">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="center" colspan="1" rowspan="1">0</td>
            <td align="center" colspan="1" rowspan="1">Plain Text</td>
            <td align="center" colspan="1" rowspan="1">Plain Text Key</td>
            <td align="left" colspan="1" rowspan="1">
              <xref target="MP_KEY" format="default" sectionFormat="of" derivedContent="Section 4.2.4"/></td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">1</td>
            <td align="center" colspan="1" rowspan="1">ECDHE-C25519-SHA256</td>
            <td align="center" colspan="1" rowspan="1">ECDHE with SHA256 and Curve25519</td>
            <td align="left" colspan="1" rowspan="1">
              <xref target="MP_KEY" format="default" sectionFormat="of" derivedContent="Section 4.2.4"/></td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">2</td>
            <td align="center" colspan="1" rowspan="1">ECDHE-C25519-SHA512</td>
            <td align="center" colspan="1" rowspan="1">ECDHE with SHA512 and Curve25519</td>
            <td align="left" colspan="1" rowspan="1">
              <xref target="MP_KEY" format="default" sectionFormat="of" derivedContent="Section 4.2.4"/></td>
          </tr>
        </tbody>
      </table>
    </section>
  </middle>
  <back>
    <references pn="section-10">
      <name slugifiedName="name-references">References</name>
      <references anchor="sec-normative-references" pn="section-10.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="DCCP.Parameter" target="https://www.iana.org/assignments/dccp-parameters/dccp-parameters.xhtml" quoteTitle="true" derivedAnchor="DCCP.Parameter">
          <front>
            <title>IANA Datagram Congestion Control Protocol (DCCP) Parameters</title>
            <author>
              <organization showOnFrontPage="true"/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="RFC2119" quoteTitle="true" target="https://www.rfc-editor.org/rfc/rfc2119" derivedAnchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <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="RFC4340" quoteTitle="true" target="https://www.rfc-editor.org/rfc/rfc4340" derivedAnchor="RFC4340">
          <front>
            <title>Datagram Congestion Control Protocol (DCCP)</title>
            <author fullname="E. Kohler" initials="E." surname="Kohler"/>
            <author fullname="M. Handley" initials="M." surname="Handley"/>
            <author fullname="S. Floyd" initials="S." surname="Floyd"/>
            <date month="March" year="2006"/>
            <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>
      </references>
      <references anchor="sec-informative-references" pn="section-10.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="I-D.amend-iccrg-multipath-reordering" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-amend-iccrg-multipath-reordering-03" derivedAnchor="I-D.amend-iccrg-multipath-reordering">
          <front>
            <title>Multipath sequence maintenance</title>
            <author fullname="Markus Amend" initials="M." surname="Amend">
              <organization showOnFrontPage="true">Deutsche Telekom</organization>
            </author>
            <author fullname="Dirk Von Hugo" initials="D." surname="Von Hugo">
              <organization showOnFrontPage="true">Deutsche Telekom</organization>
            </author>
            <date day="25" month="October" year="2021"/>
            <abstract>
              <t indent="0">   This document discusses the issue of packet reordering which occurs
   as a specific problem in multi-path connections without reliable
   transport protocols such as TCP.  The topic is relevant for devices
   connected via multiple accesses technologies towards the network as
   is foreseen, e.g., within Access Traffic Selection, Switching, and
   Splitting (ATSSS) service of 3rd Generation Partnership Project
   (3GPP) enabling fixed mobile converged (FMC) scenario.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-amend-iccrg-multipath-reordering-03"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.amend-tsvwg-multipath-framework-mpdccp" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-amend-tsvwg-multipath-framework-mpdccp-01" derivedAnchor="I-D.amend-tsvwg-multipath-framework-mpdccp">
          <front>
            <title>A multipath framework for UDP traffic over heterogeneous access networks</title>
            <author fullname="Markus Amend" initials="M." surname="Amend">
              <organization showOnFrontPage="true">Deutsche Telekom</organization>
            </author>
            <author fullname="Eckard Bogenfeld" initials="E." surname="Bogenfeld">
              <organization showOnFrontPage="true">Deutsche Telekom</organization>
            </author>
            <author fullname="Anna Brunstrom" initials="A." surname="Brunstrom">
              <organization showOnFrontPage="true">Karlstad University</organization>
            </author>
            <author fullname="Andreas Kassler" initials="A." surname="Kassler">
              <organization showOnFrontPage="true">Karlstad University</organization>
            </author>
            <author fullname="Veselin Rakocevic" initials="V." surname="Rakocevic">
              <organization showOnFrontPage="true">City University of London</organization>
            </author>
            <date day="8" month="July" year="2019"/>
            <abstract>
              <t indent="0">   More and more of today's devices are multi-homing capable, in
   particular 3GPP user equipment like smartphones.  In the current
   standardization of the next upcoming mobile network generation 5G
   Rel.16, this is especially targeted in the study group Access Traffic
   Steering Switching Splitting [TR23.793].  ATSSS describes the
   flexible selection or combination of 3GPP untrusted access like Wi-Fi
   and cellular access, overcoming the single-access limitation of
   today's devices and services.  Another multi-connectivity scenario is
   the Hybrid Access [I-D.lhwxz-hybrid-access-network-architecture][I-D.
   muley-network-based-bonding-hybrid-access], providing multiple access
   for CPEs, which extends the traditional way of single access
   connectivity at home to dual-connectivity over 3GPP and fixed access.
   A missing piece in the ATSSS and Hybrid Access is the access and path
   measurement, which is required for efficient and beneficial traffic
   steering decisions.  This becomes particularly important in
   heterogeneous access networks with a multitude of volatile access
   paths.  While MP-TCP has been proposed to be used within ATSSS, there
   are drawbacks when being used to encapsulate unreliable traffic as it
   blindly retransmits each lost frame leading to excessive delay and
   potential head-of-line blocking.  A decision for MP-TCP though leaves
   the increasing share of UDP in today's traffic mix
   (&lt;https://arxiv.org/abs/1801.05168&gt;) unconsidered.  In this document,
   a multi-access framework is proposed leveraging the MP-DCCP network
   protocol, which enables flexible traffic steering, switching and
   splitting also for unreliable traffic.  A benefit is the support for
   pluggable congestion control which enables our framework to be used
   either independent or complementary to MP-TCP.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-amend-tsvwg-multipath-framework-mpdccp-01"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.lhwxz-hybrid-access-network-architecture" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-lhwxz-hybrid-access-network-architecture-02" derivedAnchor="I-D.lhwxz-hybrid-access-network-architecture">
          <front>
            <title>Hybrid Access Network Architecture</title>
            <author fullname="Nicolai Leymann" initials="N." surname="Leymann">
              <organization showOnFrontPage="true">Deutsche Telekom AG</organization>
            </author>
            <author fullname="Cornelius Heidemann" initials="C." surname="Heidemann">
              <organization showOnFrontPage="true">Deutsche Telekom AG</organization>
            </author>
            <author fullname="Margaret Cullen" initials="M." surname="Cullen">
              <organization showOnFrontPage="true">Painless Security</organization>
            </author>
            <author fullname="Li Xue" initials="L." surname="Xue">
              <organization showOnFrontPage="true">Huawei</organization>
            </author>
            <author fullname="Mingui Zhang" initials="M." surname="Zhang">
              <organization showOnFrontPage="true">Huawei</organization>
            </author>
            <date day="13" month="January" year="2015"/>
            <abstract>
              <t indent="0">   Residential and Enterprise customers require continuously increasing
   bandwidth, however it may be difficult for operators to update or
   rebuild existing fixed access networks, especially when they are
   deployed in certain areas.  This document discusses a general way to
   address this problem by bundling together multiple heterogeneous
   access networks according to certain management policies.


              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-lhwxz-hybrid-access-network-architecture-02"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="I-D.muley-network-based-bonding-hybrid-access" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-muley-network-based-bonding-hybrid-access-03" derivedAnchor="I-D.muley-network-based-bonding-hybrid-access">
          <front>
            <title>Network based Bonding solution for Hybrid Access</title>
            <author fullname="Praveen Muley" initials="P." surname="Muley">
              <organization showOnFrontPage="true">Nokia</organization>
            </author>
            <author fullname="Wim Henderickx" initials="W." surname="Henderickx">
              <organization showOnFrontPage="true">Nokia</organization>
            </author>
            <author fullname="Liang Geng" initials="L." surname="Geng">
              <organization showOnFrontPage="true">China Mobile</organization>
            </author>
            <author fullname="Hans Liu" initials="H." surname="Liu">
              <organization showOnFrontPage="true">D-Link Corp</organization>
            </author>
            <author fullname="Loris Cardullo" initials="L." surname="Cardullo">
              <organization showOnFrontPage="true">Vodafone</organization>
            </author>
            <author fullname="Jonathan Newton" initials="J." surname="Newton">
              <organization showOnFrontPage="true">Vodafone</organization>
            </author>
            <author fullname="SungHoon Seo" initials="S." surname="Seo">
              <organization showOnFrontPage="true">Korea Telecom</organization>
            </author>
            <author fullname="Sagiv Draznin" initials="S." surname="Draznin">
              <organization showOnFrontPage="true">Verizon Wireless</organization>
            </author>
            <author fullname="Basavaraj Patil" initials="B." surname="Patil">
              <organization showOnFrontPage="true">AT&amp;T</organization>
            </author>
            <date day="22" month="October" year="2018"/>
            <abstract>
              <t indent="0">   In order to address increasing bandwidth demands, operators are
   considering bundling of multiple heterogeneous access networks
   (Hybrid access) for residential and enterprise customers. This
   document describes a solution for Hybrid access and covers the use
   case scenarios.


              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-muley-network-based-bonding-hybrid-access-03"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
        <reference anchor="IETF115.Slides" target="https://datatracker.ietf.org/meeting/105/materials/slides-105-tsvwg-sessa-62-dccp-extensions-for-multipath-operation-00" quoteTitle="true" derivedAnchor="IETF115.Slides">
          <front>
            <title>MP-DCCP for enabling transfer of UDP/IP traffic over multiple data paths in multi-connectivity networks</title>
            <author initials="M." surname="Amend" fullname="Markus Amend">
              <organization showOnFrontPage="true"/>
            </author>
            <date>n.d.</date>
          </front>
          <seriesInfo name="IETF105" value=""/>
        </reference>
        <reference anchor="MP-DCCP.Paper" quoteTitle="true" target="https://doi.org/10.1109/LCN44214.2019.8990746" derivedAnchor="MP-DCCP.Paper">
          <front>
            <title>A Framework for Multiaccess Support for Unreliable Internet Traffic using Multipath DCCP</title>
            <author initials="M." surname="Amend" fullname="Markus Amend">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="E." surname="Bogenfeld" fullname="Eckard Bogenfeld">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Cvjetkovic" fullname="Milan Cvjetkovic">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="V." surname="Rakocevic" fullname="Veselin Rakocevic">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Pieska" fullname="Marcus Pieska">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Kassler" fullname="Andreas Kassler">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Brunstrom" fullname="Anna Brunstrom">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2019" month="October"/>
          </front>
          <seriesInfo name="DOI" value="10.1109/LCN44214.2019.8990746"/>
        </reference>
        <reference anchor="multipath-dccp.org" target="https://multipath-dccp.org/" quoteTitle="true" derivedAnchor="multipath-dccp.org">
          <front>
            <title>Multipath extension for DCCP</title>
            <author>
              <organization showOnFrontPage="true"/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="OLIA" quoteTitle="true" derivedAnchor="OLIA">
          <front>
            <title>MPTCP is not pareto-optimal: performance issues and a possible solution</title>
            <author initials="R." surname="Khalili">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="N." surname="Gast">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Popovic">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="U." surname="Upadhyay">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Le Boudec">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2012"/>
          </front>
          <seriesInfo name="Proceedings of the 8th international conference on Emerging networking experiments and technologies, ACM" value=""/>
        </reference>
        <reference anchor="RFC0793" quoteTitle="true" target="https://www.rfc-editor.org/rfc/rfc793" derivedAnchor="RFC0793">
          <front>
            <title>Transmission Control Protocol</title>
            <author fullname="J. Postel" initials="J." surname="Postel"/>
            <date month="September" year="1981"/>
          </front>
          <seriesInfo name="RFC" value="793"/>
          <seriesInfo name="DOI" value="10.17487/RFC0793"/>
        </reference>
        <reference anchor="RFC2104" quoteTitle="true" target="https://www.rfc-editor.org/rfc/rfc2104" derivedAnchor="RFC2104">
          <front>
            <title>HMAC: Keyed-Hashing for Message Authentication</title>
            <author fullname="H. Krawczyk" initials="H." surname="Krawczyk"/>
            <author fullname="M. Bellare" initials="M." surname="Bellare"/>
            <author fullname="R. Canetti" initials="R." surname="Canetti"/>
            <date month="February" year="1997"/>
            <abstract>
              <t indent="0">This document describes HMAC, a mechanism for message authentication using cryptographic hash functions. HMAC can be used with any iterative cryptographic hash function, e.g., MD5, SHA-1, in combination with a secret shared key. The cryptographic strength of HMAC depends on the properties of the underlying hash function. This memo provides information for the Internet community. This memo does not specify an Internet standard of any kind</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2104"/>
          <seriesInfo name="DOI" value="10.17487/RFC2104"/>
        </reference>
        <reference anchor="RFC3711" quoteTitle="true" target="https://www.rfc-editor.org/rfc/rfc3711" derivedAnchor="RFC3711">
          <front>
            <title>The Secure Real-time Transport Protocol (SRTP)</title>
            <author fullname="M. Baugher" initials="M." surname="Baugher"/>
            <author fullname="D. McGrew" initials="D." surname="McGrew"/>
            <author fullname="M. Naslund" initials="M." surname="Naslund"/>
            <author fullname="E. Carrara" initials="E." surname="Carrara"/>
            <author fullname="K. Norrman" initials="K." surname="Norrman"/>
            <date month="March" year="2004"/>
            <abstract>
              <t indent="0">This document describes the Secure Real-time Transport Protocol (SRTP), a profile of the Real-time Transport Protocol (RTP), which can provide confidentiality, message authentication, and replay protection to the RTP traffic and to the control traffic for RTP, the Real-time Transport Control Protocol (RTCP). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3711"/>
          <seriesInfo name="DOI" value="10.17487/RFC3711"/>
        </reference>
        <reference anchor="RFC4043" quoteTitle="true" target="https://www.rfc-editor.org/rfc/rfc4043" derivedAnchor="RFC4043">
          <front>
            <title>Internet X.509 Public Key Infrastructure Permanent Identifier</title>
            <author fullname="D. Pinkas" initials="D." surname="Pinkas"/>
            <author fullname="T. Gindin" initials="T." surname="Gindin"/>
            <date month="May" year="2005"/>
            <abstract>
              <t indent="0">This document defines a new form of name, called permanent identifier, that may be included in the subjectAltName extension of a public key certificate issued to an entity.</t>
              <t indent="0">The permanent identifier is an optional feature that may be used by a CA to indicate that two or more certificates relate to the same entity, even if they contain different subject name (DNs) or different names in the subjectAltName extension, or if the name or the affiliation of that entity stored in the subject or another name form in the subjectAltName extension has changed.</t>
              <t indent="0">The subject name, carried in the subject field, is only unique for each subject entity certified by the one CA as defined by the issuer name field. However, the new name form can carry a name that is unique for each subject entity certified by a CA. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4043"/>
          <seriesInfo name="DOI" value="10.17487/RFC4043"/>
        </reference>
        <reference anchor="RFC4086" quoteTitle="true" target="https://www.rfc-editor.org/rfc/rfc4086" derivedAnchor="RFC4086">
          <front>
            <title>Randomness Requirements for Security</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <author fullname="J. Schiller" initials="J." surname="Schiller"/>
            <author fullname="S. Crocker" initials="S." surname="Crocker"/>
            <date month="June" year="2005"/>
            <abstract>
              <t indent="0">Security systems are built on strong cryptographic algorithms that foil pattern analysis attempts. However, the security of these systems is dependent on generating secret quantities for passwords, cryptographic keys, and similar quantities. The use of pseudo-random processes to generate secret quantities can result in pseudo-security. A sophisticated attacker may find it easier to reproduce the environment that produced the secret quantities and to search the resulting small set of possibilities than to locate the quantities in the whole of the potential number space.</t>
              <t indent="0">Choosing random quantities to foil a resourceful and motivated adversary is surprisingly difficult. This document points out many pitfalls in using poor entropy sources or traditional pseudo-random number generation techniques for generating such quantities. It recommends the use of truly random hardware techniques and shows that the existing hardware on many systems can be used for this purpose. It provides suggestions to ameliorate the problem when a hardware solution is not available, and it gives examples of how large such quantities need to be for some applications. 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="106"/>
          <seriesInfo name="RFC" value="4086"/>
          <seriesInfo name="DOI" value="10.17487/RFC4086"/>
        </reference>
        <reference anchor="RFC5238" quoteTitle="true" target="https://www.rfc-editor.org/rfc/rfc5238" derivedAnchor="RFC5238">
          <front>
            <title>Datagram Transport Layer Security (DTLS) over the Datagram Congestion Control Protocol (DCCP)</title>
            <author fullname="T. Phelan" initials="T." surname="Phelan"/>
            <date month="May" year="2008"/>
            <abstract>
              <t indent="0">This document specifies the use of Datagram Transport Layer Security (DTLS) over the Datagram Congestion Control Protocol (DCCP). DTLS provides communications privacy for applications that use datagram transport protocols and allows client/server applications to communicate in a way that is designed to prevent eavesdropping and detect tampering or message forgery. DCCP is a transport protocol that provides a congestion-controlled unreliable datagram service. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5238"/>
          <seriesInfo name="DOI" value="10.17487/RFC5238"/>
        </reference>
        <reference anchor="RFC5595" quoteTitle="true" target="https://www.rfc-editor.org/rfc/rfc5595" derivedAnchor="RFC5595">
          <front>
            <title>The Datagram Congestion Control Protocol (DCCP) Service Codes</title>
            <author fullname="G. Fairhurst" initials="G." surname="Fairhurst"/>
            <date month="September" year="2009"/>
            <abstract>
              <t indent="0">This document describes the usage of Service Codes by the Datagram Congestion Control Protocol, RFC 4340. It motivates the setting of a Service Code by applications. Service Codes provide a method to identify the intended service/application to process a DCCP connection request. This provides improved flexibility in the use and assignment of port numbers for connection multiplexing. The use of a DCCP Service Code can also enable more explicit coordination of services with middleboxes (e.g., network address translators and firewalls). This document updates the specification provided in RFC 4340. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5595"/>
          <seriesInfo name="DOI" value="10.17487/RFC5595"/>
        </reference>
        <reference anchor="RFC5596" quoteTitle="true" target="https://www.rfc-editor.org/rfc/rfc5596" derivedAnchor="RFC5596">
          <front>
            <title>Datagram Congestion Control Protocol (DCCP) Simultaneous-Open Technique to Facilitate NAT/Middlebox Traversal</title>
            <author fullname="G. Fairhurst" initials="G." surname="Fairhurst"/>
            <date month="September" year="2009"/>
            <abstract>
              <t indent="0">This document specifies an update to the Datagram Congestion Control Protocol (DCCP), a connection-oriented and datagram-based transport protocol. The update adds support for the DCCP-Listen packet. This assists DCCP applications to communicate through middleboxes (e.g., a Network Address Port Translator or a DCCP server behind a firewall), where peering endpoints need to initiate communication in a near- simultaneous manner to establish necessary middlebox state. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5596"/>
          <seriesInfo name="DOI" value="10.17487/RFC5596"/>
        </reference>
        <reference anchor="RFC5597" quoteTitle="true" target="https://www.rfc-editor.org/rfc/rfc5597" derivedAnchor="RFC5597">
          <front>
            <title>Network Address Translation (NAT) Behavioral Requirements for the Datagram Congestion Control Protocol</title>
            <author fullname="R. Denis-Courmont" initials="R." surname="Denis-Courmont"/>
            <date month="September" year="2009"/>
            <abstract>
              <t indent="0">This document defines a set of requirements for NATs handling the Datagram Congestion Control Protocol (DCCP). These requirements allow DCCP applications, such as streaming applications, to operate consistently, and they are very similar to the TCP requirements for NATs, which have already been published by the IETF. Ensuring that NATs meet this set of requirements will greatly increase the likelihood that applications using DCCP will function properly. 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="150"/>
          <seriesInfo name="RFC" value="5597"/>
          <seriesInfo name="DOI" value="10.17487/RFC5597"/>
        </reference>
        <reference anchor="RFC6234" quoteTitle="true" target="https://www.rfc-editor.org/rfc/rfc6234" derivedAnchor="RFC6234">
          <front>
            <title>US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF)</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <author fullname="T. Hansen" initials="T." surname="Hansen"/>
            <date month="May" year="2011"/>
            <abstract>
              <t indent="0">Federal Information Processing Standard, FIPS</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6234"/>
          <seriesInfo name="DOI" value="10.17487/RFC6234"/>
        </reference>
        <reference anchor="RFC6356" quoteTitle="true" target="https://www.rfc-editor.org/rfc/rfc6356" derivedAnchor="RFC6356">
          <front>
            <title>Coupled Congestion Control for Multipath Transport Protocols</title>
            <author fullname="C. Raiciu" initials="C." surname="Raiciu"/>
            <author fullname="M. Handley" initials="M." surname="Handley"/>
            <author fullname="D. Wischik" initials="D." surname="Wischik"/>
            <date month="October" year="2011"/>
            <abstract>
              <t indent="0">Often endpoints are connected by multiple paths, but communications are usually restricted to a single path per connection. Resource usage within the network would be more efficient were it possible for these multiple paths to be used concurrently. Multipath TCP is a proposal to achieve multipath transport in TCP.</t>
              <t indent="0">New congestion control algorithms are needed for multipath transport protocols such as Multipath TCP, as single path algorithms have a series of issues in the multipath context. One of the prominent problems is that running existing algorithms such as standard TCP independently on each path would give the multipath flow more than its fair share at a bottleneck link traversed by more than one of its subflows. Further, it is desirable that a source with multiple paths available will transfer more traffic using the least congested of the paths, achieving a property called "resource pooling" where a bundle of links effectively behaves like one shared link with bigger capacity. This would increase the overall efficiency of the network and also its robustness to failure.</t>
              <t indent="0">This document presents a congestion control algorithm that couples the congestion control algorithms running on different subflows by linking their increase functions, and dynamically controls the overall aggressiveness of the multipath flow. The result is a practical algorithm that is fair to TCP at bottlenecks while moving traffic away from congested links. This document defines an Experimental Protocol for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6356"/>
          <seriesInfo name="DOI" value="10.17487/RFC6356"/>
        </reference>
        <reference anchor="RFC6773" quoteTitle="true" target="https://www.rfc-editor.org/rfc/rfc6773" derivedAnchor="RFC6773">
          <front>
            <title>DCCP-UDP: A Datagram Congestion Control Protocol UDP Encapsulation for NAT Traversal</title>
            <author fullname="T. Phelan" initials="T." surname="Phelan"/>
            <author fullname="G. Fairhurst" initials="G." surname="Fairhurst"/>
            <author fullname="C. Perkins" initials="C." surname="Perkins"/>
            <date month="November" year="2012"/>
            <abstract>
              <t indent="0">This document specifies an alternative encapsulation of the Datagram Congestion Control Protocol (DCCP), referred to as DCCP-UDP. This encapsulation allows DCCP to be carried through the current generation of Network Address Translation (NAT) middleboxes without modification of those middleboxes. This document also updates the Session Description Protocol (SDP) information for DCCP defined in RFC 5762. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6773"/>
          <seriesInfo name="DOI" value="10.17487/RFC6773"/>
        </reference>
        <reference anchor="RFC6824" quoteTitle="true" target="https://www.rfc-editor.org/rfc/rfc6824" derivedAnchor="RFC6824">
          <front>
            <title>TCP Extensions for Multipath Operation with Multiple Addresses</title>
            <author fullname="A. Ford" initials="A." surname="Ford"/>
            <author fullname="C. Raiciu" initials="C." surname="Raiciu"/>
            <author fullname="M. Handley" initials="M." surname="Handley"/>
            <author fullname="O. Bonaventure" initials="O." surname="Bonaventure"/>
            <date month="January" year="2013"/>
            <abstract>
              <t indent="0">TCP/IP communication is currently restricted to a single path per connection, yet multiple paths often exist between peers. The simultaneous use of these multiple paths for a TCP/IP session would improve resource usage within the network and, thus, improve user experience through higher throughput and improved resilience to network failure.</t>
              <t indent="0">Multipath TCP provides the ability to simultaneously use multiple paths between peers. This document presents a set of extensions to traditional TCP to support multipath operation. The protocol offers the same type of service to applications as TCP (i.e., reliable bytestream), and it provides the components necessary to establish and use multiple TCP flows across potentially disjoint paths. This document defines an Experimental Protocol for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6824"/>
          <seriesInfo name="DOI" value="10.17487/RFC6824"/>
        </reference>
        <reference anchor="RFC6904" quoteTitle="true" target="https://www.rfc-editor.org/rfc/rfc6904" derivedAnchor="RFC6904">
          <front>
            <title>Encryption of Header Extensions in the Secure Real-time Transport Protocol (SRTP)</title>
            <author fullname="J. Lennox" initials="J." surname="Lennox"/>
            <date month="April" year="2013"/>
            <abstract>
              <t indent="0">The Secure Real-time Transport Protocol (SRTP) provides authentication, but not encryption, of the headers of Real-time Transport Protocol (RTP) packets. However, RTP header extensions may carry sensitive information for which participants in multimedia sessions want confidentiality. This document provides a mechanism, extending the mechanisms of SRTP, to selectively encrypt RTP header extensions in SRTP.</t>
              <t indent="0">This document updates RFC 3711, the Secure Real-time Transport Protocol specification, to require that all future SRTP encryption transforms specify how RTP header extensions are to be encrypted.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6904"/>
          <seriesInfo name="DOI" value="10.17487/RFC6904"/>
        </reference>
        <reference anchor="RFC6951" quoteTitle="true" target="https://www.rfc-editor.org/rfc/rfc6951" derivedAnchor="RFC6951">
          <front>
            <title>UDP Encapsulation of Stream Control Transmission Protocol (SCTP) Packets for End-Host to End-Host Communication</title>
            <author fullname="M. Tuexen" initials="M." surname="Tuexen"/>
            <author fullname="R. Stewart" initials="R." surname="Stewart"/>
            <date month="May" year="2013"/>
            <abstract>
              <t indent="0">This document describes a simple method of encapsulating Stream Control Transmission Protocol (SCTP) packets into UDP packets and its limitations. This allows the usage of SCTP in networks with legacy NATs that do not support SCTP. It can also be used to implement SCTP on hosts without directly accessing the IP layer, for example, implementing it as part of the application without requiring special privileges.</t>
              <t indent="0">Please note that this document only describes the functionality required within an SCTP stack to add on UDP encapsulation, providing only those mechanisms for two end-hosts to communicate with each other over UDP ports. In particular, it does not provide mechanisms to determine whether UDP encapsulation is being used by the peer, nor the mechanisms for determining which remote UDP port number can be used. These functions are out of scope for this document.</t>
              <t indent="0">This document covers only end-hosts and not tunneling (egress or ingress) endpoints.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6951"/>
          <seriesInfo name="DOI" value="10.17487/RFC6951"/>
        </reference>
        <reference anchor="RFC7323" quoteTitle="true" target="https://www.rfc-editor.org/rfc/rfc7323" derivedAnchor="RFC7323">
          <front>
            <title>TCP Extensions for High Performance</title>
            <author fullname="D. Borman" initials="D." surname="Borman"/>
            <author fullname="B. Braden" initials="B." surname="Braden"/>
            <author fullname="V. Jacobson" initials="V." surname="Jacobson"/>
            <author fullname="R. Scheffenegger" initials="R." role="editor" surname="Scheffenegger"/>
            <date month="September" year="2014"/>
            <abstract>
              <t indent="0">This document specifies a set of TCP extensions to improve performance over paths with a large bandwidth * delay product and to provide reliable operation over very high-speed paths. It defines the TCP Window Scale (WS) option and the TCP Timestamps (TS) option and their semantics. The Window Scale option is used to support larger receive windows, while the Timestamps option can be used for at least two distinct mechanisms, Protection Against Wrapped Sequences (PAWS) and Round-Trip Time Measurement (RTTM), that are also described herein.</t>
              <t indent="0">This document obsoletes RFC 1323 and describes changes from it.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7323"/>
          <seriesInfo name="DOI" value="10.17487/RFC7323"/>
        </reference>
        <reference anchor="RFC8041" quoteTitle="true" target="https://www.rfc-editor.org/rfc/rfc8041" derivedAnchor="RFC8041">
          <front>
            <title>Use Cases and Operational Experience with Multipath TCP</title>
            <author fullname="O. Bonaventure" initials="O." surname="Bonaventure"/>
            <author fullname="C. Paasch" initials="C." surname="Paasch"/>
            <author fullname="G. Detal" initials="G." surname="Detal"/>
            <date month="January" year="2017"/>
            <abstract>
              <t indent="0">This document discusses both use cases and operational experience with Multipath TCP (MPTCP) in real networks. It lists several prominent use cases where Multipath TCP has been considered and is being used. It also gives insight to some heuristics and decisions that have helped to realize these use cases and suggests possible improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8041"/>
          <seriesInfo name="DOI" value="10.17487/RFC8041"/>
        </reference>
        <reference anchor="RFC8126" quoteTitle="true" target="https://www.rfc-editor.org/rfc/rfc8126" derivedAnchor="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="June" year="2017"/>
            <abstract>
              <t indent="0">Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t indent="0">To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t indent="0">This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
        <reference anchor="RFC8174" quoteTitle="true" target="https://www.rfc-editor.org/rfc/rfc8174" derivedAnchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <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="RFC8684" quoteTitle="true" target="https://www.rfc-editor.org/rfc/rfc8684" derivedAnchor="RFC8684">
          <front>
            <title>TCP Extensions for Multipath Operation with Multiple Addresses</title>
            <author fullname="A. Ford" initials="A." surname="Ford"/>
            <author fullname="C. Raiciu" initials="C." surname="Raiciu"/>
            <author fullname="M. Handley" initials="M." surname="Handley"/>
            <author fullname="O. Bonaventure" initials="O." surname="Bonaventure"/>
            <author fullname="C. Paasch" initials="C." surname="Paasch"/>
            <date month="March" year="2020"/>
            <abstract>
              <t indent="0">TCP/IP communication is currently restricted to a single path per connection, yet multiple paths often exist between peers. The simultaneous use of these multiple paths for a TCP/IP session would improve resource usage within the network and thus improve user experience through higher throughput and improved resilience to network failure.</t>
              <t indent="0">Multipath TCP provides the ability to simultaneously use multiple paths between peers. This document presents a set of extensions to traditional TCP to support multipath operation. The protocol offers the same type of service to applications as TCP (i.e., a reliable bytestream), and it provides the components necessary to establish and use multiple TCP flows across potentially disjoint paths.</t>
              <t indent="0">This document specifies v1 of Multipath TCP, obsoleting v0 as specified in RFC 6824, through clarifications and modifications primarily driven by deployment experience.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8684"/>
          <seriesInfo name="DOI" value="10.17487/RFC8684"/>
        </reference>
        <reference anchor="TS23.501" target="https://www.3gpp.org/ftp//Specs/archive/23_series/23.501/23501-g70.zip" quoteTitle="true" derivedAnchor="TS23.501">
          <front>
            <title>System architecture for the 5G System; Stage 2; Release 16</title>
            <author>
              <organization showOnFrontPage="true">3GPP</organization>
            </author>
            <date year="2020" month="December"/>
          </front>
        </reference>
      </references>
    </references>
    <section anchor="diff_mptcp" numbered="true" removeInRFC="false" toc="include" pn="section-appendix.a">
      <name slugifiedName="name-differences-from-multipath-">Differences from Multipath TCP</name>
      <t indent="0" pn="section-appendix.a-1">This appendix is Informative.</t>
      <t indent="0" pn="section-appendix.a-2">Multipath DCCP is similar to Multipath TCP <xref target="RFC8684" format="default" sectionFormat="of" derivedContent="RFC8684"/>, in that it
extends the related basic DCCP transport protocol <xref target="RFC4340" format="default" sectionFormat="of" derivedContent="RFC4340"/> with
multipath capabilities in the same way as Multipath TCP extends TCP
<xref target="RFC0793" format="default" sectionFormat="of" derivedContent="RFC0793"/>.
However, because of the differences between the underlying TCP and DCCP
protocols, the transport characteristics of MPTCP and MP-DCCP are
different.</t>
      <t indent="0" pn="section-appendix.a-3"><xref target="table_tcp_dccp_comp" format="default" sectionFormat="of" derivedContent="Table 10"/> compares the protocol characteristics of TCP
and DCCP, which are by nature inherited by their respective multipath
extensions.  A major difference lies in the delivery of payload, which
is for TCP an exact copy of the generated byte-stream. DCCP behaves
in a different way and does not guarantee to deliver any payload nor the
order of delivery.
Since this is mainly affecting the receiving endpoint of a TCP or
DCCP communication, many similarities on the sender side can be identified.
Both transport protocols share the 3-way initiation of a
communication and both employ congestion control to adapt the sending
rate to the path characteristics.</t>
      <table anchor="table_tcp_dccp_comp" align="center" pn="table-10">
        <name slugifiedName="name-tcp-and-dccp-protocol-compa">TCP and DCCP protocol comparison</name>
        <thead>
          <tr>
            <th align="center" colspan="1" rowspan="1">Feature</th>
            <th align="center" colspan="1" rowspan="1">TCP</th>
            <th align="center" colspan="1" rowspan="1">DCCP</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="center" colspan="1" rowspan="1">Full-Duplex</td>
            <td align="center" colspan="1" rowspan="1">yes</td>
            <td align="center" colspan="1" rowspan="1">yes</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">Connection-Oriented</td>
            <td align="center" colspan="1" rowspan="1">yes</td>
            <td align="center" colspan="1" rowspan="1">yes</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">Header option space</td>
            <td align="center" colspan="1" rowspan="1">40 bytes</td>
            <td align="center" colspan="1" rowspan="1">&lt; 1008 bytes or PMTU</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">Data transfer</td>
            <td align="center" colspan="1" rowspan="1">reliable</td>
            <td align="center" colspan="1" rowspan="1">unreliable</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">Packet-loss handling</td>
            <td align="center" colspan="1" rowspan="1">re-transmission</td>
            <td align="center" colspan="1" rowspan="1">report only</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">Ordered data delivery</td>
            <td align="center" colspan="1" rowspan="1">yes</td>
            <td align="center" colspan="1" rowspan="1">no</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">Sequence numbers</td>
            <td align="center" colspan="1" rowspan="1">one per byte</td>
            <td align="center" colspan="1" rowspan="1">one per PDU</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">Flow control</td>
            <td align="center" colspan="1" rowspan="1">yes</td>
            <td align="center" colspan="1" rowspan="1">no</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">Congestion control</td>
            <td align="center" colspan="1" rowspan="1">yes</td>
            <td align="center" colspan="1" rowspan="1">yes</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">ECN support</td>
            <td align="center" colspan="1" rowspan="1">yes</td>
            <td align="center" colspan="1" rowspan="1">yes</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">Selective ACK</td>
            <td align="center" colspan="1" rowspan="1">yes</td>
            <td align="center" colspan="1" rowspan="1">depends on congestion control</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">Fix message boundaries</td>
            <td align="center" colspan="1" rowspan="1">no</td>
            <td align="center" colspan="1" rowspan="1">yes</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">Path MTU discovery</td>
            <td align="center" colspan="1" rowspan="1">yes</td>
            <td align="center" colspan="1" rowspan="1">yes</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">Fragmentation</td>
            <td align="center" colspan="1" rowspan="1">yes</td>
            <td align="center" colspan="1" rowspan="1">no</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">SYN flood protection</td>
            <td align="center" colspan="1" rowspan="1">yes</td>
            <td align="center" colspan="1" rowspan="1">no</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">Half-open connections</td>
            <td align="center" colspan="1" rowspan="1">yes</td>
            <td align="center" colspan="1" rowspan="1">no</td>
          </tr>
        </tbody>
      </table>
      <t indent="0" pn="section-appendix.a-5">Consequently, the multipath features, shown in
<xref target="table_mptcp_mpdccp_comp" format="default" sectionFormat="of" derivedContent="Table 11"/>, are the same, supporting volatile paths
having varying capacity and latency, session handover and path
aggregation capabilities. All of them profit by the existence of
congestion control.</t>
      <table anchor="table_mptcp_mpdccp_comp" align="center" pn="table-11">
        <name slugifiedName="name-mptcp-and-mp-dccp-protocol-">MPTCP and MP-DCCP protocol comparison</name>
        <thead>
          <tr>
            <th align="center" colspan="1" rowspan="1">Feature</th>
            <th align="center" colspan="1" rowspan="1">MPTCP</th>
            <th align="center" colspan="1" rowspan="1">MP-DCCP</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="center" colspan="1" rowspan="1">Volatile paths</td>
            <td align="center" colspan="1" rowspan="1">yes</td>
            <td align="center" colspan="1" rowspan="1">yes</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">Session handover</td>
            <td align="center" colspan="1" rowspan="1">yes</td>
            <td align="center" colspan="1" rowspan="1">yes</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">Path aggregation</td>
            <td align="center" colspan="1" rowspan="1">yes</td>
            <td align="center" colspan="1" rowspan="1">yes</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">Data reordering</td>
            <td align="center" colspan="1" rowspan="1">yes</td>
            <td align="center" colspan="1" rowspan="1">optional</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">Expandability</td>
            <td align="center" colspan="1" rowspan="1">limited by TCP header</td>
            <td align="center" colspan="1" rowspan="1">flexible</td>
          </tr>
        </tbody>
      </table>
      <t indent="0" pn="section-appendix.a-7">Therefore, the sender logic is not much different between MP-DCCP and
MPTCP.</t>
      <t indent="0" pn="section-appendix.a-8">The receiver side for MP-DCCP has to deal with the unreliable delivery provided by 
DCCP. The multipath sequence numbers included in MP-DCCP (see <xref target="MP_SEQ" format="default" sectionFormat="of" derivedContent="Section 4.2.5"/>) facilitates
adding optional mechanisms for data stream packet reordering 
at the receiver.  Information from the MP_RTT multipath option (<xref target="MP_RTT" format="default" sectionFormat="of" derivedContent="Section 4.2.7"/>), 
DCCP path sequencing and the DCCP Timestamp Option provide further means 
for advanced reordering approaches, e.g., as proposed in <xref target="I-D.amend-iccrg-multipath-reordering" format="default" sectionFormat="of" derivedContent="I-D.amend-iccrg-multipath-reordering"/>.
Such mechanisms do, however, not affect interoperability
and are not part of the MP-DCCP protocol.  Many 
applications that use unreliable transport protocols can also inherently process 
out-of-sequence data (e.g., through adaptive audio and video buffers), 
and so additional reordering support might not be necessary. The addition of optional 
reordering mechanisms are likely to be needed when the 
different DCCP subflows are routed across paths with different latencies. 
In theory, applications using DCCP are aware that packet reordering could 
occur, because DCCP does not provide mechanisms to restore the original packet order.</t>
      <t indent="0" pn="section-appendix.a-9">In contrast to TCP, the receiver processing for MPTCP adopted a rigid
"just wait" approach, because TCP guarantees reliable in-order delivery.</t>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author initials="M." surname="Amend" fullname="Markus Amend" role="editor">
        <organization abbrev="DT" showOnFrontPage="true">Deutsche Telekom</organization>
        <address>
          <postal>
            <street>Deutsche-Telekom-Allee 9</street>
            <city>Darmstadt</city>
            <code>64295</code>
            <country>Germany</country>
          </postal>
          <email>Markus.Amend@telekom.de</email>
        </address>
      </author>
      <author initials="A." surname="Brunstrom" fullname="Anna Brunstrom">
        <organization showOnFrontPage="true">Karlstad University</organization>
        <address>
          <postal>
            <street>Universitetsgatan 2</street>
            <city>Karlstad</city>
            <code>651 88</code>
            <country>Sweden</country>
          </postal>
          <email>anna.brunstrom@kau.se</email>
        </address>
      </author>
      <author initials="A." surname="Kassler" fullname="Andreas Kassler">
        <organization showOnFrontPage="true">Karlstad University</organization>
        <address>
          <postal>
            <street>Universitetsgatan 2</street>
            <city>Karlstad</city>
            <code>651 88</code>
            <country>Sweden</country>
          </postal>
          <email>andreas.kassler@kau.se</email>
        </address>
      </author>
      <author initials="V." surname="Rakocevic" fullname="Veselin Rakocevic">
        <organization showOnFrontPage="true">City University of London</organization>
        <address>
          <postal>
            <street>Northampton Square</street>
            <city>London</city>
            <country>United Kingdom</country>
          </postal>
          <email>veselin.rakocevic.1@city.ac.uk</email>
        </address>
      </author>
      <author initials="S." surname="Johnson" fullname="Stephen Johnson">
        <organization showOnFrontPage="true">BT</organization>
        <address>
          <postal>
            <street>Adastral Park</street>
            <city>Martlesham Heath</city>
            <code>IP5 3RE</code>
            <country>United Kingdom</country>
          </postal>
          <email>stephen.h.johnson@bt.com</email>
        </address>
      </author>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+2963Lb2Jko+n89Bcr9o8U0SYuS70nnDC3LsdK+aFvqzkll
progEhIRkwADgJYV27vOa5zXO09yvuta3wJAWep2Z2ZPjTLTlkhgXb/7dTQa
uSZvltmT5NnBwXFy+KHJijovizo5L6vk1WbZ5Ou0WSRv1lmVNvBFcpnDn/zF
Mkum83mV1XVWu/TsrMrePzHv4IhuXs6KdAXjz6v0vBnlWXM+aur3lxejlT44
ms9m69Fk4uZpAw/u7e7tjya7o8mem6XNk6Ru5s7l6+pJ0lSbutnb3X28u+dc
WmUpfpQW9bqsGnd58SQ51b+SKXyb/KWs3uXFRfKnqtys3bvs6rKs5k+So6LJ
qiJrRs9wSa7enK3yGjfdXK1h/qPD0+fOzco5vPok2dSjtJ7luaubtJj/nC7L
IqOVZM6t8yfJ35pyNkxqmLPKzmv47WqFv/wHLHDTLMrqiUtGLknyooajGSfT
VVbM4W8+k1dp9W5T+w/LCiZ8lm2aerbIktNsmb0rV/C5Hu2zU/ijhomyJjw3
kudG0+Uyy5LH8Mgsb67ggbRawaLnDX5SzmG6B/f2Ht+nvzZFU8Ejf8qqVVpc
wUfZKs2XuqAxLejfGh54PM/ggapEIMnmeVNWZkvTcfK02hSwKFopb2taFGn0
MW3sh7Ra4nqSH4v8fVbVsEizHf9h1tQXKZx1sud3om+GjdyfJI8e2Z2cXGbz
rAgbSWEJ4zNdwr+9SzfjOovX/UNa18usMqsGUE5r8/l/xrJpDeN3vIbuun8a
J2/Td+Use5/P/Mp/yupsmRfRN7T2A1iHWXdSnicvy2JeFmYHrwF0F+lq3QBu
n/xjA2jlN+Cf9euFsZpsnvwAqDGnm5V1v+cVjCtdwXjybzjGOJ2NN+/M+k/G
yZ/LRVHTsLz6kyZbL7LCfE5rf2qBfTpP4dd0mRwDgPr1AbQC6aph9cmLDAiJ
P+ij4/vJ/tvDm6y85tnHi/Hfef5/O2vGM3jCFSUgRwNnByicvH1+sDeZPJZf
7+3f28VfkcKNYUmwDyAp+EmSCDk9mr6eAgo26QV8mxyUxUVWE/2EXwEkYSdV
CaQDftnBUQaJH6bmYdLqAne+aJp1/eTu3cvLy3GeAlDD4dwF6MgvCkDSpr5L
xHPtX27/Pf6waFZLIKDFud3P0ejZOEUs7xDjc3wTCOW70WqNY+nTy8Xlh3+O
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
PmIfULhFTugmrfbUZbi5tMAZhT0CQ3ee305mMAyeKlWQc1lYuxRPpmI87d54
IdW/h8qPt/FTjcf4Ij8NR/B/Mkfd3/8NOGpP5vB/caaKx/BLmeqwn6t2UOR/
GOt/J8YarlfIVYdN3ZyxIvT9H8ZY9/eH8SnYHWxhrDE32cZbDd5E7BUVdQ7r
CeEnJlTn4zeaaxur4p65zvhdE1WuehYWIMJAeMSzy0UZ1uJshGDeaJ0GjuqM
okQ7cdW9UaOdoifasfX++AFSAdvNNcnH2Zi5vLV00AncNXFTWkXQdvh2ksIp
VbKlqGYrYFNqrHDhDy76kFd9Ua9kn5Dxh47TXoUy6QlGFutwVBs+cNPIlw+q
opWTRarNtI+mr6dwDvjY+FipP/A636m2XGs5O99OiqN/WtmwGtZn5rqf7Ejg
02FVldWgHX6v8US+ip8WJaLACazHFsZ6nOyclmXydFNfDUzgvIRICHOBk8Mo
feQ+ZKul0H3HnXK5i0aoGhoKJabxPGTN98mB3phvKlzlK+BZoVC/h++Uqklo
7QhpepSh3T+VPOA6CwNSlRotTyRij/UiNNnaGA09UMcQ7RoTMIY5JloATAfe
logQRr4OlSJQqT3y3MdChjYEG/MnUm6HSPDp+bK2Q9Io0OipThypKS0sgXgD
bnWa3IKlMjOVt27Cu8yDW7ObWz9/kCHfSO3pVtRuf2v2a378Afxt+i2Za/8j
ue0Qf2u12vgPGcCEZ34X5jE/oz/Kk397qnNvG+uLP3ougV7++m24jsOoB5yF
AEsuAgdrRlkvd55jkhCdwx23Vd7vhIFKGpANnJX0FWlt4kK8LsF2JMbGUaY+
ApZ3+q8EaLP871qrkqf/iwPBLQdA2eW5tB8FScV3IvWiipKgc0o8wsQ0YnNW
QVUow/pVlAarCXpD6a/jPG2XmsWzLNQ60SmFaQp8SsYJfolT0PIcKdlGrIkI
a5VUxsRRlcDWsOLJzAogGXE9TcfkPEG7QXxZk2bRtvHqWN39mD5n4s/xYSoy
XoZCcj4G2GEXSZLMAIlqGyUcOojjEJtlc3UX8+9CSIE+qDo/FXCZ+348jnry
cc0RZP3ExxqNy69CldputUMbEJD5sle22pW+pV5drP2m62A32sY2fo76zcFZ
UoqTn5l9wMTYg67oeoMmm0QKKPKgkStas0G8B9pXApac6jhbSMKZZAfDbcHz
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
4ecZfH46fEuznCjoJNhiqQsg8s6PRSqk/BM+OMGOkfAjkM7/WEiSI4ggqX3K
aKb2kMNyUfsI62SCRzy5L/UzhJtIJIo9xZC0GB/SWzY7YyAAaITAdhT175ls
duYMg/EvILGe7UiUNB0uRQS+OT49evMaTRx6wg1X1x/018CF55FeHrUcZcPu
kLTv9TKdseX83gMi0UCUGwrIBz7PaI/xFLjwNhfrB35fov/m4N9H3cWwF+g7
nRD23+hQ+CSi8F9cDM9mCf81k6AMil789RotYxhTRl1rsR3Afa+/wwGD6iIc
n5oRtCg9oNzV6gxu15D1Hlp//c8nAEKNJPKfGV7QR+av4Qo35RXCLXxLh0/a
AMQsjHOPPNMXGL52LwFWzV60M8Quz6JFbeQVrRHr2wDdleAjcl5JmiItTRbw
qdXIrjXLhGchC1dY2J/LvLBmqmtynKK9SJZOZy97PEuU9ftJintsG3L7idkM
aTvLPs+CiTbmlUPNxUSbvzoPxPvN+Uj9s7B/pbuXezwLlhQyr4SLP9G6S8zU
v7AX7mLYneU+zxKt71OPQ4G0gDGnktgUgXgWzrXqzvKAZ8HoUzPLqRQ+pqhU
7c+NVbClOi0HFPpCTX4WeLx3Lw95Fo34llmm3oJrvKdSB2gnqwd3j0GQ3qkH
7RPz9uDWLI9kL6GaDJMLctbZcZP2wH33Yuun2Vke8ywUCBpe4bLXSGkJY441
gHTrj8yCw/TdCzZnbJdKaOOLouc1P4r7gio980zoV+wqY16KukiZ7lHtVkjt
ebCDVM8sf8RZgtCjr7zl5lJstTyPRZaQ0B3tpmeHVlCKGVdbVAps0IrZSVta
Cg2ual8AmTfxr5KbjoqQndsrc3QlJ9NGjRkwyTlvD08OT0cHb56hZrNvNRsr
hoR3gxQ5NGXkFqjP2rZVd6bciuzVsS3VcmecJD/WmZHJfUkb8pCwHchkG3ZI
+S227k1ELTWm3TYsyGVIzo0sFpWIQ2OCCTrfnPkkGG8oGZnsTazbyI5inyGP
32IiMbdlyLmGDZniHpEGpkS0VfvI+vHbXZo68h/ogcDBRgKfKptRA7ExS1n0
cEWUaH+EstkOBjOv0uWAdUK0Hmof4U3ARw0n87qM1sXzhyheff8GpjttAXED
y2g8CtZ+wXCvjGy5sXGQGT+F3OyYqJHUiLwuS+kGe+iekRK9eLhFEryBgBg/
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

-->

</rfc>
