<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="exp" consensus="false" docName="draft-ietf-tsvwg-multipath-dccp-06" indexInclude="true" ipr="trust200902" prepTime="2022-09-26T08:42:18" scripts="Common,Latin" sortRefs="true" submissionType="IETF" symRefs="true" tocDepth="3" tocInclude="true" xml:lang="en">
  <!-- xml2rfc v2v3 conversion 3.9.1 -->
  <front>
    <title abbrev="Multipath DCCP">DCCP Extensions for Multipath Operation with Multiple Addresses</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-tsvwg-multipath-dccp-06" 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="09" year="2022" day="26"/>
    <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="website" format="default" sectionFormat="of" derivedContent="website"/>, <xref target="slide" format="default" sectionFormat="of" derivedContent="slide"/>, and <xref target="paper" format="default" sectionFormat="of" derivedContent="paper"/>.
All these use cases profit from an Open Source Linux reference implementation provided under <xref target="website" format="default" sectionFormat="of" derivedContent="website"/>.</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 subflows across
different paths.</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 30 March 2023.
        </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) 2022 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 Simplified BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Simplified 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" 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>
              <li pn="section-toc.1-1.1.2.3">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.2.3.1"><xref derivedContent="1.3" format="counter" sectionFormat="of" target="section-1.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-mp-dccp-concept">MP-DCCP Concept</xref></t>
              </li>
              <li pn="section-toc.1-1.1.2.4">
                <t indent="0" pn="section-toc.1-1.1.2.4.1"><xref derivedContent="1.4" format="counter" sectionFormat="of" target="section-1.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-requirements-language">Requirements Language</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>
          </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-mp-dccp-protocol">MP-DCCP Protocol</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2">
              <li pn="section-toc.1-1.3.2.1">
                <t indent="0" pn="section-toc.1-1.3.2.1.1"><xref derivedContent="3.1" format="counter" sectionFormat="of" target="section-3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-multipath-capable-feature">Multipath Capable Feature</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.2">
                <t indent="0" pn="section-toc.1-1.3.2.2.1"><xref derivedContent="3.2" format="counter" sectionFormat="of" target="section-3.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.3.2.2.2">
                  <li pn="section-toc.1-1.3.2.2.2.1">
                    <t indent="0" pn="section-toc.1-1.3.2.2.2.1.1"><xref derivedContent="3.2.1" format="counter" sectionFormat="of" target="section-3.2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-mp_confirm">MP_CONFIRM</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.2.2.2">
                    <t indent="0" pn="section-toc.1-1.3.2.2.2.2.1"><xref derivedContent="3.2.2" format="counter" sectionFormat="of" target="section-3.2.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-mp_join">MP_JOIN</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.2.2.3">
                    <t indent="0" pn="section-toc.1-1.3.2.2.2.3.1"><xref derivedContent="3.2.3" format="counter" sectionFormat="of" target="section-3.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.3.2.2.2.4">
                    <t indent="0" pn="section-toc.1-1.3.2.2.2.4.1"><xref derivedContent="3.2.4" format="counter" sectionFormat="of" target="section-3.2.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-mp_key">MP_KEY</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.2.2.5">
                    <t indent="0" pn="section-toc.1-1.3.2.2.2.5.1"><xref derivedContent="3.2.5" format="counter" sectionFormat="of" target="section-3.2.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-mp_seq">MP_SEQ</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.2.2.6">
                    <t indent="0" pn="section-toc.1-1.3.2.2.2.6.1"><xref derivedContent="3.2.6" format="counter" sectionFormat="of" target="section-3.2.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-mp_hmac">MP_HMAC</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.2.2.7">
                    <t indent="0" pn="section-toc.1-1.3.2.2.2.7.1"><xref derivedContent="3.2.7" format="counter" sectionFormat="of" target="section-3.2.7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-mp_rtt">MP_RTT</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.2.2.8">
                    <t indent="0" pn="section-toc.1-1.3.2.2.2.8.1"><xref derivedContent="3.2.8" format="counter" sectionFormat="of" target="section-3.2.8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-mp_addaddr">MP_ADDADDR</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.2.2.9">
                    <t indent="0" pn="section-toc.1-1.3.2.2.2.9.1"><xref derivedContent="3.2.9" format="counter" sectionFormat="of" target="section-3.2.9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-mp_removeaddr">MP_REMOVEADDR</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.2.2.10">
                    <t indent="0" pn="section-toc.1-1.3.2.2.2.10.1"><xref derivedContent="3.2.10" format="counter" sectionFormat="of" target="section-3.2.10"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-mp_prio">MP_PRIO</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.2.2.11">
                    <t indent="0" pn="section-toc.1-1.3.2.2.2.11.1"><xref derivedContent="3.2.11" format="counter" sectionFormat="of" target="section-3.2.11"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-mp_close">MP_CLOSE</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.2.2.12">
                    <t indent="0" pn="section-toc.1-1.3.2.2.2.12.1"><xref derivedContent="3.2.12" format="counter" sectionFormat="of" target="section-3.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.3.2.3">
                <t indent="0" pn="section-toc.1-1.3.2.3.1"><xref derivedContent="3.3" format="counter" sectionFormat="of" target="section-3.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.3.2.4">
                <t indent="0" pn="section-toc.1-1.3.2.4.1"><xref derivedContent="3.4" format="counter" sectionFormat="of" target="section-3.4"/>.  <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.3.2.5">
                <t indent="0" pn="section-toc.1-1.3.2.5.1"><xref derivedContent="3.5" format="counter" sectionFormat="of" target="section-3.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-fallback">Fallback</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.6">
                <t indent="0" pn="section-toc.1-1.3.2.6.1"><xref derivedContent="3.6" format="counter" sectionFormat="of" target="section-3.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-congestion-control-consider">Congestion Control Considerations</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.7">
                <t indent="0" pn="section-toc.1-1.3.2.7.1"><xref derivedContent="3.7" format="counter" sectionFormat="of" target="section-3.7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-maximum-packet-size-conside">Maximum Packet Size Considerations</xref></t>
              </li>
            </ul>
          </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-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-interactions-with-middlebox">Interactions with Middleboxes</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-implementation">Implementation</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-acknowledgments">Acknowledgments</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-iana-considerations">IANA Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="9" format="counter" sectionFormat="of" target="section-9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.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.11">
            <t indent="0" pn="section-toc.1-1.11.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" toc="include" removeInRFC="false" 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) is a set of extensions to DCCP  to 
enable DCCP flows to be established across multiple paths 
simultaneously. Such extensions are beneficial to applications that transfer<br/>
large amounts of data, due to the possibility to aggregate capacity of the 
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 has been 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"/>.
MP-DCCP can be applied for load-balancing, seamless session handover, and
aggregation purposes (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">As pointed out in <xref target="I-D.amend-tsvwg-multipath-framework-mpdccp" format="default" sectionFormat="of" derivedContent="I-D.amend-tsvwg-multipath-framework-mpdccp"/> the proposed encapsulation in terms of 
lightweight DCCP flow headers is more appropriate for unreliable 
IP traffic in terms of UDP and other non-TCP packets in comparison to MPTCP.
Such considerations are not detailed in the present specification. 
This document presents the protocol changes required to add multipath
support to DCCP; specifically, those 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">In the following, the term subflow refers to DCCP subflows transmitted
via different paths (4-tuple of source and destination address/port
pairs), not to be mixed up with the "application sub-flows" mentioned in
Section 17.2 of <xref target="RFC4340" format="default" sectionFormat="of" derivedContent="RFC4340"/>.
Application subflows are differing content-wise
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
we assume that only a single application is served by a DCCP connection
here as shown in <xref target="ref-comparison-of-standard-dccp-and-mp-dccp-protocol-stacks" format="default" sectionFormat="of" derivedContent="Figure 1"/>
while use of that feature should 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 defined in this document.</t>
      <section anchor="mpdccp_network_stack" numbered="true" toc="include" removeInRFC="false" 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 operates at the transport layer and aims to be transparent to
both higher and lower layers.  It is a set of additional features on
top of DCCP; <xref target="ref-comparison-of-standard-dccp-and-mp-dccp-protocol-stacks" format="default" sectionFormat="of" derivedContent="Figure 1"/> illustrates this layering.  MP-DCCP 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 name="" type="" align="left" alt="" 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" toc="include" removeInRFC="false" pn="section-1.2">
        <name slugifiedName="name-terminology">Terminology</name>
        <t indent="0" pn="section-1.2-1">Throughout this document we make use of 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">Subflow: A flow of DCCP segments operating over an individual path,
which forms part of a larger MP-DCCP connection. A subflow is started
and terminated similar to a regular (single-path) DCCP connection. The term subflow
can also be used to refer to an MP-DCCP connection with a single path.</t>
        <t indent="0" pn="section-1.2-4">(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-5">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-6">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-7">In addition to these
terms, within 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 3"/>.</t>
      </section>
      <section anchor="concept" numbered="true" toc="include" removeInRFC="false" pn="section-1.3">
        <name slugifiedName="name-mp-dccp-concept">MP-DCCP Concept</name>
        <t indent="0" pn="section-1.3-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 name="" type="" align="left" alt="" pn="section-1.3-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 multipath connection
  |             |                      |             |
]]></artwork>
        </figure>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-1.3-3">
          <li pn="section-1.3-3.1">An MP-DCCP connection begins with a 4-way handshaking procedure, between 
two hosts as described in <xref target="handshaking" format="default" sectionFormat="of" derivedContent="Section 3.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. It should be noted that MP-DCCP does not require the presence of 
more than one address in both peers.</li>
          <li pn="section-1.3-3.2">In case extra paths and corresponding addresses are available, additional DCCP subflows are created on 
these paths and are attached to the existing MP-DCCP session, which
continues to appear as a single connection to the applications at both
ends. The creation of an additional DCCP subflow is illustrated between Address A2
on Host A and Address B1 on Host B.</li>
          <li pn="section-1.3-3.3">MP-DCCP identifies multiple paths by the presence of multiple
addresses at hosts.  Combinations of these multiple addresses
equate to 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 session is shown as being initiated from A2, it could
equally have been initiated from B1 or B2.</li>
          <li pn="section-1.3-3.4">The discovery and setup of additional subflows will be achieved
through a path management method including the logic and details of the procedures for adding/removing subflows;
this document describes supportive measures by which a host can 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. In the same context, if any of the MP-DCCP peer hosts has a limit on 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 should be avoided and incoming subflow requests should be terminated.</li>
          <li pn="section-1.3-3.5">MP-DCCP adds connection-level sequence numbers and exchange of
Round-Trip Time (RTT) information to enable optional reordering features.</li>
          <li pn="section-1.3-3.6">Subflows are terminated 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.</li>
        </ul>
      </section>
      <section anchor="requirements-language" numbered="true" toc="include" removeInRFC="false" pn="section-1.4">
        <name slugifiedName="name-requirements-language">Requirements Language</name>
        <t indent="0" pn="section-1.4-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>
    <section anchor="op_overview" numbered="true" toc="include" removeInRFC="false" 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 
sub-flows to be multiplexed over a single DCCP connection with 
potentially same performance. However, DCCP does not provide built-in 
support for multiple subflows and the Congestion Manager (CM) 
<xref target="RFC3124" format="default" sectionFormat="of" derivedContent="RFC3124"/>, as a generic multiplexing facility, can not fully support 
multiple congestion control mechanisms for multiple DCCP flows between 
same source and destination addresses.</t>
      <t indent="0" pn="section-2-2">The extension of DCCP towards Multipath-DCCP (MP-DCCP) is 
described in detail in <xref target="protocol" format="default" sectionFormat="of" derivedContent="Section 3"/>.</t>
      <t indent="0" pn="section-2-3">As a high level overview 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 right order to the 
recipient application. 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 byte-stream between 
two hosts exchanging data as in DCCP, thus, not requiring 
any change to the applications. However, Multipath DCCP enables the 
hosts to use different 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.</t>
      <t indent="0" pn="section-2-6">The Multipath Capability for MP-DCCP can be negotiated with a new DCCP 
feature, as specified in <xref target="mp_capable" format="default" sectionFormat="of" derivedContent="Section 3.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 3"/>.
All MP-DCCP operations are signaled with MP-DCCP suboptions described in {#MP_OPT}.</t>
      <t indent="0" pn="section-2-7">The number of concurrent DCCP subflows can vary during the 
lifetime of a Multipath DCCP connection.</t>
    </section>
    <section anchor="protocol" numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-mp-dccp-protocol">MP-DCCP Protocol</name>
      <t indent="0" pn="section-3-1">The DCCP protocol feature list (<xref target="RFC4340" format="default" sectionFormat="of" derivedContent="RFC4340"/>, Section 6.4) are
enriched with a new Multipath related feature with Feature number 10, 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">10</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-3-3">
        <dt pn="section-3-3.1">
Rec'n Rule:  </dt>
        <dd pn="section-3-3.2">
          <t indent="0" pn="section-3-3.2.1">The reconciliation rule used for the feature. SP means server-priority,
NN means non-negotiable.</t>
        </dd>
        <dt pn="section-3-3.3">
Initial Value:  </dt>
        <dd pn="section-3-3.4">
          <t indent="0" pn="section-3-3.4.1">The initial value for the feature. Every feature has a known initial value.</t>
        </dd>
        <dt pn="section-3-3.5">
Req'd:  </dt>
        <dd pn="section-3-3.6">
          <t indent="0" pn="section-3-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-3-4">The DCCP protocol options as defined in (<xref target="RFC4340" format="default" sectionFormat="of" derivedContent="RFC4340"/>, Section 5.8) and (<xref target="RFC5634" format="default" sectionFormat="of" derivedContent="RFC5634"/>, Section 2.2.1) are enriched with 
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" toc="include" removeInRFC="false" pn="section-3.1">
        <name slugifiedName="name-multipath-capable-feature">Multipath Capable Feature</name>
        <t indent="0" pn="section-3.1-1">DCCP endpoints uses the Multipath Capable Feature to decide whether multipath extensions can be enabled for a DCCP connection.</t>
        <t indent="0" pn="section-3.1-2">Multipath Capable feature has feature number 10 and has length of one-byte.
The leftmost four bits are used to specify a compatible version of the
MP-DCCP implementation (0000 for this specification). The following four bits are unassigned in version 0. The unassigned bits MUST be set to zero by the sender and MUST be ignored by the receiver.</t>
        <artwork name="" type="" align="left" alt="" pn="section-3.1-3"><![CDATA[
    0  1  2  3   4  5  6  7
   +-----------+------------+
   |  Version  | Unassigned |
   +-----------+------------+
]]></artwork>
        <t indent="0" pn="section-3.1-4">The setting of Multipath Capable MUST follow the server-priority reconciliation rule described
in (<xref target="RFC4340" format="default" sectionFormat="of" derivedContent="RFC4340"/>, Section 6.3.1), which allows multiple versions to be
specified in order of priority.</t>
        <t indent="0" pn="section-3.1-5">The negotiation MUST be done as part of the initial handshake procedure
as described in <xref target="handshaking" format="default" sectionFormat="of" derivedContent="Section 3.3"/>, and no subsequent re-negotiation of
the Multipath Capable feature is allowed on the same MP-DCCP connection.</t>
        <t indent="0" pn="section-3.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-3.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 addition to an existing MP-DCCP connection MUST use the same
version negotiated for the first subflow.</t>
        <t indent="0" pn="section-3.1-8">If no agreement is found, the Server MUST reply with an empty Confirm L option
with feature number 10 and no values.</t>
        <t indent="0" pn="section-3.1-9">An example of successful version negotiation is shown hereafter:</t>
        <artwork name="" type="" align="left" alt="" pn="section-3.1-10"><![CDATA[
      Client                                             Server
      ------                                             ------
      DCCP-Req + Change R(CAPABLE, 1 0)
                     ----------------------------------->

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

                 * agreement on version = 1 *
]]></artwork>
        <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-3.1-11"><li pn="section-3.1-11.1" derivedCounter="1.">The Client indicates support for both MP-DCCP versions 1 and 0, with a preference
for version 1.</li>
          <li pn="section-3.1-11.2" derivedCounter="2.">Server agrees on using MP-DCCP version 1, and supplies its own preference list.</li>
          <li pn="section-3.1-11.3" derivedCounter="3.">MP-DCCP is then enabled between the Client and Server with version 1.</li>
        </ol>
      </section>
      <section anchor="MP_OPT" numbered="true" toc="include" removeInRFC="false" pn="section-3.2">
        <name slugifiedName="name-multipath-option">Multipath Option</name>
        <t indent="0" pn="section-3.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 3"/>.</t>
        <figure anchor="ref-mp-option-format" align="left" suppress-title="false" pn="figure-3">
          <name slugifiedName="name-multipath-option-format">Multipath Option Format</name>
          <artwork name="" type="" align="left" alt="" pn="section-3.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-3.2-3">The description of the fields of the multipath option is shown 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 defined in Version &gt; 0 or extension</td>
            </tr>
          </tbody>
        </table>
        <t indent="0" pn="section-3.2-5">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" toc="include" removeInRFC="false" pn="section-3.2.1">
          <name slugifiedName="name-mp_confirm">MP_CONFIRM</name>
          <artwork name="" type="" align="left" alt="" pn="section-3.2.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>
          <t indent="0" pn="section-3.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-3.2.1-3">As the transmission of multipath suboptions is subject to out-of-order arrival, suboptions defined in <xref target="ref-mp-option-confirm" format="default" sectionFormat="of" derivedContent="Table 4"/>
SHALL be sent in a DCCP datagram with MP_SEQ <xref target="MP_SEQ" format="default" sectionFormat="of" derivedContent="Section 3.2.5"/>. This allows to identify outdated suboptions which updates the same
dataset. In case of MP_ADDADDR, 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
carried by MP_SEQ. Generating a MP_CONFIRM for suboptions identified outdated is optional.</t>
          <t indent="0" pn="section-3.2.1-4">Similarly MP_CONFIRM is subject to out-of-order arrival. To ensure that the most recent suboption is confirmed the associated
MP_SEQ received MUST be echoed. Otherwise inconsistency happens if between updates of a dataset with the same value, another value
is sent. If the MP_CONFIRM of the second update and the third update itself gets lost, the value of the second update is applied on
receiver side without being detected by the sender.</t>
          <t indent="0" pn="section-3.2.1-5">The length and sending path of the MP_CONFIRM are dependent on the confirmed suboptions and the received MP_SEQ, which will be both copied verbatim and
appended as list of confirmations. The order within this list is the confirmed suboption first followed by the received MP_SEQ.</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>
        </section>
        <section anchor="MP_JOIN" numbered="true" toc="include" removeInRFC="false" pn="section-3.2.2">
          <name slugifiedName="name-mp_join">MP_JOIN</name>
          <figure anchor="ref-MP_JOIN" align="left" suppress-title="false" pn="figure-4">
            <name slugifiedName="name-format-of-the-mp_join-subop">Format of the MP_JOIN Suboption</name>
            <artwork name="" type="" align="left" alt="" pn="section-3.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-3.2.2-2">The MP_JOIN option is used by a host to add a new subflow to an existing MP-DCCP
connection. 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
MP_HMAC for details). Also MP_KEY MUST be set to provide key material
for authentication purposes.</t>
          <t indent="0" pn="section-3.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 has been changed in
transit by a middlebox.  The numeric 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 3.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 3.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-3.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 has to 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-3.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 3.3"/>.</t>
        </section>
        <section anchor="MP_FAST_CLOSE" numbered="true" toc="include" removeInRFC="false" pn="section-3.2.3">
          <name slugifiedName="name-mp_fast_close">MP_FAST_CLOSE</name>
          <t indent="0" pn="section-3.2.3-1">Regular DCCP has the means of sending a Close or Reset signals to abruptly close a
connection.  With MP-DCCP, a regular Close or Reset only has the scope of the
subflow over which the signal was received. As such, it will only close the applicable subflow and will not
affect the remaining subflows concurrently in use on other paths.  A MP-DCCP connection will stay alive at
the data level in order to permit break-before-make handover between
subflows.  It is therefore necessary to provide an MP-DCCP-level
"Reset" to allow the abrupt closure of the whole MP-DCCP connection;
this is done via the MP_FAST_CLOSE suboption.</t>
          <figure anchor="ref-MP_FAST_CLOSE" align="left" suppress-title="false" pn="figure-5">
            <name slugifiedName="name-format-of-the-mp_fast_close">Format of the MP_FAST_CLOSE Suboption</name>
            <artwork name="" type="" align="left" alt="" pn="section-3.2.3-2.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-3.2.3-3">For being effective, the MP_FAST_CLOSE suboption MUST be sent from an initiating host on all subflows as part of a DCCP-Reset packet with Reset Code 13. To protect 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-3.2.3-4">With completion of this step, the initiating host can tear down the subflows and the multipath DCCP connection immediately terminates.</t>
          <t indent="0" pn="section-3.2.3-5">Upon reception of the MP_FAST_CLOSE and successful validation of the Key Data at the peer host, a DCCP Reset packet is replied on all subflows to the initiating host with Reset Code 13. The peer host can now close the whole MP-DCCP connection (i.e., it transitions the connection state directly to CLOSED).</t>
        </section>
        <section anchor="MP_KEY" numbered="true" toc="include" removeInRFC="false" pn="section-3.2.4">
          <name slugifiedName="name-mp_key">MP_KEY</name>
          <figure anchor="ref-MP_KEY" align="left" suppress-title="false" pn="figure-6">
            <name slugifiedName="name-format-of-the-mp_key-subopt">Format of the MP_KEY Suboption</name>
            <artwork name="" type="" align="left" alt="" pn="section-3.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-3.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 is used to
specify the type of the following key data. 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-3.2.4-4">
            <dt pn="section-3.2.4-4.1">
Plain Text  </dt>
            <dd pn="section-3.2.4-4.2">
              <t indent="0" pn="section-3.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-3.2.4-5">
            <dt pn="section-3.2.4-5.1">
ECDHE-SHA256-C25519  </dt>
            <dd pn="section-3.2.4-5.2">
              <t indent="0" pn="section-3.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-3.2.4-6">
            <dt pn="section-3.2.4-6.1">
ECDHE-SHA512-C25519  </dt>
            <dd pn="section-3.2.4-6.2">
              <t indent="0" pn="section-3.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-3.2.4-7">Providing multiple keys is only permitted in the DCCP-Request message
of the handshake procedure for the first subflow, and 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 3.3"/></t>
        </section>
        <section anchor="MP_SEQ" numbered="true" toc="include" removeInRFC="false" pn="section-3.2.5">
          <name slugifiedName="name-mp_seq">MP_SEQ</name>
          <figure anchor="ref-MP_SEQ" align="left" suppress-title="false" pn="figure-7">
            <name slugifiedName="name-format-of-the-mp_seq-subopt">Format of the MP_SEQ Suboption</name>
            <artwork name="" type="" align="left" alt="" pn="section-3.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-3.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-3.2.5-3">The MP_SEQ number space is
different from the path individual sequence number space and MUST be
sent with any DCCP-Data and DCCP-DataACK packet.</t>
        </section>
        <section anchor="MP_HMAC" numbered="true" toc="include" removeInRFC="false" pn="section-3.2.6">
          <name slugifiedName="name-mp_hmac">MP_HMAC</name>
          <figure anchor="ref-MP_HMAC" align="left" suppress-title="false" pn="figure-8">
            <name slugifiedName="name-format-of-the-mp_hmac-subop">Format of the MP_HMAC Suboption</name>
            <artwork name="" type="" align="left" alt="" pn="section-3.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-3.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-3.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 3.2.4"/>, while the HMAC "Message" is a concatenation of</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3.2.6-4">
            <li pn="section-3.2.6-4.1">MP_JOIN: The token and nonce of the MP_JOIN for which authentication
   shall be performed.</li>
            <li pn="section-3.2.6-4.2">MP_ADDADDR: The Address ID with associated IP address
   and if defined port, otherwise two octets of value 0.</li>
            <li pn="section-3.2.6-4.3">MP_REMOVEADDR: Solely the Address ID.</li>
          </ul>
          <t indent="0" pn="section-3.2.6-5">MP_JOIN, MP_ADDADDR and MP_REMOVEADDR can co-exist or be used multiple times
within a single DCCP packet. As all this multipath options come along with an
individual MP_HASH option, this requires the MP_HASH to be 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.</t>
        </section>
        <section anchor="MP_RTT" numbered="true" toc="include" removeInRFC="false" pn="section-3.2.7">
          <name slugifiedName="name-mp_rtt">MP_RTT</name>
          <figure anchor="ref-MP_RTT" align="left" suppress-title="false" pn="figure-9">
            <name slugifiedName="name-format-of-the-mp_rtt-subopt">Format of the MP_RTT Suboption</name>
            <artwork name="" type="" align="left" alt="" pn="section-3.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-3.2.7-2">The MP_RTT suboption is used to transmit RTT values in milliseconds and
MUST belong to the path over which this information is transmitted.
Additionally, the age of the measurement is specified in milliseconds.
This information is in particular 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-3.2.7-3">The RTT and Age information is a 32-bit integer, which allows to cover a period of
approximately 1193 hours.</t>
          <dl newline="true" indent="3" spacing="normal" pn="section-3.2.7-4">
            <dt pn="section-3.2.7-4.1">
Raw RTT (=0)  </dt>
            <dd pn="section-3.2.7-4.2">
              <t indent="0" pn="section-3.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-3.2.7-5">
            <dt pn="section-3.2.7-5.1">
Min RTT (=1)  </dt>
            <dd pn="section-3.2.7-5.2">
              <t indent="0" pn="section-3.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-3.2.7-6">
            <dt pn="section-3.2.7-6.1">
Max RTT (=2)  </dt>
            <dd pn="section-3.2.7-6.2">
              <t indent="0" pn="section-3.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-3.2.7-7">
            <dt pn="section-3.2.7-7.1">
Smooth RTT (=3)  </dt>
            <dd pn="section-3.2.7-7.2">
              <t indent="0" pn="section-3.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-3.2.7-8">
            <dt pn="section-3.2.7-8.1">
Age  </dt>
            <dd pn="section-3.2.7-8.2">
              <t indent="0" pn="section-3.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-3.2.7-9">In <xref target="ref-MP_RTT_example" format="default" sectionFormat="of" derivedContent="Figure 10"/> an exemplary flow shows the exchange of path individual 
RTT information with RTT1 pointing to a first path and RTT2 to a second path. Those
RTT values might be extracted from the sender's Congestion Control procedure and
carried to the receiving host using 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 case the path individual RTTs are symmetric in down- and uplink direction, 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-10">
            <name slugifiedName="name-exemplary-flow-of-mp_rtt-ex">Exemplary flow of MP_RTT exchange and usage</name>
            <artwork name="" type="" align="left" alt="" pn="section-3.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" toc="include" removeInRFC="false" pn="section-3.2.8">
          <name slugifiedName="name-mp_addaddr">MP_ADDADDR</name>
          <t indent="0" pn="section-3.2.8-1">The MP_ADDADDR suboption announces additional addresses (and, optionally,
port numbers) on which a host can be reached. This option can be used 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 advertise simultaneously
new addresses.</t>
          <t indent="0" pn="section-3.2.8-2">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-3.2.8-3">The presence of the final 2 octets, specifying the DCCP port number to
use, are optional and 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 may 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 peer SHOULD assume that any attempt to
connect to the specified address has to be on the same port as is already
in use by the subflow on which the MP_ADDADDR signal was sent.</t>
          <t indent="0" pn="section-3.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 3.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 nevertheless 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-3.2.8-5">The presence of a MP_SEQ <xref target="MP_SEQ" format="default" sectionFormat="of" derivedContent="Section 3.2.5"/> MUST be ensured in a DCCP datagram
in which MP_ADDADDR is sent. Further details are given in <xref target="MP_CONFIRM" format="default" sectionFormat="of" derivedContent="Section 3.2.1"/>.</t>
          <figure anchor="refMP_ADDADDR" align="left" suppress-title="false" pn="figure-11">
            <name slugifiedName="name-format-of-the-mp_addaddr-su">Format of the MP_ADDADDR Suboption</name>
            <artwork name="" type="" align="left" alt="" pn="section-3.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-3.2.8-7">Every address has an Address ID that can 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 3.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-3.2.8-8">All Address IDs learned via either MP_JOIN or MP_ADDADDR SHOULD 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 at will, 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 it MAY choose to refresh advertisements periodically.</t>
          <t indent="0" pn="section-3.2.8-9">Due to the proliferation of NATs, it is reasonably likely that one
host may attempt to advertise private addresses.  It is not
desirable to prohibit this, since there may be cases where both hosts
have additional interfaces on the same private network, and a host
MAY want to advertise such addresses. The MP_JOIN handshake to
create a new subflow (<xref target="MP_JOIN" format="default" sectionFormat="of" derivedContent="Section 3.2.2"/>) provides mechanisms to minimize
security risks.  The MP_JOIN message contains a 32-bit token that
uniquely identifies the connection to the receiving host. If the
token is unknown, the host will return with a DCCP-Reset. In the unlikely
event that the token is known, subflow setup will continue, but the
HMAC exchange must occur for authentication.  This will fail, and
will provide sufficient protection against two unconnected hosts
accidentally setting up a new subflow upon the signal of a private
address.  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 4"/>.
In case a sending host of a MP_ADDADDR knows about the inability
to establish incoming subflows on a particular address, a MP_ADDADDR
SHOULD NOT advertise this address unless sending host has new knowledge
about the ability. Such ability 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-3.2.8-10">The reception of an MP_ADDADDR message is acknowledged using MP_CONFIRM
(<xref target="MP_CONFIRM" format="default" sectionFormat="of" derivedContent="Section 3.2.1"/>). Using this mechanism reliable exchange of address
information is ensured.</t>
          <t indent="0" pn="section-3.2.8-11">A host can 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 3.2.9"/>).</t>
          <t indent="0" pn="section-3.2.8-12">A host that receives an MP_ADDADDR but finds a connection set up to
that 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 wants to trigger a new incoming
connection attempt on a previously advertised address/port combination
can therefore refresh MP_ADDADDR information by sending the option again.</t>
        </section>
        <section anchor="MP_REMOVEADDR" numbered="true" toc="include" removeInRFC="false" pn="section-3.2.9">
          <name slugifiedName="name-mp_removeaddr">MP_REMOVEADDR</name>
          <t indent="0" pn="section-3.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 so that the peer can remove subflows
related to this address.</t>
          <t indent="0" pn="section-3.2.9-2">This is achieved through the Remove Address (MP_REMOVEADDR) suboption which
will remove a previously added address with an Address ID from a
connection and terminate any subflows currently using that address.</t>
          <t indent="0" pn="section-3.2.9-3">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 3.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.
The rationale for the 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-3.2.9-4">The presence of a MP_SEQ <xref target="MP_SEQ" format="default" sectionFormat="of" derivedContent="Section 3.2.5"/> MUST be ensured in a DCCP datagram
in which MP_REMOVEADDR is sent. Further details are given in <xref target="MP_CONFIRM" format="default" sectionFormat="of" derivedContent="Section 3.2.1"/>.</t>
          <t indent="0" pn="section-3.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 3.2.1"/>). Using this mechanism reliable exchange of address
information is ensured. To avoid inconsistent states, it is recommended to
release the sender address ID only after MP_REMOVEADDR has been confirmed.</t>
          <t indent="0" pn="section-3.2.9-6">The sending and receipt of this message SHOULD trigger the sending of
DCCP-Close and DCCP-Reset by client and server, respectively on the affected
subflow(s) (if possible), as a courtesy to cleaning up middlebox state, before
cleaning up any local state.</t>
          <t indent="0" pn="section-3.2.9-7">Address removal is undertaken by ID, so as to permit the use of NATs and
other middleboxes that rewrite source addresses.  If there is no address
at the requested ID, the receiver will silently ignore the request.</t>
          <figure anchor="refMP_REMOVEADDR" align="left" suppress-title="false" pn="figure-12">
            <name slugifiedName="name-format-of-themp_removeaddr-">Format of theMP_REMOVEADDR Suboption</name>
            <artwork name="" type="" align="left" alt="" pn="section-3.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-3.2.9-9">A subflow that is still functioning MUST be closed with a DCCP-Close or
exchange as in regular DCCP, rather than using this option. For more
information, see Section <xref target="closing" format="default" sectionFormat="of" derivedContent="Section 3.4"/>.</t>
        </section>
        <section anchor="MP_PRIO" numbered="true" toc="include" removeInRFC="false" pn="section-3.2.10">
          <name slugifiedName="name-mp_prio">MP_PRIO</name>
          <t indent="0" pn="section-3.2.10-1">In the event that a single specific path out of the set of available
paths shall be treated with higher priority compared to the others
when making scheduling decisions for user plane traffic, a host may 
wish to signal such change in priority  to the peer.
One reason for such behavior is due to the different costs involved in
using different paths (e.g., WiFi is free while cellular has limit on
volume, 5G has higher energy consumption). Also, the priority of a path
may be subject to dynamic changes, for example when the mobile runs out
of battery, the usage of only a single path may be the preferred choice
of the user. Therefore, the path priority should be considered as hints 
for the packet scheduler when making decisions which path to use for 
user plane traffic.</t>
          <t indent="0" pn="section-3.2.10-2">The MP_PRIO suboption, shown below, can be used to set a priority flag
for the path over which the suboption is received.</t>
          <figure anchor="ref-MP_PRIO" align="left" suppress-title="false" pn="figure-13">
            <name slugifiedName="name-format-of-the-mp_prio-subop">Format of the MP_PRIO Suboption</name>
            <artwork name="" type="" align="left" alt="" pn="section-3.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|  Address ID  |
   +---------------+---------------+---------------+--------------+
       Type=46         Length=4        MP_OPT=9
]]></artwork>
          </figure>
          <t indent="0" pn="section-3.2.10-4">The following values are available for Prio field:</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3.2.10-5">
            <li pn="section-3.2.10-5.1">0: Do not use. The path is not available.</li>
            <li pn="section-3.2.10-5.2">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.</li>
            <li pn="section-3.2.10-5.3">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.</li>
            <li pn="section-3.2.10-5.4">3 - 15: Primary: can use the path in any way deemed reasonable by peer. 
   The path will always 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 more traffic 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.</li>
          </ul>
          <t indent="0" pn="section-3.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,
   all packets can be scheduled  over all paths at all time.</t>
          <t indent="0" pn="section-3.2.10-7">If not specified, the default behavior is, that a path can always be used for 
packet scheduling decisions (MP_PRIO=3), if the path has been established and 
added to an existing MP-DCCP connection. At least one path should have a 
MP_PRIO value greater or equal to one for it to be allowed to send on the 
connection. 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-3.2.10-8">The presence of a MP_SEQ <xref target="MP_SEQ" format="default" sectionFormat="of" derivedContent="Section 3.2.5"/> MUST be ensured 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 3.2.1"/>.</t>
        </section>
        <section anchor="MP_CLOSE" numbered="true" toc="include" removeInRFC="false" pn="section-3.2.11">
          <name slugifiedName="name-mp_close">MP_CLOSE</name>
          <figure anchor="ref-MP_CLOSE" align="left" suppress-title="false" pn="figure-14">
            <name slugifiedName="name-format-of-the-mp_close-subo">Format of the MP_CLOSE Suboption</name>
            <artwork name="" type="" align="left" alt="" pn="section-3.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-3.2.11-2">For a graceful shutdown of a MP-DCCP connection, MP_CLOSE is used to communicate this to a 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). In the case where a DCCP-CloseReq is used, the following DCCP-Close MUST carry the MP_CLOSE as well. At the initiator of the DCCP-CloseReq all sockets, including the MP-DCCP connection socket, transition to CLOSEREQ state. To protect unauthorized shutdown of a multi-path connection, the selected Key Data of the peer host during the handshaking procedure MUST be carried by the MP_CLOSE option and validated by the peer host. Note, Key Data is different between MP_CLOSE option carried by DCCP-CloseReq or DCCP-Close.</t>
          <t indent="0" pn="section-3.2.11-3">On reception of a 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. In this case, the MP-DCCP connection socket on the host sending the DCCP-Close reflects the state of the initial subflow used 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-3.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-3.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-3.2.11-6">Contrary to a MP_FAST_CLOSE <xref target="MP_FAST_CLOSE" format="default" sectionFormat="of" derivedContent="Section 3.2.3"/>, no single-sided abrupt termination is applied.</t>
        </section>
        <section anchor="MP_EXP" numbered="true" toc="include" removeInRFC="false" pn="section-3.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-3.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 may be applicable to specific environments or scenarios according to potential new requirements and meant for private use only at this stage. MP_OPT 
feature number 11 is foreseen with an exemplary description as below:</t>
          <figure anchor="ref-MP_EXP" align="left" suppress-title="false" pn="figure-15">
            <name slugifiedName="name-format-of-the-mp_exp-subopt">Format of the MP_EXP Suboption</name>
            <artwork name="" type="" align="left" alt="" pn="section-3.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-3.2.12-3">Details as length and type of data remain to be defined according to the foreseen use by the experimenters.</t>
        </section>
      </section>
      <section anchor="handshaking" numbered="true" toc="include" removeInRFC="false" pn="section-3.3">
        <name slugifiedName="name-mp-dccp-handshaking-procedu">MP-DCCP Handshaking Procedure</name>
        <t indent="0" pn="section-3.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 16"/>.</t>
        <figure anchor="ref-mp-dccp-handshaking" align="left" suppress-title="false" pn="figure-16">
          <name slugifiedName="name-example-mp-dccp-handshake">Example MP-DCCP Handshake</name>
          <artwork name="" type="" align="left" alt="" pn="section-3.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-3.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-3.3-4">
          <li pn="section-3.3-4.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 3.2.4"/>.</li>
          <li pn="section-3.3-4.2">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.</li>
          <li pn="section-3.3-4.3">Host A sends a DCCP-Ack with both Keys echoed to Host B.</li>
          <li pn="section-3.3-4.4">Host B sends a DCCP-Ack to confirm both keys and conclude the handshaking.</li>
        </ul>
        <t indent="0" pn="section-3.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-3.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-3.3-7">
          <li pn="section-3.3-7.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.</li>
          <li pn="section-3.3-7.2">
            <t indent="0" pn="section-3.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 token and nonce received with MP_JOIN(A) as message
and the derived key described in <xref target="MP_KEY" format="default" sectionFormat="of" derivedContent="Section 3.2.4"/> as key:  </t>
            <t indent="0" pn="section-3.3-7.2.2">
MP_HMAC(B) = HMAC-SHA256(Key=d-key(B), Msg=RB+RA)</t>
          </li>
          <li pn="section-3.3-7.3">
            <t indent="0" pn="section-3.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 token and nonce received with MP_JOIN(B) as message
and the derived key described in <xref target="MP_KEY" format="default" sectionFormat="of" derivedContent="Section 3.2.4"/> as key:  </t>
            <t indent="0" pn="section-3.3-7.3.2">
MP_HMAC(A) = HMAC-SHA256(Key=d-key(A), Msg=RA+RB)</t>
          </li>
          <li pn="section-3.3-7.4">Host B sends a DCCP-Ack to confirm the HMAC and to conclude the
handshaking.</li>
        </ul>
      </section>
      <section anchor="closing" numbered="true" toc="include" removeInRFC="false" pn="section-3.4">
        <name slugifiedName="name-close-a-mp-dccp-connection">Close a MP-DCCP connection</name>
        <t indent="0" pn="section-3.4-1">When a host wants to close an existing subflow but not the whole MP-DCCP
connection, it initiates the regular DCCP connection termination procedure 
as described in <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 is RECOMMENDED to use an appropriate DCCP reset code as specified in
Table 2 of <xref target="RFC4340" format="default" sectionFormat="of" derivedContent="RFC4340"/>. 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-3.4-2">When a host wants to terminate an  MP-DCCP connection, it is RECOMMENDED that the host
initiates the DCCP connection termination as per <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 3.2.11"/>).</t>
        <artwork name="" type="" align="left" alt="" pn="section-3.4-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-3.4-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 3.2.3"/>, where a DCCP-Reset is sent on all
subflows, each carrying the MP_FAST_CLOSE option.</t>
        <artwork name="" type="" align="left" alt="" pn="section-3.4-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" toc="include" removeInRFC="false" pn="section-3.5">
        <name slugifiedName="name-fallback">Fallback</name>
        <t indent="0" pn="section-3.5-1">When a subflow fails to operate following MP-DCCP intended behavior, it is 
necessary to proceed with a fall back. 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-3.5-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 don't carry the MP_CAPABLE feature, the MP-DCCP connection will not be 
established and the handshake SHOULD fall back to regular DCCP or MUST be closed.</t>
        <t indent="0" pn="section-3.5-3">The same fallback SHOULD take place if the endpoints fail to agree on a protocol
version to use during the Multipath Capable feature negotiation, which is described
in <xref target="mp_capable" format="default" sectionFormat="of" derivedContent="Section 3.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 fall back to regular DCCP.</t>
        <t indent="0" pn="section-3.5-4">Similar procedure MUST be applied if the MP_KEY <xref target="MP_KEY" format="default" sectionFormat="of" derivedContent="Section 3.2.4"/> Key Type cannot be negotiated,
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-3.5-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. Also non-verifiable MP_HMAC <xref target="MP_HMAC" format="default" sectionFormat="of" derivedContent="Section 3.2.6"/> or MP_JOIN Path Token <xref target="MP_JOIN" format="default" sectionFormat="of" derivedContent="Section 3.2.2"/> as
part of the subsequent flow establishment MUST lead to a subflow closing.</t>
        <t indent="0" pn="section-3.5-6">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 this happens in an MP-DCCP connection, the affected subflow can either be closed
or other action can be taken.</t>
      </section>
      <section anchor="congestion-control-considerations" numbered="true" toc="include" removeInRFC="false" pn="section-3.6">
        <name slugifiedName="name-congestion-control-consider">Congestion Control Considerations</name>
        <t indent="0" pn="section-3.6-1">Senders MUST manage per-path congestion status, and SHOULD avoid to send
more data on a given path than congestion control on that path
allows.</t>
        <t indent="0" pn="section-3.6-2">When a Multipath DCCP connection uses two or more paths, there is no
guarantee that these paths are fully disjoint.  When two (or more
paths) share the same bottleneck, using a standard congestion control
scheme could result in an unfair distribution of the bandwidth with
the multipath connection getting more bandwidth than competing single
path connections.  Multipath TCP uses the coupled congestion control
Linked Increases Algorithm (LIA) specified in <xref target="RFC6356" format="default" sectionFormat="of" derivedContent="RFC6356"/> to
solve this problem.  This scheme can be adapted also for Multipath DCCP.
The same applies to other coupled congestion control schemes, which
have been proposed for Multipath TCP such as Opportunistic Linked
Increases Algorithm <xref target="OLIA" format="default" sectionFormat="of" derivedContent="OLIA"/>.</t>
      </section>
      <section anchor="maximum-packet-size-considerations" numbered="true" toc="include" removeInRFC="false" pn="section-3.7">
        <name slugifiedName="name-maximum-packet-size-conside">Maximum Packet Size Considerations</name>
        <t indent="0" pn="section-3.7-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. As per this definition a DCCP application interface SHOULD let the application discover the current MPS, this is subject to ambiguity with potential different path MPS in a multipath system.</t>
        <t indent="0" pn="section-3.7-2">For compatibility reasons, an MP-DCCP implementation SHOULD always announce the minimum MPS across all paths.</t>
      </section>
    </section>
    <section anchor="security" numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-4-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 or some other kind of
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-4-2">As described in <xref target="RFC4340" format="default" sectionFormat="of" derivedContent="RFC4340"/>, DCCP provides protection against hijacking
and limits the potential impact of some denial-of-service attacks, but
DCCP provides no inherent protection against attackers' 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-4-3">
        <li pn="section-4-3.1">Provide a mechanism to confirm that parties involved in a subflow
handshake are identical to those in the original connection setup.</li>
        <li pn="section-4-3.2">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.</li>
        <li pn="section-4-3.3">Provide replay protection, i.e., ensure that a request to add/remove a
subflow is 'fresh'.</li>
      </ul>
      <t indent="0" pn="section-4-4">In order 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 3.2.4"/> and <xref target="handshaking" format="default" sectionFormat="of" derivedContent="Section 3.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 giving away any
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) will provide the same level of protection against attacks on
individual DCCP subflows as exists for regular DCCP.</t>
      <t indent="0" pn="section-4-5">As discussed in <xref target="MP_ADDADDR" format="default" sectionFormat="of" derivedContent="Section 3.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 3.2.2"/>) will ensure that this
does not succeed in setting 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" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-interactions-with-middlebox">Interactions with Middleboxes</name>
      <t indent="0" pn="section-5-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). In case, however, 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 NAT type middleboxes are covered by <xref target="RFC5597" format="default" sectionFormat="of" derivedContent="RFC5597"/>.</t>
      <t indent="0" pn="section-5-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"/>. The alternative
U-DCCP approach proposed in <xref target="I-D.amend-tsvwg-dccp-udp-header-conversion" format="default" sectionFormat="of" derivedContent="I-D.amend-tsvwg-dccp-udp-header-conversion"/> would
reduce tunneling overhead. The handshaking procedure for DCCP-UDP
header conversion or use of a DCCP-UDP negotiation procedure to signal support
for DCCP-UDP header conversion would require encapsulation during the handshakes
and use of two additional port numbers out of the UDP port number space, but
would require zero overhead afterwards.</t>
    </section>
    <section anchor="implementation" numbered="true" toc="include" removeInRFC="false" pn="section-6">
      <name slugifiedName="name-implementation">Implementation</name>
      <t indent="0" pn="section-6-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="website" format="default" sectionFormat="of" derivedContent="website"/>.</t>
    </section>
    <section anchor="acknowledgments" numbered="true" toc="include" removeInRFC="false" pn="section-7">
      <name slugifiedName="name-acknowledgments">Acknowledgments</name>
      <t indent="0" pn="section-7-1">Due to the great spearheading work of the Multipath TCP authors in <xref target="RFC6824" format="default" sectionFormat="of" derivedContent="RFC6824"/>/<xref target="RFC8684" format="default" sectionFormat="of" derivedContent="RFC8684"/>, some text
passages were copied almost unmodified from these documents.</t>
      <t indent="0" pn="section-7-2">The authors gratefully acknowledge significant input into this document from Dirk von Hugo, Nathalie Romo Moreno, Omar Nassef, Mohamed Boucadair, and Behcet Sarikaya.</t>
    </section>
    <section anchor="iana-considerations" numbered="true" toc="include" removeInRFC="false" pn="section-8">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-8-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 to DCCP feature list and one new
DCCP Option with ten corresponding Subtypes as follows.</t>
      <t indent="0" pn="section-8-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 3"/>. 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" 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-li">Addition to DCCP Feature list Entries</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">10</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-8-4">As outlined in sect. <xref target="mp_capable" format="default" sectionFormat="of" derivedContent="Section 3.1"/> 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 sub-registry under the MP-DCCP registry to track the MP-DCCP version. The initial content of this sub-registry is as follows:</t>
      <table anchor="ref-add-version-list" align="center" pn="table-7">
        <name slugifiedName="name-sub-registry-for-tracking-t">Sub-registry for tracking the MP-DCCP version</name>
        <thead>
          <tr>
            <th align="center" colspan="1" rowspan="1">Version</th>
            <th align="center" colspan="1" rowspan="1">Description</th>
            <th align="center" colspan="1" rowspan="1">Specification</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="center" colspan="1" rowspan="1">0000</td>
            <td align="center" colspan="1" rowspan="1">Version 0</td>
            <td align="center" colspan="1" rowspan="1">[ThisDocument]</td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">0001 - 1111</td>
            <td align="center" colspan="1" rowspan="1">Unassigned</td>
            <td align="center" colspan="1" rowspan="1"> </td>
          </tr>
        </tbody>
      </table>
      <t indent="0" pn="section-8-6">Future MP-DCCP versions 1 to 15 are assigned from this sub-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-8-7">This document requests IANA to assign a new DCCP protocol option of type=46 as described in Section 3.2 together with 10 additional suboptions.</t>
      <t indent="0" pn="section-8-8">IANA is requested to The following entries in <xref target="ref-add-proto-opt-list" format="default" sectionFormat="of" derivedContent="Table 8"/> should be added to the "DCCP
Protocol options" and assigned as "MP-DCCP sub-options", respectively.</t>
      <table anchor="ref-add-proto-opt-list" align="center" pn="table-8">
        <name slugifiedName="name-addition-to-dccp-protocol-o">Addition to DCCP Protocol options and corresponding sub-options</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">TBD or 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 3.2"/></td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">TBD or 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 3.2.1"/></td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">TBD or 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 3.2.2"/></td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">TBD or 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 3.2.3"/></td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">TBD or 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 3.2.4"/></td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">TBD or 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 3.2.5"/></td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">TBD or 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 3.2.6"/></td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">TBD or 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 3.2.7"/></td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">TBD or 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 3.2.8"/></td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">TBD or 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 3.2.9"/></td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">TBD or 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 3.2.10"/></td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">TBD or 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_OPT" format="default" sectionFormat="of" derivedContent="Section 3.2"/></td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">TBD or 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 3.2.12"/></td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">TBD or 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-8-10">Future MP-DCCP sub-options with MP_OPT&gt;11 can be 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-8-11">In addition IANA is requested to assign a new DCCP Reset Code value 13 (or TBD) 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 3.2.3"/>.</t>
      <t indent="0" pn="section-8-12">In addition IANA is requested to assign for this version of the MP-DCCP protocol 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 3.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 version 0 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_key-key-type-sub-options">MP_KEY Key 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">TBD or 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 3.2.4"/></td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">TBD or 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 3.2.4"/></td>
          </tr>
          <tr>
            <td align="center" colspan="1" rowspan="1">TBD or 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 3.2.4"/></td>
          </tr>
        </tbody>
      </table>
    </section>
  </middle>
  <back>
    <references pn="section-9">
      <name slugifiedName="name-informative-references">Informative References</name>
      <reference anchor="I-D.amend-iccrg-multipath-reordering" target="https://www.ietf.org/archive/id/draft-amend-iccrg-multipath-reordering-03.txt" quoteTitle="true" 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 v. Hugo" initials="D. V." surname="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-dccp-udp-header-conversion" target="https://www.ietf.org/archive/id/draft-amend-tsvwg-dccp-udp-header-conversion-01.txt" quoteTitle="true" derivedAnchor="I-D.amend-tsvwg-dccp-udp-header-conversion">
        <front>
          <title>Lossless and overhead free DCCP - UDP header conversion (U-DCCP)</title>
          <author fullname="Markus Amend" initials="M." surname="Amend">
            <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">   The Datagram Congestion Control Protocol (DCCP) is a transport-layer
   protocol that provides upper layers with the ability to use non-
   reliable congestion-controlled flows.  DCCP is not widely deployed in
   the Internet, and the reason for that can be defined as a typical
   example of a chicken-egg problem.  Even if an application developer
   decided to use DCCP, the middle-boxes like firewalls and NATs would
   prevent DCCP end-to-end since they lack support for DCCP.  Moreover,
   as long as the protocol penetration of DCCP does not increase, the
   middle-boxes will not handle DCCP properly.  To overcome this
   challenge, NAT/NATP traversal and UDP encapsulation for DCCP is
   already defined.  However, the former requires special middle-box
   support and the latter introduces overhead.  The recent proposal of a
   multipath extension for DCCP further underlines the challenge of
   efficient middle-box passing as its main goal is to be applied over
   the Internet, traversing numerous uncontrolled middle-boxes.  This
   document introduces a new solution which disguises DCCP during
   transmission as UDP without requiring middle-box modification or
   introducing any overhead.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-amend-tsvwg-dccp-udp-header-conversion-01"/>
        <refcontent>Work in Progress</refcontent>
      </reference>
      <reference anchor="I-D.amend-tsvwg-multipath-framework-mpdccp" target="https://www.ietf.org/archive/id/draft-amend-tsvwg-multipath-framework-mpdccp-01.txt" quoteTitle="true" 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" target="https://www.ietf.org/archive/id/draft-lhwxz-hybrid-access-network-architecture-02.txt" quoteTitle="true" 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" target="https://www.ietf.org/archive/id/draft-muley-network-based-bonding-hybrid-access-03.txt" quoteTitle="true" 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="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.-Y." 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="paper" quoteTitle="true" target="https://doi.org/10.1109/LCN44214.2019.8990746" derivedAnchor="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="RFC0793" target="https://www.rfc-editor.org/info/rfc793" quoteTitle="true" derivedAnchor="RFC0793">
        <front>
          <title>Transmission Control Protocol</title>
          <author fullname="J. Postel" initials="J." surname="Postel">
            <organization showOnFrontPage="true"/>
          </author>
          <date month="September" year="1981"/>
        </front>
        <seriesInfo name="RFC" value="793"/>
        <seriesInfo name="DOI" value="10.17487/RFC0793"/>
      </reference>
      <reference anchor="RFC2104" target="https://www.rfc-editor.org/info/rfc2104" quoteTitle="true" derivedAnchor="RFC2104">
        <front>
          <title>HMAC: Keyed-Hashing for Message Authentication</title>
          <author fullname="H. Krawczyk" initials="H." surname="Krawczyk">
            <organization showOnFrontPage="true"/>
          </author>
          <author fullname="M. Bellare" initials="M." surname="Bellare">
            <organization showOnFrontPage="true"/>
          </author>
          <author fullname="R. Canetti" initials="R." surname="Canetti">
            <organization showOnFrontPage="true"/>
          </author>
          <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="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="RFC2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner">
            <organization showOnFrontPage="true"/>
          </author>
          <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="RFC3124" target="https://www.rfc-editor.org/info/rfc3124" quoteTitle="true" derivedAnchor="RFC3124">
        <front>
          <title>The Congestion Manager</title>
          <author fullname="H. Balakrishnan" initials="H." surname="Balakrishnan">
            <organization showOnFrontPage="true"/>
          </author>
          <author fullname="S. Seshan" initials="S." surname="Seshan">
            <organization showOnFrontPage="true"/>
          </author>
          <date month="June" year="2001"/>
          <abstract>
            <t indent="0">This document describes the Congestion Manager (CM), an end-system module that enables an ensemble of multiple concurrent streams from a sender destined to the same receiver and sharing the same congestion properties to perform proper congestion avoidance and control, and allows applications to easily adapt to network congestion.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="3124"/>
        <seriesInfo name="DOI" value="10.17487/RFC3124"/>
      </reference>
      <reference anchor="RFC3711" target="https://www.rfc-editor.org/info/rfc3711" quoteTitle="true" derivedAnchor="RFC3711">
        <front>
          <title>The Secure Real-time Transport Protocol (SRTP)</title>
          <author fullname="M. Baugher" initials="M." surname="Baugher">
            <organization showOnFrontPage="true"/>
          </author>
          <author fullname="D. McGrew" initials="D." surname="McGrew">
            <organization showOnFrontPage="true"/>
          </author>
          <author fullname="M. Naslund" initials="M." surname="Naslund">
            <organization showOnFrontPage="true"/>
          </author>
          <author fullname="E. Carrara" initials="E." surname="Carrara">
            <organization showOnFrontPage="true"/>
          </author>
          <author fullname="K. Norrman" initials="K." surname="Norrman">
            <organization showOnFrontPage="true"/>
          </author>
          <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" target="https://www.rfc-editor.org/info/rfc4043" quoteTitle="true" derivedAnchor="RFC4043">
        <front>
          <title>Internet X.509 Public Key Infrastructure Permanent Identifier</title>
          <author fullname="D. Pinkas" initials="D." surname="Pinkas">
            <organization showOnFrontPage="true"/>
          </author>
          <author fullname="T. Gindin" initials="T." surname="Gindin">
            <organization showOnFrontPage="true"/>
          </author>
          <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" target="https://www.rfc-editor.org/info/rfc4086" quoteTitle="true" derivedAnchor="RFC4086">
        <front>
          <title>Randomness Requirements for Security</title>
          <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd">
            <organization showOnFrontPage="true"/>
          </author>
          <author fullname="J. Schiller" initials="J." surname="Schiller">
            <organization showOnFrontPage="true"/>
          </author>
          <author fullname="S. Crocker" initials="S." surname="Crocker">
            <organization showOnFrontPage="true"/>
          </author>
          <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="RFC4340" target="https://www.rfc-editor.org/info/rfc4340" quoteTitle="true" derivedAnchor="RFC4340">
        <front>
          <title>Datagram Congestion Control Protocol (DCCP)</title>
          <author fullname="E. Kohler" initials="E." surname="Kohler">
            <organization showOnFrontPage="true"/>
          </author>
          <author fullname="M. Handley" initials="M." surname="Handley">
            <organization showOnFrontPage="true"/>
          </author>
          <author fullname="S. Floyd" initials="S." surname="Floyd">
            <organization showOnFrontPage="true"/>
          </author>
          <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>
      <reference anchor="RFC5595" target="https://www.rfc-editor.org/info/rfc5595" quoteTitle="true" derivedAnchor="RFC5595">
        <front>
          <title>The Datagram Congestion Control Protocol (DCCP) Service Codes</title>
          <author fullname="G. Fairhurst" initials="G." surname="Fairhurst">
            <organization showOnFrontPage="true"/>
          </author>
          <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" target="https://www.rfc-editor.org/info/rfc5596" quoteTitle="true" 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">
            <organization showOnFrontPage="true"/>
          </author>
          <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" target="https://www.rfc-editor.org/info/rfc5597" quoteTitle="true" 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">
            <organization showOnFrontPage="true"/>
          </author>
          <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="RFC5634" target="https://www.rfc-editor.org/info/rfc5634" quoteTitle="true" derivedAnchor="RFC5634">
        <front>
          <title>Quick-Start for the Datagram Congestion Control Protocol (DCCP)</title>
          <author fullname="G. Fairhurst" initials="G." surname="Fairhurst">
            <organization showOnFrontPage="true"/>
          </author>
          <author fullname="A. Sathiaseelan" initials="A." surname="Sathiaseelan">
            <organization showOnFrontPage="true"/>
          </author>
          <date month="August" year="2009"/>
          <abstract>
            <t indent="0">This document specifies the use of the Quick-Start mechanism by the Datagram Congestion Control Protocol (DCCP).  DCCP is a transport protocol that allows the transmission of congestion-controlled, unreliable datagrams.  DCCP is intended for applications such as streaming media, Internet telephony, and online games.  In DCCP, an application has a choice of congestion control mechanisms, each specified by a Congestion Control Identifier (CCID).  This document specifies general procedures applicable to all DCCP CCIDs and specific procedures for the use of Quick-Start with DCCP CCID 2, CCID 3, and CCID 4.  Quick-Start enables a DCCP sender to cooperate with Quick-Start routers along the end-to-end path to determine an allowed sending rate at the start of a connection and, at times, in the middle of a DCCP connection (e.g., after an idle or application- limited period).  The present specification is provided for use in controlled environments, and not as a mechanism that would be intended or appropriate for ubiquitous deployment in the global Internet.  This memo defines an Experimental Protocol for the  Internet community.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5634"/>
        <seriesInfo name="DOI" value="10.17487/RFC5634"/>
      </reference>
      <reference anchor="RFC6234" target="https://www.rfc-editor.org/info/rfc6234" quoteTitle="true" 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">
            <organization showOnFrontPage="true"/>
          </author>
          <author fullname="T. Hansen" initials="T." surname="Hansen">
            <organization showOnFrontPage="true"/>
          </author>
          <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" target="https://www.rfc-editor.org/info/rfc6356" quoteTitle="true" derivedAnchor="RFC6356">
        <front>
          <title>Coupled Congestion Control for Multipath Transport Protocols</title>
          <author fullname="C. Raiciu" initials="C." surname="Raiciu">
            <organization showOnFrontPage="true"/>
          </author>
          <author fullname="M. Handley" initials="M." surname="Handley">
            <organization showOnFrontPage="true"/>
          </author>
          <author fullname="D. Wischik" initials="D." surname="Wischik">
            <organization showOnFrontPage="true"/>
          </author>
          <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" target="https://www.rfc-editor.org/info/rfc6773" quoteTitle="true" 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">
            <organization showOnFrontPage="true"/>
          </author>
          <author fullname="G. Fairhurst" initials="G." surname="Fairhurst">
            <organization showOnFrontPage="true"/>
          </author>
          <author fullname="C. Perkins" initials="C." surname="Perkins">
            <organization showOnFrontPage="true"/>
          </author>
          <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" target="https://www.rfc-editor.org/info/rfc6824" quoteTitle="true" derivedAnchor="RFC6824">
        <front>
          <title>TCP Extensions for Multipath Operation with Multiple Addresses</title>
          <author fullname="A. Ford" initials="A." surname="Ford">
            <organization showOnFrontPage="true"/>
          </author>
          <author fullname="C. Raiciu" initials="C." surname="Raiciu">
            <organization showOnFrontPage="true"/>
          </author>
          <author fullname="M. Handley" initials="M." surname="Handley">
            <organization showOnFrontPage="true"/>
          </author>
          <author fullname="O. Bonaventure" initials="O." surname="Bonaventure">
            <organization showOnFrontPage="true"/>
          </author>
          <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" target="https://www.rfc-editor.org/info/rfc6904" quoteTitle="true" 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">
            <organization showOnFrontPage="true"/>
          </author>
          <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" target="https://www.rfc-editor.org/info/rfc6951" quoteTitle="true" 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">
            <organization showOnFrontPage="true"/>
          </author>
          <author fullname="R. Stewart" initials="R." surname="Stewart">
            <organization showOnFrontPage="true"/>
          </author>
          <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="RFC8041" target="https://www.rfc-editor.org/info/rfc8041" quoteTitle="true" derivedAnchor="RFC8041">
        <front>
          <title>Use Cases and Operational Experience with Multipath TCP</title>
          <author fullname="O. Bonaventure" initials="O." surname="Bonaventure">
            <organization showOnFrontPage="true"/>
          </author>
          <author fullname="C. Paasch" initials="C." surname="Paasch">
            <organization showOnFrontPage="true"/>
          </author>
          <author fullname="G. Detal" initials="G." surname="Detal">
            <organization showOnFrontPage="true"/>
          </author>
          <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" target="https://www.rfc-editor.org/info/rfc8126" quoteTitle="true" derivedAnchor="RFC8126">
        <front>
          <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
          <author fullname="M. Cotton" initials="M." surname="Cotton">
            <organization showOnFrontPage="true"/>
          </author>
          <author fullname="B. Leiba" initials="B." surname="Leiba">
            <organization showOnFrontPage="true"/>
          </author>
          <author fullname="T. Narten" initials="T." surname="Narten">
            <organization showOnFrontPage="true"/>
          </author>
          <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" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="RFC8174">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author fullname="B. Leiba" initials="B." surname="Leiba">
            <organization showOnFrontPage="true"/>
          </author>
          <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" target="https://www.rfc-editor.org/info/rfc8684" quoteTitle="true" derivedAnchor="RFC8684">
        <front>
          <title>TCP Extensions for Multipath Operation with Multiple Addresses</title>
          <author fullname="A. Ford" initials="A." surname="Ford">
            <organization showOnFrontPage="true"/>
          </author>
          <author fullname="C. Raiciu" initials="C." surname="Raiciu">
            <organization showOnFrontPage="true"/>
          </author>
          <author fullname="M. Handley" initials="M." surname="Handley">
            <organization showOnFrontPage="true"/>
          </author>
          <author fullname="O. Bonaventure" initials="O." surname="Bonaventure">
            <organization showOnFrontPage="true"/>
          </author>
          <author fullname="C. Paasch" initials="C." surname="Paasch">
            <organization showOnFrontPage="true"/>
          </author>
          <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="slide" target="https://datatracker.ietf.org/meeting/105/materials/slides-105-tsvwg-sessa-62-dccp-extensions-for-multipath-operation-00" quoteTitle="true" derivedAnchor="slide">
        <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="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>
      <reference anchor="website" target="https://multipath-dccp.org/" quoteTitle="true" derivedAnchor="website">
        <front>
          <title>Multipath extension for DCCP</title>
          <author>
            <organization showOnFrontPage="true"/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
    </references>
    <section anchor="diff_mptcp" numbered="true" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-differences-from-multipath-">Differences from Multipath TCP</name>
      <t indent="0" pn="section-appendix.a-1">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-2"><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-4">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-6">Therefore, the sender logic is not much different between MP-DCCP and
MPTCP.</t>
      <t indent="0" pn="section-appendix.a-7">The receiver side for MP-DCCP has to deal with the unreliable transport 
character of DCCP. The multipath sequence numbers included in MP-DCCP (see <xref target="MP_SEQ" format="default" sectionFormat="of" derivedContent="Section 3.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 3.2.7"/>), 
DCCP path sequencing and the DCCP Timestamp Option provide further means 
for advanced reordering approaches, e.g., as described 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 deal 
with out-of-sequence data (e.g., through adaptive audio and video buffers), 
and so additional reordering support may not be necessary. The addition of optional 
reordering mechanisms are most 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 might 
happen, since DCCP has no mechanisms to prevent it.</t>
      <t indent="0" pn="section-appendix.a-8">The receiving process for MPTCP is on the other hand a rigid
"just wait" approach, since TCP guarantees reliable 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:
H4sIAFXIMWMAA+292XbbWJYg+n6+Akt+CKmCpEVJlm1lRt6iJTlCGR7UlhzZ
ubJzxYJAUESaBJgYJDMt39W/0b/XX3L3eAYAlIdwdNWt1aruDJoEzrDPPnse
hsOhqbN6kR5FJ8fH59Hp+zrNq6zIq2hWlNHLZlFnq7ieR69XaRnX8EN0m8E/
+YdFGk2m0zKtqrQy8dVVmd4cee/giGZaJHm8hPGnZTyrh1laz4Z1dXN7PVzq
g8NpkqyGu4dmGtfw4N7u3t5w9+lw79AkcX0Upe9XxmSr8iiqy6aq93Z3n+7u
GROXaYxfxXm1Ksra3F4fRZf6r2gCv0Z/Kcp3WX4d/VgWzcq8S9e3RTk9is7y
Oi3ztB6e4JJM1Vwtswo3Xa9XMP/Z6eVzY5JiCq8eRU01jKsky0xVx/n013hR
5CmtJDVmlR1Ff6uLZBBVMGeZzir4tF7ih7/DApt6XpRHJhqaKMryCkAziibL
NJ/CvxkmL+PyXVPZL4sSJjxJm7pK5ml0mS7Sd8USvlfQnlzCPyqYKK3dc0N5
bjhZLNI0egqPJFm9hgficgmLntb4TTGF6Q4P9p4+on81eV3CIz+m5TLO1/BV
uoyzhS5oRAv695oHHk1TeKAsEEnSaVYXpbelySh6VjY5LIpWytua5HkcfE0b
+zkuF7ie6G2e3aRlBYv0tmO/TOvqOgZYR3t2J/qm28ijcfTkib+Ti9t0muZu
IzEsYXSlS/j3d3EzqtJw3T/HVbVIS2/VgMpx5X3/H7FsWsPoHa+hu+5fRtGb
+F2RpDdZYlf+S1qliywPfqG1H8M6vHVHxSx6UeTTIvd28ApQdx4vVzXc7Yt/
NnCt7Abss3a9MFadTqOf4WpM6WRl3Te8glGpKxiN/x3HGMXJqHnnrf9iFP25
mOcVDcurv6jT1TzNve9p7c98ZJ9MY/gYL6JzQFC7PsBWIF0VrD76KQVCYgF9
dv4o2n9z+jkrr3j20Xz0D57/36/qUUJPmCwHIrgEsneTwjWOzoYnoxhvRoeA
zUr4HojLu+FyhcRMn17Mb9//azhfX5XZdBgnCVDKIRAeejIukzksKamb0o4O
I6Zr+8RVXKXT4RUcAiw6HKVvOURFm+lqOE/jaVoOkyKncy/y8OksSUp/8WUK
VDEtkdrBc2+eH+8+frovH/fGuwf24/ipfNwf7+m3+4/HY/l4sHuwbz8+OdSP
+we78vHRo6eP3MdD9/Gxfjzc13EP99zH/Uf67OHjxzrF4RO7hsOnu+7jI13O
k90D+3G8d2g/PtZnnxw+oY+XF3v7o0e79HAUCTe8WANiLCP/kIgj1kCYH/0o
P/8BcDe+TqO9P0RvgFbCcUXjQxrF0n76I3ze//H8nP7NXO47YHO7w/HecPz4
O544Lq8R1ed1vaqOHj68vb0d7V+vViN4++GsXj18eLFKk+ohLekmfbi3/2sF
p5ZWD3n58B/43+H1493Rv7IVDHmbXiFdOor8fTnunCqrp30Rr+5bRsilaTHw
3CoGeSAA2CR6rpfAiQ6MrNFFsyKmjN+/zUugFPEVyA7Kh5Ftz2ZZArwWuXVL
gOiCcyj/jbpsVf56uWvfq6fAvorrNJ+li87rp8m7uJx2fu+Z/fjmH2n9rmDC
Gy4hWwBL6PzeHqNF1YMh+oj7hnWcAza8i3vAkAAYgh/bLwfsMHi7yxU3vO/z
+9YILWnAuwLjp8Mx3IIDvgKMz0h19ahPXp8dRePd0Xi8+/Thi+NXBwd744MR
vjd68vTp7uMDvG7VIpumATK+PB+SOIsIl+aAbIhXJCrO0hK54NuT84dn5/gV
IV4BhDJaqkwLq4sjRMAKNsdfIzHNgQxkN8hGhUBX3xI3vb2TBDrefdR7H3Fx
sOzkXVqOUJimG7kEJglbfAgvPQR+BUPFi+ohwaUCAD8SDgFiehUPD/eYVVgC
UA0BTh5DKFTWH+7uGljE6xdnkwC8Wy/PLwG6WRXlRQ2QKtO6gLfqbBkDR4W3
iW3mSQqPVE1aoVhjAKQFSNl48ati0eD4Wx4ybMGh7m11QLF1XgLWp8gBKzw4
pL9PgDRkRDtolSAVwOnAwaY4IwgQp8u0vMYTl3PCj6BEwKgA7ZpWEwFNn+fF
oriGmQbR5PjlVucw9SjpHN/ABZnHi2yRdX97NYp+BPGk+wNeyWJl733w29tR
9HYVT+freN398c+j4V9H0YsUiE8zTfltMxwOQRNAMSipjTGE4CCoLJs8SwgQ
sLMqmqazLAdBBzD3wwfhvx8/AiNLI1DU6jJLUAyqiyiOkNrCaRCpBegYxfEi
H0RrIMv2QvBdKGaALwDIrKqjK4BsCv9apSBhjICHzlNTZfhCnKcFIHYDvBCO
K74BIYuIfWswvJkx65yIlciGQFQDIpstVyVcR1xs0ZRwoE2FLBa1TtgSHr+c
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
ktO7jWeT+v8ASeSBRks1AQA=

-->

</rfc>
