<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc strict="yes" ?>
<?rfc toc="yes"?>
<?rfc tocdepth="4"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes" ?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>
<rfc 
	category="info" 
        docName="draft-kuhn-quic-4-sat-01"
	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="QUIC 4 SAT">QUIC for SATCOM</title>
  
    <author fullname="Nicolas Kuhn" initials="N" surname="Kuhn">
      <organization>CNES</organization>
      <address>
        <email>nicolas.kuhn@cnes.fr</email>
      </address>
    </author>

    <author fullname="Godred Fairhurst" initials="G" surname="Fairhurst">
      <organization>University of Aberdeen</organization>
      <address>
        <email>gorry@erg.abdn.ac.uk</email>
      </address>
    </author>

    <author fullname="John Border" initials="J" surname="Border">
      <organization>Hughes Network Systems, LLC</organization>
      <address>
        <email>border@hns.com</email>
      </address>
    </author>


    <author fullname="Emile Stephan" initials="E" surname="Stephan">
      <organization>Orange</organization>
      <address>
        <email>emile.stephan@orange.com</email>
      </address>
    </author>
 
    <date month="October" year="2019" />

    <!-- 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>Transport</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>QUIC, SATCOM, Transport</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. -->

        <!-- ######################################################-->
        <!-- ######################################################-->
        <!-- Head of the document -->
        <!-- ######################################################--> 
        <!-- ######################################################--> 
	<abstract>
	<t>QUIC's congestion control is not designed for operating over an Internet path with a high BDP. This limits the user experience. Moreover, a path can combine satellites network segment together with a wide variety of other network technologies (Ethernet, cable modems, WiFi, cellular, radio links, etc): this complicates the characteristics of the end-to-end path. If this is not addressed, the end-to-end quality of experience will be degraded.</t>
        <t>This memo identifies the characteristics of a SATCOM link that impact the operation of the QUIC transport protocol and proposes current practice to ensure acceptable protocol performance.</t>
	</abstract>
  </front>

  <middle>

	<section anchor="sec:introduction" title="Introduction">
	<t>The end-to-end performance of an application using an Internet path can be impacted by the Bandwidth-Delay Product (BDP) of the links and network devices forming the path. For instance, the page load time for a complex page can be much larger when the path includes a satellite link. A significant contribution to this reduced performance arises from the initialisation and design of transport mechanisms. QUIC's congestion control is based on TCP NewReno <xref target="I-D.ietf-quic-recovery"></xref> and the recommended initial window is defined by <xref target="RFC6928"></xref>.</t>
	<t>Moreover, satellite communications (SATCOM) systems have long been used to support point-to-point links and specialised networks. The predominate current use is as a link-layer for Internet Protocols. Typical example applications include: use as an access technology for remote locations, backup and rapid deployment of new services, transit networks and backhaul of various types of IP networks, and provision to mobile (maritime, aircraft, etc.). The satellite IP network segment usually only forms one part of the end-to-end path. This means user traffic can experince a path that includes satellite link together with a wide variety of other network technologies (Ethernet, cable modems, WiFi, cellular, radio links, etc). Although a user can sometimes know the presence of the satellite service, a typical user does not deploy special software or applications because they expect a satellite network is being used. Often a user is unaware of the technologies underpinning the links forming the network path.</t> 
        <t>This memo identifies the characteristics of a SATCOM link that impact the operation of the QUIC transport protocol and proposes best current practice to ensure acceptable protocol performance.</t>
	</section>

        <!-- ######################################################-->
        <!-- ######################################################-->
        <!-- Body of the document -->
        <!-- ######################################################--> 
        <!-- ######################################################--> 

        <!-- ######################################################-->
        <!-- New section -->
        <!-- ######################################################-->
        
        <section anchor="sec:large_bdp_connection" title="Operating over a path with a large BDP">

	<t>GEO-satellite based systems characteristics differ from paths only using terrestrial links in their path characteristics:<list style="symbols">
		<t>A large propagation delay of at least 250ms one-way delay;</t>
		<!-- <t>Some systems can exhibit a high loss-rate (e.g. mobile users or users behind a Wi-Fi link);</t> -->
		<t>Employ radio resource management (often using techniques similar to cellular mobile or DOCSIS cable networks, but differing to accommodate the satellite propagation delay);</t>
		<t>Links can be highly asymmetric (in terms of capacity and one-way delay).</t>
	</list></t>
	<t>On DVB-S2 systems, the key concept to ensure both a good usage of the satellite resource and a Quasi Error Free (QEF) link consist in monitoring the link quality in real-time, with the help of known symbols sequences, included along regular packets, on which an estimation of the current signal-to-noise ratio can be done. Then, this estimation is send back to the transmitter who can adapt its coding rate and modulation order to best fit the actual transmission conditions.</t>
	<t>On the forward link, the satellite gateway uses all the available bandwidth, possibly with several carriers, to communicate with the remote terminals. A carrier is a single Time-Division-Multiplexing where packets addressed to terminals are multiplexed. On the return link, the satellite resource is shared among the users. Two access methods can be distinguished: on-demand access or contention access. In the former, a terminal receives dedicated resources on its own to communicate with the gateway. In the latter, some resources are reserved for contention access, where several terminals can compete to obtain the resource. Dedicated access, which is more common in currently deployed systems, can be through a Demand Assigned Multiple Access (DAMA) mechanism, while contention access techniques are usually based on Slotted Aloha (SA) and its numerous derivatives. More information on satellite links characteristics can be found in <xref target="RFC2488"></xref><xref target="IJSCN17"></xref>.</t>
		
	<t>Beyond that, even for characteristics shared with terrestrial links, the impact on a satellite link may be much worse and amplified by the high latency of the system. For example, systems can exhibit a high loss-rate (e.g. mobile users or users behind a Wi-Fi link) which would impact loss recovery mechanisms and congestion control reaction to such loss events. The characteristics of GEO-based accesses have an impact on the performance of end-to-end congestion controls:<list style="symbols">
		<t>Transport initialization: the 3-way handshake takes a long time to complete, delaying the time at which actual data can be transmitted;</t>
		<t>Size of windows required: to fully exploit the bottleneck capacity, the high BDP may induce an important number of in-flights packets;</t>
		<t>Reliability: packet loss detection and correction is slow (the performance of end-to-end retransmission is also impacted when using a high RTT path);</t>
		<t>Getting up to speed: the exponential increase of the data rate during slow start for a channel capacity probing is slowed down when the RTT is high;</t>
		<t>When the links are asymmetric, the smaller link may not be able to sustain the transport level acknowledgement traffic needed to fully utilize the faster link.</t>
	</list></t>

	</section>

        <!-- ######################################################-->
        <!-- New section -->
        <!-- ######################################################-->
        
        <section anchor="sec:tcp_split_solution" title="TCP Split Solution">

	<t>High BDP networks commonly break the TCP end-to-end paradigm to adapt the transport protocol. Splitting TCP allows adaptations to this specific use-case and assessing the issues discussed in section <xref target="sec:large_bdp_connection"></xref>. Satellite communications commonly deploy Performance Enhancement Proxy (PEP) for compression, caching and TCP acceleration services <xref target ="RFC3135"></xref>. Their deployment can result in 50% page load time reduction in a SATCOM use-case <xref target="ICCRG100"></xref>.</t>

	<t><xref target="NCT13"></xref> and <xref target="RFC3135"></xref> describe the main functions of SATCOM TCP split solutions. Shortly, for traffic originated at a gateway to an endpoint connected via a satellite terminal, the TCP split intercepts TCP SYN packets to act on behalf of the endpoint and adapt the data rate transmission to the SATCOM scenario. The split solution specifically tunes the TCP parameters to the context (latency, available capacity) of each link.  When a PEP is used on each side of the satellite link, a protocol other than TCP, optimized for the satellite link, may be used. The tuning can be achieved using a priori information about the satellite system and/or by measuring the properties of the network segment that includes the satellite system.</t>

	<t>One important advantage of a TCP split solution is that it does not require any end-to-end modifications and is independent for both client and server sides. That being said, this comes with a drawback: TCP splitters often are unable to track the most recent end-to-end improvements (e.g. ECN or TCP Fast Open support). The methods configured in the split proxy usually continue to be used until a split solution is finally updated. This can delay/negate the benefit of any end-to-end improvements.</t> 

	</section>

	<!-- ######################################################-->
        <!-- New section -->
        <!-- ######################################################-->
        
        <section anchor="sec:quic-4-sat" title="Mechanisms that improve the performance of QUIC for SATCOM">

		<section anchor="sec:quic-4-sat-ss" title="Getting up to speed">
		<t>The advantage of using QUIC is that it includes the TLS and TCP negociations which reduces the time at which the data can be transmitted. That being said, results of <xref target="IJSCN19"></xref> illustrate that getting at the bottleneck capacity on a long RTT network takes an important time with QUIC. There is an issue in QUIC getting up to speed in a SATCOM context.</t>
		<t>The tuning of the initial window described in <xref target="I-D.irtf-iccrg-sallantin-initial-spreading"></xref> which has been shown to improve performance both for high BDP and more common BDP <xref target="CONEXT15"></xref><xref target="ICC16"></xref> could be a relevant solution. That being said, such solution requires the usage of pacing to avoid important bursts of packets in the network that does not have a large BDP.</t>
		</section>

		<section anchor="sec:quic-4-sat-max-window" title="Maximum window">
		<t>To fully exploit the bottleneck capacity, the high BDP may induce an important number of in-flights packets. Default values of maximum windows may not be suitable for a SATCOM context.</t>
		<t>Such as presented in <xref target="PANRG105"></xref>, only increasing the initial congestion window is not the only way that can improve QUIC performance in a SATCOM context: increasing maximum congestion windows can also result in much better performance.</t>
		</section>
		
		<section anchor="sec:quic-4-sat-loss" title="Reliability">
		<t>Packet losses detection and correction is slow and the time needed for the end server to react to a congestion event may not be relevant. This happens when a user uses a Wi-Fi link to access a SATCOM terminal. Although the benefits needed to weighed against the additional capacity in introducing end-to-end FEC and the potential to use link-local ARQ and/or link-adaptive FEC. End-to-end connections may not only suffer from losses in the Wi-Fi segment but also from congestion losses in the satellite operator ground segment. Using the mechanisms proposed in <xref target="I-D.ferrieux-hamchaoui-quic-lossbits"></xref>, congestion losses have been identified on the ground segment.</t>
		<t>Introducing network coding in QUIC such as proposed in <xref target="I-D.swett-nwcrg-coding-for-quic"></xref> and <xref target="I-D.roca-nwcrg-rlc-fec-scheme-for-quic"></xref> could help in recovering from the residual Wi-Fi or congestion losses. Another solution would be the usage of QUIC tunnels <xref target="I-D.schinazi-masque"></xref>.</t>
		</section>

		<section anchor="sec:quic-4-sat-ack-ratio" title="ACK ratio">
		<t>Asymmetry in capacity (or in the way capacity is granted to a flow) can lead to cases where the throughput in one direction of communication is restricted by the acknowledgement traffic flowing in the opposite direction. The limitations of specific underlying networks could be in terms of the volume of acknowledgement traffic (limited return path capacity) or in the number of acknowledgement packets (e.g., when a radio-resource management system has to track channel usage) or both.</t>
		<t>TCP Performance Implications of Network Path Asymmetry <xref target="RFC3449"></xref> describes a range of mechanisms that can mitigate the impact of path asymmetry. One simple method is to tell the remote endpoint to send compound acknowledgments less frequently. A rate of one ACK every RTT/4 can significantly reduce this traffic.</t>
		<t>Many of these mitigations have been deployed in satellite systems, often as a mechanism within a PEP. Despite their benefits over paths with a high asymmetry of capacity, most mechanisms rely on being able to inspect and/or modify the transport layer header information of TCP ACK packets. This is not possible when the transport layer information is encrypted. The QUIC transport specification may evolve to allow the ACK Ratio to be adjusted.</t>
		</section>

	</section>

	<!-- ######################################################-->
        <!-- New section -->
        <!-- ######################################################-->
        
        <section anchor="sec:discussion" title="Discussion">

	<t>Many of the issues identified already exist for any encrypted transport service that uses a path that employs encryption at the IP layer. This includes endpoints that utilise IPsec at the network layer, or use VPN technology over the satellite network segment. These uses are unable to benefit from enhancement within the satellite network segment, and often the user is unaware of the presence of the satellite link on their path, except through observing the impact it has on the performance they experience.</t>
	
	</section>

        <!-- ######################################################-->
        <!-- ######################################################-->
        <!-- Tail of the document -->
        <!-- ######################################################--> 
        <!-- ######################################################--> 

	<section anchor="sec:acknowledgements" title="Acknowledgements">
	<t>TBD</t>
	</section>

	<section anchor="sec:contributors" title="Contributors">
	<t>TBD</t>
	</section>

	<section anchor="sec:IANA" title="IANA Considerations">
	<t>TBD</t>
	</section>

	<section anchor="sec:ecurity" title="Security Considerations">
	<t>This document does not propose changes to the security functions provided by the QUIC protocol. QUIC uses TLS encryption to protect the transport header and its payload. Security is considered in the "Security Considerations" of cited IETF documents.</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">
		&RFC2119;
	</references>

	<references title="Informative References">
		<?rfc include="reference.RFC.2488.xml"?>
		<?rfc include="reference.RFC.3135.xml"?>
		<?rfc include="reference.RFC.3449.xml"?>
		<?rfc include="reference.RFC.6349.xml"?>
		<?rfc include="reference.RFC.6928.xml"?>
		<?rfc include="reference.RFC.8446.xml"?>
		<?rfc include="reference.I-D.swett-nwcrg-coding-for-quic.xml"?> 
		<?rfc include="reference.I-D.roca-nwcrg-rlc-fec-scheme-for-quic.xml"?>
		<?rfc include="reference.I-D.schinazi-masque.xml"?>
		<?rfc include="reference.I-D.ferrieux-hamchaoui-quic-lossbits.xml"?> 
		<?rfc include="reference.I-D.ietf-quic-tls.xml"?> 
		<?rfc include="reference.I-D.ietf-quic-transport.xml"?> 
		<?rfc include="reference.I-D.ietf-quic-recovery.xml"?> 
		<?rfc include="reference.I-D.ietf-tls-ticketrequests.xml"?>
		<?rfc include="reference.I-D.irtf-iccrg-sallantin-initial-spreading.xml"?>
                <reference anchor="PANRG105">
                    <front>
                    <title>QUIC Over In-sequence Paths with Different Characteristics</title>
                    <author initials="N" surname="Kuhn">
                    </author>
	 	    <author initials="E" surname="Stephan">
                    </author>
		    <author initials="J" surname="Border">
                    </author>
	 	    <author initials="G" surname="Fairhurst">
                    </author>
                    <date year="2019" />
                    </front>
                    <seriesInfo name="IRTF PANRG" value="105" />
                </reference>
		<reference anchor="ICCRG100">
                    <front>
                    <title>MPTCP and BBR performance over Internet satellite paths</title>
                    <author initials="N" surname="Kuhn">
                    </author>
                    <date year="2017" />
                    </front>
                    <seriesInfo name="IETF ICCRG" value="100" />
                </reference>
		<reference anchor="IJSCN17">
                    <front>
                    <title>Software-defined satellite cloud RAN</title>
                    <author initials="T" surname="Ahmed">
                    </author>
                    <author initials="E" surname="Dubois">
                    </author>
		    <author initials="JB" surname="Dupe">
                    </author>
		    <author initials="R" surname="Ferrus">
                    </author>
	            <author initials="P" surname="Gelard">
                    </author>
                    <author initials="N" surname="Kuhn">
		    </author>
                    <date year="2017" />
                    </front>
                    <seriesInfo name="International Journal of Satellite Communications and Networking" value="" />
		</reference>
		 <reference anchor="IJSCN19">
                    <front>
                    <title>Google QUIC performance over a public SATCOM access</title>
                    <author initials="L" surname="Thomas">
                    </author>
                    <author initials="E" surname="Dubois">
                    </author>
                    <author initials="N" surname="Kuhn">
                    </author>
                    <author initials="E" surname="Lochin">
                    </author>
                    <date year="2019" />
                    </front>
                    <seriesInfo name="International Journal of Satellite Communications and Networking" value="" />
                </reference>
                <reference anchor="CONEXT15">
                    <front>
                    <title>Halfback: Running Short Flows Quickly and Safely</title>
		    <author initials="Q" surname="Li">
                    </author>
		    <author initials="M" surname="Dong">
                    </author>
		    <author initials="P B" surname="Godfrey">
                    </author>
                    <date year="2015" />
                    </front>
                    <seriesInfo name="ACM CoNEXT" value="" />
                </reference>
                <reference anchor="NCT13">
                    <front>
                    <title>A new survey on improving TCP performances over geostationary satellite link</title>
                    <author initials="A" surname="Pirovano">
                    </author>
                    <author initials="F" surname="Garcia">
                    </author>
                    <date year="2013" />
                    </front>
                    <seriesInfo name="Network and Communication Technologies" value=""/>
                </reference>
                <reference anchor="ICC16">
                    <front>
                    <title>Reducing web latency through TCP IW: Be smart</title>
                    <author initials="R" surname="Sallantin">
                    </author>
                    <author initials="C" surname="Baudoin">
                    </author>
                    <author initials="E" surname="Chaput">
                    </author>
                    <author initials="F" surname="Arnal">
                    </author>
                    <author initials="E" surname="Dubois">
                    </author>
                    <author initials="A-L" surname="Beylot">
                    </author>
                    <date year="2016" />
                    </front>
                    <seriesInfo name="IEEE ICC" value=""/>
                </reference>
       	</references>
	</back>
</rfc>
