<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="exp" consensus="false" docName="draft-amend-tcpm-mptcp-robe-02" indexInclude="true" ipr="trust200902" prepTime="2022-03-07T02:47:26" 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="MPTCP RobE">Multipath TCP Extension for Robust Session Establishment</title>
    <seriesInfo name="Internet-Draft" value="draft-amend-tcpm-mptcp-robe-02" stream="IETF"/>
    <author initials="M." surname="Amend" fullname="Markus Amend">
      <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="J." surname="Kang" fullname="Jiao Kang">
      <organization showOnFrontPage="true">Huawei</organization>
      <address>
        <postal>
          <street>D2-03,Huawei Industrial Base</street>
          <city>Shenzhen</city>
          <region>Guangdong</region>
          <code>518129</code>
          <country>China</country>
        </postal>
        <email>kangjiao@huawei.com</email>
      </address>
    </author>
    <date month="03" year="2022" day="07"/>
    <area>transport</area>
    <workgroup>TCP Maintenance and Minor Extensions</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">Multipath TCP extends the plain, single-path limited, TCP towards the capability
of multipath transmission. This greatly improves the reliability and performance
of TCP communication. For backwards compatibility reasons the Multipath TCP
was designed to setup successfully an initial path first, after which subsequent
paths can be added for multipath transmission. For that reason the Multipath
TCP has the same limitations as the plain TCP during connection setup, in
case the selected path is not functional.</t>
      <t indent="0" pn="section-abstract-2">This document proposes a set of implementations and possible combinations
thereof, that provide a more Robust Establishment (RobE) of MPTCP sessions.
It includes RobE_TIMER, RobE_SIM, RobE_eSIM and RobE_IPS.</t>
      <t indent="0" pn="section-abstract-3">RobE_TIMER is designed to stay close to MPTCP in that standard functionality
is used wherever possible. Resiliency against network outages is achieved
by modifying the SYN retransmission timer: If one path is defective, another
path is used.</t>
      <t indent="0" pn="section-abstract-4">RobE_SIM and RobE_eSIM provides the ability to simultaneously use multiple
paths for connection setup. They ensure connectivity if at least one functional
path out of a bunch of paths is given and offers beside that the opportunity
to significantly improve loading times of Internet services.</t>
      <t indent="0" pn="section-abstract-5">RobE_IPS provides a heuristic to select properly an initial path for connection
establishment with a remote host based on empirical data derived from previous
connection information.</t>
      <t indent="0" pn="section-abstract-6">In practice, these independent solutions can be complementary used. This
document also presents the design and protocol procedure for those combinations
in addition to the respective stand-alone solutions.</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 8 September 2022.
        </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" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.1.2">
              <li pn="section-toc.1-1.1.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.2.1.1"><xref derivedContent="1.1" format="counter" sectionFormat="of" target="section-1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-terminology">Terminology</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-implementation-without-mptc">Implementation without MPTCP protocol adaptation</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.2.2">
              <li pn="section-toc.1-1.2.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.2.1.1"><xref derivedContent="2.1" format="counter" sectionFormat="of" target="section-2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-re-transmission-timerrobe_t">Re-transmission Timer(RobE_TIMER)</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.2">
                <t indent="0" pn="section-toc.1-1.2.2.2.1"><xref derivedContent="2.2" format="counter" sectionFormat="of" target="section-2.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-simultaneous-initial-paths-">Simultaneous Initial Paths Simple Version (RobE_SIM)</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.3">
                <t indent="0" pn="section-toc.1-1.2.2.3.1"><xref derivedContent="2.3" format="counter" sectionFormat="of" target="section-2.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-heuristic-initial-path-sele">Heuristic Initial Path Selection (RobE_IPS)</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.2.2.3.2">
                  <li pn="section-toc.1-1.2.2.3.2.1">
                    <t indent="0" pn="section-toc.1-1.2.2.3.2.1.1"><xref derivedContent="2.3.1" format="counter" sectionFormat="of" target="section-2.3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-architecture">Architecture</xref></t>
                  </li>
                  <li pn="section-toc.1-1.2.2.3.2.2">
                    <t indent="0" pn="section-toc.1-1.2.2.3.2.2.1"><xref derivedContent="2.3.2" format="counter" sectionFormat="of" target="section-2.3.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-typical-scenarios">Typical Scenarios</xref></t>
                  </li>
                  <li pn="section-toc.1-1.2.2.3.2.3">
                    <t indent="0" pn="section-toc.1-1.2.2.3.2.3.1"><xref derivedContent="2.3.3" format="counter" sectionFormat="of" target="section-2.3.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-path-decision-information">Path decision information</xref></t>
                  </li>
                  <li pn="section-toc.1-1.2.2.3.2.4">
                    <t indent="0" pn="section-toc.1-1.2.2.3.2.4.1"><xref derivedContent="2.3.4" format="counter" sectionFormat="of" target="section-2.3.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-initial-path-selection-use-">Initial Path Selection use local RTT information</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.2.2.4">
                <t indent="0" pn="section-toc.1-1.2.2.4.1"><xref derivedContent="2.4" format="counter" sectionFormat="of" target="section-2.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-combination-of-robe_sim-and">Combination of RobE_SIM and RobE_IPS</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.5">
                <t indent="0" pn="section-toc.1-1.2.2.5.1"><xref derivedContent="2.5" format="counter" sectionFormat="of" target="section-2.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-combination-of-robe_timer-a">Combination of RobE_TIMER and RobE_IPS</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-implementation-with-bi-dire">Implementation with Bi-directional MPTCP Support</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-simultaneous-initial-paths-e">Simultaneous Initial Paths Extended Version (RobE_eSIM)</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2.1.2">
                  <li pn="section-toc.1-1.3.2.1.2.1">
                    <t indent="0" pn="section-toc.1-1.3.2.1.2.1.1"><xref derivedContent="3.1.1" format="counter" sectionFormat="of" target="section-3.1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-robe_esim-implicit-negotiat">RobE_eSIM implicit Negotiation and Procedure</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.1.2.2">
                    <t indent="0" pn="section-toc.1-1.3.2.1.2.2.1"><xref derivedContent="3.1.2" format="counter" sectionFormat="of" target="section-3.1.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-robe_esim-explicit-negotiat">RobE_eSIM explicit Negotiation and Procedure</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.1.2.3">
                    <t indent="0" pn="section-toc.1-1.3.2.1.2.3.1"><xref derivedContent="3.1.3" format="counter" sectionFormat="of" target="section-3.1.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-protocol-adaptation">Protocol Adaptation</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.1.2.4">
                    <t indent="0" pn="section-toc.1-1.3.2.1.2.4.1"><xref derivedContent="3.1.4" format="counter" sectionFormat="of" target="section-3.1.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-fallback-mechanisms">Fallback Mechanisms</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.1.2.5">
                    <t indent="0" pn="section-toc.1-1.3.2.1.2.5.1"><xref derivedContent="3.1.5" format="counter" sectionFormat="of" target="section-3.1.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-comparison-robe_sim-and-rob">Comparison Robe_SIM and RobE_eSIM</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.1.2.6">
                    <t indent="0" pn="section-toc.1-1.3.2.1.2.6.1"><xref derivedContent="3.1.6" format="counter" sectionFormat="of" target="section-3.1.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-consideration">Security Consideration</xref></t>
                  </li>
                </ul>
              </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-heuristic-initial-path-selec">Heuristic Initial Path Selection with remote RTT Measurement</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-description">Description</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-protocol-adaptation-2">Protocol Adaptation</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-fallback-mechanism">Fallback Mechanism</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-security-consideration-2">Security Consideration</xref></t>
                  </li>
                </ul>
              </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-iana-considerations">IANA 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-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2">
              <li pn="section-toc.1-1.5.2.1">
                <t indent="0" pn="section-toc.1-1.5.2.1.1"><xref derivedContent="5.1" format="counter" sectionFormat="of" target="section-5.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.2">
                <t indent="0" pn="section-toc.1-1.5.2.2.1"><xref derivedContent="5.2" format="counter" sectionFormat="of" target="section-5.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="introduction" numbered="true" toc="include" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">Multipath TCP Robust Session Establishment (MPTCP RobE) is a set of extensions
to regular MPTCP <xref target="RFC6824" format="default" sectionFormat="of" derivedContent="RFC6824"/> and its next version
<xref target="RFC8684" format="default" sectionFormat="of" derivedContent="RFC8684"/>, which releases single path limitations
during the initial connection setup.
Several scenarios require and benefit from a reliable and in time connection
setup which is not covered by <xref target="RFC6824" format="default" sectionFormat="of" derivedContent="RFC6824"/> and
<xref target="RFC8684" format="default" sectionFormat="of" derivedContent="RFC8684"/> so far.  MPTCP was designed to be
compliant with the TCP standard <xref target="RFC0793" format="default" sectionFormat="of" derivedContent="RFC0793"/> and introduced therefore
the concept of an initial TCP flow while adding subsequent flows after
successful multipath negotiation on the initial path.
While fulfilling its purpose, MPTCP is however fully dependent on the transmission
characteristics of the communication link selected for initiating MPTCP.</t>
      <t indent="0" pn="section-1-2"><xref target="ref-mptcp-signaling" format="default" sectionFormat="of" derivedContent="Figure 1"/> shows the traditional way of MPTCP handshaking
with an MP_CAPABLE exchanged first, followed when successfully
negotiated by additional flows engaging MP_JOIN. <xref target="RFC6824" format="default" sectionFormat="of" derivedContent="RFC6824"/> and the 
next MPTCP <xref target="RFC8684" format="default" sectionFormat="of" derivedContent="RFC8684"/> differ in that a Key-A is
sent with the first MP_CAPABLE or not.</t>
      <figure anchor="ref-mptcp-signaling" align="left" suppress-title="false" pn="figure-1">
        <name slugifiedName="name-mptcp-connection-setup">MPTCP connection setup</name>
        <artwork name="" type="" align="left" alt="" pn="section-1-3.1"><![CDATA[
            Host A                                  Host B
     ------------------------                       ----------
     Address A1    Address A2                       Address B1
     ----------    ----------                       ----------
         |             |                                |
         |            SYN + MP_CAPABLE(Key-A[*])        |
         |--------------------------------------------->|
         |<---------------------------------------------|
         |          SYN/ACK + MP_CAPABLE(Key-B)         |
         |             |                                |
         |        ACK + MP_CAPABLE(Key-A, Key-B)        |
         |--------------------------------------------->|
         |             |                                |
         |             |   SYN + MP_JOIN(Token-B, R-A)  |
         |             |------------------------------->|
         |             |<-------------------------------|
         |             | SYN/ACK + MP_JOIN(HMAC-B, R-B) |
         |             |                                |
         |             |     ACK + MP_JOIN(HMAC-A)      |
         |             |------------------------------->|
         |             |<-------------------------------|
         |             |             ACK                |

         [*] Key-A in the first MP-capable is related to
             RFC6824 only and does not exist in RFC8684.
]]></artwork>
      </figure>
      <t indent="0" pn="section-1-4">Multipath TCP itself enables hosts to exchange packets belonging to a single
connection over several paths. Implemented in mobile phones (UEs), these
paths are usually assigned to different network interfaces within the UE
and correspond to different access networks such as cellular and WiFi.
The path or network interface for initiating the initial subflow setup
is most often provided by the operation system of the UE. For example,
if both a cellular connection and WiFi are present in a mobile phone,
WiFi is usually the interface offered to initiate the MPTCP session.</t>
      <t indent="0" pn="section-1-5">This design falls short in situations where the default path does not provide
the best performance compared to other available paths. In a worst case the
default path is not even capable of setting up the initial flow letting any
other functional path unused. For example, if the WiFi signal is weak, broken
or cannot forward traffic to the destination, the establishment of the subflow
will be delayed or impossible. This in turn, leads to a longer startup delay
or no communication at all for services using MPTCP even if other functional
paths are available. Even in scenarios where all paths are functional but
services would benefit from a setup over the path with the lowest latency,
MPTCP has no mean to support this demand.</t>
      <t indent="0" pn="section-1-6">It can be concluded, that sequential path establishment relying with an
initial path establishment over an externally given default route will
result in experience reduction when using MPTCP. So this document
proposes solutions to overcome the aforementioned limitations and
provides a more robust connection setup compared to traditional MPTCP.</t>
      <t indent="0" pn="section-1-7">Introduction of RobE_SIM and RobE_eSIM aims to overcome the limitations
of <xref target="RFC6824" format="default" sectionFormat="of" derivedContent="RFC6824"/> and <xref target="RFC8684" format="default" sectionFormat="of" derivedContent="RFC8684"/>, using one initial flow and
introduces the concept of multiple potential initial flows triggered
simultaneously.Potential initial flows give the freedom
to use more than one path to request multipath capability and select the
initial flow at a later point. Potential initial flow mechanisms and the
gain of robustness and performance over the traditional MPTCP connection
setup are evaluated in <xref target="RobE_slides" format="default" sectionFormat="of" derivedContent="RobE_slides"/> and <xref target="RobE_paper" format="default" sectionFormat="of" derivedContent="RobE_paper"/>. RobE_SIM is
a break-before-make mechanism, guaranteeing at least the robust
connection establishment, however the RobE_eSIM reuses every potential initial
flow request to combine it with less overhead and accelerated multipath availability,
leveraging a new MPTCP option MP_JOIN_CAP. From a standardization perspective,
the RobE_SIM is fully compliant with <xref target="RFC6824" format="default" sectionFormat="of" derivedContent="RFC6824"/> and
<xref target="RFC8684" format="default" sectionFormat="of" derivedContent="RFC8684"/> and is herein more of a descriptive and
procedural nature. The RobE_eSIM requires a new MPTCP option but offers
the potential to significantly improve the MPTCP experience.</t>
      <t indent="0" pn="section-1-8">For the limitation of the default initial path, RobE_IPS makes no changes
to standard MPTCP procedure and improves the performance of connection establishment
by introducing an initial path selection strategy and required algorithms.
The input for strategy and algorithms is the transmission status information
which represents the transmission performance of each available path or network
interface. The transmission status information is characterized by at least
one of the parameters: signal strength, throughput, round-trip time (RTT),
and link success rate. In this way, a path with better transmission performance
can be learned and determined and the respective network interface can be
used for connection establishment.</t>
      <t indent="0" pn="section-1-9">The most simple approach for a robust MPTCP session establishment is RobE_TIMER,
iterating the process of initial path establishment over all available paths,
if the previous try has failed. Triggering a new try on a next path is depending
on an expiration timer, preferably re-use TCP's in-built expiration timer.</t>
      <t indent="0" pn="section-1-10"><xref target="table_robe_features" format="default" sectionFormat="of" derivedContent="Table 1"/> summarizes the impact of RobE_TIMER, RobE_SIM,
RobE_eSIM, and RobE_IPS compared to <xref target="RFC6824" format="default" sectionFormat="of" derivedContent="RFC6824"/> and <xref target="RFC8684" format="default" sectionFormat="of" derivedContent="RFC8684"/>.</t>
      <table anchor="table_robe_features" align="center" pn="table-1">
        <name slugifiedName="name-overview-robe-features-duri">Overview RobE features during initial connection setup</name>
        <thead>
          <tr>
            <th align="left" colspan="1" rowspan="1">Scenario</th>
            <th align="left" colspan="1" rowspan="1">MPTCP</th>
            <th align="left" colspan="1" rowspan="1">RobE_TIMER</th>
            <th align="left" colspan="1" rowspan="1">RobE_SIM</th>
            <th align="left" colspan="1" rowspan="1">RobE_eSIM</th>
            <th align="left" colspan="1" rowspan="1">RobE_IPS</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left" colspan="1" rowspan="1">IP packet loss</td>
            <td align="left" colspan="1" rowspan="1">Delayed connection</td>
            <td align="left" colspan="1" rowspan="1">In the scope of timer</td>
            <td align="left" colspan="1" rowspan="1">No impact</td>
            <td align="left" colspan="1" rowspan="1">No impact</td>
            <td align="left" colspan="1" rowspan="1">Delayed connection</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">IP broken</td>
            <td align="left" colspan="1" rowspan="1">No connection</td>
            <td align="left" colspan="1" rowspan="1">In the scope of timer</td>
            <td align="left" colspan="1" rowspan="1">No impact</td>
            <td align="left" colspan="1" rowspan="1">No impact</td>
            <td align="left" colspan="1" rowspan="1">No connection</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">IP setup duration de-pendency</td>
            <td align="left" colspan="1" rowspan="1">Default route</td>
            <td align="left" colspan="1" rowspan="1">Default route (+ path 1..n)</td>
            <td align="left" colspan="1" rowspan="1">Fastest path</td>
            <td align="left" colspan="1" rowspan="1">Fastest path</td>
            <td align="left" colspan="1" rowspan="1">Selected path</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">MP avail-ability duration</td>
            <td align="left" colspan="1" rowspan="1">MP_CAPABLE HS + MP_JOIN HS</td>
            <td align="left" colspan="1" rowspan="1">sum_1..n( MP_CAPABLE_n HS) + MP_JOIN HS</td>
            <td align="left" colspan="1" rowspan="1">MP_CAPABLE HS + MP_JOIN HS</td>
            <td align="left" colspan="1" rowspan="1">max( MP_CAPABLE_1 .. MP_CAPABLE_n HS)</td>
            <td align="left" colspan="1" rowspan="1">MP_CAPABLE HS + MP_JOIN HS</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">Guaran-teeing session setup</td>
            <td align="left" colspan="1" rowspan="1">Depends on the default route</td>
            <td align="left" colspan="1" rowspan="1">Yes</td>
            <td align="left" colspan="1" rowspan="1">Yes</td>
            <td align="left" colspan="1" rowspan="1">Yes</td>
            <td align="left" colspan="1" rowspan="1">Depends on selection</td>
          </tr>
        </tbody>
      </table>
      <aside pn="section-1-12">
        <t indent="0" pn="section-1-12.1">IP: Initial Path; MP: Multi-Path; HS: Handshake</t>
      </aside>
      <section anchor="terminology" numbered="true" toc="include" removeInRFC="false" pn="section-1.1">
        <name slugifiedName="name-terminology">Terminology</name>
        <t indent="0" pn="section-1.1-1">This document makes use of a number of terms that are either MPTCP-specific
or have defined meaning in the context of MPTCP, as follows:</t>
        <dl indent="3" newline="false" spacing="normal" pn="section-1.1-2">
          <dt pn="section-1.1-2.1">
Path:  </dt>
          <dd pn="section-1.1-2.2">
            <t indent="0" pn="section-1.1-2.2.1">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>
          </dd>
          <dt pn="section-1.1-2.3">
Subflow:  </dt>
          <dd pn="section-1.1-2.4">
            <t indent="0" pn="section-1.1-2.4.1">A flow of TCP segments operating over an individual path,
which forms part of a larger MPTCP connection.  A subflow is
started and terminated similar to a regular TCP connection.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="unilateral_impl" numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-implementation-without-mptc">Implementation without MPTCP protocol adaptation</name>
      <t indent="0" pn="section-2-1">RobE_TIMER, RobE_SIM, and RobE_IPS are compatible with the current MPTCP
protocol definitions in <xref target="RFC6824" format="default" sectionFormat="of" derivedContent="RFC6824"/> and <xref target="RFC8684" format="default" sectionFormat="of" derivedContent="RFC8684"/> but may lack of the
full optimization potential which requires protocol adaptation as
detailed in <xref target="bi_impl" format="default" sectionFormat="of" derivedContent="Section 3"/>. Following sections will describe the newly
introduced mechanisms in detail.</t>
      <section anchor="robe_timer" numbered="true" toc="include" removeInRFC="false" pn="section-2.1">
        <name slugifiedName="name-re-transmission-timerrobe_t">Re-transmission Timer(RobE_TIMER)</name>
        <t indent="0" pn="section-2.1-1">In RobE_TIMER, a new connection is initiated by sending a SYN+MP_CAPABLE
along the initial path. If this path is functional, the solution will
perform in the same way as classic MPTCP: the initial flow will be
established, and subsequent flows can be created afterwards. If however
the initial path is faulty, the retransmission will be triggered on
another path. This path might circumvent the dysfunctional network, and
allow the client to create an initial subflow. The first path is now
seen as a subsequent path and the client sends SYN+MP_JOIN messages to
create a subsequent flow.</t>
        <t indent="0" pn="section-2.1-2">In high latency networks, the initial SYN+MP_CAPABLE messages might be
delayed until the client retries sending them on another path. Once the
second SYN arrives at the server, it will try to complete the three-way
handshake. If the first SYN was delayed by more than the retransmission
time plus half a Round Trip Time (RTT) of the second path, it will
arrive at the server after the second SYN. The server could now treat
the segment as obsolete and drop it.</t>
        <figure anchor="ref-timer" align="left" suppress-title="false" pn="figure-2">
          <name slugifiedName="name-the-robe_timer-solution">The RobE_TIMER Solution</name>
          <artwork align="center" name="" type="" alt="" pn="section-2.1-3.1"><![CDATA[
       Host A                                    Host B
------------------------                       ----------
Address A1    Address A2                       Address B1
----------    ----------                       ----------
    |             |                                |
    |            SYN + MP_CAPABLE(Key-A[*])        |
    |Timer---------------------------------------->|
    |             |   SYN + MP_CAPABLE(Key-A'[*])  |
    |             |------------------------------->|
    |             |   SYN/ACK+MP_CAPABLE(Key-B')   |
    |             |<-------------------------------|
    |             | ACK + MP_CAPABLE(Key-A',Key-B')|
    |             |------------------------------->|
    |             |   SYN + MP_JOIN(Token-B',R-A)  |
    |--------------------------------------------->|
    |   Subflow will be set up as normal MPTCP     |
    |                                              |

     [*] Key-A in the first MP-capable is related to
      RFC6824 only and does not exist in RFC8684.
]]></artwork>
        </figure>
        <t indent="0" pn="section-2.1-4">Immediately after sending the final ACK of the initial handshake, subflows
are established on the remaining paths as defined in <xref target="RFC6824" format="default" sectionFormat="of" derivedContent="RFC6824"/> and <xref target="RFC8684" format="default" sectionFormat="of" derivedContent="RFC8684"/></t>
        <t indent="0" pn="section-2.1-5">[Notes: How to set the Timer is TBD. If there is the case that the first
SYN on default path arrives earlier than that from the second path, the MPTCP
connection will be initialized on the path of the first SYN. The server could
treat the second SYN as obsolete and drop it.]</t>
      </section>
      <section anchor="robe_sim" numbered="true" toc="include" removeInRFC="false" pn="section-2.2">
        <name slugifiedName="name-simultaneous-initial-paths-">Simultaneous Initial Paths Simple Version (RobE_SIM)</name>
        <t indent="0" pn="section-2.2-1">RobE_SIM is a sender only implementation and no prior negotiation with
the receiver side is required. In RobE_SIM, the MPTCP connection setup
benefits from the fastest path. As shown in <xref target="ref_mptcp_robe_sim_signaling" format="default" sectionFormat="of" derivedContent="Figure 3"/>,
host A initiates the connection handshake on more than one path
independently (SA1 and SA2). The paths selected for RobE_SIM and
referred to as potential initial flows, can belong to the number of
interfaces on the device or a subset selected on experience. When Host A
receives the first SYN/ACK back from Host B (SA3), the path carrying
this message is identified as the normal initial path. Host A sends then
immediately a TCP RST message (SA6.1) on any other path used for
simultaneous connection setup causing an immediate termination of
assigned flows (break-before-make). The terminated ones are merged as
subsequent subflows following the JOIN procedure described in
<xref target="RFC6824" format="default" sectionFormat="of" derivedContent="RFC6824"/> and <xref target="RFC8684" format="default" sectionFormat="of" derivedContent="RFC8684"/>. The process is equivalent to any other
scenario where the SYN/ACK arrives on an other path than depicted in
<xref target="ref_mptcp_robe_sim_signaling" format="default" sectionFormat="of" derivedContent="Figure 3"/>.</t>
        <figure anchor="ref_mptcp_robe_sim_signaling" align="left" suppress-title="false" pn="figure-3">
          <name slugifiedName="name-mptcp-robe_sim-connection-s">MPTCP RobE_SIM Connection Setup</name>
          <artwork align="center" name="" type="" alt="" pn="section-2.2-2.1"><![CDATA[
                Host A                                  Host B
        ------------------------                       ----------
        Address A1    Address A2                       Address B1
        ----------    ----------                       ----------
            |             |                                |
            |            SYN + MP_CAPABLE(Key-A[*])        |
    (SA1)   |--------------------------------------------->|  (SB1)
            |             |    SYN + MP_CAPABLE(Key-A'[*]) |
    (SA2)   |             |------------------------------->|  (SB2)
            |             |                                |
    (SA3)   |<---------------------------------------------|  (SB3)
            |          SYN/ACK + MP_CAPABLE(Key-B)         |
    (SA4)   |             |<-------------------------------|  (SB4)
            |             |   SYN/ACK + MP_CAPABLE(Key-B') |
            |             |                                |
            |        ACK + MP_CAPABLE(Key-A, Key-B)        |
    (SA5)   |--------------------------------------------->|  (SB5)
            |             |             RST                |
    (SA6.1) |             |------------------------------->|  (SB6.1)
   RobE SIM |             |   SYN + MP_JOIN(Token-B, R-A)  |
   (robust) |             |------------------------------->|
            |             |         MP_JOIN Process...     |

            [*] Key-A in the first MP-capable is related to
                RFC6824 only and does not exist in RFC8684.
]]></artwork>
        </figure>
      </section>
      <section anchor="robe_ips" numbered="true" toc="include" removeInRFC="false" pn="section-2.3">
        <name slugifiedName="name-heuristic-initial-path-sele">Heuristic Initial Path Selection (RobE_IPS)</name>
        <section anchor="arc_1" numbered="true" toc="include" removeInRFC="false" pn="section-2.3.1">
          <name slugifiedName="name-architecture">Architecture</name>
          <t indent="0" pn="section-2.3.1-1"><xref target="ref_ips_arc" format="default" sectionFormat="of" derivedContent="Figure 4"/> provides the architecture for RobE_IPS and employs an "Initial Path Selection"
logic which can be integrated into the MPTCP stack or exists as an isolated
module in the terminal. The IPS logic has access to a set of transmission
status information for each available path or its belonging network interfaces.
When an application starts a first communication, IPS selects based on the
available path transmission characteristics the path with the highest probability
to succeed.</t>
          <figure anchor="ref_ips_arc" align="left" suppress-title="false" pn="figure-4">
            <name slugifiedName="name-architecture-for-initial-pa">Architecture for Initial-path Selection</name>
            <artwork align="center" name="" type="" alt="" pn="section-2.3.1-2.1"><![CDATA[
+-------------------+              +-------------------+
|     Terminal      |              |      Server       |
|  +-------------+  |              |  +-------------+  |
|  |Application n|  |              |  |Application n|  |
|  +-------------+  |              |  +-------------+  |
|        |          |              |         |         |
|  +-------------+  |              |         |         |
|  |Initial-path |  |-------+      |         |         |
|  |  Selection  |  |       |      |         |         |
|  +-------------+  |       |      |         |         |
|        |          |  +--------+  |         |         |
|  +-------------+  |--|Internet|--|  +-------------+  |
|  | MPTCP Stack |  |--+--------+--|  | MPTCP Stack |  |
|  +-------------+  |              |  +-------------+  |
+-------------------+              +-------------------+
]]></artwork>
          </figure>
        </section>
        <section anchor="typical_flow_1" numbered="true" toc="include" removeInRFC="false" pn="section-2.3.2">
          <name slugifiedName="name-typical-scenarios">Typical Scenarios</name>
          <t indent="0" pn="section-2.3.2-1">Two typical RobE_IPS scenarios are presented in this
section. <xref target="ref_mptcp_robe_ips_est" format="default" sectionFormat="of" derivedContent="Figure 5"/> shows the "Initial Path
Selection" logic executed for each MPTCP connection establishment.
On the other hand <xref target="ref_mptcp_robe_ips_default" format="default" sectionFormat="of" derivedContent="Figure 6"/> describes that
"Initial Path Selection" in case no path information is available.
Considering the fact that no heuristics are given before a recent MPTCP connection
was established, the default initial path can be adopted. Further combinations
and implementations with more or less sophisticated heuristics are possible.</t>
          <figure anchor="ref_mptcp_robe_ips_est" align="left" suppress-title="false" pn="figure-5">
            <name slugifiedName="name-robe_ips-for-each-connectio">RobE_IPS for each connection establishment</name>
            <artwork align="center" name="" type="" alt="" pn="section-2.3.2-2.1"><![CDATA[
     +---------------+
     |  Application  |
     |    Request    |
     +---------------+
             |
             V
     +---------------+
+--->| Initial-path  |<---+
|    |   Selection   |    |
|    +---------------+    |
|            |            |
|            V            |Info
|    +---------------+    |
|    |  Set initial  |----+
|    |     path      |
|    |   for MPTCP   |
|    +---------------+
|            |
|            V
|    +---------------+
|No  |Establish MPTCP|
+----|  Connection   |
     +---------------+
             |Yes
             V
]]></artwork>
          </figure>
          <figure anchor="ref_mptcp_robe_ips_default" align="left" suppress-title="false" pn="figure-6">
            <name slugifiedName="name-robe_ips-using-default-rout">RobE_IPS using default route when no meaningful heuristic available</name>
            <artwork align="center" name="" type="" alt="" pn="section-2.3.2-3.1"><![CDATA[
       +--------------+
       |  Application |
       |    Request   |
       +--------------+
               |
               V
       +--------------+Yes
       |     First    |------------+
       |  Connection? |            |
       +--------------+            |
               |No                 |
               V                   |
       +--------------+            V
+----->| Initial-path |<-+     +-------+
|      |   Selection  |  |     |Default|
|      +--------------+  |     |initial|
|              |         |     |  path |
|              |         |     +-------+
|              V         |Info     |
|      +--------------+  |         |
|      |  Set initial |--+         |
|      |     path     |            |
|      |   for MPTCP  |            |
|      +--------------+            |
|              |                   |
|              V                   |
|No    +--------------+            |
+------| Successful? |<-----------+
       +--------------+
               |Yes
               V

]]></artwork>
          </figure>
          <t indent="0" pn="section-2.3.2-4"><xref target="ref_mptcp_robe_ips_proc" format="default" sectionFormat="of" derivedContent="Figure 7"/> shows the process flow of "Initial Path
Selection". Upon a request from an application, the IPS logic will
acquire transmission status information which represents the
transmission performance of each available path or network interface
and evaluate it.
The transmission status information is characterized by at least one
of the parameters: signal strength, throughput, round-trip time (RTT),
and link success rate. In this way, the path with the best
transmission performance can be determined and used for connection
establishment.</t>
          <figure anchor="ref_mptcp_robe_ips_proc" align="left" suppress-title="false" pn="figure-7">
            <name slugifiedName="name-implementation-process-for-">Implementation process for Initial Path Selection</name>
            <artwork align="center" name="" type="" alt="" pn="section-2.3.2-5.1"><![CDATA[
             |
             V
+---------------------------+
|Acquire transmission status|
| info for available paths  |
+---------------------------+
             |
             V
+---------------------------+
|   Evaluating the status   |
|    for available paths    |
+---------------------------+
             |No
             V
+---------------------------+
| Determining an available  |
|     path with better      |
|      transmission         |
|      performance          |
+---------------------------+
             |
             V
+---------------------------+
|     Using the network     |
|         interface         |
|corresponding to the path |
| with better transmission  |
|performance for connection |
|       establishment       |
+---------------------------+
             |
             V
]]></artwork>
          </figure>
        </section>
        <section anchor="path_decision_info" numbered="true" toc="include" removeInRFC="false" pn="section-2.3.3">
          <name slugifiedName="name-path-decision-information">Path decision information</name>
          <t indent="0" pn="section-2.3.3-1">The level of heuristic can be mainly divided into three layers: application
level, transport-layer level and link-layer level based on the information
acquisition method. For example, RTT can be calculated for each path within
an MPTCP connection and belongs thereof to the transport-layer level.
The transmission status information for each available path SHOULD be characterized
by at least one of the parameters: signal strength, throughput, RTT, and link
success rate.
Application level information are more seen for statistical purposes.</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-2.3.3-2">
            <li pn="section-2.3.3-2.1">Application level: application name, domain name, port number, and location.</li>
            <li pn="section-2.3.3-2.2">Transport-layer level: RTT, CWND, Error rate.</li>
          </ul>
        </section>
        <section anchor="initial_path_selected_on_RTT" numbered="true" toc="include" removeInRFC="false" pn="section-2.3.4">
          <name slugifiedName="name-initial-path-selection-use-">Initial Path Selection use local RTT information</name>
          <t indent="0" pn="section-2.3.4-1"><xref target="ref_mptcp_robe_ips_rtt" format="default" sectionFormat="of" derivedContent="Figure 8"/> presents an "Initial Path Selection" logic
based on RTT, e.g. assuming two paths over LTE and WiFi access.
RTT calculation on the transport layer usually
reflects the time when an information is sent and a related acknowledgment
received. For an asymmetric usage (e.g. download only) of a communication
it might happen that recent RTT calculation is only available on sender side
which is possibly not the side which employs the IPS logic. A solution for
this can be found in <xref target="robe_ips_ext" format="default" sectionFormat="of" derivedContent="Section 3.2"/>. Instead of using the most
recent RTT value of a path a filtered value consisting
of several measured RTTs can be used. A RTT can also be derived from link
layer information but may have a limited meaning only when it does not
represent the end-to-end latency.</t>
          <figure anchor="ref_mptcp_robe_ips_rtt" align="left" suppress-title="false" pn="figure-8">
            <name slugifiedName="name-initial-path-selection-base">Initial-path Selection based on RTT</name>
            <artwork align="center" name="" type="" alt="" pn="section-2.3.4-2.1"><![CDATA[
+-------------------+
|    New Session    |
+-------------------+
          |
          V
+-------------------+ No
|Running Connections|-----------+
|(LTE.RTT<WiFi.RTT) |           |
+-------------------+           |
          |Yes                  |
          V                     V
+-------------------+   +----------------+
|     Set LTE as    |   |   Set WiFi as  |
|    initial path   |   |  initial path  |
+-------------------+   +----------------+
]]></artwork>
          </figure>
        </section>
      </section>
      <section anchor="comb_sim_and_ips" numbered="true" toc="include" removeInRFC="false" pn="section-2.4">
        <name slugifiedName="name-combination-of-robe_sim-and">Combination of RobE_SIM and RobE_IPS</name>
        <t indent="0" pn="section-2.4-1">In an implementation, a single solution may not be sufficient to achieve an expected
behavior. Combination of approaches to improve robustness is recommended
therefore. <xref target="ref_mptcp_comb_robe_sim_ips" format="default" sectionFormat="of" derivedContent="Figure 9"/> shows the combination of
RobE_SIM and RobE_IPS. RobE_SIM can be used at the
very beginning when the sender is without any path information followed by
RobE_IPS for consecutive connections.</t>
        <figure anchor="ref_mptcp_comb_robe_sim_ips" align="left" suppress-title="false" pn="figure-9">
          <name slugifiedName="name-combination-of-robe_sim-and-">Combination of RobE_SIM and RobE_IPS</name>
          <artwork align="center" name="" type="" alt="" pn="section-2.4-2.1"><![CDATA[
       +--------------+
       |  Application |
       |    Request   |
       +--------------+
               |
               V
       +--------------+
+----->| Any data for | No
|      | Initial Path |----------+
|      |  Selection?  |          |
|      +--------------+          |
|              |                 |
|              V                 V
|      +--------------+     +--------+
|      | Initial-path |     |RobE_SIM|
|      |  Selection   |<-+  +--------+
|      +--------------+  |       |
|              |         |       |
|              V         |Info   |
|      +---------------+ |       |
|No    |Establish MPTCP|-+       |
+------|  Connection   |<--------+
       +---------------+
               |
               V
 No    +---------------+
<------|  Successful ? |
Network+---------------+
Problem        |Yes
               V
]]></artwork>
        </figure>
      </section>
      <section anchor="comb_timer_and_ips" numbered="true" toc="include" removeInRFC="false" pn="section-2.5">
        <name slugifiedName="name-combination-of-robe_timer-a">Combination of RobE_TIMER and RobE_IPS</name>
        <t indent="0" pn="section-2.5-1">Since RobE_IPS solely does not guarantee that a session can be set up
based on the selection of initial path, it can also be combined with
RobE_TIMER which generates less overhead compared to the combination
with RobE_SIM in <xref target="comb_sim_and_ips" format="default" sectionFormat="of" derivedContent="Section 2.4"/> and guarantees session setup.
RobE_TIMER can be introduced to optimize the control of path switching
when the initial path selected by RobE_IPS is dysfunctional. When the
system enables RobE_IPS and uses the selected initial path for session
establishment, it sets the timer for path switching. When timer is
expired, the system will change to another path to re-establish
connection according to <xref target="robe_timer" format="default" sectionFormat="of" derivedContent="Section 2.1"/>.</t>
        <figure anchor="ref_mptcp_comb_robe_timer_ips" align="left" suppress-title="false" pn="figure-10">
          <name slugifiedName="name-combination-of-robe_timer-an">Combination of RobE_Timer and RobE_IPS</name>
          <artwork align="center" name="" type="" alt="" pn="section-2.5-2.1"><![CDATA[
       +---------------+
       |  Application  |
       |    Request    |
       +---------------+
               |
               V
       +---------------+
       |  Initial Path |
|----->|   Selection   |
|      | and Set Timer |
|      +---------------+
|              |
|              V
|Yes   +---------------+
+------| Timer is up?  |
       +---------------+
               |No
               V
       +---------------+
       |Establish MPTCP|
       |  Connection   |
       +---------------+
               |
               V
 No    +---------------+
<------|  Successful?  |
Network+---------------+
Problem        |Yes
               V
]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="bi_impl" numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-implementation-with-bi-dire">Implementation with Bi-directional MPTCP Support</name>
      <t indent="0" pn="section-3-1">Solutions which requires bi-directional support between two MPTCP hosts promise
to have better and possibly more features. However, they cannot be defined
without extending current standards in <xref target="RFC6824" format="default" sectionFormat="of" derivedContent="RFC6824"/> and
<xref target="RFC8684" format="default" sectionFormat="of" derivedContent="RFC8684"/>. The RobE_SIM and RobE_IPS approach are
both capable of profiting from an explicit support of the remote end
host and will be defined within this section.</t>
      <section anchor="robe_ext" numbered="true" toc="include" removeInRFC="false" pn="section-3.1">
        <name slugifiedName="name-simultaneous-initial-paths-e">Simultaneous Initial Paths Extended Version (RobE_eSIM)</name>
        <t indent="0" pn="section-3.1-1">RobE_eSIM extends RobE_SIM by reusing the potential initial flows. This
eliminates the overhead from RobE_SIM by introducing a new option
MP_JOIN_CAP and accelerate the transmission speed by early availability
of multiple paths. Further it relaxes the dependency on a reliable third
ACK of the 3-way handshake in <xref target="RFC8684" format="default" sectionFormat="of" derivedContent="RFC8684"/>. Remote endpoint support can
be negotiated in two ways, an implicit one described in
<xref target="robe_esim_implicit" format="default" sectionFormat="of" derivedContent="Section 3.1.1"/> or an explicit on which is described in <xref target="robe_esim_explicit" format="default" sectionFormat="of" derivedContent="Section 3.1.2"/>.</t>
        <section anchor="robe_esim_implicit" numbered="true" toc="include" removeInRFC="false" pn="section-3.1.1">
          <name slugifiedName="name-robe_esim-implicit-negotiat">RobE_eSIM implicit Negotiation and Procedure</name>
          <t indent="0" pn="section-3.1.1-1">Similar to RobE_SIM in <xref target="robe_sim" format="default" sectionFormat="of" derivedContent="Section 2.2"/>, the establishment process of
<xref target="RFC6824" format="default" sectionFormat="of" derivedContent="RFC6824"/> or <xref target="RFC8684" format="default" sectionFormat="of" derivedContent="RFC8684"/> is applied independently on multiple paths
simultaneously. In <xref target="ref_mptcp_robe_eSIM_implicit_signaling" format="default" sectionFormat="of" derivedContent="Figure 11"/> this is
shown in SA1 and SA2. The first path which returns a SYN/ACK (e.g. SA3)
is selected as the initial path and proceeds with the traditional
establishment process (SA5). Any other path which has to send the final
ACK of the 3-way handshake includes a new option MP_JOIN_CAP (see
definition in <xref target="mp_join_cap_opt" format="default" sectionFormat="of" derivedContent="Section 3.1.3.2"/>) instead of an MP_CAPABLE (SA6.2).</t>
          <figure anchor="ref_mptcp_robe_eSIM_implicit_signaling" align="left" suppress-title="false" pn="figure-11">
            <name slugifiedName="name-mptcp-robe_esim-implicit-co">MPTCP RobE_eSIM implicit Connection Setup</name>
            <artwork align="center" name="" type="" alt="" pn="section-3.1.1-2.1"><![CDATA[
                Host A                                  Host B
        ------------------------                       ----------
        Address A1    Address A2                       Address B1
        ----------    ----------                       ----------
            |             |                                |
            |            SYN + MP_CAPABLE(Key-A[*])        |
    (SA1)   |--------------------------------------------->|  (SB1)
            |             |    SYN + MP_CAPABLE(Key-A'[*]) |
    (SA2)   |             |------------------------------->|  (SB2)
            |             |                                |
    (SA3)   |<---------------------------------------------|  (SB3)
            |          SYN/ACK + MP_CAPABLE(Key-B)         |
    (SA4)   |             |<-------------------------------|  (SB4)
            |             |   SYN/ACK + MP_CAPABLE(Key-B') |
            |             |                                |
            |        ACK + MP_CAPABLE(Key-A, Key-B)        |
    (SA5)   |--------------------------------------------->|  (SB5)
            |             |                                |
    (SA6.2) |             |                                |  (SB6.2)
   RobE EXT |             | ACK + MP_JOIN_CAP(Key-A, HMAC) |
   (+fast)  |             |------------------------------->|

            [*] Key-A in the first MP-capable is related to
                RFC6824 only and does not exist in RFC8684.
]]></artwork>
          </figure>
          <t indent="0" pn="section-3.1.1-3">Following the possible process in
<xref target="ref_mptcp_robe_eSIM_implicit_signaling" format="default" sectionFormat="of" derivedContent="Figure 11"/>, two further constellations
are imaginable and elaborated below.</t>
          <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-3.1.1-4"><li pn="section-3.1.1-4.1" derivedCounter="1.">In the flow diagram <xref target="ref_mptcp_robe_eSIM_implicit_signaling" format="default" sectionFormat="of" derivedContent="Figure 11"/>,
  A1&lt;-&gt;B1 is assumed to be the initial flow. A2&lt;-&gt;B1 shall be recycled and
  the ACK is sent with MP_JOIN_CAP. Furthermore, the MP_CAPABLE
  arrives first at Host B (SB5) and the MP_JOIN_CAP afterwards
  (SB6.2). When the MP_JOIN_CAP is received, Host B has to iterate
  over the connection list once (like MP_JOIN)
  and check for Key-A availability. If a Key-A connection is found, this one
  is validated against the HMAC value. The validation has two reasons: first,
  several Key-A can exist, because different hosts may choose the same Key-A
  by accident. Furthermore, no one can join a connection by just
  recording/brute-forcing
  Key-A and duplicating the request.</li>
            <li pn="section-3.1.1-4.2" derivedCounter="2.">
              <t indent="0" pn="section-3.1.1-4.2.1">Like above, but MP_JOIN_CAP arrives before last MP_CAPABLE at Host B  </t>
              <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3.1.1-4.2.2">
                <li pn="section-3.1.1-4.2.2.1">
                  <xref target="RFC8684" format="default" sectionFormat="of" derivedContent="RFC8684"/>;
 Based on Key-A, Host B will iterate over the connection list, but it will
 not find a match, because Key-A of the previous selected initial flow (SA3,
 SA5) has not arrived yet. So it will continue with a fast iteration only
 over the connections which are still in establishment phase using the 10
 bit Key-B fast hash (crc16(Key-B) &amp; 0x3FF). If it matches against a (precomputed)
 existing Key-B_fast_hash in the connection list, it will validate the request
 using the HMAC(Key-A+B+B') to ensure legitimation. If successful, both, the
 initial flow and the MP_JOIN_CAP flow, can be immediately established. This
 is true, because without the knowledge of Key-B, Host A could not calculate
 the HMAC. So it is clear, that Host A had received the SYN/ACK (SB3). This
 also mitigates the exchange of a reliable ACK during the handshake process.
 MPTCP sends the Key-A only with the last ACK and therefore prevents subsequent
 flow establishment until successful reception at Host B. Using RobE_EXT,
 the reception of an MP_JOIN_CAP (<xref target="RFC8684" format="default" sectionFormat="of" derivedContent="RFC8684"/>) is
 sufficient to establish both, the path carrying Key-B and Key-B'.</li>
                <li pn="section-3.1.1-4.2.2.2">
                  <xref target="RFC6824" format="default" sectionFormat="of" derivedContent="RFC6824"/>;
 Can match based on Key-A, same effort as for an MP_JOIN.</li>
              </ul>
            </li>
            <li pn="section-3.1.1-4.3" derivedCounter="3.">A2&lt;-&gt;B1 is selected as initial flow, because the respective SYN/ACK returns
  earlier at Host A. It is the same as above, just the other way round.</li>
          </ol>
        </section>
        <section anchor="robe_esim_explicit" numbered="true" toc="include" removeInRFC="false" pn="section-3.1.2">
          <name slugifiedName="name-robe_esim-explicit-negotiat">RobE_eSIM explicit Negotiation and Procedure</name>
          <t indent="0" pn="section-3.1.2-1">The process of an explicit negotiation of RobE_eSIM follows
<xref target="ref_mptcp_robe_eSIM_implicit_signaling" format="default" sectionFormat="of" derivedContent="Figure 11"/> but uses the ROBE_eSIM_EN
option <xref target="ref-robe-ext-en-option" format="default" sectionFormat="of" derivedContent="Figure 13"/> additionally during the handshake
procedure.</t>
          <figure anchor="ref_mptcp_robe_eSIM_signaling" align="left" suppress-title="false" pn="figure-12">
            <name slugifiedName="name-mptcp-robe_esim-explicit-co">MPTCP RobE_eSIM explicit Connection Setup</name>
            <artwork align="center" name="" type="" alt="" pn="section-3.1.2-2.1"><![CDATA[
         Host A                                        Host B
------------------------                             ----------
Address A1    Address A2                             Address B1
----------    ----------                             ----------
    |             |                                        |
    |      SYN+MP_CAPABLE+ROBE_eSIM_EN(Key-A[*])           |
    |----------------------------------------------------->|
    |             | SYN+MP_CAPABLE+ROBE_eSIM_EN(Key-A'[*]) |
    |             |--------------------------------------->|
    |      SYN/ACK+MP_CAPABLE+ROBE_eSIM_EN(Key-B)          |
    |<---------------------------------------------------->|
    |             | SYN/ACK+MP_CAPABLE+ROBE_eSIM_EN(Key-B')|
    |             |<---------------------------------------|
    |      ACK+MP_CAPABLE(Key-A,Key-B)                     |
    |----------------------------------------------------->|
    |             |                                        |
    |             |  ACK+MP_JOIN_CAP(Key-A,HMAC)           |
    |             |--------------------------------------->|
    |             |                                        |

      [*] Key-A in the first MP-capable is related to
          RFC6824 only and does not exist in RFC8684.
]]></artwork>
          </figure>
        </section>
        <section anchor="pro_adpt_1" numbered="true" toc="include" removeInRFC="false" pn="section-3.1.3">
          <name slugifiedName="name-protocol-adaptation">Protocol Adaptation</name>
          <section anchor="robe_ext_en_opt" numbered="true" toc="exclude" removeInRFC="false" pn="section-3.1.3.1">
            <name slugifiedName="name-robe_esim_en-option">ROBE_eSIM_EN Option</name>
            <figure anchor="ref-robe-ext-en-option" align="left" suppress-title="false" pn="figure-13">
              <name slugifiedName="name-robe_esim_en_option">ROBE_eSIM_EN_OPTION</name>
              <artwork align="center" name="" type="" alt="" pn="section-3.1.3.1-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
+---------------+---------------+-------+-------+---------------+
|     Kind      |    Length     |Subtype|    (reserved)         |
+---------------+---------------+-------+-------+---------------+
]]></artwork>
            </figure>
          </section>
          <section anchor="mp_join_cap_opt" numbered="true" toc="exclude" removeInRFC="false" pn="section-3.1.3.2">
            <name slugifiedName="name-mp_join_cap-option">MP_JOIN_CAP Option</name>
            <figure anchor="ref-mp-join-cap" align="left" suppress-title="false" pn="figure-14">
              <name slugifiedName="name-mp_join_cap">MP_JOIN_CAP</name>
              <artwork name="" type="" align="left" alt="" pn="section-3.1.3.2-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
+---------------+---------------+-------+-------+---------------+
|     Kind      |    Length     |Subtype|       |    ADDR_ID    |
+---------------+---------------+-------+-------+---------------+
|                    Sender's Key-A (64 bits)                   |
|                                                               |
|                                                               |
+---------------------------------------------------------------+
|                        HMAC (>=96 bits)                       |
|                                                               |
|                                                               |
:                                                               :
+---------------------------------------------------------------+
 Key-B_fast_hash = crc16(Key-B) & 0x3FF          -> (10bit)
 HMAC_keys =  HMAC(Key-A+Key-B+Key-B')           -> (>=96bit)
 HMAC =  (HMAC_keys & ~0x3FF) | Key-B_fast_hash  -> (size HMAC_keys)

]]></artwork>
            </figure>
            <t indent="0" pn="section-3.1.3.2-2">Computational effort on receiver side is most often expected to be the same
as with MP_JOIN. Key-A ensures identification of related flows Key-B_fast_hash
enables MP session even when selected initial flow is not fully established
yet (slight computational overhead). HMAC authenticates relationship of initial
and potential initial flows.</t>
          </section>
        </section>
        <section anchor="fallback_1" numbered="true" toc="include" removeInRFC="false" pn="section-3.1.4">
          <name slugifiedName="name-fallback-mechanisms">Fallback Mechanisms</name>
          <section anchor="robe_fallback_0" numbered="true" toc="exclude" removeInRFC="false" pn="section-3.1.4.1">
            <name slugifiedName="name-fallback-mechanism-for-impl">Fallback mechanism for implicit RobE_eSIM</name>
            <t indent="0" pn="section-3.1.4.1-1">[TBD]</t>
          </section>
          <section anchor="robe_fallback_1" numbered="true" toc="exclude" removeInRFC="false" pn="section-3.1.4.2">
            <name slugifiedName="name-fallback-mechanism-for-expl">Fallback mechanism for explicit RobE_eSIM</name>
            <t indent="0" pn="section-3.1.4.2-1">This mechanism considers that both sides support MPTCP capability but the
receiver is not equipped with RobE_eSIM. MPTCP session with RobE_eSIM negotiation
will seamlessly fallback to normal MPTCP process.</t>
            <t indent="0" pn="section-3.1.4.2-2">[Requires further check how an unaware Host B reacts on possible ROBE_eSIM_EN;
Ignore or RST? See also RFC6824 Sec. 3.6 "Should fallback [...] the path
does not support the MPTCP options"]</t>
            <figure anchor="ref_fallback_1" align="left" suppress-title="false" pn="figure-15">
              <name slugifiedName="name-fallback-to-mptcp-when-miss">Fallback to MPTCP when missing RobE_eSIM support</name>
              <artwork align="center" name="" type="" alt="" pn="section-3.1.4.2-3.1"><![CDATA[
          Host A                              Host B
------------------------                    ----------
Address A1    Address A2                    Address B1
----------    ----------                    ----------
    |             |                             |
    |      SYN+MP_CAPABLE+ROBE_eSIM_EN          |
    |------------------------------------------>|
    |             | SYN+MP_CAPABLE+ROBE_eSIM_EN |
    |             |---------------------------->|
    |         SYN/ACK+MP_CAPABLE                |
    |<----------------------------------------->|
    |             |    SYN/ACK+MP_CAPABLE       |
    |             |<----------------------------|
    |       ACK+MP_CAPABLE                      |
    |------------------------------------------>|
    |             |          RST                |
    |             |---------------------------->|
    |             |       SYN+MP_JOIN           |
    |             |---------------------------->|
    |             |     MP_JOIN Process...      |
    |             |                             |
]]></artwork>
            </figure>
          </section>
          <section anchor="robe_fallback_2" numbered="true" toc="exclude" removeInRFC="false" pn="section-3.1.4.3">
            <name slugifiedName="name-fallback-to-regular-tcp-whe">Fallback to regular TCP when missing MPTCP support</name>
            <t indent="0" pn="section-3.1.4.3-1">When the receiver is not MPTCP enabled, MPTCP session with RobE_eSIM negotiation
will seamlessly fallback to regular process which is illustrated in this
section.</t>
            <figure anchor="ref_fallback_2" align="left" suppress-title="false" pn="figure-16">
              <name slugifiedName="name-fallback-to-tcp-without-mpt">Fallback to TCP without MPTCP support</name>
              <artwork align="center" name="" type="" alt="" pn="section-3.1.4.3-2.1"><![CDATA[
          Host A                              Host B
------------------------                    ----------
Address A1    Address A2                    Address B1
----------    ----------                    ----------
    |             |                             |
    |      SYN+MP_CAPABLE+ROBE_eSIM_EN          |
    |------------------------------------------>|
    |             | SYN+MP_CAPABLE+ROBE_eSIM_EN |
    |             |---------------------------->|
    |         SYN/ACK                           |
    |<----------------------------------------->|
    |             |    SYN/ACK                  |
    |             |<----------------------------|
    |           ACK                             |
    |------------------------------------------>|
    |             |          RST                |
    |             |---------------------------->|
    |             |   Regular TCP Process...    |
    |             |                             |
]]></artwork>
            </figure>
          </section>
        </section>
        <section anchor="comparison-robesim-and-robeesim" numbered="true" toc="include" removeInRFC="false" pn="section-3.1.5">
          <name slugifiedName="name-comparison-robe_sim-and-rob">Comparison Robe_SIM and RobE_eSIM</name>
          <t indent="0" pn="section-3.1.5-1">Potential initial flows in RobE_SIM <xref target="robe_sim" format="default" sectionFormat="of" derivedContent="Section 2.2"/> and RobE_eSIM
<xref target="robe_ext" format="default" sectionFormat="of" derivedContent="Section 3.1"/> guarantee MPTCP session establishment if at least one
selected path for session establishment is
functional. <xref target="ref-mptcp-robe-sim-and-robe-ext-signaling" format="default" sectionFormat="of" derivedContent="Figure 17"/> makes the
differences between both approaches visible and points to the latest
decision possibility during session setup when RobE_SIM or RobE_eSIM
can be selected. Until SA5 in
<xref target="ref-mptcp-robe-sim-and-robe-ext-signaling" format="default" sectionFormat="of" derivedContent="Figure 17"/> traditional MPTCP
connection setup is independently applied on multiple paths
simultaneously and offers to select the initial flow later (potential
initial flows). The final decision which path is selected as the main
one and the handling of the remaining flow(s) differs in SA6.1 when
RobE_SIM is applied or instead SA6.2 RobE_eSIM.</t>
          <figure anchor="ref-mptcp-robe-sim-and-robe-ext-signaling" align="left" suppress-title="false" pn="figure-17">
            <name slugifiedName="name-mptcp-robe_sim-and-robe_esi">MPTCP RobE_SIM and RobE_eSIM connection setup</name>
            <artwork name="" type="" align="left" alt="" pn="section-3.1.5-2.1"><![CDATA[
             Host A                                  Host B
     ------------------------                       ----------
     Address A1    Address A2                       Address B1
     ----------    ----------                       ----------
         |             |                                |
         |            SYN + MP_CAPABLE(Key-A[*])        |
 (SA1)   |--------------------------------------------->|  (SB1)
         |             |    SYN + MP_CAPABLE(Key-A'[*]) |
 (SA2)   |             |------------------------------->|  (SB2)
         |             |                                |
 (SA3)   |<---------------------------------------------|  (SB3)
         |          SYN/ACK + MP_CAPABLE(Key-B)         |
 (SA4)   |             |<-------------------------------|  (SB4)
         |             |   SYN/ACK + MP_CAPABLE(Key-B') |
         |             |                                |
         |        ACK + MP_CAPABLE(Key-A, Key-B)        |
 (SA5)   |--------------------------------------------->|  (SB5)
         |             |             RST                |
 (SA6.1) |             |------------------------------->|  (SB6.1)
RobE SIM |             |                                |
(robust) |             |                                |
-------------------------------------------------------------------
RobE EXT |             |                                |
(+fast)  |             | ACK + MP_JOIN_CAP(Key-A, HMAC) |
 (SA6.2) |             |------------------------------->|  (SB6.2)

         [*] Key-A in the first MP-capable is related to
             RFC6824 only and does not exist in RFC8684.
]]></artwork>
          </figure>
        </section>
        <section anchor="sec_con_1" numbered="true" toc="include" removeInRFC="false" pn="section-3.1.6">
          <name slugifiedName="name-security-consideration">Security Consideration</name>
          <t indent="0" pn="section-3.1.6-1">[Tbd, however no differences to <xref target="RFC6824" format="default" sectionFormat="of" derivedContent="RFC6824"/> and
<xref target="RFC8684" format="default" sectionFormat="of" derivedContent="RFC8684"/> are expected]</t>
        </section>
      </section>
      <section anchor="robe_ips_ext" numbered="true" toc="include" removeInRFC="false" pn="section-3.2">
        <name slugifiedName="name-heuristic-initial-path-selec">Heuristic Initial Path Selection with remote RTT Measurement</name>
        <section anchor="Des" numbered="true" toc="include" removeInRFC="false" pn="section-3.2.1">
          <name slugifiedName="name-description">Description</name>
          <t indent="0" pn="section-3.2.1-1">Usually the path RTT can be determined by a time difference between
sending a package and receiving an ACK and is integrated into the TCP
protocol. For asymmetric transmission, the latest RTT for TCP flows is
calculated by the side which sends data at latest and possible does not
correspond to the site which employs RobE_IPS. This problem is already
elaborated in <xref target="initial_path_selected_on_RTT" format="default" sectionFormat="of" derivedContent="Section 2.3.4"/> and can be solved by
transmitting the RTT information per subflow. The negotiation procedure
is depicted in <xref target="ref_robe_ips_ext" format="default" sectionFormat="of" derivedContent="Figure 18"/> and uses the MPTCP option L_RTT_EN
defined in <xref target="pro_adpt_2" format="default" sectionFormat="of" derivedContent="Section 3.2.2"/>.</t>
          <figure anchor="ref_robe_ips_ext" align="left" suppress-title="false" pn="figure-18">
            <name slugifiedName="name-negotiation-procedure-for-r">Negotiation procedure for RTT exchange</name>
            <artwork align="center" name="" type="" alt="" pn="section-3.2.1-2.1"><![CDATA[
        Host A                                Host B
------------------------                    ----------
Address A1    Address A2                    Address B1
----------    ----------                    ----------
    |             |                             |
    |           SYN+MP_CAPABLE+L_RTT_EN         |
    |------------------------------------------>|
    |         SYN/ACK+MP_CAPABLE+L_RTT_EN       |
    |<------------------------------------------|
    |               ACK+MP_CAPABLE              |
    |------------------------------------------>|
    |      ACK+DSS+L_RTT_EN(latest RTT)+Data    |
    |<------------------------------------------|
    |             |       SYN+MP_JOIN           |
    |             |---------------------------->|
    |             |     MP_JOIN Process...      |
    |             |                             |
]]></artwork>
          </figure>
          <t indent="0" pn="section-3.2.1-3">A successful negotiation allows the exchange of the measured RTT value from
one subflow of an MPTCP host to another using the "Latest RTT" field within
the L_RTT_EN option.</t>
        </section>
        <section anchor="pro_adpt_2" numbered="true" toc="include" removeInRFC="false" pn="section-3.2.2">
          <name slugifiedName="name-protocol-adaptation-2">Protocol Adaptation</name>
          <t indent="0" pn="section-3.2.2-1">Calculating the "Latest RTT" by a remote host in an asymmetry transmission
scenario should be transferred from remote host to the client running RobE_IPS.
So a new MPTCP subtype option named L_RTT_EN is allocated for this function.
During the three-way handshake L_RTT_EN is used for negotiation of remote
RTT measurement capability between client and server (in <xref target="Des" format="default" sectionFormat="of" derivedContent="Section 3.2.1"/>). When both parts support the usage of remote RTT measurement, the "Latest
RTT" field in L_RTT_EN is applied for carrying the value of latest RTT computed
by the remote host.</t>
          <figure anchor="ref-robe-l-rtt-option" align="left" suppress-title="false" pn="figure-19">
            <name slugifiedName="name-robe_l_rtt_en-option">ROBE_L_RTT_EN OPTION</name>
            <artwork align="center" name="" type="" alt="" pn="section-3.2.2-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
+---------------+---------------+-------+-------+---------------+
|     Kind      |    Length     |Subtype|     (reserved)        |
+---------------+---------------+-------+-------+---------------+
|                    Latest RTT (32 bits)                       |
|                                                               |
|                                                               |
+---------------------------------------------------------------+
]]></artwork>
          </figure>
        </section>
        <section anchor="fallback_2" numbered="true" toc="include" removeInRFC="false" pn="section-3.2.3">
          <name slugifiedName="name-fallback-mechanism">Fallback Mechanism</name>
          <t indent="0" pn="section-3.2.3-1">When the receiver is not L_RTT_EN capable, MPTCP session with L_RTT_EN negotiation
will seamlessly fallback to normal MPTCP process.</t>
          <t indent="0" pn="section-3.2.3-2">[TBD, Need same checks as <xref target="robe_fallback_1" format="default" sectionFormat="of" derivedContent="Section 3.1.4.2"/>]</t>
          <figure anchor="ref_robe_ips_ext_fallback_2" align="left" suppress-title="false" pn="figure-20">
            <name slugifiedName="name-fallback-to-mptcp-without-r">Fallback to MPTCP without RobE_IPS</name>
            <artwork align="center" name="" type="" alt="" pn="section-3.2.3-3.1"><![CDATA[
             Host A                           Host B
------------------------                    ----------
Address A1    Address A2                    Address B1
----------    ----------                    ----------
    |             |                             |
    |        SYN+MP_CAPABLE+L_RTT_EN            |
    |------------------------------------------>|
    |         SYN/ACK+MPTCP_CAPABLE             |
    |<------------------------------------------|
    |           ACK+MPTCP_CAPABLE               |
    |------------------------------------------>|
    |             |         SYN+MP_JOIN         |
    |             |---------------------------->|
    |             |       MP_JOIN Process...    |
    |             |                             |
]]></artwork>
          </figure>
        </section>
        <section anchor="sec_con_2" numbered="true" toc="include" removeInRFC="false" pn="section-3.2.4">
          <name slugifiedName="name-security-consideration-2">Security Consideration</name>
          <t indent="0" pn="section-3.2.4-1">[Tbd]</t>
        </section>
      </section>
    </section>
    <section anchor="iana" numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-4-1">This document defines three new values to MPTCP Option Subtype as following.</t>
      <table anchor="table_robe_options" align="center" pn="table-2">
        <name slugifiedName="name-robe-option-subtypes">RobE Option Subtypes</name>
        <thead>
          <tr>
            <th align="left" colspan="1" rowspan="1">Value</th>
            <th align="left" colspan="1" rowspan="1">Symbol</th>
            <th align="left" colspan="1" rowspan="1">Name</th>
            <th align="left" colspan="1" rowspan="1">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left" colspan="1" rowspan="1">TBD</td>
            <td align="left" colspan="1" rowspan="1">ROBE_eSIM_EN</td>
            <td align="left" colspan="1" rowspan="1">RobE_eSIM enabled</td>
            <td align="left" colspan="1" rowspan="1">Section 3.1</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">TBD</td>
            <td align="left" colspan="1" rowspan="1">MP_JOIN_CAP</td>
            <td align="left" colspan="1" rowspan="1">Join connection directly in RobE_eSIM</td>
            <td align="left" colspan="1" rowspan="1">Section 3.1</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">TBD</td>
            <td align="left" colspan="1" rowspan="1">L_RTT_EN</td>
            <td align="left" colspan="1" rowspan="1">Server RTT enabled</td>
            <td align="left" colspan="1" rowspan="1">Section 3.2</td>
          </tr>
        </tbody>
      </table>
    </section>
  </middle>
  <back>
    <references pn="section-5">
      <name slugifiedName="name-references">References</name>
      <references pn="section-5.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <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="STD" value="7"/>
          <seriesInfo name="RFC" value="793"/>
          <seriesInfo name="DOI" value="10.17487/RFC0793"/>
        </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="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>
      </references>
      <references pn="section-5.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="RobE_paper" target="http://doi.acm.org/10.1145/3232755.3232762" quoteTitle="true" derivedAnchor="RobE_paper">
          <front>
            <title>RobE: Robust Connection Establishment for Multipath TCP</title>
            <author initials="M." surname="Amend" fullname="Markus Amend">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="V." surname="Rakocevic" fullname="Veselin Rakocevic">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A.P." surname="Matz" fullname="Andreas Philipp Matz">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="E." surname="Bogenfeld" fullname="Eckard Bogenfeld">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2018" month="July" day="16"/>
          </front>
          <seriesInfo name="ANRW '18" value="p. 76-82"/>
        </reference>
        <reference anchor="RobE_slides" target="https://datatracker.ietf.org/meeting/99/materials/slides-99-mptcp-a-proposal-for-mptcp-robust-session-establishment-mptcp-robe-01" quoteTitle="true" derivedAnchor="RobE_slides">
          <front>
            <title>A proposal for MPTCP Robust session Establishment (MPTCP RobE)</title>
            <author initials="M." surname="Amend" fullname="Markus Amend">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A.P." surname="Matz" fullname="Andreas Philipp Matz">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="E." surname="Bogenfeld" fullname="Eckard Bogenfeld">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="July" day="18"/>
          </front>
          <seriesInfo name="IETF 99" value="Multipath TCP WG session"/>
        </reference>
      </references>
    </references>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.a">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author initials="M." surname="Amend" fullname="Markus Amend">
        <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="J." surname="Kang" fullname="Jiao Kang">
        <organization showOnFrontPage="true">Huawei</organization>
        <address>
          <postal>
            <street>D2-03,Huawei Industrial Base</street>
            <city>Shenzhen</city>
            <region>Guangdong</region>
            <code>518129</code>
            <country>China</country>
          </postal>
          <email>kangjiao@huawei.com</email>
        </address>
      </author>
    </section>
  </back>
  <!-- ##markdown-source:
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
b0D/Cqlsd+f/A4NQ5e8hvwAA

-->

</rfc>
