<?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-rfc2629 version  -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-sharabayko-moq-metrics-00" category="info" submissionType="independent" obsoletes="" updates="" xml:lang="en" version="3">
  <!-- xml2rfc v2v3 conversion 3.12.2 -->
  <front>
    <title abbrev="quic-delay">Estimating Transmission Metrics on a QUIC Connection</title>
    <seriesInfo name="Internet-Draft" value="draft-sharabayko-moq-metrics-00"/>
    <author initials="M.P." surname="Sharabayko" fullname="Maxim Sharabayko">
      <organization>Haivision Network Video, GmbH</organization>
      <address>
        <email>maxsharabayko@haivision.com</email>
      </address>
    </author>
    <author initials="M.A." surname="Sharabayko" fullname="Maria Sharabayko">
      <organization>Haivision Network Video, GmbH</organization>
      <address>
        <email>msharabayko@haivision.com</email>
      </address>
    </author>
    <date year="2022" month="October" day="23"/>
    <area>applications</area>
    <workgroup>moq</workgroup>
    <keyword>media over quic</keyword>
    <keyword>metrics</keyword>
    <abstract>
      <t>This document defines an approach of objectively measuring transmission such metrics like delay, jitter,
and loss-related transmission metrics for a QUIC <xref target="RFC9000" format="default"/> connection using an artificially generated payload
of a specific structure. The measurement is to be carried on an application level to be protocol-independent.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="introduction" numbered="true" toc="default">
      <name>Introduction</name>
      <t>Establishment of the Media over QUIC working group acknowledges the relevance of live media contribution and distribution
and encourages discussions on the use cases to be considered <xref target="I-D.gruessing-moq-requirements" format="default"/>.
Several proposals complement to those discussions. Most are currently based on QUIC streams <xref target="I-D.lcurley-warp" format="default"/>, <xref target="I-D.kpugin-rush" format="default"/>, <xref target="I-D.jennings-moq-quicr-arch" format="default"/>, <xref target="I-D.shi-quic-dtp" format="default"/>.
QUIC datagrams are yet to be considered within the group, but some related work includes <xref target="I-D.sharabayko-srt-over-quic" format="default"/>, <xref target="I-D.jennings-moq-quicr-arch" format="default"/>, <xref target="I-D.ietf-avtcore-rtp-over-quic" format="default"/>.</t>
      <t>Thus, an important task is to evaluate solutions and algorithms being proposed.
For example for live media contribution, where processing of data takes place in real time,
it is important to estimate transmission delay and delay variation (or jitter),
to determine data loss and reordering, as well as to calculate other transmission metrics.
The lower the observed jitter level is, the smaller is the decoder buffer needed, and the higher is the confidence in an expected transmission latency.</t>
      <t>The current draft discusses an approach of objectively measuring transmission delay, jitter, and other performance metrics <xref target="performance-metrics" format="default"/>
for any media protocol over a QUIC connection using an artificially generated payload of a specific structure <xref target="payload-format" format="default"/>.
Both streams <xref target="RFC9000" format="default"/> and unreliable datagrams <xref target="RFC9221" format="default"/> are to be supported. However, it is important to highlight the difference between the two.
Thus a sub goal is to try to find a universal approach to evaluate performance metrics for both streams and datagrams,
providing a common basis for comparison.</t>
      <t>To be independent from a media protocol over QUIC, the measurement is to be carried on an application level, probably involving QUIC-level statistics where needed.</t>
      <t>This approach could be used during development of the <em>Media over QUIC</em> protocol to:</t>
      <ul spacing="normal">
        <li>compare the independent proposals and implementations of the <em>Media over QUIC</em> protocol,</li>
        <li>perform regression testing of a certain implementation or proposal,</li>
        <li>evaluate various congestion control schemes for live media,</li>
        <li>maybe compare <em>Media over QUIC</em> protocol performance against other protocols, e.g. RTP over QUIC <xref target="I-D.ietf-avtcore-rtp-over-quic" format="default"/> or SRT <xref target="I-D.sharabayko-srt" format="default"/>.</li>
      </ul>
      <t>QUIC, as a protocol, provides a powerful set of statistics which can be used in addition to the defined procedure.
There are, however, several things to keep in mind:</t>
      <ul spacing="normal">
        <li>Independent QUIC transport implementations do not necessarily support the same set of statistics and the format isn't necessarily the same among different libraries.
Although <xref target="I-D.ietf-quic-qlog-main-schema" format="default"/> might be helpful in a way.</li>
        <li>QUIC packets themselves do not have a timestamp field to allow the measurement of one-way delays. Although there is a related draft proposal <xref target="I-D.huitema-quic-ts" format="default"/>, which proposes the definition of a TIMESTAMP frame.</li>
      </ul>
      <section anchor="requirements-notation" numbered="true" toc="default">
        <name>Requirements Notation</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>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this
document are to be interpreted as described in <xref target="RFC2119" format="default"/>.</t>
      </section>
    </section>
    <section anchor="conventions-and-definitions" numbered="true" toc="default">
      <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" format="default"/> <xref target="RFC8174" format="default"/> when, and only when, they
appear in all capitals, as shown here.</t>
    </section>
    <section anchor="payload-format" numbered="true" toc="default">
      <name>Payload Format</name>
      <t>A payload of a specific format <xref target="payload-structure" format="default"/> <bcp14>MUST</bcp14> be artificially generated
to enable the calculation of performance metrics at the receiver side.</t>
      <t>The artificially generated payload by its size <bcp14>SHOULD</bcp14> roughly represent a media unit
that a hypothetical decoder can decode. For example, in case of a video stream,
one payload can represent the whole frame or a slice of that frame that a decoder can process.
The arrival of the whole frame forms the actual delay for a viewer/decoder.
Even if a frame is partially received earlier, it will be decoded and presented with the reception
of a last macroblock or with dropping of the remaining parts of the frame.</t>
      <t>The artificially generated payload <bcp14>MUST</bcp14> provide means of estimating
transmission delay and full or partial loss of the payload.</t>
      <t>The artificially generated payload <bcp14>SHOULD</bcp14> be of a variable length
to represent different sizes of various types of payload and various types of video frames (I, P, B).</t>
      <t>The approach <bcp14>MUST</bcp14> provide a common basis for comparison independent (or as independent as possible) of
whether QUIC streams or datagrams are used as a transport.</t>
      <figure anchor="payload-structure">
        <name>Payload Structure</name>
        <artwork name="" type="" align="left" alt=""><![CDATA[
   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
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                     Payload Sequence Number                   |
  |                           (64 bit)                            |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |P P|                  Group Sequence Number                    |
  |                                                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                       NTP 64-Bit Timestamp                    |
  |                           (64 bit)                            |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                    Monotonic Clock Timestamp                  |
  |                           (64 bit)                            |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                        Payload Length                         |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                         MD5 Checksum                          |
  |                                                               |
  |                                                               |
  |                                                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                       Remaining Payload                       |
  |                                                               |
                                (...)
  |                                                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
      </figure>
      <dl>
        <dt>
Payload Sequence Number: 64 bits.  </dt>
        <dd>
          <t>A sequential number of the payload. Starts from zero and is incremented for every payload that follows.</t>
        </dd>
        <dt>
PP: 2 bits.  </dt>
        <dd>
          <t>Payload position flag. This field indicates the position of the payload sequence in the
group of payload sequences. The value "10b" means the first payload sequence of the group.
"00b" indicates a packet in the middle of the group. "01b" designates the last packet. If a single payload packet forms the whole group, the value is "11b".</t>
        </dd>
        <dt>
Group Sequence Number: 62 bits.  </dt>
        <dd>
          <t>A sequential number of the payload group. Starts from zero and is incremented for every payload group that follows.</t>
        </dd>
        <dt>
NTP 64-Bit Timestamp: 64 bits.  </dt>
        <dd>
          <t>NTP 64-bit system clock timestamp <xref target="RFC5905" format="default"/> <xref target="RFC8877" format="default"/> of the moment when a payload has been generated
meaning the payload generation has finished.</t>
        </dd>
        <dt>
Monotonic Clock Timestamp: 64 bits.  </dt>
        <dd>
          <t>Monotonic clock timestamp of the moment when a payload has been generated.
Represents microseconds elapsed since monotonic clock epoch.</t>
        </dd>
        <dt>
Payload Length: 32 bits.  </dt>
        <dd>
          <t>The full length of the payload (including preceding "Payload Sequence Number" and both timestamp fields).</t>
        </dd>
        <dt>
MD5 Checksum: 128 bits.  </dt>
        <dd>
          <t>A hash value to confirm the payload integrity. Calculated for the whole message with the SHA-128 checksum field
zeroed out.</t>
        </dd>
        <dt>
Remaining Payload: variable length.  </dt>
        <dd>
          <t>The remaining payload of variable length.
Randomly generated sequence of bytes. <bcp14>MAY</bcp14> be generated as a sequence of 8-bit integers
starting with value of the remainder after dividing the Payload Sequence Number by 32
and followed by sequentially increasing values.</t>
        </dd>
      </dl>
      <t>For example, to emulate the "one video frame per QUIC stream" approach the payload length <bcp14>MUST</bcp14> account for the entire stream.
As stream data is sent in the form of STREAM frames, the very first frame will contain
Payload Sequence Number, PP flags, Group Sequence Number and the rest fields of the header,
as well as some of the remaining payload data. Consequent STREAM frames will carry the rest of the payload.
Both the Payload Sequence Number and the Group Sequence Number fields <bcp14>MUST</bcp14> be increased for each payload.</t>
      <t>To emulate the "one GOP per QUIC stream" approach, one QUIC stream will transport several payloads of different lengths.
Both the Payload Sequence Number and the Group Sequence Number fields <bcp14>MUST</bcp14> be increased for each payload.</t>
      <t>To emulate the "video frame over QUIC datagrams" approach the payload length <bcp14>MUST</bcp14> fit in a single DATAGRAM frame.
The Payload Sequence Number field <bcp14>MUST</bcp14> be increased for each sent DATAGRAM frame.
A sequence of payloads <bcp14>SHOULD</bcp14> have the same Group Sequence Number, with the Payload Position Flag marking the start, the middle, and the end of the group sequence.
Thus the whole group sequence marks a represent video frame.</t>
    </section>
    <section anchor="performance-metrics" numbered="true" toc="default">
      <name>Performance Metrics</name>
      <t>The calculation of the following metrics is suggested to be included in the scope:</t>
      <ul spacing="normal">
        <li>Transmission Delay (or Latency) <xref target="transmission-delay" format="default"/>,</li>
        <li>Interarrival Jitter <xref target="jitter-rfc3550" format="default"/>,</li>
        <li>Time-Stamped Delay Factor (TS-DF) <xref target="ts-df" format="default"/>,</li>
        <li>Total Number of Received Payloads <xref target="received-payloads" format="default"/>,</li>
        <li>Total Number of Missing Payloads <xref target="missing-payloads" format="default"/>,</li>
        <li>Total Number of Reordered Payloads and Reordering Distance <xref target="reordered-payloads" format="default"/>,</li>
        <li>and others metrics as defined below.</li>
      </ul>
      <t>The <bcp14>RECOMMENDED</bcp14> measurement period is 1 second, however, alternative period length is also possible. This value is dictated by the TS-DF metric specification <xref target="EBU3337" format="default"/>.</t>
      <section anchor="transmission-delay" numbered="true" toc="default">
        <name>Transmission Delay</name>
        <t>Transmission Delay (or Latency) is measured based on the system clock (NTP 64-Bit Timestamp <xref target="payload-structure" format="default"/>).
It is <bcp14>RECOMMENDED</bcp14> to synchronize the clocks on both sender and receiver machines before an experiment
so that an error associated with a clock drift is as less as possible.</t>
        <t>Transmission Delay (TD) sample is calculated at the receiver side at the moment a payload group is received by an application:</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
TD = T_NTP_RCV - T_NTP_SND
]]></artwork>
        <t>where
- T_NTP_RCV is the system clock time when the last payload of a group arrives at the receiver.
- T_NTP_SND is the NTP 64-Bit Timestamp value extracted from the same payload.</t>
        <t>Note that TD value will be affected by the clock drift, the difference in the system time of the two clocks at the sender and at the receiver.</t>
        <t>Minimum (TD_MIN) and maximum (TD_MAX) delay estimates <bcp14>MUST</bcp14> be reset to "not available" (N/A)
at the start of each measurement period, while the smoothed value (TD_SMOOTHED) <bcp14>MUST NOT</bcp14> be reset and the calculation <bcp14>SHOULD</bcp14> continue during the entire experiment.
Here and throughout the current document, smoothing means applying an exponentially weighted moving average (EWMA).</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
TD_MIN = MIN(TD_MIN, TD);
TD_MAX = MAX(TD_MAX, TD);
TD_SMOOTHED = EWMA(TD_SMOOTHED, TD).
]]></artwork>
      </section>
      <section anchor="jitter-rfc3550" numbered="true" toc="default">
        <name>Interarrival Jitter</name>
        <t>Interarrival Jitter is calculated as defined in <xref target="RFC3550" format="default"/>. It is based on the concept of the Relative Transit Time between pairs of consecutive payloads
received not necessarily in sequence (meaning that reordering is ignored), and is defined to be the smoothed average of the difference in payloads spacing
at the receiver compared to the sender for a pair of payloads.</t>
        <t>The calculation is based on the Monotonic Clock Timestamp <xref target="payload-structure" format="default"/> extracted from the payload. As jitter is calculated as an EWMA of delay variations,
it <bcp14>MUST NOT</bcp14> be reset at the start of each measurement period.</t>
      </section>
      <section anchor="ts-df" numbered="true" toc="default">
        <name>Time-Stamped Delay Factor (TS-DF)</name>
        <t>Time-Stamped Delay Factor metric is calculated as defined in <xref target="EBU3337" format="default"/>.</t>
        <t>The calculation of TS-DF samples is based on the Monotonic Clock Timestamp <xref target="payload-structure" format="default"/> extracted from the payload.
Unlike the algorithm defined in <xref target="RFC3550" format="default"/>, TS-DF one does not use a smoothing factor
and therefore gives a very accurate instantaneous result.</t>
      </section>
      <section anchor="received-payloads" numbered="true" toc="default">
        <name>Total Number of Received Payloads</name>
        <t>A counter is initialized with zero and incremented on each payload read. The value <bcp14>MUST NOT</bcp14> be reset at the start of each measurement period.</t>
      </section>
      <section anchor="received-groups" numbered="true" toc="default">
        <name>Total Number of Received Groups</name>
        <t>A counter is initialized with zero and incremented on each payload group read. The value <bcp14>MUST NOT</bcp14> be reset at the start of each measurement period.</t>
      </section>
      <section anchor="missing-payloads" numbered="true" toc="default">
        <name>Total Number of Missing Payloads</name>
        <t>A counter is initialized with zero and is incremented each time a discontinuity in consecutive payloads sequence numbers (Payload Sequence Number <xref target="payload-structure" format="default"/>)
is determined. Missing sequence numbers <bcp14>MUST</bcp14> be recorded. The counter is decremented by one once a payload with missing sequence number is received out of order.
The value <bcp14>MUST NOT</bcp14> be reset at the start of each measurement period.</t>
      </section>
      <section anchor="missing-grous" numbered="true" toc="default">
        <name>Total Number of Missing Groups</name>
        <t>The same as the Total Number of Missing Payloads, but for payload groups.</t>
      </section>
      <section anchor="reordered-payloads" numbered="true" toc="default">
        <name>Total Number of Reordered Payloads and Reordering Distance</name>
        <t>A counter is initialized with zero and is incremented each time the Payload Sequence Number <xref target="payload-structure" format="default"/> value
precedes the next Expected Payload Sequence Number.</t>
        <t>The next Expected Payload Sequence Number is initialized with zero and is updated if the Payload Sequence Number
value of a received payload incremented by one exceeds the current Expected Payload Sequence Number value.</t>
        <t>The value <bcp14>MUST NOT</bcp14> be reset at the start of each measurement period.</t>
        <t>TODO: Reordering Distance.</t>
      </section>
      <section anchor="the-number-of-corrupted-payloads" numbered="true" toc="default">
        <name>The Number of Corrupted Payloads</name>
        <t>TODO: Add description.</t>
        <t>The payload is corrupted, meaning contents were altered. This <bcp14>MUST NOT</bcp14> happen, but still <bcp14>MUST</bcp14> be checked.</t>
      </section>
      <section anchor="the-number-of-partial-payloads" numbered="true" toc="default">
        <name>The Number of Partial Payloads</name>
        <t>TODO: Add description.</t>
        <t>The payload is only partially received.</t>
      </section>
      <section anchor="the-number-of-partial-groups" numbered="true" toc="default">
        <name>The Number of Partial Groups</name>
        <t>TODO: Add description.</t>
        <t>A group of payloads is only partially received.</t>
      </section>
      <section anchor="the-number-of-duplicated-payloads" numbered="true" toc="default">
        <name>The Number of Duplicated Payloads</name>
        <t>TODO: Add description.</t>
      </section>
    </section>
    <section anchor="security-considerations" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>TODO Security</t>
    </section>
    <section anchor="iana-considerations" numbered="true" toc="default">
      <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" target="https://www.rfc-editor.org/info/rfc2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner">
              <organization/>
            </author>
            <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="RFC3550" target="https://www.rfc-editor.org/info/rfc3550">
          <front>
            <title>RTP: A Transport Protocol for Real-Time Applications</title>
            <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne">
              <organization/>
            </author>
            <author fullname="S. Casner" initials="S." surname="Casner">
              <organization/>
            </author>
            <author fullname="R. Frederick" initials="R." surname="Frederick">
              <organization/>
            </author>
            <author fullname="V. Jacobson" initials="V." surname="Jacobson">
              <organization/>
            </author>
            <date month="July" year="2003"/>
            <abstract>
              <t>This memorandum describes RTP, the real-time transport protocol.  RTP provides end-to-end network transport functions suitable for applications transmitting real-time data, such as audio, video or simulation data, over multicast or unicast network services.  RTP does not address resource reservation and does not guarantee quality-of- service for real-time services.  The data transport is augmented by a control protocol (RTCP) to allow monitoring of the data delivery in a manner scalable to large multicast networks, and to provide minimal control and identification functionality.  RTP and RTCP are designed to be independent of the underlying transport and network layers.  The protocol supports the use of RTP-level translators and mixers. Most of the text in this memorandum is identical to RFC 1889 which it obsoletes.  There are no changes in the packet formats on the wire, only changes to the rules and algorithms governing how the protocol is used. The biggest change is an enhancement to the scalable timer algorithm for calculating when to send RTCP packets in order to minimize transmission in excess of the intended rate when many participants join a session simultaneously.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="64"/>
          <seriesInfo name="RFC" value="3550"/>
          <seriesInfo name="DOI" value="10.17487/RFC3550"/>
        </reference>
        <reference anchor="RFC5905" target="https://www.rfc-editor.org/info/rfc5905">
          <front>
            <title>Network Time Protocol Version 4: Protocol and Algorithms Specification</title>
            <author fullname="D. Mills" initials="D." surname="Mills">
              <organization/>
            </author>
            <author fullname="J. Martin" initials="J." role="editor" surname="Martin">
              <organization/>
            </author>
            <author fullname="J. Burbank" initials="J." surname="Burbank">
              <organization/>
            </author>
            <author fullname="W. Kasch" initials="W." surname="Kasch">
              <organization/>
            </author>
            <date month="June" year="2010"/>
            <abstract>
              <t>The Network Time Protocol (NTP) is widely used to synchronize computer clocks in the Internet.  This document describes NTP version 4 (NTPv4), which is backwards compatible with NTP version 3 (NTPv3), described in RFC 1305, as well as previous versions of the protocol. NTPv4 includes a modified protocol header to accommodate the Internet Protocol version 6 address family.  NTPv4 includes fundamental improvements in the mitigation and discipline algorithms that extend the potential accuracy to the tens of microseconds with modern workstations and fast LANs.  It includes a dynamic server discovery scheme, so that in many cases, specific server configuration is not required.  It corrects certain errors in the NTPv3 design and implementation and includes an optional extension mechanism.   [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5905"/>
          <seriesInfo name="DOI" value="10.17487/RFC5905"/>
        </reference>
        <reference anchor="RFC8877" target="https://www.rfc-editor.org/info/rfc8877">
          <front>
            <title>Guidelines for Defining Packet Timestamps</title>
            <author fullname="T. Mizrahi" initials="T." surname="Mizrahi">
              <organization/>
            </author>
            <author fullname="J. Fabini" initials="J." surname="Fabini">
              <organization/>
            </author>
            <author fullname="A. Morton" initials="A." surname="Morton">
              <organization/>
            </author>
            <date month="September" year="2020"/>
            <abstract>
              <t>Various network protocols make use of binary-encoded timestamps that are incorporated in the protocol packet format, referred to as "packet timestamps" for short. This document specifies guidelines for defining packet timestamp formats in networking protocols at various layers. It also presents three recommended timestamp formats. The target audience of this document includes network protocol designers. It is expected that a new network protocol that requires a packet timestamp will, in most cases, use one of the recommended timestamp formats. If none of the recommended formats fits the protocol requirements, the new protocol specification should specify the format of the packet timestamp according to the guidelines in this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8877"/>
          <seriesInfo name="DOI" value="10.17487/RFC8877"/>
        </reference>
        <reference anchor="RFC9000" target="https://www.rfc-editor.org/info/rfc9000">
          <front>
            <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
            <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar">
              <organization/>
            </author>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson">
              <organization/>
            </author>
            <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="RFC9221" target="https://www.rfc-editor.org/info/rfc9221">
          <front>
            <title>An Unreliable Datagram Extension to QUIC</title>
            <author fullname="T. Pauly" initials="T." surname="Pauly">
              <organization/>
            </author>
            <author fullname="E. Kinnear" initials="E." surname="Kinnear">
              <organization/>
            </author>
            <author fullname="D. Schinazi" initials="D." surname="Schinazi">
              <organization/>
            </author>
            <date month="March" year="2022"/>
            <abstract>
              <t>This document defines an extension to the QUIC transport protocol to add support for sending and receiving unreliable datagrams over a QUIC connection.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9221"/>
          <seriesInfo name="DOI" value="10.17487/RFC9221"/>
        </reference>
        <reference anchor="EBU3337" target="https://tech.ebu.ch/publications/tech3337">
          <front>
            <title>TS-DF Algorithm to Measure Network Jitter on RTP Streams</title>
            <author>
              <organization>The European Broadcasting Union</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba">
              <organization/>
            </author>
            <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>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="I-D.kpugin-rush" target="https://www.ietf.org/archive/id/draft-kpugin-rush-01.txt">
          <front>
            <title>RUSH - Reliable (unreliable) streaming protocol</title>
            <author fullname="Kirill Pugin" initials="K." surname="Pugin">
              <organization>Facebook</organization>
            </author>
            <author fullname="Alan Frindell" initials="A." surname="Frindell">
              <organization>Facebook</organization>
            </author>
            <author fullname="Jordi Cenzano" initials="J." surname="Cenzano">
              <organization>Facebook</organization>
            </author>
            <author fullname="Jake Weissman" initials="J." surname="Weissman">
              <organization>Facebook</organization>
            </author>
            <date day="7" month="March" year="2022"/>
            <abstract>
              <t>   RUSH is an application-level protocol for ingesting live video.  This
   document describes the protocol and how it maps onto QUIC.

Discussion Venues

   This note is to be removed before publishing as an RFC.

   Discussion of this document takes place on the mailing list (), which
   is archived at .

   Source for this draft and an issue tracker can be found at
   https://github.com/afrind/draft-rush.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-kpugin-rush-01"/>
        </reference>
        <reference anchor="I-D.lcurley-warp" target="https://www.ietf.org/archive/id/draft-lcurley-warp-01.txt">
          <front>
            <title>Warp - Segmented Live Media Transport</title>
            <author fullname="Luke Curley" initials="L." surname="Curley">
              <organization>Twitch</organization>
            </author>
            <date day="9" month="July" year="2022"/>
            <abstract>
              <t>   This document defines the core behavior for Warp, a segmented live
   media transport protocol.  Warp maps live media to QUIC streams based
   on the underlying media encoding.  Media is prioritized to reduce
   latency when encountering congestion.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-lcurley-warp-01"/>
        </reference>
        <reference anchor="I-D.sharabayko-srt-over-quic" target="https://www.ietf.org/archive/id/draft-sharabayko-srt-over-quic-00.txt">
          <front>
            <title>Tunnelling SRT over QUIC</title>
            <author fullname="Maxim Sharabayko" initials="M." surname="Sharabayko">
              <organization>Haivision Network Video GmbH</organization>
            </author>
            <author fullname="Maria Sharabayko" initials="M." surname="Sharabayko">
              <organization>Haivision Network Video GmbH</organization>
            </author>
            <date day="28" month="July" year="2021"/>
            <abstract>
              <t>   This document presents an approach to tunnelling SRT live streams
   over QUIC datagrams.

   QUIC [RFC9000] is a UDP-based transport protocol providing TLS
   encryption, stream multiplexing, and connection migration.  It was
   designed to become a faster alternative to the TCP protocol
   [RFC7323].

   An Unreliable Datagram Extension to QUIC [QUIC-DATAGRAM] adds support
   for sending and receiving unreliable datagrams over a QUIC
   connection, but transfers the responsibility for multiplexing
   different kinds of datagrams, or flows of datagrams, to an
   application protocol.

   SRT [SRTRFC] is a UDP-based transport protocol.  Essentially, it can
   operate over any unreliable datagram transport.  SRT provides loss
   recovery and stream multiplexing mechanisms.  In its live streaming
   configuration SRT provides an end-to-end latency-aware mechanism for
   packet loss recovery.  If SRT fails to recover a packet loss within a
   specified latency, then the packet is dropped to avoid blocking
   playback of further packets.

   The Datagram Extension to QUIC could be used as an underlying
   transport instead of UDP.  This way QUIC would provide TLS-level
   security, connection migration, and potentially multi-path support.
   It would be easier for existing network facilities to process, route,
   and load balance the unified QUIC traffic.  SRT on its side would
   provide end-to-end latency tracking and latency-aware loss recovery.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-sharabayko-srt-over-quic-00"/>
        </reference>
        <reference anchor="I-D.ietf-avtcore-rtp-over-quic" target="https://www.ietf.org/archive/id/draft-ietf-avtcore-rtp-over-quic-00.txt">
          <front>
            <title>RTP over QUIC</title>
            <author fullname="Joerg Ott" initials="J." surname="Ott">
              <organization>Technical University Munich</organization>
            </author>
            <author fullname="Mathis Engelbart" initials="M." surname="Engelbart">
              <organization>Technical University Munich</organization>
            </author>
            <date day="26" month="July" year="2022"/>
            <abstract>
              <t>   This document specifies a minimal mapping for encapsulating RTP and
   RTCP packets within QUIC.  It also discusses how to leverage state
   from the QUIC implementation in the endpoints to reduce the exchange
   of RTCP packets and how to implement congestion control.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-avtcore-rtp-over-quic-00"/>
        </reference>
        <reference anchor="I-D.jennings-moq-quicr-arch" target="https://www.ietf.org/archive/id/draft-jennings-moq-quicr-arch-01.txt">
          <front>
            <title>QuicR - Media Delivery Protocol over QUIC</title>
            <author fullname="Cullen Jennings" initials="C." surname="Jennings">
              <organization>cisco</organization>
            </author>
            <author fullname="Suhas Nandakumar" initials="S." surname="Nandakumar">
              <organization>Cisco</organization>
            </author>
            <date day="11" month="July" year="2022"/>
            <abstract>
              <t>   This specification outlines the design for a media delivery protocol
   over QUIC.  It aims at supporting multiple application classes with
   varying latency requirements including ultra low latency applications
   such as interactive communication and gaming.  It is based on a
   publish/subscribe metaphor where entities publish and subscribe to
   data that is sent through, and received from, relays in the cloud.
   The information subscribed to is named such that this forms an
   overlay information centric network.  The relays allow for efficient
   large scale deployments.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-jennings-moq-quicr-arch-01"/>
        </reference>
        <reference anchor="I-D.gruessing-moq-requirements" target="https://www.ietf.org/archive/id/draft-gruessing-moq-requirements-02.txt">
          <front>
            <title>Media Over QUIC - Use Cases and Requirements for Media Transport Protocol Design</title>
            <author fullname="James Gruessing" initials="J." surname="Gruessing">
              <organization>Nederlandse Publieke Omroep</organization>
            </author>
            <author fullname="Spencer Dawkins" initials="S." surname="Dawkins">
              <organization>Tencent America LLC</organization>
            </author>
            <date day="11" month="July" year="2022"/>
            <abstract>
              <t>   This document describes use cases that have been discussed in the
   IETF community under the banner of "Media Over QUIC", provides
   analysis about those use cases, recommends a subset of use cases that
   cover live media ingest, syndication, and streaming for further
   exploration, and describes requirements that should guide the design
   of protocols to satisfy these use cases.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-gruessing-moq-requirements-02"/>
        </reference>
        <reference anchor="I-D.shi-quic-dtp" target="https://www.ietf.org/archive/id/draft-shi-quic-dtp-06.txt">
          <front>
            <title>Deadline-aware Transport Protocol</title>
            <author fullname="Yong Cui" initials="Y." surname="Cui">
              <organization>Tsinghua University</organization>
            </author>
            <author fullname="Chuan Ma" initials="C." surname="Ma">
              <organization>Tsinghua University</organization>
            </author>
            <author fullname="Hang Shi" initials="H." surname="Shi">
              <organization>Huawei</organization>
            </author>
            <author fullname="Kai Zheng" initials="K." surname="Zheng">
              <organization>Huawei</organization>
            </author>
            <author fullname="Wei Wang" initials="W." surname="Wang">
              <organization>Huawei</organization>
            </author>
            <date day="26" month="July" year="2022"/>
            <abstract>
              <t>   This document defines Deadline-aware Transport Protocol (DTP) to
   provide block-based deliver-before-deadline transmission.  The
   intention of this memo is to describe a mechanism to fulfill
   unreliable transmission based on QUIC as well as how to enhance
   timeliness of data delivery.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-shi-quic-dtp-06"/>
        </reference>
        <reference anchor="I-D.sharabayko-srt" target="https://www.ietf.org/archive/id/draft-sharabayko-srt-01.txt">
          <front>
            <title>The SRT Protocol</title>
            <author fullname="Maria Sharabayko" initials="M." surname="Sharabayko">
              <organization>Haivision Network Video</organization>
            </author>
            <author fullname="Maxim Sharabayko" initials="M." surname="Sharabayko">
              <organization>Haivision Network Video</organization>
            </author>
            <author fullname="Jean Dube" initials="J." surname="Dube">
              <organization>Haivision Systems</organization>
            </author>
            <author fullname="Joonwoong Kim" initials="J." surname="Kim">
              <organization>SK Telecom Co., Ltd.</organization>
            </author>
            <author fullname="Jeongseok Kim" initials="J." surname="Kim">
              <organization>SK Telecom Co., Ltd.</organization>
            </author>
            <date day="7" month="September" year="2021"/>
            <abstract>
              <t>   This document specifies Secure Reliable Transport (SRT) protocol.
   SRT is a user-level protocol over User Datagram Protocol and provides
   reliability and security optimized for low latency live video
   streaming, as well as generic bulk data transfer.  For this, SRT
   introduces control packet extension, improved flow control, enhanced
   congestion control and a mechanism for data encryption.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-sharabayko-srt-01"/>
        </reference>
        <reference anchor="I-D.ietf-quic-qlog-main-schema" target="https://www.ietf.org/archive/id/draft-ietf-quic-qlog-main-schema-03.txt">
          <front>
            <title>Main logging schema for qlog</title>
            <author fullname="Robin Marx" initials="R." surname="Marx">
              <organization>KU Leuven</organization>
            </author>
            <author fullname="Luca Niccolini" initials="L." surname="Niccolini">
              <organization>Facebook</organization>
            </author>
            <author fullname="Marten Seemann" initials="M." surname="Seemann">
              <organization>Protocol Labs</organization>
            </author>
            <date day="31" month="August" year="2022"/>
            <abstract>
              <t>   This document describes a high-level schema for a standardized
   logging format called qlog.  This format allows easy sharing of data
   and the creation of reusable visualization and debugging tools.  The
   high-level schema in this document is intended to be protocol-
   agnostic.  Separate documents specify how the format should be used
   for specific protocol data.  The schema is also format-agnostic, and
   can be represented in for example JSON, csv or protobuf.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-quic-qlog-main-schema-03"/>
        </reference>
        <reference anchor="I-D.huitema-quic-ts" target="https://www.ietf.org/archive/id/draft-huitema-quic-ts-08.txt">
          <front>
            <title>Quic Timestamps For Measuring One-Way Delays</title>
            <author fullname="Christian Huitema" initials="C." surname="Huitema">
              <organization>Private Octopus Inc.</organization>
            </author>
            <date day="28" month="August" year="2022"/>
            <abstract>
              <t>   The TIMESTAMP frame can be added to Quic packets when one way delay
   measurements are useful.  The timestamp is set to the number of
   microseconds from the beginning of the node's epoch to the time at
   which the packet is sent.  The draft defines the "enable_timestamp"
   transport parameter for negotiating the use of this extension frame,
   and the TIMESTAMP frame.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-huitema-quic-ts-08"/>
        </reference>
      </references>
    </references>
    <section numbered="false" anchor="acknowledgments" toc="default">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
rOBxMEnxGpKwR0ffnYxN6meFnagOgcd/LQsGkI2dfzOvxt/Tq/H3lhHBK0cT
vKcjQzLxqpFXlu3tbl+5veIraW3XwhW9b5yHm8MwnnYkjMFr2U+wgNqfTjrP
aeaFHAWbGqtDfsBwIZF40FIaVlZRbVyKdWdbPW87VseOAIcPfR415QvIXjM1
y9WZWQ77Ge8MXLnGIWLilJbwOX5ZwNu654NCvZAR91FXraEdSovdkJZVQtN8
JjzD2HLUFWGtUnJzC6N7HKHDGvmyJdLDnzbwFoJM4sT5RHtWWZuJ5w4N/DQd
93774WBs2wRjTJaNq22ccL90tqOGjijWxBzGw+k/kuhbvQ85/6iEJxL8b4+6
dWlg4aIsMC4AGIk8/bxBBiZoynQwP4zguTKODmbGl5lMXkawYZSP0cijRBKf
K2qXg291WnmGPBztbq9Hu2ZOhssQRo542kqmCGxs3NEURoOqKAgb5o00Tx+H
xeffL16bsOFcrYULu/8vhokJJv5wfNbzie21fOJzMGoXrRkYjickD+EbD5pU
bGS7zHJjeU3BXItHm/Lx7kAZRkU3v3oA7RyCawc3MUdEVt2SOcAyVg0iCKJI
eQoe+fU8Ytyz7gta4SmFADTHWZrpoL8DP714Om6SPDXJtxmJNTHoQyJhftAz
5fmdQDb1ZhX59ERzuyPR/BLidl+NqtvWMj/oNwFUg7etoxwGWBy5H5xsOM+7
gk9a/SA+9SJm15NM70Niq+cL0rIRs6aMvya56mOkVKxbgeiDsPIdHr8vIbGX
7w/f73eJghemuQpE6aAoy3oRgKibQ8ZxbId4eR7Og+mJQPP/dvvAt6HIBHGf
54ajdCo2GNVPdIPanOZac/tDtooSKmcsuMeh4m5oz+x422+ClUdr12cE77/J
aPn994zFap9Wf/Z9h7VJrD+ZEduQJYgZWfoD+1NB2QxPY5t/v2XHZo/Hp+Ou
ta2JZmrf5YVZK/m3UnrU/Ip3IqMrc9jY/0iUp9SprW+ssoq/7U9lqm3nniEJ
flGKw/4PTs6ifBRCAAA=

-->

</rfc>
