<?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.35 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-quic-qmux-01" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.32.0 -->
  <front>
    <title>QMux</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-quic-qmux-01"/>
    <author fullname="Kazuho Oku">
      <organization>Fastly</organization>
      <address>
        <email>kazuhooku@gmail.com</email>
      </address>
    </author>
    <author fullname="Lucas Pardue">
      <organization>Cloudflare</organization>
      <address>
        <email>lucas@lucaspardue.com</email>
      </address>
    </author>
    <author fullname="Jana Iyengar">
      <organization>Netflix</organization>
      <address>
        <email>jri.ietf@gmail.com</email>
      </address>
    </author>
    <author fullname="Eric Kinnear">
      <organization>Apple</organization>
      <address>
        <email>ekinnear@apple.com</email>
      </address>
    </author>
    <date year="2026" month="April" day="02"/>
    <workgroup>QUIC</workgroup>
    <keyword>internet-draft</keyword>
    <abstract>
      <?line 28?>

<t>This document specifies QMux version 1. QMux version 1 provides, over
bi-directional streams such as TLS, the same set of stream and datagram
operations that applications rely upon in QUIC version 1.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    QUIC Working Group mailing list (quic@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/quic/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/quicwg/qmux"/>.</t>
    </note>
  </front>
  <middle>
    <?line 35?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>QUIC version 1 <xref target="QUIC"/> is a bi-directional, authenticated
transport-layer protocol built on top of UDP <xref target="UDP"/>. The protocol
provides multiplexed flow-controlled streams without head-of-line blocking as a
core service. It also offers low-latency connection establishment and efficient
loss recovery.</t>
      <t>However, there are downsides to QUIC.</t>
      <t>One downside is that QUIC, being based on UDP, is not as universally accessible
as TCP <xref target="TCP"/>, due to occasionally being blocked by middleboxes.</t>
      <t>Another downside is that QUIC is computationally more expensive compared to TLS
<xref target="TLS13"/> over TCP. This increased cost is partly because QUIC encrypts
each packet, which is smaller than the encryption unit of TLS, leading to more
overhead, and partly because UDP is less optimized within computing
infrastructures.</t>
      <t>Due to these limitations, applications are often served using both QUIC and TCP.
QUIC is employed to provide the optimal user experience, while TCP acts as a
fallback for ensuring network reachability and computational efficiency as
needed.</t>
      <t>One such example is HTTP, which has different bindings for QUIC (HTTP/3
<xref target="HTTP3"/>) and TCP (HTTP/2 <xref target="HTTP2"/>). Recently, security
concerns have prompted proposals to revise HTTP/2
(<xref target="h2-stream-limits"/>), which has sparked
discussions about the costs of maintaining multiple HTTP versions.</t>
      <t>Another example is WebTransport, a superset of HTTP. Because HTTP has different
bindings for QUIC and TCP, WebTransport defines its own extensions for the two
HTTP variants (<xref target="webtrans-h3"/>,
<xref target="webtrans-h2"/>).</t>
      <t>To reduce or eliminate the costs associated with duplicated efforts in providing
services on top of both transport protocols, this document specifies a polyfill
that allows application protocols built on QUIC to run on transport protocols
that provide single bi-directional, byte-oriented stream such as TCP or TLS.</t>
      <t>The specified polyfill provides a compatibility layer for the set of operations
(i.e., API) required by QUIC, as specified in Section <xref target="QUIC" section="2.4" sectionFormat="bare"/> and Section <xref target="QUIC" section="5.3" sectionFormat="bare"/> of <xref target="QUIC"/>.</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="the-protocol">
      <name>The Protocol</name>
      <t>QMux can be used on any transport that provides a bi-directional, byte-oriented
stream that is ordered and reliable; for details, see <xref target="transport-properties"/>.</t>
      <t>QMux transfers one or more QUIC frames within a QMux record; see <xref target="records"/>.
Neither QUIC frames nor QMux records are encrypted in this protocol; it is the
task of the transport (e.g., TLS) to provide confidentiality and integrity.</t>
      <t>QUIC packet headers are not used.</t>
      <t>For exchanging the transport parameters, a new frame called
QX_TRANSPORT_PARAMETERS frame is defined.</t>
      <section anchor="transport-properties">
        <name>Properties of Underlying Transport</name>
        <t>QMux is designed to work on top of transport layer protocols that provide the
following capabilities:</t>
        <dl>
          <dt>In-order delivery of bytes in both direction:</dt>
          <dd>
            <t>Underlying transport provides a byte-oriented and bi-directional stream that
deliver the bytes in order; i.e., bytes that were sent in one order become
available to the receiving side in the same order.</t>
          </dd>
          <dt>Guaranteed delivery:</dt>
          <dd>
            <t>If the transport runs on top of a lossy network, that transport recovers the
bytes lost; e.g., by retransmitting them. This requires buffering and
reassembly, in order to achieve the first bullet point (in-order delivery).</t>
          </dd>
          <dt>Congestion control:</dt>
          <dd>
            <t>When used on a shared network, the transport is congestion controlled.
Implementations of QMux simply write outgoing frames to the transport when
that transport permits.</t>
          </dd>
          <dt>Authentication, confidentiality, and integrity protection:</dt>
          <dd>
            <t>Unless used upon endpoints between which tampering or monitoring is a
non-concern, the transport provides peer authentication, confidentially, and
integrity protection.</t>
          </dd>
          <dt>Application Protocol Negotiation:</dt>
          <dd>
            <t>To avoid cross-protocol confusion, the underlying transport provides a
mechanism for endpoints to agree on the protocols in use. Without such a
mechanism, QMux and application protocols built on top of QMux can only be
used between endpoints that have out-of-band agreement on those protocols.</t>
          </dd>
        </dl>
        <t>TLS over TCP, combined with the Application-Layer Protocol Negotiation extension
(ALPN) <xref target="ALPN"/>, provides all these capabilities.</t>
        <t>UNIX sockets are an example that provide in-order and guaranteed delivery only.
Congestion control is not employed, as UNIX sockets do not face a shared
bottleneck. Confidentiality and integrity protection are deemed unnecessary in
environments where the operating system is trusted. Agreement on the application
protocol can be achieved by using different listening sockets.</t>
      </section>
      <section anchor="records">
        <name>QMux Records</name>
        <t>QMux Records are formatted as shown in <xref target="fig-qmux-record"/>.</t>
        <figure anchor="fig-qmux-record">
          <name>QMux Record Format</name>
          <artwork><![CDATA[
QMux Record {
  Size (i),
  Frames (..),
}
]]></artwork>
        </figure>
        <t>QMux Records contain the following fields:</t>
        <dl>
          <dt>Size:</dt>
          <dd>
            <t>A variable-length integer specifying the length in bytes of the Frames field. Note that this length does not include the Size field itself.</t>
          </dd>
          <dt>Frames:</dt>
          <dd>
            <t>A byte sequence that contains one or more QUIC frames.</t>
          </dd>
        </dl>
        <t>Each QMux Record is self-delimiting. On a byte stream transport, endpoints
parse QMux Records by first parsing Size and then reading exactly that many
bytes as Frames. The bytes in Frames are interpreted as a contiguous series of
QUIC frames encoded using QUIC version 1 framing.</t>
        <t>As with QUIC packet payloads (<xref section="12.4" sectionFormat="of" target="QUIC"/>), frames are complete
units: a frame <bcp14>MUST</bcp14> fit entirely within a single QMux Record and <bcp14>MUST NOT</bcp14> span
multiple QMux Records.</t>
        <t>Senders can choose record boundaries freely, subject to the <tt>max_record_size</tt>
transport parameter (<xref target="max_record_size"/>). Receivers process frames within each
record, using the record boundary as the payload boundary for frames that omit
an explicit length.</t>
        <t>If the end of the Frames field is not aligned to a frame boundary (that is, if
the final frame in the record is truncated), the receiver <bcp14>MUST</bcp14> close the
connection with an error of type FRAME_ENCODING_ERROR.</t>
      </section>
    </section>
    <section anchor="quic-frames">
      <name>QUIC Frames</name>
      <t>In QMux, the following QUIC frames can be used, as if they were sent or received
in the application packet number space:</t>
      <ul spacing="normal">
        <li>
          <t>PADDING</t>
        </li>
        <li>
          <t>RESET_STREAM</t>
        </li>
        <li>
          <t>STOP_SENDING</t>
        </li>
        <li>
          <t>STREAM</t>
        </li>
        <li>
          <t>MAX_DATA</t>
        </li>
        <li>
          <t>MAX_STREAM_DATA</t>
        </li>
        <li>
          <t>MAX_STREAMS</t>
        </li>
        <li>
          <t>DATA_BLOCKED</t>
        </li>
        <li>
          <t>STREAM_DATA_BLOCKED</t>
        </li>
        <li>
          <t>STREAMS_BLOCKED</t>
        </li>
        <li>
          <t>CONNECTION_CLOSE</t>
        </li>
      </ul>
      <t>The frame formats are identical to those in QUIC version 1. Likewise, the
meaning and requirements for the use of these frames are consistent with QUIC
version 1, with the exception to the specific changes made to the STREAM frames,
as detailed in <xref target="stream-frames"/>.</t>
      <t>Use of other frames defined in QUIC version 1 is prohibited for various reasons.</t>
      <t>Frames related to the cryptographic handshake are not used because an underlying
security layer can provide equivalent features. Use of frames that communicate
Connection IDs and those related to path migration is forbidden.</t>
      <t>QMux relies on the underlying transport for reliable delivery and therefore does
not use ACK frames. QMux stacks do not track delivery or retransmit lost data or
frames. For the stream state machinery defined in <xref section="3" sectionFormat="of" target="QUIC"/>,
references to acknowledgment are interpreted as though acknowledgments occurs as
soon as data is passed to the underlying transport. As in QUIC version 1,
applications cannot assume that the peer application has consumed data based
solely on transport events.</t>
      <t>The full list of prohibited frames is:</t>
      <ul spacing="normal">
        <li>
          <t>PING</t>
        </li>
        <li>
          <t>ACK</t>
        </li>
        <li>
          <t>CRYPTO</t>
        </li>
        <li>
          <t>NEW_TOKEN</t>
        </li>
        <li>
          <t>NEW_CONNECTION_ID</t>
        </li>
        <li>
          <t>RETIRE_CONNECTION_ID</t>
        </li>
        <li>
          <t>PATH_CHALLENGE</t>
        </li>
        <li>
          <t>PATH_REPONSE</t>
        </li>
        <li>
          <t>HANDSHAKE_DONE</t>
        </li>
      </ul>
      <t>Endpoints <bcp14>MUST NOT</bcp14> send prohibited frames. If an endpoint receives one it <bcp14>MUST</bcp14>
close the connection with an error of type FRAME_ENCODING_ERROR.</t>
      <section anchor="stream-frames">
        <name>Ordering of STREAM Frames</name>
        <t>In QUIC version 1, the order in which STREAM frames are sent or received is not
guaranteed, because packets can be lost and frames can be retransmitted in
different packets. In contrast, QMux, which runs over an ordered and reliable
byte stream transport, requires STREAM frames for each QUIC stream to be sent
in order: i.e., for each QUIC stream being sent, senders <bcp14>MUST</bcp14> send the stream
payload in order.</t>
        <t>This change eliminates the need for implementations to buffer and reassemble
the stream payload. As a result, the payload being received can be directly
passed to the application as it is read from the transport. This efficiency is
due to the underlying transport's guarantee of in-order delivery.</t>
        <t>When receiving a STREAM frame that carries a payload not immediately following
the payload of the previous STREAM frame for the same Stream ID, receivers <bcp14>MUST</bcp14>
close the connection with an error of type PROTOCOL_VIOLATION_ERROR.</t>
        <t>These changes do not impact the senders' capability to interleave STREAM frames
from multiple streams.</t>
      </section>
      <section anchor="qxtransportparameters-frames">
        <name>QX_TRANSPORT_PARAMETERS Frames</name>
        <t>In QMux, transport parameters are exchanged as frames.</t>
        <t>QX_TRANSPORT_PARAMETERS frames are formatted as shown in
<xref target="fig-qx-transport-parameters"/>.</t>
        <figure anchor="fig-qx-transport-parameters">
          <name>QX_TRANSPORT_PARAMETERS Frame Format</name>
          <artwork><![CDATA[
QX_TRANSPORT_PARAMETERS Frame {
  Type (i) = 0x3f5153300d0a0d0a,
  Length (i),
  Transport Parameters (..),
}
]]></artwork>
        </figure>
        <t>QX_TRANSPORT_PARAMETERS frames contain the following fields:</t>
        <dl>
          <dt>Length:</dt>
          <dd>
            <t>A variable-length integer specifying the length of the transport parameters
field in this QX_TRANSPORT_PARAMETERS frame.</t>
          </dd>
          <dt>Transport Parameters:</dt>
          <dd>
            <t>The transport parameters. The encoding of the payload is as defined in
<xref section="18" sectionFormat="of" target="QUIC"/>.</t>
          </dd>
        </dl>
        <t>The QX_TRANSPORT_PARAMETERS frame is the first frame sent by endpoints. To allow
peers to open streams and start sending data as early as possible, endpoints
<bcp14>MUST</bcp14> send the QX_TRANSPORT_PARAMETERS frame as soon as the underlying transport
becomes available for sending. Neither endpoint needs to wait for the peer's
transport parameters before sending its own, as transport parameters are a
unilateral declaration of an endpoint's capabilities (<xref section="7.4" sectionFormat="of" target="QUIC"/>).</t>
        <t>Except when sending 0-RTT data using remembered transport parameters as
described in <xref section="7.4.1" sectionFormat="of" target="QUIC"/>, endpoints <bcp14>MUST NOT</bcp14> send frames whose use
depends on peer transport parameters until the peer's QX_TRANSPORT_PARAMETERS
frame has been received and processed. This can delay use of peer-advertised
flow control credit and can therefore block sending stream data before peer
transport parameters arrive. When QMux runs over TLS 1.3, this does not
necessarily add a full round trip for clients on a full handshake. Servers can
send the QX_TRANSPORT_PARAMETERS frame immediately after the server's Finished
message, and clients can receive and process the transport parameters as soon as
they obtain the keys needed to process application data.</t>
        <t>The QX_TRANSPORT_PARAMETERS frame <bcp14>MUST</bcp14> only be sent as the first frame. If the
first frame being received by an endpoint is not a QX_TRANSPORT_PARAMETERS
frame, or if a QX_TRANSPORT_PARAMETERS frame is received other than as the first
frame, the endpoint <bcp14>MUST</bcp14> close the connection with an error of type
TRANSPORT_PARAMETER_ERROR.</t>
        <t>The frame type (0x3f5153300d0a0d0a; "\xffQMX\r\n\r\n" on wire) has been chosen
so that it can be used to disambiguate QMux from HTTP/1.1 <xref target="HTTP1"/> and
HTTP/2.</t>
      </section>
      <section anchor="qxping-frames">
        <name>QX_PING Frames</name>
        <t>In QMux, QX_PING frames allow endpoints to test peer reachability above the
underlying transport.</t>
        <t>QX_PING frames are formatted as shown in <xref target="fig-qx-ping"/>.</t>
        <figure anchor="fig-qx-ping">
          <name>QX_PING Frame Format</name>
          <artwork><![CDATA[
QX_PING Frame {
  Type (i) = 0x348c67529ef8c7bd..0x348c67529ef8c7be,
  Sequence Number (i),
}
]]></artwork>
        </figure>
        <t>Type 0x348c67529ef8c7bd is used for sending a ping (i.e., request the peer to
respond). Type 0x348c67529ef8c7be is used in response.</t>
        <t>QX_PING frames contain the following fields:</t>
        <dl>
          <dt>Sequence Number:</dt>
          <dd>
            <t>A variable-length integer used to identify the ping.</t>
          </dd>
        </dl>
        <t>When sending QX_PING frames of type 0x348c67529ef8c7bd, endpoints <bcp14>MUST</bcp14> send
monotonically increasing values in the Sequence Number field, since that allows
the endpoints to identify to which ping the peer has responded.</t>
        <t>When sending QX_PING frames of type 0x348c67529ef8c7be in response, endpoints
<bcp14>MUST</bcp14> echo the Sequence Number that they received.</t>
        <t>When receiving multiple QX_PING frames of type 0x348c67529ef8c7bd before having
the chance to respond, an endpoint <bcp14>MAY</bcp14> only respond with one QX_PING frame of
type 0x348c67529ef8c7be carrying the largest Sequence Number that the endpoint
has received.</t>
      </section>
    </section>
    <section anchor="transport-parameters">
      <name>Transport Parameters</name>
      <t>QMux uses a subset of transport parameters defined in QUIC version 1. Also, one
new transport parameter specific to QMux is defined.</t>
      <section anchor="permitted-tps">
        <name>Permitted and Forbidden Transport Parameters</name>
        <t>In QMux, use of the following transport parameters is allowed.</t>
        <ul spacing="normal">
          <li>
            <t>max_idle_timeout</t>
          </li>
          <li>
            <t>initial_max_data</t>
          </li>
          <li>
            <t>initial_max_stream_data_bidi_local</t>
          </li>
          <li>
            <t>initial_max_stream_data_bidi_remote</t>
          </li>
          <li>
            <t>initial_max_stream_data_uni</t>
          </li>
          <li>
            <t>initial_max_streams_bidi</t>
          </li>
          <li>
            <t>initial_max_streams_uni</t>
          </li>
        </ul>
        <t>The definition of these transport parameters are unchanged.</t>
        <t>Use of other transport parameters defined in QUIC version 1 is prohibited. When
an endpoint receives one of the prohibited transport parameters, the endpoint
<bcp14>MUST</bcp14> close the connection with an error of type TRANSPORT_PARAMETER_ERROR.</t>
        <t>Endpoints <bcp14>MUST NOT</bcp14> send transport parameters that extend QUIC version 1, unless
they are specified to be compatible with QMux.</t>
        <t>When receiving transport parameters not defined in QUIC version 1, receivers
<bcp14>MUST</bcp14> ignore them unless they are specified to be usable on QMux.</t>
      </section>
      <section anchor="max_record_size">
        <name>max_record_size Transport Parameter</name>
        <t>The <tt>max_record_size</tt> transport parameter (0x0571c59429cd0845) is a
variable-length integer specifying the maximum value of the Size field of a QMux
Record that the peer can send, in the unit of bytes.</t>
        <t>The initial value of the <tt>max_record_size</tt> transport parameter is 16382.
This value allows a sender to construct a 16KB QMux Record by using a 2-byte
Size field and a 16382-byte Frames field, aligning with the default capacity of
a full-sized TLS record.</t>
        <t>By sending the transport parameter, the maximum record size can only be
increased. When receiving a value below the initial value, receivers <bcp14>MUST</bcp14> close
the connection with an error of type TRANSPORT_PARAMETER_ERROR.</t>
        <t>Endpoints <bcp14>MUST NOT</bcp14> send QMux Records with a Frames field that exceeds the
maximum declared by the peer.</t>
        <t>When receiving a QMux Record with a Frames field that exceeds the declared
maximum, receivers <bcp14>MUST</bcp14> close the connection with an error of type
FRAME_ENCODING_ERROR.</t>
      </section>
    </section>
    <section anchor="forward-progress-flow-control">
      <name>Forward Progress and Flow Control</name>
      <t>To avoid deadlock due to flow control in the underlying transport, endpoints
<bcp14>MUST</bcp14> continue reading from the underlying transport even when delivery of STREAM
data to the application is temporarily blocked.</t>
      <t>Endpoints <bcp14>MUST NOT</bcp14> couple reads from the underlying transport to application
reads on any single QUIC stream, as doing so can prevent processing of frames
required for connection progress.</t>
      <t>Continuing to read does not imply unbounded buffering of STREAM data, as the
amount of stream data a peer can send is limited by flow control
(<xref section="4" sectionFormat="of" target="QUIC"/>). For DATAGRAM frames, endpoints <bcp14>MAY</bcp14> drop received
datagrams when they cannot be promptly delivered to the application.</t>
    </section>
    <section anchor="closing-the-connection">
      <name>Closing the Connection</name>
      <t>As is with QUIC version 1, a connection can be closed either by a
CONNECTION_CLOSE frame or by an idle timeout.</t>
      <t>Unlike QUIC version 1, idle timeout handling does not rely on ACK frames.
Endpoints reset the idle timer when sending or receiving QMux frames. When no
other traffic is available, QX_PING frames can be used to elicit a peer
response and keep the connection active.</t>
      <t>Unlike QUIC version 1, there is no draining period; once an endpoint sends or
receives the CONNECTION_CLOSE frame or reaches the idle timeout, all the
resources allocated for the Service are freed and the underlying transport is
closed immediately.</t>
    </section>
    <section anchor="using-tls">
      <name>Using TLS</name>
      <t>When QMux is used over TLS, TLS provides capabilities in addition to
confidentiality and integrity protection.</t>
      <section anchor="negotiation">
        <name>Protocol Negotiation</name>
        <t>As in QUIC <xref section="8.1" sectionFormat="of" target="QUIC-TLS"/>, when running an application protocol
over QMux over TLS, endpoints <bcp14>MUST</bcp14> use ALPN <xref target="ALPN"/> to agree on an application
protocol, unless another mechanism is used for agreeing on an application
protocol.</t>
        <t>ALPN protocol identifiers identify the application protocol in use. Application
protocols that use QMux over TLS <bcp14>MUST</bcp14> designate their ALPN identifier and
specify that they use QMux version 1. The identifier for a mapping to QMux <bcp14>MUST</bcp14>
be different from the mapping of the same protocol to QUIC,
to retain compatibility with Service Binding and Parameter Specification
via the DNS <xref target="SVCB"/>.</t>
        <t>When using ALPN, endpoints <bcp14>MUST</bcp14> abort the TLS handshake with a
no_application_protocol TLS alert (<xref section="3.2" sectionFormat="of" target="ALPN"/>) if an application
protocol is not negotiated. While ALPN only requires that servers use this
alert, QMux clients <bcp14>MUST</bcp14> also abort the handshake when ALPN negotiation fails.</t>
        <t>QMux is not itself an application protocol and does not have an ALPN identifier.</t>
        <t>TO BE REMOVED BEFORE PUBLICATION: During the development of QMux, its wire
format might change. Therefore, when testing interoperability of application
protocols using a draft version of QMux, applications should specify, for each
ALPN identifier they define, which draft version of QMux is used. As an example,
an ALPN identifier "myapp-12qx" could identify version 12 of "myapp" over TCP and QMux,
identifying the use of a specific QMux draft version in its specification.
the use of QMux draft-05.</t>
      </section>
      <section anchor="using-0-rtt">
        <name>Using 0-RTT</name>
        <t>TLS 1.3 introduced the concept of early data (also known as 0-RTT data).</t>
        <t>When using QMux over TLS that supports early data, clients <bcp14>MAY</bcp14> use early data
when resuming a connection, by reusing certain transport parameters as defined
in <xref section="7.4.1" sectionFormat="of" target="QUIC"/>.</t>
        <t>Similarly, when accepting early data, servers <bcp14>MUST</bcp14> send transport parameters
that comply with the restrictions in <xref section="7.4.1" sectionFormat="of" target="QUIC"/>. This preserves
QUIC's 0-RTT compatibility model and avoids requiring an additional round trip
to learn peer transport parameters on resumed connections.</t>
      </section>
    </section>
    <section anchor="extensions">
      <name>Extensions</name>
      <t>Not all the extensions of QUIC version 1 can be used. Each extension have to
define its mapping for QMux, or explicitly allow the use; see <xref target="permitted-tps"/>.</t>
      <t>As is the case with QUIC version 1, use of extension frames have to be
negotiated before use; see <xref section="19.21" sectionFormat="of" target="QUIC"/>.</t>
      <t>This specification defines the mapping of the Unreliable Datagram Extension.</t>
      <section anchor="unreliable-datagram-extension">
        <name>Unreliable Datagram Extension</name>
        <t>The use of the Unreliable Datagram Extension <xref target="QUIC_DATAGRAM"/> is
permitted. The encoding and semantics of the Unreliable Datagram Extension
remain unchanged, and the use of the extension is negotiated via transport
parameters.</t>
        <t>As discussed in <xref section="5" sectionFormat="of" target="QUIC_DATAGRAM"/>, senders can drop DATAGRAM frames
if the transport is blocked by flow or congestion control.</t>
      </section>
    </section>
    <section anchor="version-agility">
      <name>Version Agility</name>
      <t>As new versions of QUIC are specified, there may be a desire to define their
reliable-byte-stream counterparts as different versions of QMux, and to provide
ways of negotiating the version to be used.</t>
      <t>QUIC establishes connections using packets carrying an explicit version number.
Using that field, Version-Independent Properties of
QUIC <xref target="QUIC-INVARIANTS"/> defines a version negotiation mechanism that
involves a retry. Compatible Version Negotiation for QUIC
<xref target="QUIC-CVN"/> defines another negotiation mechanism for switching
between compatible versions during connection establishment without retrying.</t>
      <t>By contrast, QMux does not establish connections by itself; the connections are
set up by the underlying substrate, and QMux exchanges only the transport
parameters after they are established.</t>
      <t>Due to these differences, the negotiation mechanisms used by QUIC and QMux will
differ.</t>
      <t>This section explores some options that future versions of QMux might employ for
version negotiation and upgrade.</t>
      <section anchor="negotiation-using-alpn">
        <name>Negotiation Using ALPN</name>
        <t>When a new QUIC version that provides a different interface to applications is
specified, application protocols developed for that version might be assigned a
new identifier for the TLS Application-Layer Protocol Negotiation (ALPN)
extension <xref target="ALPN"/>.</t>
        <t>Similarly, when TLS is the underlying transport, application protocols built on
top of the QMux counterparts of such QUIC versions can rely on ALPN to negotiate
both the application protocol and the underlying QMux version (<xref target="negotiation"/>).</t>
        <t>When TLS is not the underlying transport, endpoints can use the first 8 bytes
exchanged on the transport (i.e., the type field of the
QX_TRANSPORT_PARAMETERS frame in the encoded form) to identify whether QMux is
in use.</t>
        <t>[TODO: discuss how endpoints should behave when the first 8 bytes received are
not QX_TRANSPORT_PARAMETERS.]</t>
      </section>
      <section anchor="in-band-upgrade">
        <name>In-band Upgrade</name>
        <t>A new version of QMux might first start communication using QMux version 1 and
then switch versions in-band during the session. The advantage of this approach
is that, even when TLS is not in use, no additional round-trip is incurred for
version negotiation.</t>
        <t>While QMux version 1 does not specify a concrete method, new versions might use
the version_information transport parameter (<xref section="3" sectionFormat="of" target="QUIC-CVN"/>) to
discover supported versions and coordinate the switch.</t>
      </section>
    </section>
    <section anchor="implementation-considerations">
      <name>Implementation Considerations</name>
      <t>Similar to HTTP/3 with Extensible Priorities <xref target="HTTP_PRIORITY"/>,
application protocols using QUIC may employ stream multiplexing along with a
system to tune the delivery sequence of QUIC streams.</t>
      <t>To alternate between QUIC streams of varying priorities in a timely manner, it
is advisable for QMux implementations to avoid creating deep buffers holding
QUIC frames. Instead, endpoints should wait for the transport layer to be ready
for writing. Upon becoming writable, they should write QUIC frames according to
the latest prioritization signals.</t>
      <t>Additionally, implementations may consider monitoring or adjusting the flow and
congestion control parameters of the underlying transport. This approach aims to
minimize data buffering within the transport layer before transmission. However,
improper adjustment of these parameters could potentially lead to lower
throughput.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Failure to follow the forward-progress requirements in
<xref target="forward-progress-flow-control"/> can lead to deadlock and can be exploited for
resource-exhaustion attacks.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document defines new frame types and a transport parameter for use
with QUIC. IANA is requested to register the following values in the
registries under <eref target="https://www.iana.org/assignments/quic">https://www.iana.org/assignments/quic</eref>.</t>
      <t>The codepoints listed below, unless otherwise stated, were selected using the
deterministic method described at <eref target="https://martinthomson.github.io/quic-pick/">https://martinthomson.github.io/quic-pick/</eref>,
with seeds of the form <tt>draft-ietf-quic-qmux-NN_&lt;fieldtype&gt;</tt>. Upon publication
as an RFC, IANA is requested to replace provisional codepoints with permanent
assignments from the standards-action range.</t>
      <section anchor="quic-frame-types">
        <name>QUIC Frame Types</name>
        <t>The following entries should be added to the "QUIC Frame Types"
registry.</t>
        <table>
          <thead>
            <tr>
              <th align="left">Value</th>
              <th align="left">Frame Type Name</th>
              <th align="left">Status</th>
              <th align="left">Specification</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0x3f5153300d0a0d0a</td>
              <td align="left">QX_TRANSPORT_PARAMETERS</td>
              <td align="left">provisional</td>
              <td align="left">
                <xref target="fig-qx-transport-parameters"/></td>
            </tr>
            <tr>
              <td align="left">0x348c67529ef8c7bd - 0x348c67529ef8c7be</td>
              <td align="left">QX_PING</td>
              <td align="left">provisional</td>
              <td align="left">
                <xref target="fig-qx-ping"/></td>
            </tr>
          </tbody>
        </table>
        <t>The value 0x3f5153300d0a0d0a for QX_TRANSPORT_PARAMETERS was chosen deliberately
to function as a protocol magic number see (<xref target="fig-qx-transport-parameters"/>).</t>
      </section>
      <section anchor="quic-transport-parameters">
        <name>QUIC Transport Parameters</name>
        <t>The following entry should be added to the "QUIC Transport Parameters"
registry.</t>
        <table>
          <thead>
            <tr>
              <th align="left">Value</th>
              <th align="left">Parameter Name</th>
              <th align="left">Status</th>
              <th align="left">Specification</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0x0571c59429cd0845</td>
              <td align="left">max_record_size</td>
              <td align="left">provisional</td>
              <td align="left">
                <xref target="max_record_size"/></td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="QUIC">
          <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="TLS13">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </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>
        <reference anchor="ALPN">
          <front>
            <title>Transport Layer Security (TLS) Application-Layer Protocol Negotiation Extension</title>
            <author fullname="S. Friedl" initials="S." surname="Friedl"/>
            <author fullname="A. Popov" initials="A." surname="Popov"/>
            <author fullname="A. Langley" initials="A." surname="Langley"/>
            <author fullname="E. Stephan" initials="E." surname="Stephan"/>
            <date month="July" year="2014"/>
            <abstract>
              <t>This document describes a Transport Layer Security (TLS) extension for application-layer protocol negotiation within the TLS handshake. For instances in which multiple application protocols are supported on the same TCP or UDP port, this extension allows the application layer to negotiate which protocol will be used within the TLS connection.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7301"/>
          <seriesInfo name="DOI" value="10.17487/RFC7301"/>
        </reference>
        <reference anchor="QUIC_DATAGRAM">
          <front>
            <title>An Unreliable Datagram Extension to QUIC</title>
            <author fullname="T. Pauly" initials="T." surname="Pauly"/>
            <author fullname="E. Kinnear" initials="E." surname="Kinnear"/>
            <author fullname="D. Schinazi" initials="D." surname="Schinazi"/>
            <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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <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="UDP">
          <front>
            <title>User Datagram Protocol</title>
            <author fullname="J. Postel" initials="J." surname="Postel"/>
            <date month="August" year="1980"/>
          </front>
          <seriesInfo name="STD" value="6"/>
          <seriesInfo name="RFC" value="768"/>
          <seriesInfo name="DOI" value="10.17487/RFC0768"/>
        </reference>
        <reference anchor="TCP">
          <front>
            <title>Transmission Control Protocol (TCP)</title>
            <author fullname="W. Eddy" initials="W." role="editor" surname="Eddy"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>This document specifies the Transmission Control Protocol (TCP). TCP is an important transport-layer protocol in the Internet protocol stack, and it has continuously evolved over decades of use and growth of the Internet. Over this time, a number of changes have been made to TCP as it was specified in RFC 793, though these have only been documented in a piecemeal fashion. This document collects and brings those changes together with the protocol specification from RFC 793. This document obsoletes RFC 793, as well as RFCs 879, 2873, 6093, 6429, 6528, and 6691 that updated parts of RFC 793. It updates RFCs 1011 and 1122, and it should be considered as a replacement for the portions of those documents dealing with TCP requirements. It also updates RFC 5961 by adding a small clarification in reset handling while in the SYN-RECEIVED state. The TCP header control bits from RFC 793 have also been updated based on RFC 3168.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="7"/>
          <seriesInfo name="RFC" value="9293"/>
          <seriesInfo name="DOI" value="10.17487/RFC9293"/>
        </reference>
        <reference anchor="HTTP3">
          <front>
            <title>HTTP/3</title>
            <author fullname="M. Bishop" initials="M." role="editor" surname="Bishop"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The QUIC transport protocol has several features that are desirable in a transport for HTTP, such as stream multiplexing, per-stream flow control, and low-latency connection establishment. This document describes a mapping of HTTP semantics over QUIC. This document also identifies HTTP/2 features that are subsumed by QUIC and describes how HTTP/2 extensions can be ported to HTTP/3.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9114"/>
          <seriesInfo name="DOI" value="10.17487/RFC9114"/>
        </reference>
        <reference anchor="HTTP2">
          <front>
            <title>HTTP/2</title>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <author fullname="C. Benfield" initials="C." role="editor" surname="Benfield"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>This specification describes an optimized expression of the semantics of the Hypertext Transfer Protocol (HTTP), referred to as HTTP version 2 (HTTP/2). HTTP/2 enables a more efficient use of network resources and a reduced latency by introducing field compression and allowing multiple concurrent exchanges on the same connection.</t>
              <t>This document obsoletes RFCs 7540 and 8740.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9113"/>
          <seriesInfo name="DOI" value="10.17487/RFC9113"/>
        </reference>
        <reference anchor="h2-stream-limits">
          <front>
            <title>Using HTTP/3 Stream Limits in HTTP/2</title>
            <author fullname="Martin Thomson" initials="M." surname="Thomson">
              <organization>Mozilla</organization>
            </author>
            <author fullname="Lucas Pardue" initials="L." surname="Pardue">
              <organization>Cloudflare</organization>
            </author>
            <date day="6" month="November" year="2023"/>
            <abstract>
              <t>   A variant mechanism for managing stream limits is described for
   HTTP/2.  This scheme is based on that used in QUIC and is more robust
   against certain patterns of abuse.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-thomson-httpbis-h2-stream-limits-00"/>
        </reference>
        <reference anchor="webtrans-h3">
          <front>
            <title>WebTransport over HTTP/3</title>
            <author fullname="Alan Frindell" initials="A." surname="Frindell">
              <organization>Facebook</organization>
            </author>
            <author fullname="Eric Kinnear" initials="E." surname="Kinnear">
              <organization>Apple Inc.</organization>
            </author>
            <author fullname="Victor Vasiliev" initials="V." surname="Vasiliev">
              <organization>Google</organization>
            </author>
            <date day="2" month="March" year="2026"/>
            <abstract>
              <t>   WebTransport [OVERVIEW] is a protocol framework that enables
   application clients constrained by the Web security model to
   communicate with a remote application server using a secure
   multiplexed transport.  This document describes a WebTransport
   protocol that is based on HTTP/3 [HTTP3] and provides support for
   unidirectional streams, bidirectional streams, and datagrams, all
   multiplexed within the same HTTP/3 connection.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-webtrans-http3-15"/>
        </reference>
        <reference anchor="webtrans-h2">
          <front>
            <title>WebTransport over HTTP/2</title>
            <author fullname="Alan Frindell" initials="A." surname="Frindell">
              <organization>Facebook Inc.</organization>
            </author>
            <author fullname="Eric Kinnear" initials="E." surname="Kinnear">
              <organization>Apple Inc.</organization>
            </author>
            <author fullname="Tommy Pauly" initials="T." surname="Pauly">
              <organization>Apple Inc.</organization>
            </author>
            <author fullname="Martin Thomson" initials="M." surname="Thomson">
              <organization>Mozilla</organization>
            </author>
            <author fullname="Victor Vasiliev" initials="V." surname="Vasiliev">
              <organization>Google</organization>
            </author>
            <author fullname="Woo Xie" initials="W." surname="Xie">
              <organization>Facebook Inc.</organization>
            </author>
            <date day="2" month="March" year="2026"/>
            <abstract>
              <t>   WebTransport defines a set of low-level communications features
   designed for client-server interactions that are initiated by Web
   clients.  This document describes a protocol that can provide many of
   the capabilities of WebTransport over HTTP/2.  This protocol enables
   the use of WebTransport when a UDP-based protocol is not available.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-webtrans-http2-14"/>
        </reference>
        <reference anchor="HTTP1">
          <front>
            <title>HTTP/1.1</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document specifies the HTTP/1.1 message syntax, message parsing, connection management, and related security concerns.</t>
              <t>This document obsoletes portions of RFC 7230.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="99"/>
          <seriesInfo name="RFC" value="9112"/>
          <seriesInfo name="DOI" value="10.17487/RFC9112"/>
        </reference>
        <reference anchor="SVCB">
          <front>
            <title>Service Binding and Parameter Specification via the DNS (SVCB and HTTPS Resource Records)</title>
            <author fullname="B. Schwartz" initials="B." surname="Schwartz"/>
            <author fullname="M. Bishop" initials="M." surname="Bishop"/>
            <author fullname="E. Nygren" initials="E." surname="Nygren"/>
            <date month="November" year="2023"/>
            <abstract>
              <t>This document specifies the "SVCB" ("Service Binding") and "HTTPS" DNS resource record (RR) types to facilitate the lookup of information needed to make connections to network services, such as for HTTP origins. SVCB records allow a service to be provided from multiple alternative endpoints, each with associated parameters (such as transport protocol configuration), and are extensible to support future uses (such as keys for encrypting the TLS ClientHello). They also enable aliasing of apex domains, which is not possible with CNAME. The HTTPS RR is a variation of SVCB for use with HTTP (see RFC 9110, "HTTP Semantics"). By providing more information to the client before it attempts to establish a connection, these records offer potential benefits to both performance and privacy.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9460"/>
          <seriesInfo name="DOI" value="10.17487/RFC9460"/>
        </reference>
        <reference anchor="QUIC-INVARIANTS">
          <front>
            <title>Version-Independent Properties of QUIC</title>
            <author fullname="M. Thomson" initials="M." surname="Thomson"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document defines the properties of the QUIC transport protocol that are common to all versions of the protocol.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8999"/>
          <seriesInfo name="DOI" value="10.17487/RFC8999"/>
        </reference>
        <reference anchor="QUIC-CVN">
          <front>
            <title>Compatible Version Negotiation for QUIC</title>
            <author fullname="D. Schinazi" initials="D." surname="Schinazi"/>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="May" year="2023"/>
            <abstract>
              <t>QUIC does not provide a complete version negotiation mechanism but instead only provides a way for the server to indicate that the version the client chose is unacceptable. This document describes a version negotiation mechanism that allows a client and server to select a mutually supported version. Optionally, if the client's chosen version and the negotiated version share a compatible first flight format, the negotiation can take place without incurring an extra round trip. This document updates RFC 8999.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9368"/>
          <seriesInfo name="DOI" value="10.17487/RFC9368"/>
        </reference>
        <reference anchor="HTTP_PRIORITY">
          <front>
            <title>Extensible Prioritization Scheme for HTTP</title>
            <author fullname="K. Oku" initials="K." surname="Oku"/>
            <author fullname="L. Pardue" initials="L." surname="Pardue"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>This document describes a scheme that allows an HTTP client to communicate its preferences for how the upstream server prioritizes responses to its requests, and also allows a server to hint to a downstream intermediary how its responses should be prioritized when they are forwarded. This document defines the Priority header field for communicating the initial priority in an HTTP version-independent manner, as well as HTTP/2 and HTTP/3 frames for reprioritizing responses. These share a common format structure that is designed to provide future extensibility.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9218"/>
          <seriesInfo name="DOI" value="10.17487/RFC9218"/>
        </reference>
      </references>
    </references>
    <?line 651?>

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

-->

</rfc>
