<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.39 (Ruby 3.1.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-huitema-quic-in-space-01" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.0 -->
  <front>
    <title abbrev="QUIC in Space">QUIC in Space</title>
    <seriesInfo name="Internet-Draft" value="draft-huitema-quic-in-space-01"/>
    <author fullname="Christian Huitema">
      <organization>Private Octopus Inc.</organization>
      <address>
        <email>huitema@huitema.net</email>
      </address>
    </author>
    <author fullname="Marc Blanchet">
      <organization>Viagenie</organization>
      <address>
        <email>marc.blanchet@viagenie.ca</email>
      </address>
    </author>
    <date year="2025" month="July" day="04"/>
    <area>Transport</area>
    <workgroup>QUIC</workgroup>
    <keyword>quic</keyword>
    <keyword>delay tolerant</keyword>
    <keyword>space communication</keyword>
    <abstract>
      <?line 45?>
<t>This document discusses the challenges of running the QUIC transport over deep space links,
where delays are in order of minutes and communications are based on scheduled time windows.
Using the experience of various testbeds, it provides guidance to implementations to support
this use case. This document may apply to other use cases that have similar characteristics,
such as IoT in disconnected and distant settings.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://huitema.github.io/quic-in-space/draft-huitema-quic-in-space.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-huitema-quic-in-space/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        QUIC Working Group mailing list (<eref target="mailto:quic@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/quic/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/quic/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/huitema/quic-in-space"/>.</t>
    </note>
  </front>
  <middle>
    <?line 52?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>QUIC is a new transport bringing very interesting features that could enable
its use in space, where TCP is not good, as assessed in <xref target="DTN-ARCH"/>.
However, QUIC was designed for
terrestrial Internet, which brings assumptions on typical delays and
connectivity. In (deep) space, delays are much larger, in order of minutes
(4-20 minutes from Earth to Mars), and long disruptions, such as because of orbital
dynamics, in order of minutes or hours or days.</t>
      <t>It may be possible to modify the base behavior of QUIC stacks to satisfy
these requirements. For example, several assumptions, such as the initial
round-trip time(RTT), are just static constants in the implementations
that could be externalized so they
could better start the QUIC machinery in the context of space.</t>
      <t>The purpose of this document is to provide guidance for supporting space
communications in QUIC implementations. It should be noted that it may also apply
to other use cases that have similar characteristics, such as IoT in disconnected
and far away settings, but these are not considered specifically in this document.</t>
      <t>Various other considerations such as how to store packets during disruptions or
network management considerations are out of scope of this document.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="path-changes">
      <name>Path Changes</name>
      <t>The movement of planets or their satellites implies that the network topology
will change over time. For example, a station on the surface of Mars will only
"see" Earth for half a Martian day. or rather sol. If it only relied on direct
line communication, contact would be lost for half a day. We expect that this
periodic absence of connectivity will be palliated by communication
infrastructure such as satellites orbiting Mars. We expect similar satellites
play a role on the Moon, if we want to enable communication with stations located
on its hidden face.</t>
      <t>We can speculate that at some point in the future, constellations of satellites
will orbit Mars or the Moon, and provide high quality communication similar to
what we see on Earth. However, we also expect that the first generation of
or orbiters will be much less complex. Stations on the hidden side
of Mars or the Moon will send packets to an orbiting satellite, the
satellite will store them until relay station
or maybe Earth is visible, and then forward the stored packets. The packets
could be stored for fraction of an orbit, probably up to 1 hour assuming
a 2 hours orbital time for the orbiters.</t>
      <t>The transmission delay will jump from a few minutes when a station or a rover on
the surface of Mars can either communicate directly with Earth or communicate
with an orbiter that can, to that plus a couple of hours when the station has to
wait for the orbiter to carry packets until transmission is possible. Each state
lasting approximately half a Martian sol, while the queuing time in the orbiter
will vary from immediate when transmission is possible to a variable fraction of the
orbit duration when it is not. In a typical scenario, the RTT
will show a sawtooth pattern with some stable value period.
Obviously, depending on the location of the asset, the type of orbit, the number of orbiters
and assets, etc, that pattern will be more complex and different. However, it will still
show an important jump, like from 8 minutes to 1 hour, in the RTT.</t>
      <t>The bandwidth of a path in deep space may change based on the conditions. Experience
with Mars shows that it is pretty constant for the same orbiter links to Earth
and to the assets. However, if a different orbiter is used on the return path and/or
if  optical links are used on some legs where radio links were used previously, then bandwidth
would change. Today, all this is pretty theorical, as paths and routing is very static and
planned in advance in space. Therefore, a bandwidth change in the path within a short period
of time, or within the time of some packets exchange will be exceptional. If a connection is
kept for weeks or months, then it is possible then the path bandwidth will only change
a few times.</t>
    </section>
    <section anchor="timers">
      <name>Timer Constants in QUIC</name>
      <t>QUIC implementations typically use a number of time related variables,
with different characteristics. Some may be constants suggested by the
QUIC specification or chosen by the stack developers, some may
be negotiated between peers, and some may be discovered as part of running
the protocol. Preliminary tests showed that setting the constant values
appropriately seemed to make QUIC usable in those deep space scenarios. Therefore,
this document discusses them in the following sections.</t>
      <section anchor="probe-timeout-and-initial-rtt-initial-rtt">
        <name>Probe Timeout and Initial RTT (#initial-rtt)</name>
        <t>As defined in <xref target="QUIC-RECOVERY"/>, QUIC uses two mechanisms to detect packet losses.
The acknowledgement based method detect losses if a packet is not yet
acknowledged while packets sent later have already been. That method works
well even if the transmission delay is long, but cannot detect the loss
of the "last packet". For that, QUIC uses the probe timeout(PTO) defined
in <xref section="6.2" sectionFormat="of" target="QUIC-RECOVERY"/>. If the last packet is not yet acknowledged
after the probe timeout, the endpoint sends a "probe" to trigger an acknwledgement.
The probe timer is initially set as a function of the measured RTT and RTTVAR. It
is then increased exponentially as the number of unacknowledged repetitions increases.</t>
        <t>The mechanism works well if the transmission delay is long after the RTT has
been evaluated at least once. But before that, the probe timeout is set as a function of
the Initial RTT, whose recommended value is 333 milliseconds per <xref section="6.2.2" sectionFormat="of" target="QUIC-RECOVERY"/>. Many implementations use smaller values
because waiting too long results in longer connection delays when losses occur. The
recommended initial value of 333ms results in a PTO of 1 second, but the shorter values
used by some implementations can result in a PTO of 200 or 250ms. On a long delay link,
we will probably see the following:</t>
        <ol spacing="normal" type="1"><li>Initial transmission</li>
          <li>First repeat after timer (e.g. 1 second)</li>
          <li>2nd repeat after timer (e.g., 1 second again), after which the timer is doubled</li>
          <li>3rd repeat after the increased (e.g., 2 seconds), after which the timer is doubled
again</li>
          <li>etc.</li>
        </ol>
        <t>If we let the process go long enough, a succession of doubling will probably match
the required value, probably after a dozen repeats if the delay is about 20 minutes. In
that case, one of the dozen repeats will most likely be successful, but of course
a lot of extra energy will have been expanded. But the connection establishment will fail
if the process is interrupted too soon, either because the maximum number of repeats has
been reached, or because the "idle timeout" has been exceeded.</t>
      </section>
      <section anchor="idle-timeout">
        <name>Idle Timeout</name>
        <t>The idle timeout is defined in <xref section="10.1" sectionFormat="of" target="QUIC-TRANSPORT"/>. Each peer
proposes a "max_idle_timeout" value, and commits to close the connection
if no activity happens during that timeout. The "max_idle_timeout" value
is often set as a constant by either the stack or the application using it,
with typical values ranging from a few seconds to a few minutes.</t>
        <t>The specification anticipated the usage of long delay links somewhat, and states
that "To avoid excessively small idle timeout periods, endpoints <bcp14>MUST</bcp14> increase the idle
timeout period to be at least three times the current Probe Timeout (PTO)." This
will prevent interference between the idle timeout once the PTO has been properly
assessed. However, this proper assessment of the PTO requires properly assessing the
RTT, which is requires a full RTT.</t>
        <t>If the Initial Idle Timeout, Initial RTT and Initial PTO are set values too small, the
connection attempt will be interrupted by the Idle Timeout and will fail.</t>
        <t>Since the idle timeout is negotiated as the minimum of the values proposed by the
two endpoints, both peers should proposed values that allow for a successful handshake.</t>
      </section>
      <section anchor="timers-and-path-changes">
        <name>Timers and Path Changes</name>
        <t>The packet loss detection algorithm use timers
based on the most recent RTT measurements. If the RTT increases to a value above
that timer, this is very likely to be interpreted as an indication of loss.
Handling large delay increase from a few minutes to more than an hour will
require updating these algorithms.</t>
        <t>Congestion control protocols typically compute a "congestion window" that tracks
the bandwidth-delay product of the connection. If the congestion window is
tuned for a delay of 8 minutes and the delay suddenly jumps to more than
an hour as mentioned in <xref target="path-changes"/>, the congestion window will be
suddenly 64 times too small. Algorithm that remain in the "congestion
avoidance" phase increase the congestion window very slowly, which would cause
under-utilization of the network during the period of delay changes.
The congestion control protocols will have to be updated to handle
these communication patterns.</t>
      </section>
    </section>
    <section anchor="flow-control">
      <name>Flow Control</name>
      <t>Flow control in QUIC allows an endpoint to limit how many bytes the peer
can send on the opened streams, on specific streams,
and how many streams the peer can open. Different stacks follow different strategies,
balancing two risks:</t>
      <ul spacing="normal">
        <li>if the flow control is too loose, the peer could send data faster than
the local application can process and create a form of local congestion.</li>
        <li>if the flow control is too restrictive, the peer will be blocked and
will have to wait for the next flow control update before sending data or
opening streams.</li>
      </ul>
      <t>The peer will not be blocked if three conditions are met:</t>
      <ul spacing="normal">
        <li>the "max streams" credits allow for a number of stream at least as large as
expected to be open in an RTT.</li>
        <li>the global flow control (MAX DATA) allows transmission of a full
bandwidth-delay product (BDP) worth of data,</li>
        <li>for each stream, the stream flow control allows transmission of either a full
BDP worth of data, or the full size of the data stream.</li>
      </ul>
      <t>Setting these three limits correctly requires anticipating the RTT and bandwidth
of the connection. Implementations relying on adaptive algorithms are at risk here,
especially if they use a low default value until RTT and bandwidth have been
measured.</t>
    </section>
    <section anchor="congestion-control-and-slow-start">
      <name>Congestion control and Slow Start</name>
      <t>QUIC implementations use congestion control to ensure that they are not sending
data faster than the network path can forward, which would cause network queues
and packet drops. Congestion control will typically set a congestion window size
(CWIN) to limit the amount of bytes in transit. Transmission will be slowed down
CWIN is lower than the BDP.</t>
      <t>The main congestion control issues for long delay space connections are observed
at the beginning of the connection. The congestion control algorithms typically
start with conservative values of CWIN, which they ramp up progressively, typically
not faster than one doubling per RTT. On a long delay space connection, this
ramping up will take a very long time, leading to very inefficient use of the
connection.</t>
      <t>Implementations have tried to palliate this issue in many ways:</t>
      <ul spacing="normal">
        <li>measure the transmission speed of short trains of packets to rapidly estimate
the bandwidth of the connection,</li>
        <li>remember the delays and bandwidths of past connections and set the initial
parameters of new connections accordingly,</li>
        <li>obtain estimates of delays and bandwidth through network management interfaces
and use them to set appropriate parameters.</li>
      </ul>
      <t>If initial parameters are set correctly, connections can still be unnecessarily
throttled if they fail to adapt to changing conditions. For example, after the
initial "slow start", the classic RENO algorithm moves to a "congestion avoidance"
phase in which the CWIN increases by at most one packet per RTT -- which would be
completely inadequate with RTTs of several minutes.</t>
      <section anchor="setting-the-initial-bdp">
        <name>Setting the initial BDP</name>
        <t>The congestion control issues are not specific to the very long delays of
space communications. They are visible on paths through geostationary
satellites. The recommended approach is to somehow remember path characteristics
from previous connections, then use the remembered values to speed up
the start-up phase of congestion control.</t>
        <t>The "careful resume" draft suggest a cautious approach of only using the remembered
BDP values after the RTT has been verified, see <xref target="I-D.ietf-tsvwg-careful-resume"/>.
This verification takes one RTT, which is a tradeoff between the desire to ramp up
transmission rate promptly and the risk of causing congestion on the transmission
path if the remembered value exceeds the current path characteristics.</t>
        <t>If the BDP is remembered and set, the value can also be used to set flow control
parameters as mentioned in <xref target="flow-control"/>.</t>
      </section>
    </section>
    <section anchor="packet-losses">
      <name>Packet losses</name>
      <t>Packet losses will likely occur in space communications like in other media. The
loss recovery mechanisms spedified in <xref target="QUIC-RECOVERY"/> correct losses after
at best one RTT, with repeated losses requiring further RTT sized delays. In space
communications, the long delays for packet loss recovery will affect the
responsiveness of the application. In some cases, the loss recovery delays may
extend the duration of the transfer past the time of availability of the
transmission links.</t>
      <section anchor="packet-losses-during-handshake">
        <name>Packet Losses During Handshake</name>
        <t>Packet losses during the initial handshake may prevent the endpoints from obtaining
a proper estimate of the RTT. An implementation in these situations can either
repeat the packets "too soon" if it underestimates the RTT, or "too late" if it
sets a large value. Experience showed that of those pitfalls, "too soon" is much
better, because it simply leads to repeating too many copies of the handshake
packets. This may look wasteful, but it does ensure that the handshake completes
rapidly even if some packets are actually lost.</t>
      </section>
      <section anchor="reordering-buffers">
        <name>Reordering Buffers</name>
        <t>If packets carrying stream data are lost, the other packets received on that stream
are supposed to be buffered until the packet loss is corrected. Receivers have to be
ready to buffer a full BDP worth of data. This means not only having large amount of
receive buffers, but also make sure that reordering of data is done efficiently,
risking otherwise some significant performance bottlenecks.</t>
        <t>Reordering will also interfere with per-stream and per-connection flow control. In
<xref target="flow-control"/>, we wrote that the amount of credits should be at least one full BDP.
But if we assume that a full BDP worth of buffers can be consumed by reordering
after losses, then the required credits are actually two BDPs, not just one.</t>
      </section>
      <section anchor="using-forward-error-correction">
        <name>Using Forward Error Correction</name>
        <t>The effect of packet losses could be alleviated by using some form of
Forward Error Correction. This is an active research issue, see for example
<xref target="I-D.michel-quic-fec"/></t>
      </section>
    </section>
    <section anchor="further-studies">
      <name>Further studies</name>
      <t>There are other considerations related to using QUIC in space, related
to naming, security, or the management of multiple paths.</t>
      <t>Most QUIC stack can set connections towards specified IP addresses, but
most existing QUIC applications rely on the DNS to find the IP addresses
associated to names of servers. Using DNS in space probably poses its own set
of challenges, which deserve their own study.</t>
      <t>Per <xref target="QUIC-TLS"/>, QUIC embeds TLS 1.3 and relies on it to negotiate security
keys. This document discusses the effects of long delays on the initial
handshake, which embeds the TLS 1.3 handshake. There are secondary effects
that ought to be discussed, such as the handling of certificate verification
and possibly certificate revocations, or the extra roundtrip required
for performing client authorization.</t>
      <t>It is probably possible to use multiple path to increase the throughput
or reliability of transmissions. Operating multiple path with long delays
ought to be discussed in a future version of this document.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The solutions envisaged here to alleviate the effect of long delays on QUIC
connections may well create some form of security issues. These ought to
be discussed in a future version of this document.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="I-D.ietf-tsvwg-careful-resume">
          <front>
            <title>Convergence of Congestion Control from Retained State</title>
            <author fullname="Nicolas Kuhn" initials="N." surname="Kuhn">
              <organization>Thales Alenia Space</organization>
            </author>
            <author fullname="Emile Stephan" initials="E." surname="Stephan">
              <organization>Orange</organization>
            </author>
            <author fullname="Gorry Fairhurst" initials="G." surname="Fairhurst">
              <organization>University of Aberdeen</organization>
            </author>
            <author fullname="Raffaello Secchi" initials="R." surname="Secchi">
              <organization>University of Aberdeen</organization>
            </author>
            <author fullname="Christian Huitema" initials="C." surname="Huitema">
              <organization>Private Octopus Inc.</organization>
            </author>
            <date day="18" month="June" year="2025"/>
            <abstract>
              <t>   This document specifies a cautious method for IETF transports that
   enables fast startup of CC for a wide range of connections.  It
   reuses a set of computed CC parameters that are based on previously
   observed path characteristics between the same pair of transport
   endpoints.  These parameters are saved, allowing them to be later
   used to modify the CC behaviour of a subsequent connection.

   It describes assumptions and defines requirements for how a sender
   utilises these parameters to provide opportunities for a connection
   to more rapidly get up to speed and rapidly utilise available
   capacity.  It discusses how use of Careful Resume impacts the
   capacity at a shared network bottleneck and the safe response that is
   needed after any indication that the new rate is inappropriate.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tsvwg-careful-resume-19"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="DTN-ARCH">
          <front>
            <title>Delay-Tolerant Networking Architecture</title>
            <author fullname="V. Cerf" initials="V." surname="Cerf"/>
            <author fullname="S. Burleigh" initials="S." surname="Burleigh"/>
            <author fullname="A. Hooke" initials="A." surname="Hooke"/>
            <author fullname="L. Torgerson" initials="L." surname="Torgerson"/>
            <author fullname="R. Durst" initials="R." surname="Durst"/>
            <author fullname="K. Scott" initials="K." surname="Scott"/>
            <author fullname="K. Fall" initials="K." surname="Fall"/>
            <author fullname="H. Weiss" initials="H." surname="Weiss"/>
            <date month="April" year="2007"/>
            <abstract>
              <t>This document describes an architecture for delay-tolerant and disruption-tolerant networks, and is an evolution of the architecture originally designed for the Interplanetary Internet, a communication system envisioned to provide Internet-like services across interplanetary distances in support of deep space exploration. This document describes an architecture that addresses a variety of problems with internetworks having operational and performance characteristics that make conventional (Internet-like) networking approaches either unworkable or impractical. We define a message- oriented overlay that exists above the transport (or other) layers of the networks it interconnects. The document presents a motivation for the architecture, an architectural overview, review of state management required for its operation, and a discussion of application design issues. This document represents the consensus of the IRTF DTN research group and has been widely reviewed by that group. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4838"/>
          <seriesInfo name="DOI" value="10.17487/RFC4838"/>
        </reference>
        <reference anchor="QUIC-TRANSPORT">
          <front>
            <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
            <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances. Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9000"/>
          <seriesInfo name="DOI" value="10.17487/RFC9000"/>
        </reference>
        <reference anchor="QUIC-TLS">
          <front>
            <title>Using TLS to Secure QUIC</title>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <author fullname="S. Turner" initials="S." role="editor" surname="Turner"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document describes how Transport Layer Security (TLS) is used to secure QUIC.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9001"/>
          <seriesInfo name="DOI" value="10.17487/RFC9001"/>
        </reference>
        <reference anchor="QUIC-RECOVERY">
          <front>
            <title>QUIC Loss Detection and Congestion Control</title>
            <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/>
            <author fullname="I. Swett" initials="I." role="editor" surname="Swett"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document describes loss detection and congestion control mechanisms for QUIC.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9002"/>
          <seriesInfo name="DOI" value="10.17487/RFC9002"/>
        </reference>
        <reference anchor="I-D.michel-quic-fec">
          <front>
            <title>Forward Erasure Correction for QUIC loss recovery</title>
            <author fullname="François Michel" initials="F." surname="Michel">
              <organization>UCLouvain</organization>
            </author>
            <author fullname="Olivier Bonaventure" initials="O." surname="Bonaventure">
              <organization>UCLouvain, WEL RI</organization>
            </author>
            <date day="23" month="October" year="2023"/>
            <abstract>
              <t>   This documents lays down the QUIC protocol design considerations
   needed for QUIC to apply Forward Erasure Correction on the data sent
   through the network.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-michel-quic-fec-01"/>
        </reference>
      </references>
    </references>
    <?line 373?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
fPvi7bQJde3+F0vxe72eRQAA

-->

</rfc>
