<?xml version="1.0" encoding="US-ASCII"?>
<!-- This template is for creating an Internet Draft using xml2rfc,
     which is available here: http://xml2rfc.tools.ietf.org. -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!-- One method to get references from the online citation libraries.
     There has to be one entity for each item to be referenced. 
     An alternate method (rfc include) is described in the references. -->

<!ENTITY RFC1928 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.1928.xml">
<!ENTITY RFC3135 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3135.xml">
<!ENTITY RFC8684 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8684.xml">
<!ENTITY RFC8803 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8803.xml">
<!ENTITY I-D.deconinck-quic-multipath SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.deconinck-quic-multipath.xml">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- used by XSLT processors -->
<!-- For a complete list and description of processing instructions (PIs), 
     please see http://xml2rfc.tools.ietf.org/authoring/README.html. -->
<!-- Below are generally applicable Processing Instructions (PIs) that most I-Ds might want to use.
     (Here they are set differently than their defaults in xml2rfc v1.32) -->
<?rfc strict="yes" ?>
<!-- give errors regarding ID-nits and DTD validation -->
<!-- control the table of contents (ToC) -->
<?rfc toc="yes"?>
<!-- generate a ToC -->
<?rfc tocdepth="4"?>
<!-- the number of levels of subsections in ToC. default: 3 -->
<!-- control references -->
<?rfc symrefs="yes"?>
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc sortrefs="yes" ?>
<!-- sort the reference entries alphabetically -->
<!-- control vertical white space 
     (using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?>
<!-- do not start each main section on a new page -->
<?rfc subcompact="no" ?>
<!-- keep one blank line between list items -->
<!-- end of list of popular I-D processing instructions -->
<rfc category="info" docName="draft-deutschmann-sat-ter-multipath-00" ipr="trust200902">
  <!-- category values: std, bcp, info, exp, and historic
     ipr values: full3667, noModification3667, noDerivatives3667
     you can add the attributes updates="NNNN" and obsoletes="NNNN" 
     they will automatically be output with "(if approved)" -->

  <!-- ***** FRONT MATTER ***** -->

  <front>
    <!-- The abbreviated title is used in the page header - it is only necessary if the 
         full title is longer than 39 characters -->

    <title abbrev="Satellite/Terrestrial Multipath">
Multipath Communication with Satellite and Terrestrial Links</title>

    <!-- add 'role="editor"' below for the editors if appropriate -->

    <!-- Another author who claims to be an editor -->

    <author fullname="Joerg Deutschmann" initials="J" 
            surname="Deutschmann">
      <organization>Univ. of Erlangen-Nuernberg</organization>

      <address>
        <postal>
          <street></street>

          <!-- Reorder these if your country does things differently -->

          <city></city>

          <region></region>

          <code></code>

          <country></country>
        </postal>

        <phone></phone>

        <email>joerg.deutschmann@fau.de</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>
    <author fullname="Kai-Steffen Hielscher" initials="K-S"
            surname="Hielscher">
            <organization>Univ. of Erlangen-Nuernberg</organization>
            <address>
               <email>kai-steffen.hielscher@fau.de</email>
            </address>
    </author>
    <author fullname="Reinhard German" initials="R"
            surname="German">
            <organization>Univ. of Erlangen-Nuernberg</organization>
            <address>
               <email>reinhard.german@fau.de</email>
            </address>
    </author>

    <date month="October" year="2020" />

    <!-- If the month and year are both specified and are the current ones, xml2rfc will fill 
         in the current day for you. If only the current year is specified, xml2rfc will fill 
	 in the current day and month for you. If the year is not the current one, it is 
	 necessary to specify at least a month (xml2rfc assumes day="1" if not specified for the 
	 purpose of calculating the expiry date).  With drafts it is normally sufficient to 
	 specify just the year. -->

    <!-- Meta-data Declarations -->

    <area>General</area>

    <workgroup>Internet Engineering Task Force</workgroup>

    <!-- WG name at the upperleft corner of the doc,
         IETF is fine for individual submissions.  
	 If this element is not present, the default is "Network Working Group",
         which is used by the RFC Editor as a nod to the history of the IETF. -->

    <keyword>multipath</keyword>

    <!-- Keywords will be incorporated into HTML output
         files in a meta tag but they have no effect on text or nroff
         output. If you submit your draft to the RFC Editor, the
         keywords will be used for the search engine. -->

    <abstract>
      <t>Multipath communication enables the combination of low data rate, low latency terrestrial links and high data rate, high latency links (e.g., geostationary satellite links) to provide a full-fledged Internet access. However, the combination of such heterogeneous links is challenging from a technical point of view. This document describes a possible solution, i.e. an architecture and scheduling mechanism. The applicability of this approach to encrypted transport protocols (e.g., Multipath QUIC) is also discussed.</t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
    <t>Some areas (e.g., rural areas) suffer from poor Internet connectivity (e.g., low data rate DSL lines or old generation cellular networks). On the other hand, geostationary satellite Internet access is available all over the world with data rates of up to 50 Mbit/s and more. Obviously, the combination of both Internet access types seems beneficial.</t>

     <figure align="center" anchor="fig_usecase">
        <!--<preamble>Preamble text - can be omitted or empty.</preamble>-->

        <artwork align="left"><![CDATA[
          high data rate, ______
          high latency          \
                                 +-----> high data rate,
          low data rate, _______/        low latency
          low latency
            ]]></artwork>

        <postamble>Motivation for combining very heterogeneous Internet access links.</postamble>
      </figure>

    <t>However, the combination of very heterogeneous link types is challenging given currently deployed transport protocols. Some applications could be strictly assigned to either the high data rate, high latency link (e.g., bulk data transfer) or the low data rate, low latency link (e.g., VoIP). Other applications, especially Internet browsing, have more versatile requirements. Connection setup and interactive content require low latency, but transferring large objects requires high data rate. The combination of links as shown in  <xref target="fig_usecase" /> cannot outperform a fast terrestrial Internet access which is able to provide high data rate and low latency simultaneously (e.g, as required for video conferencing or cloud gaming), but there still can be a significant improvement regarding quality of service and quality of experience.</t>

    <t>Multipath protocols (e.g., Multipath TCP <xref target="RFC8684"></xref>) can be used for simultaneously using multiple Internet access links. However, scheduling is non-trivial in case of very heterogeneous links. In this document, an architecture based on Performance Enhancing Proxies and a scheduling mechanism called back-log based scheduling is described.</t>

    <t>This document is based on the publication <xref target="MMB2020" />, which also contains performance evaluation results obtained with the discrete event simulator ns-3. Performance evaluation results with a Linux-based implementation and real networks will be published as soon as possible.</t>
<!--      <t>The original specification of xml2rfc format is in <xref
      target="RFC2629">RFC&nbsp;2629</xref>.</t>

      <section title="Requirements Language">
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
        "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
        document are to be interpreted as described in <xref
        target="RFC2119">RFC 2119</xref>.</t>
      </section>
-->
    </section>



    <section title="Architecture" anchor="secArchitecture">
      <!--<t>Figures should not exceed 69 characters wide to allow for the indent
      of sections.</t>-->
      <figure align="center" anchor="figPEP">
        <!--<preamble>Preamble text - can be omitted or empty.</preamble>-->

        <artwork align="left"><![CDATA[
                                Sat
                               /   \
                    #######___/     \___########
                    #Local#             #Remote#
         Host(s)----# PEP #-------------# PEP  #----Host(s)
                    #######     Ter     ########
            ]]></artwork>

        <postamble>Multipath-enabled PEPs in access network.</postamble>
      </figure>

      
      <t>A PEP-based architecture, similar to Hybrid Access networks <xref target="HA2020" />, as shown in <xref target="figPEP" /> is chosen because of several reasons:
         <list style="symbols">
          <t>For the satellite link, PEPs and protocols suitable for high-latency links are required, anyway.</t>
          <t>As the PEPs are located at the Access network, there is better knowledge of the link characteristics used for multipath communication.</t>
          <t>The presence of PEPs enables the aggregation of transport layer data which can be used for scheduling decisions, as described later in <xref target="secBBS" />.</t>
        </list>
        Unlike Multipath TCP <xref target="RFC8684"></xref>, the multipath connection between both PEPs is provisioned statically. A way to interoperate between PEPs is out of scope for this document, configurations with SOCKS <xref target="RFC1928"></xref> or the 0-RTT TCP Convert Protocol <xref target="RFC8803"></xref> are under investigation.</t>  
    </section>

      <section title="Comparison of Link Characteristics">
        <t>There is a great difference between both delay and data rate of aforementioned links.
         <list style="symbols">
           <t>Low data rate, low latency terrestrial link: Suitable for connection setups and small objects. Unsuitable for large amounts of data. The transmission duration can be a approximated as <list hangIndent="10" style="empty"><t>TransmissionDurationTer = DelayTer + Size/DatarateTer</t></list>
           </t>
           <t>High data rate, high latency link (geostationary satellite): Favorable for large objects. Unsuitable for latency-sensitive data. The transmission duration can be approximated as <list hangIndent="10" style="empty"><t>TransmissionDurationSat = DelaySat + Size/DatarateSat</t></list>
           </t>
         </list>
        By putting both together <list hangIndent="10" style="empty"><t>TransmissionDurationTer = TransmissionDurationSat</t></list> a threshold size can be obtained, which describes over which link a transmission finishes first: <list hangIndent="10" style="empty"><t>ThresholdTerSat<vspace /> = (DelaySat - DelayTer) / ((1/DatarateTer) - (1/DatarateSat))</t></list>
        with the assumption that DatarateSat > DatarateTer and DelaySat > DatarateTer.
       </t>
       <t>Example:<vspace />DatarateTer = 1 Mbit/s, DelayTer = 15 ms,<vspace />DatarateSat = 20 Mbit/s, DelaySat = 300ms,<vspace />leads to ThresholdTerSat = 37.5 kByte, which means that a sum of packets smaller than this size finishes on the terrestrial link first, whereas a sum of packets greater than this size finishes on the satellite link first.
       <!--because both links are part of the access network they can be assumed ideal-->
       </t>
      </section>

      <section title="Backlog-Based Scheduling" anchor="secBBS">
        <t>With the help of PEPs, data from TCP senders can be aggregated. Packets are then sent on the appropriate link based on ThresholdTerSat. As PEPs handle individual TCP flows, new connections and flows with little backlog are sent via the terrestrial connection, flows with large backlog are sent via the satellite link. For a detailed description and performance evaluation see <xref target="MMB2020" />.

        Other multipath schedulers are currently also under investigation.
        </t>
    </section>

    <section title="Applicability to Non-TCP / Enrypted Traffic">
      <t>The architecture described in <xref target="secArchitecture" /> only works for non-encrypted TCP traffic. As it is the case for every PEP, it does not work for enrypted traffic (e.g., VPNs or QUIC).</t>
      <t>However, the use case of bonding very heterogenous links and the scheduling mechanism can also be applied to end-to-end protocols (e.g., Multipath QUIC <xref target="I-D.deconinck-quic-multipath"></xref>), which is currently work in progress.</t>
    </section>

    <section anchor="Acknowledgements" title="Acknowledgements">
      <t>This work has been funded by the Federal Ministry of Economics and Technology of Germany in the project Transparent Multichannel IPv6 (FKZ 50YB1705).</t>
    </section>

    <!-- Possibly a 'Contributors' section ... -->

    <section anchor="IANA" title="IANA Considerations">
      <t>This memo includes no request to IANA.</t>

      <!--<t>All drafts are required to have an IANA considerations section (see
      <xref target="I-D.narten-iana-considerations-rfc2434bis">the update of
      RFC 2434</xref> for a guide). If the draft does not require IANA to do
      anything, the section contains an explicit statement that this is the
      case (as above). If there are no requirements for IANA, the section will
      be removed during conversion into an RFC by the RFC Editor.</t>-->
    </section>

    <section anchor="Security" title="Security Considerations">
      <t>The same security considerations as in <xref target="RFC3135"></xref> apply.</t>
      <!--<t>All drafts are required to have a security considerations section.
      See <xref target="RFC3552">RFC 3552</xref> for a guide.</t>-->
    </section>
  </middle>

  <!--  *****BACK MATTER ***** -->

  <back>
    <!-- References split into informative and normative -->

    <!-- There are 2 ways to insert reference entries from the citation libraries:
     1. define an ENTITY at the top, and use "ampersand character"RFC2629; here (as shown)
     2. simply use a PI "less than character"?rfc include="reference.RFC.2119.xml"?> here
        (for I-Ds: include="reference.I-D.narten-iana-considerations-rfc2434bis.xml")

     Both are cited textually in the same manner: by using xref elements.
     If you use the PI option, xml2rfc will, by default, try to find included files in the same
     directory as the including file. You can also define the XML_LIBRARY environment variable
     with a value containing a set of directories to search.  These can be either in the local
     filing system or remote ones accessed by http (http://domain/dir/... ).-->


    <references title="Normative References">
      <!--?rfc include="http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"?-->
      &RFC1928;
      &RFC8684;
    </references>
      <!-- the following is the minimum to make xml2rfc happy -->
<!--
        <reference anchor="min_ref">
        <front>
          <title>Minimal Reference</title>

          <author initials="authInitials" surname="authSurName">
            <organization></organization>
          </author>

          <date year="2006" />
        </front>
      </reference>
-->

    <references title="Informative References">
      <!-- Here we use entities that we defined at the beginning. -->

      &RFC3135;
      &RFC8803;
      &I-D.deconinck-quic-multipath;

      <!-- A reference written by by an organization not a person. -->

      <reference anchor="MMB2020"
                 target="https://doi.org/10.1007/978-3-030-43024-5_5">
        <front>
          <title>An ns-3 Model for Multipath Communication with Terrestrial and Satellite Links</title>

          <author initials="J." surname="Deutschmann">
            <!--<organization>FAUa</organization>-->
          </author>
          <author initials="KS." surname="Hielscher">
          </author>
          <author initials="R." surname="German">
          </author>
          <date year="2020" />
        </front>
        <seriesInfo name="In: Hermanns H. (eds) Measurement, Modelling and Evaluation of Computing Systems." value="Lecture Notes in Computer Science, vol 12040. Springer, Cham" />
      </reference>

      <reference anchor="HA2020"
                 target="https://doi.org/10.1109/MCOMSTD.001.1900036">
        <front>
          <title>Increasing Broadband Reach with Hybrid Access Networks</title>

          <author initials="N." surname="Keukeleire">
            <!--<organization>FAUa</organization>-->
          </author>
          <author initials="B." surname="Hesmans">
          </author>
          <author initials="O." surname="Bonaventure">
          </author>
          <date year="2020" />
        </front>
        <seriesInfo name="IEEE Communications Standards Magazine" value="vol. 4, no. 1, pp. 43-49" />
      </reference>

    </references>

<!--
    <section anchor="app-additional" title="Additional Stuff">
      <t>This becomes an Appendix.</t>
    </section>
-->

    <!-- Change Log

v00 2006-03-15  EBD   Initial version

v01 2006-04-03  EBD   Moved PI location back to position 1 -
                      v3.1 of XMLmind is better with them at this location.
v02 2007-03-07  AH    removed extraneous nested_list attribute,
                      other minor corrections
v03 2007-03-09  EBD   Added comments on null IANA sections and fixed heading capitalization.
                      Modified comments around figure to reflect non-implementation of
                      figure indent control.  Put in reference using anchor="DOMINATION".
                      Fixed up the date specification comments to reflect current truth.
v04 2007-03-09 AH     Major changes: shortened discussion of PIs,
                      added discussion of rfc include.
v05 2007-03-10 EBD    Added preamble to C program example to tell about ABNF and alternative 
                      images. Removed meta-characters from comments (causes problems).  -->
  </back>
</rfc>
