<?xml version='1.0' encoding='ascii'?>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.2.11 -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>
<?rfc comments="yes"?>
<rfc ipr="trust200902" docName="draft-huitema-quic-1wd-00" category="exp" obsoletes="" updates="" submissionType="IETF" xml:lang="en">
  <front>
    <title abbrev="QUIC-1WD">Quic ACK Timestamps For Measuring One-Way Delays</title>
    <author initials="C." surname="Huitema" fullname="Christian Huitema">
      <organization>Private Octopus Inc.</organization>
      <address>
        <postal>
          <street>427 Golfcourse Rd</street>
          <city>Friday Harbor</city>
          <code>WA 98250</code>
          <country>U.S.A</country>
        </postal>
        <email>huitema@huitema.net</email>
      </address>
    </author>
    <date year="2020"/>
    <area>Transport</area>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>The QUIC extension for one way delay mesurements adds a single timestamp to the
ACK frame. The timestamp is set to the number of microseconds from the
beginning of the connection to the time at which the ACK frame is sent. The draft
defines the "enable_one_way_delay" transport parameter for negotiating the
extension, and two new frame types for timestamped ACK with or without ECN counts.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="measuring-one-way-delays" title="Measuring One-Way Delays" numbered="true" toc="default">
      <t>The QUIC Transport Protocol <xref target="I-D.ietf-quic-transport" pageno="false" format="default"/> provides a
secure, multiplexed connection for transmitting reliable streams of
application data. The algorithms for QUIC Loss Detection and Congestion Control
<xref target="I-D.ietf-quic-recovery" pageno="false" format="default"/> use measurement of Round Trip Time (RTT) to
determine when packets should be retransmitted. RTT measurements are useful,
but there are however many cases in which more precise One-Way Delay (1WD)
measurements enable more efficient Loss Detection and Congestion Control.</t>
      <t>An example would be the Low Extra Delay Background
Transport (LEDBAT) <xref target="RFC6817" pageno="false" format="default"/> which uses variations in transmission
delay to detect competition for transmission resource. Experience shows
that while LEDBAT may be implemented using RTT measurements, it is 
somewhat inefficient because it will cause unnecessary slowdowns in
case of queues or delayed ACKs on the return path. Using 1WD solves
these issues. Similar argument can be made for most delay-based algorithms.</t>
      <t>We propose to enable one way delay measurements in QUIC by extending
the ACK or ACK-ECN format with a timestamp field. The use of this
extended format is negotiated with a transport parameter,
"enable_one_way_delay". When the extension is negotiated by
both parties, the format of the ACK and ACK ECN frames is extended
with the timestamp field.</t>
      <section anchor="terms-and-definitions" title="Terms and Definitions" numbered="true" toc="default">
        <t>The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
"SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in BCP 14 <xref target="RFC2119" pageno="false" format="default"/> <xref target="RFC8174" pageno="false" format="default"/>
when, and only when, they appear in all capitals, as shown here.</t>
      </section>
    </section>
    <section anchor="specification" title="Specification" numbered="true" toc="default">
      <t>The enable_one_way_delay transport parameter used for negotiating the extension
is defined in <xref target="negotiation" pageno="false" format="default"/>. The Timestamped ACK frame format is defined
in <xref target="timestamped-ack-format" pageno="false" format="default"/>.</t>
      <section anchor="negotiation" title="Negotiation" numbered="true" toc="default">
        <t>The one way delay extension is negotiated using a transport
parameter:</t>
        <t>
          <list style="hanging">
            <t hangText="enable_one_way_delay (TBD):">
  The enable one-way delay transport parameter is included if the endpoint
support one way delay measurements for this connection. 
This parameter has a zero-length value.</t>
          </list>
        </t>
        <t>Negotiation is successful if both peers support include this parameter
in their transport parameter message. If negotiation is successful the peers
MUST send Timestamped ACK instead of the standard ACK frames in all
1RTT protected packets. The peers MUST NOT send Timestamped ACK in packets of
other types, such as Initial, Handshake or 0RTT protected packet.</t>
        <t>Receiving a Timestamped ACK frame when not expected MUST be treated as a Protocol
Error. Similarly, receiving a standard ACK frame when a Timestamped ACK frame
is expected MUST be treated as a Protocol Error.</t>
      </section>
    </section>
    <section anchor="timestamped-ack-format" title="Timestamped ACK format" numbered="true" toc="default">
      <t>Timestamped ACK are identified by the frame
type:</t>
      <t>
        <list style="symbols">
          <t>Timestamped_ACK (TBD, TBD+1)</t>
        </list>
      </t>
      <t>If the frame type is TBD+1, Timestamped ACK frames also contain the sum of
QUIC packets with associated ECN marks received on the connection up until
this point.</t>
      <t>The format of the Timestamped ACK frames is similar to that of the
standard ACK Frames defined in section 19.3 of
<xref target="I-D.ietf-quic-transport" pageno="false" format="default"/>, with the addition of the Time Stamp
parameter.</t>
      <figure title="ACK Frame Format with Time Stamp" anchor="ack-format" suppress-title="false" align="left" alt="" width="" height="">
        <artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height="">
 0                   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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     Largest Acknowledged (i)                ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          Time Stamp (i)                     ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          ACK Delay (i)                      ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       ACK Range Count (i)                   ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       First ACK Range (i)                   ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          ACK Ranges (*)                     ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          [ECN Counts]                       ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
</artwork>
      </figure>
      <t>The timestamp encodes the number of microseconds since the beginning
of the connection, as measured by the peer at the time at which the ACK
is sent. It is encoded using the exponent selected by the peer
in the ack_delay_exponent. The exponent reduced time stamp is encoded in
the ACK frame as a variable length integer.</t>
      <section anchor="rtt-measurements" title="RTT Measurements" numbered="true" toc="default">
        <t>RTT measurements are performed as specified in Section 4 of
<xref target="I-D.ietf-quic-recovery" pageno="false" format="default"/>, without reference to the Timestamp
parameter of the Timestamped ACK frames.</t>
      </section>
      <section anchor="one-way-delay-measurements" title="One-Way Delay Measurements" numbered="true" toc="default">
        <t>An endpoint generates a One Way Delay Sample on receiving a
TimeStamped ACK frame that
meets the following two conditions:</t>
        <t>
          <list style="symbols">
            <t>the largest acknowledged packet number is newly acknowledged, and</t>
            <t>at least one of the newly acknowledged packets was ack-eliciting.</t>
          </list>
        </t>
        <t>The One Way Delay sample, latest_1wd, is generated as the time elapsed since
the largest acknowledged packet was sent, corrected for the difference
between local time at the sending peer and connection time at the
receiving peer, phase_shift.</t>
        <t>latest_1wd = time_stamp - send_time_of_largest_acked - phase_shift</t>
        <t>By convention, the phase_shift is estimated upon reception of the first
RTT sample, first_rtt. It is set to:</t>
        <t>phase_shift = time_stamp - send_time_of_largest_acked - latest_rtt/2</t>
        <t>In that formula, we assume that the local time are measured in
microseconds since the beginning of the connection.</t>
        <t>We understand that clocks may drift over time, and that simply
estimating a phase shift at the beginning of a connection may be
too simplistic for long duration connections. Implementations
MAY adopt different strategies to reestimate the phase shift
at appropriate intervals. Specifying these strategies is beyond
the scope of this document.</t>
      </section>
    </section>
    <section anchor="discussion" title="Discussion" numbered="true" toc="default">
      <t>This document makes a series of choices in implementing one way delay
measurements. The two important choices are the decision to
only have one timestamp per Timestamped ACK frame, and to use new
frame types for the Timestamped ACK frames.</t>
      <t>In theory, it would be possible to augment the ACK frame format
and document the delay of every frame received. The current
proposal is simpler, and creates less overhead. It is also sufficient
for the intended usage, which is to improve the efficiency of
congestion control protocols.</t>
      <t>Once the extension is negotiated, it would be possible in theory
to reuse the existing ACK frame type and just associate it with
the timestamp format. This would spare us the need to reserve
two frame type numbers for the new format. However, this
simplification would introduce a dependency between the state
of the parser and the state of the connection. This dependency is
hard to manage in off-line usages such as parsing log files.</t>
    </section>
    <section anchor="security-considerations" title="Security Considerations" numbered="true" toc="default">
      <t>The Timestamp value in the Timestamp ACK is asserted by the sender
of the ACK. Adversarial peers could chose values of the time stamp
designed to exercise side effects in congestion control algorithms
or other algorithms relying on the one-way delays. This can be
mitigated by running plausibility checks on the received values.
For example, each peer can maintain statistics not just on the
One Way Delays, but also on the differences between One Way Delays
and RTT, and detect outlier values. Peers can also compare the 
differences between timestamps of successive acknowledgements and
the differences between the sending times of corresponding packets,
and detect anomalies if the delays between acknowledging packets appears
shorter than the delays when sending them.</t>
    </section>
    <section anchor="iana-considerations" title="IANA Considerations" numbered="true" toc="default">
      <t>This document registers a new value in the QUIC Transport Parameter
Registry:</t>
      <t>Value:  TBD (using value 0x10DE in early deployments)</t>
      <t>Parameter Name:  enable_one_way_delay</t>
      <t>Specification:  Indicates that the connection should use TimeStamped ACK frames</t>
      <t>This document also registers a new value in the QUIC Frame Type registry:</t>
      <t>Value:  0x34 and 0x35 (if this document is approved)</t>
      <t>Frame Name:  Timestamped ACK</t>
      <t>Specification:  ACK frames augmented with a timestamp</t>
    </section>
  </middle>
  <back>
    <references title="Normative References">
      <reference anchor="I-D.ietf-quic-transport" quote-title="true">
        <front>
          <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
          <author initials="J" surname="Iyengar" fullname="Jana Iyengar">
            <organization/>
          </author>
          <author initials="M" surname="Thomson" fullname="Martin Thomson">
            <organization/>
          </author>
          <date month="November" day="3" year="2019"/>
          <abstract>
            <t>This document defines the core of the QUIC transport protocol. Accompanying documents describe QUIC's loss detection and congestion control and the use of TLS for key negotiation.  Note to Readers  Discussion of this draft takes place on the QUIC working group mailing list (quic@ietf.org), which is archived at &lt;https://mailarchive.ietf.org/arch/search/?email_list=quic&gt;.  Working Group information can be found at &lt;https://github.com/ quicwg&gt;; source code and issues list for this draft can be found at &lt;https://github.com/quicwg/base-drafts/labels/-transport&gt;.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-quic-transport-24"/>
        <format type="TXT" target="http://www.ietf.org/internet-drafts/draft-ietf-quic-transport-24.txt"/>
      </reference>
      <reference anchor="I-D.ietf-quic-recovery" quote-title="true">
        <front>
          <title>QUIC Loss Detection and Congestion Control</title>
          <author initials="J" surname="Iyengar" fullname="Jana Iyengar">
            <organization/>
          </author>
          <author initials="I" surname="Swett" fullname="Ian Swett">
            <organization/>
          </author>
          <date month="November" day="4" year="2019"/>
          <abstract>
            <t>This document describes loss detection and congestion control mechanisms for QUIC.  Note to Readers  Discussion of this draft takes place on the QUIC working group mailing list (quic@ietf.org), which is archived at https://mailarchive.ietf.org/arch/search/?email_list=quic [1].  Working Group information can be found at https://github.com/quicwg [2]; source code and issues list for this draft can be found at https://github.com/quicwg/base-drafts/labels/-recovery [3].</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-quic-recovery-24"/>
        <format type="TXT" target="http://www.ietf.org/internet-drafts/draft-ietf-quic-recovery-24.txt"/>
      </reference>
      <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quote-title="true">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author initials="S." surname="Bradner" fullname="S. Bradner">
            <organization/>
          </author>
          <date year="1997" month="March"/>
          <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" target="https://www.rfc-editor.org/info/rfc8174" quote-title="true">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author initials="B." surname="Leiba" fullname="B. Leiba">
            <organization/>
          </author>
          <date year="2017" month="May"/>
          <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>
    </references>
    <references title="Informative References">
      <reference anchor="RFC6817" target="https://www.rfc-editor.org/info/rfc6817" quote-title="true">
        <front>
          <title>Low Extra Delay Background Transport (LEDBAT)</title>
          <author initials="S." surname="Shalunov" fullname="S. Shalunov">
            <organization/>
          </author>
          <author initials="G." surname="Hazel" fullname="G. Hazel">
            <organization/>
          </author>
          <author initials="J." surname="Iyengar" fullname="J. Iyengar">
            <organization/>
          </author>
          <author initials="M." surname="Kuehlewind" fullname="M. Kuehlewind">
            <organization/>
          </author>
          <date year="2012" month="December"/>
          <abstract>
            <t>Low Extra Delay Background Transport (LEDBAT) is an experimental delay-based congestion control algorithm that seeks to utilize the available bandwidth on an end-to-end path while limiting the consequent increase in queueing delay on that path.  LEDBAT uses changes in one-way delay measurements to limit congestion that the flow itself induces in the network.  LEDBAT is designed for use by background bulk-transfer applications to be no more aggressive than standard TCP congestion control (as specified in RFC 5681) and to yield in the presence of competing flows, thus limiting interference with the network performance of competing flows.  This document defines  an Experimental Protocol for the Internet community.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6817"/>
        <seriesInfo name="DOI" value="10.17487/RFC6817"/>
      </reference>
    </references>
  </back>
  <!-- ##markdown-source:
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
iorL/folAAA=

-->
</rfc>
