<?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.7.34 (Ruby 3.4.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-lcurley-moq-probe-00" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.32.0 -->
  <front>
    <title abbrev="moq-probe">MoQ Probe Extension</title>
    <seriesInfo name="Internet-Draft" value="draft-lcurley-moq-probe-00"/>
    <author fullname="Luke Curley">
      <organization/>
      <address>
        <email>kixelated@gmail.com</email>
      </address>
    </author>
    <date year="2026" month="March" day="17"/>
    <area>wit</area>
    <workgroup>moq</workgroup>
    <abstract>
      <?line 24?>

<t>This document defines a PROBE extension for MoQ Transport <xref target="moqt"/>.
A subscriber opens a bidirectional PROBE stream to request that the publisher pad the connection up to a target bitrate.
The publisher sends padding as defined in <xref target="moqt"/> Section 7.7 and periodically responds with the measured bitrate and an elapsed timestamp, enabling the subscriber to estimate the available bandwidth.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    Media Over QUIC Working Group mailing list (moq@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/moq/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/kixelated/moq-drafts"/>.</t>
    </note>
  </front>
  <middle>
    <?line 30?>

<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="introduction">
      <name>Introduction</name>
      <t>Bandwidth estimation is essential for adaptive bitrate media delivery.
A subscriber needs to know the available bandwidth in order to select appropriate media tracks and qualities.</t>
      <section anchor="application-limited">
        <name>Application-Limited</name>
        <t>Many MoQ applications are application-limited: the average bitrate of the media is less than the available bandwidth.
Most congestion control algorithms only grow the congestion window or bandwidth estimate when fully utilized.
This means the available bandwidth is often underestimated, and the subscriber has no way to know if it can safely switch to a higher quality track.</t>
        <t>This is particularly problematic for adaptive bitrate (ABR) algorithms.
A viewer may get stuck at a low quality rendition indefinitely because the congestion window never grows to reflect the true link capacity.
If the viewer does attempt to switch to a higher rendition without first probing, they risk buffering — either because the congestion window has not been warmed up to support the higher bitrate, or because the network genuinely cannot sustain it.
Without probing, the subscriber cannot distinguish between these two cases.</t>
        <t><xref target="moqt"/> Section 3.7.2 suggests subscribing to additional tracks at low priority or sending padding to fill the congestion window during probing intervals.
However, this is difficult in practice because the subscriber does not know when probing is needed or by how much.
The congestion window and bandwidth estimate are internal to the sender's congestion controller and are not exposed to the application, let alone the remote peer.
The subscriber cannot distinguish between "the network has more capacity" and "the congestion controller is already fully utilizing the link".</t>
      </section>
      <section anchor="hop-by-hop">
        <name>Hop-by-Hop</name>
        <t>MoQ is designed to work end-to-end via relays.
Each hop may have different network conditions, so bandwidth estimation must be performed per-hop rather than end-to-end.
A subscriber needs to know the capacity of its immediate connection, not the capacity of the origin.</t>
        <t>Using a wire-level extension ensures that PROBE measurements are scoped to a single hop.
A relay terminates the PROBE stream and does not forward it upstream, avoiding incorrect measurements that reflect intermediate link capacity.</t>
      </section>
      <section anchor="this-extension">
        <name>This Extension</name>
        <t><xref target="moqt"/> defines padding streams and datagrams (Section 7.7) for probing, but does not define a signaling mechanism for a subscriber to request padding or for a publisher to report measurements.
This extension fills that gap: the subscriber opens a PROBE stream to request that the publisher pad the connection to a target bitrate using <xref target="moqt"/> padding.
The publisher responds with periodic measurements, allowing the subscriber to adjust its subscriptions accordingly.</t>
      </section>
    </section>
    <section anchor="setup-negotiation">
      <name>Setup Negotiation</name>
      <t>The PROBE extension is negotiated during the SETUP exchange as defined in <xref target="moqt"/> Section 9.4.</t>
      <t>Both endpoints indicate support by including the following Setup Option:</t>
      <artwork><![CDATA[
PROBE Setup Option {
  Option Key (vi64) = TBD1
  Option Value Length (vi64) = 0
}
]]></artwork>
      <t>If both endpoints include this option, the PROBE extension is available for the session.
If a peer receives a PROBE stream without having negotiated the extension, it <bcp14>MUST</bcp14> close the session with a PROTOCOL_VIOLATION.</t>
    </section>
    <section anchor="probe-stream">
      <name>PROBE Stream</name>
      <t>The PROBE extension uses a new bidirectional stream type.</t>
      <artwork><![CDATA[
STREAM_TYPE = TBD2
]]></artwork>
      <t>The stream type is sent at the beginning of the stream, encoded as a variable-length integer, consistent with <xref target="moqt"/> stream type framing.</t>
      <t>A subscriber (stream opener) sends PROBE_REQUEST messages on the stream.
The publisher (responder) sends PROBE_RESPONSE messages on the stream.
Either endpoint <bcp14>MAY</bcp14> close or reset the stream at any time.</t>
      <section anchor="proberequest">
        <name>PROBE_REQUEST</name>
        <t>A subscriber sends a PROBE_REQUEST to indicate the target the publisher should attempt to reach.</t>
        <artwork><![CDATA[
PROBE_REQUEST {
  Message Length (vi64)
  Target Bitrate (vi64)
}
]]></artwork>
        <t><strong>Target Bitrate</strong>:
The desired bitrate in kilobits per second.
The publisher <bcp14>SHOULD</bcp14> send padding as defined in <xref target="moqt"/> Section 7.7 to attempt to reach this rate.
A value of 0 indicates no padding is needed; the publisher <bcp14>SHOULD</bcp14> only send media data but <bcp14>MUST</bcp14> continue sending PROBE_RESPONSE messages.
This is useful for passively monitoring the current bitrate without actively probing for more bandwidth.
Either endpoint <bcp14>MAY</bcp14> close or reset the stream to stop receiving updates entirely.</t>
        <t>The subscriber <bcp14>MAY</bcp14> send multiple PROBE_REQUEST messages on the same stream.
Each new PROBE_REQUEST supersedes the previous one.
The publisher <bcp14>MUST</bcp14> use the most recently received target.</t>
      </section>
      <section anchor="proberesponse">
        <name>PROBE_RESPONSE</name>
        <t>The publisher periodically sends PROBE_RESPONSE messages containing the measured bitrate and the elapsed time since the last response.</t>
        <artwork><![CDATA[
PROBE_RESPONSE {
  Message Length (vi64)
  Measured Bitrate (vi64)
  Elapsed (vi64)
}
]]></artwork>
        <t><strong>Measured Bitrate</strong>:
The estimated bitrate in kilobits per second.
How this value is computed is implementation-defined and depends on the congestion controller.
Pacing-based algorithms (e.g. BBR) can report the current pacing rate directly, while window-based algorithms (e.g. CUBIC, Reno) may want to smooth the estimate since the sending rate is inherently bursty.
This includes media, padding, and any other data sent by the publisher.</t>
        <t><strong>Elapsed</strong>:
The number of milliseconds since the previous PROBE_RESPONSE on this stream.
For the first PROBE_RESPONSE, this is the number of milliseconds since the corresponding PROBE_REQUEST was received.
This allows the subscriber to assess the freshness of the measurement and detect stale updates caused by network delays.</t>
        <t>The publisher <bcp14>SHOULD</bcp14> send PROBE_RESPONSE messages at regular intervals while probing is active.
The interval is implementation-defined but a value between 100ms and 1000ms is <bcp14>RECOMMENDED</bcp14>.</t>
      </section>
    </section>
    <section anchor="padding">
      <name>Padding</name>
      <t>The publisher <bcp14>SHOULD</bcp14> send padding using the mechanisms defined in <xref target="moqt"/> Section 7.7 (padding streams and/or padding datagrams).</t>
      <t>The publisher <bcp14>MUST NOT</bcp14> exceed the target with padding alone.
If media traffic already meets or exceeds the target, no additional padding is necessary.</t>
      <t>The publisher <bcp14>MUST</bcp14> respect the QUIC congestion controller.
Padding that would cause the congestion window to be exceeded <bcp14>MUST NOT</bcp14> be sent.
The goal is to fill unused capacity, not to cause congestion.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>A malicious subscriber could request an excessively high target to waste publisher resources or cause network congestion.
Implementations <bcp14>SHOULD</bcp14> enforce reasonable limits on the target and <bcp14>MAY</bcp14> ignore or cap requests that exceed these limits.</t>
      <t>A publisher <bcp14>SHOULD</bcp14> rate-limit the amount of padding it sends to avoid being used as an amplification vector.</t>
      <t>A publisher <bcp14>MAY</bcp14> rate-limit or ignore frequent PROBE_REQUEST messages to prevent flooding or oscillation.
Implementations <bcp14>SHOULD</bcp14> enforce a minimum inter-request interval for PROBE_REQUESTs from a given subscriber.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document requests the following registrations:</t>
      <section anchor="moqt-setup-option-type">
        <name>MOQT Setup Option Type</name>
        <t>This document registers the following entry in the "MoQ Setup Option Types" registry:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Value</th>
              <th align="left">Name</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">TBD1</td>
              <td align="left">PROBE</td>
              <td align="left">This Document</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="moqt-stream-type">
        <name>MOQT Stream Type</name>
        <t>This document registers the following entry in the "MoQ Stream Types" registry:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Value</th>
              <th align="left">Name</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">TBD2</td>
              <td align="left">PROBE</td>
              <td align="left">This Document</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="moqt">
        <front>
          <title>Media over QUIC Transport</title>
          <author fullname="Suhas Nandakumar" initials="S." surname="Nandakumar">
            <organization>Cisco</organization>
          </author>
          <author fullname="Victor Vasiliev" initials="V." surname="Vasiliev">
            <organization>Google</organization>
          </author>
          <author fullname="Ian Swett" initials="I." surname="Swett">
            <organization>Google</organization>
          </author>
          <author fullname="Alan Frindell" initials="A." surname="Frindell">
            <organization>Meta</organization>
          </author>
          <date day="2" month="March" year="2026"/>
          <abstract>
            <t>   This document defines the core behavior for Media over QUIC Transport
   (MOQT), a media transport protocol designed to operate over QUIC and
   WebTransport, which have similar functionality.  MOQT allows a
   producer of media to publish data and have it consumed via
   subscription by a multiplicity of endpoints.  It supports
   intermediate content distribution networks and is designed for high
   scale and low latency distribution.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-moq-transport-17"/>
      </reference>
      <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>
    </references>
    <?line 207?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This document was drafted with the assistance of Claude, an AI assistant by Anthropic.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
