<?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.39 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-masque-connect-udp-ecn-dscp-01" category="std" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title>ECN and DSCP support for HTTPS's Connect-UDP</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-masque-connect-udp-ecn-dscp-01"/>
    <author initials="M." surname="Westerlund" fullname="Magnus Westerlund">
      <organization>Ericsson</organization>
      <address>
        <email>magnus.westerlund@ericsson.com</email>
      </address>
    </author>
    <author initials="M." surname="Seemann" fullname="Marten Seemann">
      <organization>Smallstep</organization>
      <address>
        <email>martenseemann@gmail.com</email>
      </address>
    </author>
    <author fullname="Mirja Kühlewind">
      <organization>Ericsson</organization>
      <address>
        <email>mirja.kuehlewind@ericsson.com</email>
      </address>
    </author>
    <author fullname="Marcus Ihlar">
      <organization>Ericsson</organization>
      <address>
        <email>marcus.ihlar@ericsson.com</email>
      </address>
    </author>
    <date year="2026" month="July" day="06"/>
    <area>WIT</area>
    <workgroup>MASQUE</workgroup>
    <keyword>quic</keyword>
    <keyword>http</keyword>
    <keyword>datagram</keyword>
    <keyword>udp</keyword>
    <keyword>proxy</keyword>
    <keyword>tunnels</keyword>
    <keyword>quic in quic</keyword>
    <keyword>turtles all the way down</keyword>
    <keyword>masque</keyword>
    <keyword>http-ng</keyword>
    <abstract>
      <?line 74?>

<t>HTTP's Extended Connect's Connect-UDP protocol enables a client to
proxy a UDP flow from the HTTP server towards a specified target IP
address and UDP port. QUIC and Real-time transport protocol (RTP) are examples
of transport protocols that use UDP and support Explicit Congestion
Notification (ECN) and provide the necessary feedback. This document specifies
how ECN and DSCP can be supported through an extension to the Connect-UDP
protocol for HTTP without per-packet byte overhead, solely using Context IDs.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://gloinul.github.io/masque-ecn/#go.draft-westerlund-masque-connect-udp-ecn.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-masque-connect-udp-ecn-dscp/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        MASQUE Working Group mailing list (<eref target="mailto:masque@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/masque/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/masque/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/gloinul/masque-ecn"/>.</t>
    </note>
  </front>
  <middle>
    <?line 85?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Connect-UDP, as currently defined, limits the Explicit Congestion Notification
(ECN) <xref target="RFC3168"/> exchange between the HTTP server and the target. There is no
support for carrying the ECN bits between the HTTP Connect-UDP client and the
HTTP server proxying the UDP flow. Thus, it is not possible to establish the
end-to-end ECN information flow necessary to support either classic ECN
<xref target="RFC3168"/> or L4S <xref target="RFC9330"/>, <xref target="RFC9331"/>.</t>
      <t>Diffserv <xref target="RFC2475"/> enables differential network treatment of packets.
Connect-UDP, as currently defined, lacks support for carrying the DSCP
field <xref target="RFC2474"/> through the tunnel.</t>
      <t>This document specifies Connect-UDP extensions that enable end-to-end ECN
and DSCP for proxied connections: the zero-bytes extension adds no
per-packet overhead by encoding the ECN and DSCP values directly into Context IDs.
This document specifies negotiation to provide an initial set of Context IDs
and capsules for dynamic updates.</t>
      <t>An alternative to this extension is Connect-IP <xref target="RFC9484"/>; however, it carries
a full IP header between the HTTP client and server, resulting in significantly
more overhead than this extension.</t>
      <t>This extension is defined such that it allows clients to optimistically start
sending UDP packets in HTTP Datagrams, i.e. before receiving the response to its
UDP proxying request, as described in <xref section="5" sectionFormat="of" target="RFC9298"/>.</t>
    </section>
    <section anchor="conventions">
      <name>Conventions</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.
<?line -6?>
      </t>
    </section>
    <section anchor="sec-CONTEXT">
      <name>Zero-byte Combined ECN and DSCP Extension</name>
      <t>For a zero-overhead encoding, the ECN and DSCP bits are indicated by using different
Context IDs. An example use of three additional Context IDs to only encode the ECN
bit used together with a DSCP of 0 is shown in <xref target="ECN-Encoding-Table"/>.</t>
      <table anchor="ECN-Encoding-Table">
        <name>ECN-only Encoding Table</name>
        <thead>
          <tr>
            <th align="right">Context ID Value</th>
            <th align="left">ECN bit</th>
            <th align="left">ECN Value</th>
            <th align="left">DSCP Value</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="right">0</td>
            <td align="left">0b00</td>
            <td align="left">Not-ECT</td>
            <td align="left">0</td>
          </tr>
          <tr>
            <td align="right">2</td>
            <td align="left">0b01</td>
            <td align="left">ECT(1)</td>
            <td align="left">0</td>
          </tr>
          <tr>
            <td align="right">4</td>
            <td align="left">0b10</td>
            <td align="left">ECT(0)</td>
            <td align="left">0</td>
          </tr>
          <tr>
            <td align="right">6</td>
            <td align="left">0b11</td>
            <td align="left">CE</td>
            <td align="left">0</td>
          </tr>
        </tbody>
      </table>
      <t>No new Context ID value is defined to represent Not-ECT, since using a Context
ID without this extension would, by default, imply Not-ECT. Additionally,
Context IDs are defined to represent the combination of an ECN value other than
Not-ECT and the DSCP values. If an application uses more
DSCP values than just zero, additional Context IDs must be defined.</t>
      <t>This extension results in four times as many Context IDs within a single
Connect-UDP stream for each DSCP value used. We expect that this is acceptable in most cases, as a total
of 31 client initiated Context IDs can be encoded in a single byte, thus resulting in no packet
expansion for applications that use up to 8 DSCP values.</t>
      <t>An endpoint enabling this extension MUST define all three ECN values, even if
the ECN-enabled application expects that only one ECT value (and CE) is used.
This is because of transmission errors or erroneous remarking in the network,
where the other ECT codepoint, as well as Not-ECT, may be observed.</t>
      <t>Negotiation of the context ID values is defined using both
HTTP headers and capsules in <xref target="sec-neg"/>.</t>
    </section>
    <section anchor="sec-neg">
      <name>Negotiating Extensions Usage</name>
      <t>This section defines capability negotiation and Context ID
configuration for the zero-bytes combined ECN and DSCP extensions.</t>
      <t>Note that Context Identifiers are defined as QUIC varints (see Section 16 of
<xref target="RFC9000"/>) and support values up to 4,611,686,018,427,387,903 (2^62-1), which is
larger than what a Structure Header Integer supports (limited to
999,999,999,999,999). We foresee no issues with this limitation, as Context
Identifiers should primarily use the single-byte representation for efficiency,
i.e., they should rarely exceed 63.</t>
      <section anchor="sec-format">
        <name>ECN DSCP Context Assignment Format</name>
        <t>In this extension four Context IDs need to be configured for each DSCP value.</t>
        <t>A configuration of ECN and DSCP signaling is represented by a five-tuple with the
following format:</t>
        <figure anchor="ECN-DSCP-Format">
          <name>ECN DSCP CONTEXT ASSIGNMENT Format</name>
          <artwork type="ascii-art"><![CDATA[
ECN_DSCP_CONTEXT_ASSIGNMENT {
  DSCP_VALUE (6),
  Reserved (2),
  NOT_ECN_CONTEXT (i)
  ECT_1_CONTEXT (i),
  ECT_0_CONTEXT (i),
  CE_CONTEXT (i),
}
]]></artwork>
        </figure>
        <dl>
          <dt>DSCP_VALUE:</dt>
          <dd>
            <t>The DSCP value in the IP valid for the following Context IDs.</t>
          </dd>
          <dt>Reserved:</dt>
          <dd>
            <t>Reserving two bits to achieve byte alignment for the DSCP_VALUE.</t>
          </dd>
          <dt>NOT_ECN_CONTEXT:</dt>
          <dd>
            <t>The Context ID used to indicate the payload was marked as Not-ECN-Capable.</t>
          </dd>
          <dt>ECT_1_CONTEXT:</dt>
          <dd>
            <t>The Context ID used to indicate the payload was marked with ECN value ECT(1).</t>
          </dd>
          <dt>ECT_0_CONTEXT:</dt>
          <dd>
            <t>The Context ID used to indicate the payload was marked with ECN value ECT(0).</t>
          </dd>
          <dt>CE_CONTEXT:</dt>
          <dd>
            <t>The Context ID used to indicate the payload was marked with ECN value CE.</t>
          </dd>
        </dl>
        <section anchor="http-structured-field">
          <name>HTTP Structured field</name>
          <t>ECN-DSCP-Context-ID is a Structured Header Field <xref target="RFC9651"/>. Its value is a List
consisting of zero or more Inner Lists, where the Inner List contains five
Integer Items. The Integer Items MUST be non-negative, as they are DSCP values
and Context ID defined in <xref target="RFC9298"/>. The DSCP value and four ECN Context IDs are those defined in
<xref target="ECN-DSCP-Format"/>, in that order.</t>
          <t>When the header is included in an Extended Connect request, it indicates, first
of all, support for this ECN extension. Secondly, it may define one or more
5-item inner lists of DSCP values and corresponding ECN Context IDs for the requestor-to-responder direction.
If no 5-item inner lists of Context IDs are included, then this header only
indicates support for the extension, and the Context IDs MAY be signaled using
capsules.</t>
          <t>When the request includes the ECN-DSCP-Context-ID header, the responder MAY include
this header in the response. If included with one or more 5-item inner lists, it
defines Context IDs defined by the server, usable in either direction.</t>
          <t>The following example indicates support for this extension and defines
two sets of client initiated Context IDs: ID= 10, 12, 14, 16 (Not-ECN-Capable, ECT(1), ECT(0), CE)
combined with DSCP 46 for Expedited Forwarding (EF): 46 ; and ID=0, 4, 6, 8 combined with the default DSCP value of 0.
Note that the default context ID of 0 is (re-)used to indicate the default ECN value of Not-ECN Capable.</t>
          <figure anchor="ECN-DSCP-Context-ID-example">
            <name>Example of ECN-DSCP-Context-ID header</name>
            <artwork type="ascii-art"><![CDATA[
ECN-DSCP-Context-ID: (46,8,10,12,14), (0,0,2,4,6)
]]></artwork>
          </figure>
          <t>A well formed ECDN-DSCP-Context-ID header field SHALL NOT contain the
same context ID in multiple inner lists or multiple positions within
the same list.</t>
        </section>
        <section anchor="ecn-dscp-context-id-assignment-and-ack-capsules">
          <name>ECN DSCP Context ID Assignment and ACK Capsules</name>
          <t>The ECN_DSCP_CONTEXT_ASSIGN capsule is used to assign additional Context ID values
after negotiation and initial assignment in the HTTP header.</t>
          <figure anchor="CAP-Format-Assign">
            <name>ECN_DSCP_CONTEXT_ASSIGN Capsule Format</name>
            <artwork type="ascii-art"><![CDATA[
ECN_DSCP_CONTEXT_ASSIGN Capsule {
  Type (i) = TBA_1
  Length (i),
  ECN_DSCP_CONTEXT_ASSIGNMENT (..) ...,
}
]]></artwork>
          </figure>
          <t>Type and Length as defined by Section 3.2 of the HTTP Capsule specification
<xref target="RFC9297"/>. The capsule value is the ECN_DSCP_CONTEXT_ASSIGNMENT defined above in
<xref target="ECN-DSCP-Format"/>. Thus, the capsule value consists of zero or more
ECN_DSCP_CONTEXT_ASSIGNMENT five-tuples.</t>
          <t>The ECN_DSCP_CONTEXT_ACK capsule confirms the registration of Context IDs that were received via an
ECN_DSCP_CONTEXT_ASSIGN capsule.</t>
          <figure anchor="CAP-Format-Ack">
            <name>ECN_DSCP_CONTEXT_ACK Capsule Format</name>
            <artwork type="ascii-art"><![CDATA[
ECN_DSCP_CONTEXT_ACK Capsule {
  Type (i) = TBA_2
  Length (i),
  ECN_DSCP_CONTEXT_ASSIGNMENT (..) ...,
}
]]></artwork>
          </figure>
          <t>An endpoint MUST only send an ECN_DSCP_CONTEXT_ACK capsule if it received an
ECN_DSCP_CONTEXT_ASSIGN capsule with the same ECN_DSCP_CONTEXT_ASSIGNMENT.
If an endpoint receives an ECN_DSCP_CONTEXT_ACK capsule for an
ECN_DSCP_CONTEXT_ASSIGNMENT it did not attempt to register,
that capsule is considered malformed.</t>
        </section>
      </section>
    </section>
    <section anchor="tunnels-and-dscp-and-ecn-marking-interactions">
      <name>Tunnels and DSCP and ECN marking interactions</name>
      <section anchor="tunnel-endpoint-marking">
        <name>Tunnel Endpoint Marking</name>
        <t>When a Tunnel Endpoint receives an IP/UDP packet belonging to a Connect-UDP
request with the ECN DSCP extension enabled, the DSCP value and two ECN bits in the
incoming IP/UDP packet are used to select the appropriate Context ID.
If a not-yet-known DSCP value is received, the endpoint can register new Context ID assignments
using the ECN_DSCP_CONTEXT_ASSIGN capsule and optimistically start using them.</t>
        <t>The Tunnel Endpoint on egress sets the DSCP that belongs to the
received Context ID and corresponding ECN values in the IP packet it
creates for this UDP Proxying payload. If the tunnel endpoint receives
an unknown Context ID the endpoint MAY drop the packet or alternative buffer
it for a limited time to enable the ECN_DSCP_CONTEXT_ASSIGN capsule
to be received and processed.</t>
        <t>A Tunnel endpoint which is unable to read or set the ECN Field SHALL
NOT enable the ECN extension.</t>
      </section>
      <section anchor="dscp-remarking-considerations">
        <name>DSCP Remarking Considerations</name>
        <t>The tunnel may interconnect two different administrative domains that use
DSCP values differently. Thus, the endpoints likely need to perform remarking
of DSCP field values, similar to what an inter-domain router would. Depending on
use cases and deployment, the HTTP client can be in different network domains
with different DSCP usages. An HTTP server that, based on user identification,
connects the HTTP client to different network domains behind it may also need
to support multiple external domains.</t>
        <t>The above complications in handling DSCP make it impossible to provide a
standardized remarking instruction. Instead, the deployment will have to define
whether remarking is handled by the HTTP server, the HTTP client, or both,
considering the tunnel a specific network domain in itself.</t>
      </section>
      <section anchor="tunnel-transport-connection-ecn-interactions-and-congestion-control">
        <name>Tunnel Transport Connection ECN Interactions and Congestion Control</name>
        <t>The primary goal of the ECN DSCP extension is to enable ECN usage between the proxy
and the target and to have the end-to-end transport react to that ECN. However,
different potential models exist for providing ECN interactions for the tunnel,
i.e., between the HTTP client and server. The choice depends on how the tunnel
is configured and what additional support has been implemented for the
Connect-UDP protocol.</t>
        <t>The default deployment would be to use congestion controlled transport protocols
between the HTTP endpoints or proxies for the tunneled ECN enabled packets. This
includes all HTTP versions before HTTP/3 <xref target="RFC9114"/>, as well as HTTP/3 sending
packets over reliable streams as well as over congestion controlled datagrams.
In this deployment on the ingress to each congestion controlled transport an
Active Queue Management (AQM) is recommended that can mark the tunneled packet's
ECN field (or drop them) in case there is sufficient queue build up.</t>
        <t>For tunnels using HTTP/3 with datagrams, where the QUIC connection disables
congestion control on packets containing HTTP datagrams as discussed in Section
6 of <xref target="RFC9298"/>, the ECN marking on tunneled packets can be propagated between
the IP packet of the transport connection and the end-to-end packet. This
represents a specific implementation of IP-in-IP tunnels with tightly coupled
shim headers as discussed in <xref target="RFC9601"/>. It is implemented as
Feed-Forward-and-Up as discussed in <xref target="RFC9599"/>, and MUST use the normal mode on
tunnel ingress and follow the specified default behavior on egress as defined in
<xref target="RFC6040"/>.</t>
      </section>
      <section anchor="tunnel-transport-connection-dscp-interactions">
        <name>Tunnel Transport Connection DSCP Interactions</name>
        <t>For HTTP tunnels not using HTTP/3 <xref target="RFC9114"/>, HTTP/3 using reliable streams, or
HTTP/3 with datagrams but without disabling congestion control, the tunnel will
consist of one or possibly several chained congestion-controlled transport
connections. These transport connections can use only a single DSCP code point
to avoid inconsistent network treatment that might confuse the congestion
controller and retransmission mechanism. Thus, even if the tunneled packets use
different DSCP values, the transport connection must settle on a single,
suitable DSCP value. However, if the QUIC multipath extension
<xref target="I-D.ietf-quic-multipath"/> is used, each path can have a different DSCP value.
In this latter case, packets with different DSCP values can be mapped to
different paths with the appropriate network treatment as indicated by their
DSCP values.</t>
        <t>For tunnels using HTTP/3 with datagrams and where the QUIC connection disables
congestion control on packets containing HTTP datagrams, as discussed in
Section 6 of <xref target="RFC9298"/>, the QUIC packets can be marked using the most
suitable DSCP value based on the encapsulated packet. In cases where the tunnel
connection is sent into a different network domain than the one on which the
tunneled packet was received, a suitable remapping must occur for the domain to
which the tunnel packet will be sent. The HTTP tunnel MUST NOT coalesce
different tunneled payloads that are not mapped to the same DSCP in a single
QUIC packet.</t>
      </section>
      <section anchor="quic-aware-forwarding">
        <name>QUIC Aware Forwarding</name>
        <t>An HTTP endpoint that supports this extension and QUIC Aware Forwarding
<xref target="I-D.ietf-masque-quic-proxy"/> MUST preserve ECN markings on forwarded packets
in both directions to ensure end-to-end ECN functionality. Using this extension
in combination with QUIC Aware Forwarding, rather than relying solely on the
latter, also ensures that ECN black holes do not occur, for example, on
long-header packets or packets sent before the QUIC Aware Forwarding path is
established for short-header packets. Thus, supporting both provides a
consistent ECN experience.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Connect-UDP requires HTTPS <xref target="RFC9298"/>, which ensures that Context ID
assignments and capsule exchanges are confidential and
integrity-protected, preventing on-path third parties from
manipulating ECN and DSCP mappings.</t>
      <section anchor="dscp-and-ecn-fields">
        <name>DSCP and ECN Fields</name>
        <t>This specification main functionality is to remap the IP header's
fields DSCP and ECN to context-IDs between the ingress and egress of
the MASQUE tunnel for IP/UDP flows mapped to CONNECT-UDP request. It
also possible to apply on path marking of outer ECN fields to the
end-to-end packet on egress. Thus, this specification does not change
the risks with on-path manipulation of the ECN and DSCP fields.</t>
      </section>
      <section anchor="resource-consumption">
        <name>Resource Consumption</name>
        <t>Each ECN_DSCP_CONTEXT_ASSIGN capsule allocates state at the receiving
endpoint.  However, this state is very limited as per CONNECT-UDP each
inner assignment maps four IP TOS (DSCP+ECN) byte values to four
context value. Normally only a small subset out of the potential 256
different DSCP + ECN combination will be used. Malicous endpoints
that tries to register more than 256 mappings can be dealt by closing
the CONNECT-UDP request stream.</t>
      </section>
      <section anchor="ecn-tunnel-safety">
        <name>ECN Tunnel Safety</name>
        <t>The ECN propagation rules in <xref target="RFC6040"/> and the safety requirements in
<xref target="RFC9601"/> apply to this extension. In particular, if the tunnel egress does
not support ECN propagation, the ingress MUST clear the outer ECN field to
Not-ECT to prevent CE marks from being silently discarded, which would break
congestion control feedback loops.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="http-field-names">
        <name>HTTP Field Names</name>
        <t>IANA is requested to register one new permanent Field name in the
Hypertext Transfer Protocol (HTTP) Field Name Registry (At time of
writing residing at:
https://www.iana.org/assignments/http-fields/http-fields.xhtml).</t>
        <section anchor="ecn-dscp-context-id">
          <name>ECN-DSCP-Context-ID</name>
          <dl>
            <dt>Field Name:</dt>
            <dd>
              <t>ECN-DSCP-Context-ID</t>
            </dd>
            <dt>Status:</dt>
            <dd>
              <t>Permanent</t>
            </dd>
            <dt>Structured Type:</dt>
            <dd>
              <t>List</t>
            </dd>
            <dt>Reference:</dt>
            <dd>
              <t>RFC-TO-BE</t>
            </dd>
          </dl>
        </section>
      </section>
      <section anchor="http-capsule-type">
        <name>HTTP Capsule Type</name>
        <t>IANA is requested to register two new HTTP Capsule Types in the
permanent range (0x00-0x3f).</t>
        <section anchor="ecndscpcontextassign">
          <name>ECN_DSCP_CONTEXT_ASSIGN</name>
          <dl>
            <dt>Value:</dt>
            <dd>
              <t>TBA_1</t>
            </dd>
            <dt>Capsule Type:</dt>
            <dd>
              <t>ECN_DSCP_CONTEXT_ASSIGN</t>
            </dd>
            <dt>Status:</dt>
            <dd>
              <t>permanent</t>
            </dd>
            <dt>Reference:</dt>
            <dd>
              <t>RFC-TO-BE</t>
            </dd>
            <dt>Change Controller:</dt>
            <dd>
              <t>IETF</t>
            </dd>
            <dt>Contact:</dt>
            <dd>
              <t>MASQUE Working Group masque@ietf.org</t>
            </dd>
            <dt>Notes:</dt>
            <dd>
              <t>None</t>
            </dd>
          </dl>
        </section>
        <section anchor="ecndscpcontextack">
          <name>ECN_DSCP_CONTEXT_ACK</name>
          <dl>
            <dt>Value:</dt>
            <dd>
              <t>TBA_2</t>
            </dd>
            <dt>Capsule Type:</dt>
            <dd>
              <t>ECN_DSCP_CONTEXT_ACK</t>
            </dd>
            <dt>Status:</dt>
            <dd>
              <t>permanent</t>
            </dd>
            <dt>Reference:</dt>
            <dd>
              <t>RFC-TO-BE</t>
            </dd>
            <dt>Change Controller:</dt>
            <dd>
              <t>IETF</t>
            </dd>
            <dt>Contact:</dt>
            <dd>
              <t>MASQUE Working Group masque@ietf.org</t>
            </dd>
            <dt>Notes:</dt>
            <dd>
              <t>None</t>
            </dd>
          </dl>
        </section>
      </section>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>The authors like to acknowledge that David Schinazi early had another proposal for adding ECN to Connect-UDP <xref target="I-D.schinazi-masque-connect-udp-ecn"/>.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="I-D.ietf-masque-quic-proxy">
          <front>
            <title>QUIC-Aware Proxying Using HTTP</title>
            <author fullname="Tommy Pauly" initials="T." surname="Pauly">
              <organization>Apple Inc.</organization>
            </author>
            <author fullname="Eric Rosenberg" initials="E." surname="Rosenberg">
              <organization>Apple Inc.</organization>
            </author>
            <author fullname="David Schinazi" initials="D." surname="Schinazi">
              <organization>Google LLC</organization>
            </author>
            <date day="2" month="March" year="2026"/>
            <abstract>
              <t>   This document extends UDP Proxying over HTTP to add optimizations for
   proxied QUIC connections.  Specifically, it allows a proxy to reuse
   UDP 4-tuples for multiple proxied connections, and adds a mode of
   proxying in which QUIC short header packets can be forwarded and
   transformed through a HTTP/3 proxy rather than being fully re-
   encapsulated and re-encrypted.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-masque-quic-proxy-08"/>
        </reference>
        <reference anchor="RFC2474">
          <front>
            <title>Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers</title>
            <author fullname="K. Nichols" initials="K." surname="Nichols"/>
            <author fullname="S. Blake" initials="S." surname="Blake"/>
            <author fullname="F. Baker" initials="F." surname="Baker"/>
            <author fullname="D. Black" initials="D." surname="Black"/>
            <date month="December" year="1998"/>
            <abstract>
              <t>This document defines the IP header field, called the DS (for differentiated services) field. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2474"/>
          <seriesInfo name="DOI" value="10.17487/RFC2474"/>
        </reference>
        <reference anchor="RFC3168">
          <front>
            <title>The Addition of Explicit Congestion Notification (ECN) to IP</title>
            <author fullname="K. Ramakrishnan" initials="K." surname="Ramakrishnan"/>
            <author fullname="S. Floyd" initials="S." surname="Floyd"/>
            <author fullname="D. Black" initials="D." surname="Black"/>
            <date month="September" year="2001"/>
            <abstract>
              <t>This memo specifies the incorporation of ECN (Explicit Congestion Notification) to TCP and IP, including ECN's use of two bits in the IP header. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3168"/>
          <seriesInfo name="DOI" value="10.17487/RFC3168"/>
        </reference>
        <reference anchor="RFC6040">
          <front>
            <title>Tunnelling of Explicit Congestion Notification</title>
            <author fullname="B. Briscoe" initials="B." surname="Briscoe"/>
            <date month="November" year="2010"/>
            <abstract>
              <t>This document redefines how the explicit congestion notification (ECN) field of the IP header should be constructed on entry to and exit from any IP-in-IP tunnel. On encapsulation, it updates RFC 3168 to bring all IP-in-IP tunnels (v4 or v6) into line with RFC 4301 IPsec ECN processing. On decapsulation, it updates both RFC 3168 and RFC 4301 to add new behaviours for previously unused combinations of inner and outer headers. The new rules ensure the ECN field is correctly propagated across a tunnel whether it is used to signal one or two severity levels of congestion; whereas before, only one severity level was supported. Tunnel endpoints can be updated in any order without affecting pre-existing uses of the ECN field, thus ensuring backward compatibility. Nonetheless, operators wanting to support two severity levels (e.g., for pre-congestion notification -- PCN) can require compliance with this new specification. A thorough analysis of the reasoning for these changes and the implications is included. In the unlikely event that the new rules do not meet a specific need, RFC 4774 gives guidance on designing alternate ECN semantics, and this document extends that to include tunnelling issues. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6040"/>
          <seriesInfo name="DOI" value="10.17487/RFC6040"/>
        </reference>
        <reference anchor="RFC9000">
          <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="RFC9114">
          <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="RFC9298">
          <front>
            <title>Proxying UDP in HTTP</title>
            <author fullname="D. Schinazi" initials="D." surname="Schinazi"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>This document describes how to proxy UDP in HTTP, similar to how the HTTP CONNECT method allows proxying TCP in HTTP. More specifically, this document defines a protocol that allows an HTTP client to create a tunnel for UDP communications through an HTTP server that acts as a proxy.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9298"/>
          <seriesInfo name="DOI" value="10.17487/RFC9298"/>
        </reference>
        <reference anchor="RFC9297">
          <front>
            <title>HTTP Datagrams and the Capsule Protocol</title>
            <author fullname="D. Schinazi" initials="D." surname="Schinazi"/>
            <author fullname="L. Pardue" initials="L." surname="Pardue"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>This document describes HTTP Datagrams, a convention for conveying multiplexed, potentially unreliable datagrams inside an HTTP connection.</t>
              <t>In HTTP/3, HTTP Datagrams can be sent unreliably using the QUIC DATAGRAM extension. When the QUIC DATAGRAM frame is unavailable or undesirable, HTTP Datagrams can be sent using the Capsule Protocol, which is a more general convention for conveying data in HTTP connections.</t>
              <t>HTTP Datagrams and the Capsule Protocol are intended for use by HTTP extensions, not applications.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9297"/>
          <seriesInfo name="DOI" value="10.17487/RFC9297"/>
        </reference>
        <reference anchor="RFC9331">
          <front>
            <title>The Explicit Congestion Notification (ECN) Protocol for Low Latency, Low Loss, and Scalable Throughput (L4S)</title>
            <author fullname="K. De Schepper" initials="K." surname="De Schepper"/>
            <author fullname="B. Briscoe" initials="B." role="editor" surname="Briscoe"/>
            <date month="January" year="2023"/>
            <abstract>
              <t>This specification defines the protocol to be used for a new network service called Low Latency, Low Loss, and Scalable throughput (L4S). L4S uses an Explicit Congestion Notification (ECN) scheme at the IP layer that is similar to the original (or 'Classic') ECN approach, except as specified within. L4S uses 'Scalable' congestion control, which induces much more frequent control signals from the network, and it responds to them with much more fine-grained adjustments so that very low (typically sub-millisecond on average) and consistently low queuing delay becomes possible for L4S traffic without compromising link utilization. Thus, even capacity-seeking (TCP-like) traffic can have high bandwidth and very low delay at the same time, even during periods of high traffic load.</t>
              <t>The L4S identifier defined in this document distinguishes L4S from 'Classic' (e.g., TCP-Reno-friendly) traffic. Then, network bottlenecks can be incrementally modified to distinguish and isolate existing traffic that still follows the Classic behaviour, to prevent it from degrading the low queuing delay and low loss of L4S traffic. This Experimental specification defines the rules that L4S transports and network elements need to follow, with the intention that L4S flows neither harm each other's performance nor that of Classic traffic. It also suggests open questions to be investigated during experimentation. Examples of new Active Queue Management (AQM) marking algorithms and new transports (whether TCP-like or real time) are specified separately.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9331"/>
          <seriesInfo name="DOI" value="10.17487/RFC9331"/>
        </reference>
        <reference anchor="RFC9599">
          <front>
            <title>Guidelines for Adding Congestion Notification to Protocols that Encapsulate IP</title>
            <author fullname="B. Briscoe" initials="B." surname="Briscoe"/>
            <author fullname="J. Kaippallimalil" initials="J." surname="Kaippallimalil"/>
            <date month="August" year="2024"/>
            <abstract>
              <t>The purpose of this document is to guide the design of congestion notification in any lower-layer or tunnelling protocol that encapsulates IP. The aim is for explicit congestion signals to propagate consistently from lower-layer protocols into IP. Then, the IP internetwork layer can act as a portability layer to carry congestion notification from non-IP-aware congested nodes up to the transport layer (L4). Specifications that follow these guidelines, whether produced by the IETF or other standards bodies, should assure interworking among IP-layer and lower-layer congestion notification mechanisms. This document is included in BCP 89 and updates the single paragraph of advice to subnetwork designers about Explicit Congestion Notification (ECN) in Section 13 of RFC 3819 by replacing it with a reference to this document.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="89"/>
          <seriesInfo name="RFC" value="9599"/>
          <seriesInfo name="DOI" value="10.17487/RFC9599"/>
        </reference>
        <reference anchor="RFC9601">
          <front>
            <title>Propagating Explicit Congestion Notification across IP Tunnel Headers Separated by a Shim</title>
            <author fullname="B. Briscoe" initials="B." surname="Briscoe"/>
            <date month="August" year="2024"/>
            <abstract>
              <t>RFC 6040 on "Tunnelling of Explicit Congestion Notification" made the rules for propagation of Explicit Congestion Notification (ECN) consistent for all forms of IP-in-IP tunnel. This specification updates RFC 6040 to clarify that its scope includes tunnels where two IP headers are separated by at least one shim header that is not sufficient on its own for wide-area packet forwarding. It surveys widely deployed IP tunnelling protocols that use such shim headers and updates the specifications of those that do not mention ECN propagation (including RFCs 2661, 3931, 2784, 4380 and 7450, which specify L2TPv2, L2TPv3, Generic Routing Encapsulation (GRE), Teredo, and Automatic Multicast Tunneling (AMT), respectively). This specification also updates RFC 6040 with configuration requirements needed to make any legacy tunnel ingress safe.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9601"/>
          <seriesInfo name="DOI" value="10.17487/RFC9601"/>
        </reference>
        <reference anchor="RFC9651">
          <front>
            <title>Structured Field Values for HTTP</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <author fullname="P-H. Kamp" surname="P-H. Kamp"/>
            <date month="September" year="2024"/>
            <abstract>
              <t>This document describes a set of data types and associated algorithms that are intended to make it easier and safer to define and handle HTTP header and trailer fields, known as "Structured Fields", "Structured Headers", or "Structured Trailers". It is intended for use by specifications of new HTTP fields.</t>
              <t>This document obsoletes RFC 8941.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9651"/>
          <seriesInfo name="DOI" value="10.17487/RFC9651"/>
        </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>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC2475">
          <front>
            <title>An Architecture for Differentiated Services</title>
            <author fullname="S. Blake" initials="S." surname="Blake"/>
            <author fullname="D. Black" initials="D." surname="Black"/>
            <author fullname="M. Carlson" initials="M." surname="Carlson"/>
            <author fullname="E. Davies" initials="E." surname="Davies"/>
            <author fullname="Z. Wang" initials="Z." surname="Wang"/>
            <author fullname="W. Weiss" initials="W." surname="Weiss"/>
            <date month="December" year="1998"/>
            <abstract>
              <t>This document defines an architecture for implementing scalable service differentiation in the Internet. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2475"/>
          <seriesInfo name="DOI" value="10.17487/RFC2475"/>
        </reference>
        <reference anchor="RFC9330">
          <front>
            <title>Low Latency, Low Loss, and Scalable Throughput (L4S) Internet Service: Architecture</title>
            <author fullname="B. Briscoe" initials="B." role="editor" surname="Briscoe"/>
            <author fullname="K. De Schepper" initials="K." surname="De Schepper"/>
            <author fullname="M. Bagnulo" initials="M." surname="Bagnulo"/>
            <author fullname="G. White" initials="G." surname="White"/>
            <date month="January" year="2023"/>
            <abstract>
              <t>This document describes the L4S architecture, which enables Internet applications to achieve low queuing latency, low congestion loss, and scalable throughput control. L4S is based on the insight that the root cause of queuing delay is in the capacity-seeking congestion controllers of senders, not in the queue itself. With the L4S architecture, all Internet applications could (but do not have to) transition away from congestion control algorithms that cause substantial queuing delay and instead adopt a new class of congestion controls that can seek capacity with very little queuing. These are aided by a modified form of Explicit Congestion Notification (ECN) from the network. With this new architecture, applications can have both low latency and high throughput.</t>
              <t>The architecture primarily concerns incremental deployment. It defines mechanisms that allow the new class of L4S congestion controls to coexist with 'Classic' congestion controls in a shared network. The aim is for L4S latency and throughput to be usually much better (and rarely worse) while typically not impacting Classic performance.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9330"/>
          <seriesInfo name="DOI" value="10.17487/RFC9330"/>
        </reference>
        <reference anchor="RFC9484">
          <front>
            <title>Proxying IP in HTTP</title>
            <author fullname="T. Pauly" initials="T." role="editor" surname="Pauly"/>
            <author fullname="D. Schinazi" initials="D." surname="Schinazi"/>
            <author fullname="A. Chernyakhovsky" initials="A." surname="Chernyakhovsky"/>
            <author fullname="M. Kühlewind" initials="M." surname="Kühlewind"/>
            <author fullname="M. Westerlund" initials="M." surname="Westerlund"/>
            <date month="October" year="2023"/>
            <abstract>
              <t>This document describes how to proxy IP packets in HTTP. This protocol is similar to UDP proxying in HTTP but allows transmitting arbitrary IP packets. More specifically, this document defines a protocol that allows an HTTP client to create an IP tunnel through an HTTP server that acts as an IP proxy. This document updates RFC 9298.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9484"/>
          <seriesInfo name="DOI" value="10.17487/RFC9484"/>
        </reference>
        <reference anchor="I-D.schinazi-masque-connect-udp-ecn">
          <front>
            <title>An ECN Extension to CONNECT-UDP</title>
            <author fullname="David Schinazi" initials="D." surname="Schinazi">
              <organization>Google LLC</organization>
            </author>
            <date day="28" month="March" year="2022"/>
            <abstract>
              <t>   CONNECT-UDP allows proxying UDP packets over HTTP.  This document
   describes an extension to CONNECT-UDP that allows conveying ECN
   information on proxied UDP packets.

Discussion Venues

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

   Source for this draft and an issue tracker can be found at
   https://github.com/DavidSchinazi/draft-connect-udp-ecn.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-schinazi-masque-connect-udp-ecn-02"/>
        </reference>
        <reference anchor="I-D.ietf-quic-multipath">
          <front>
            <title>Managing multiple paths for a QUIC connection</title>
            <author fullname="Yanmei Liu" initials="Y." surname="Liu">
              <organization>Alibaba Inc.</organization>
            </author>
            <author fullname="Yunfei Ma" initials="Y." surname="Ma">
              <organization>Uber Technologies Inc.</organization>
            </author>
            <author fullname="Quentin De Coninck" initials="Q." surname="De Coninck">
              <organization>University of Mons (UMONS)</organization>
            </author>
            <author fullname="Olivier Bonaventure" initials="O." surname="Bonaventure">
              <organization>UCLouvain and WELRI</organization>
            </author>
            <author fullname="Christian Huitema" initials="C." surname="Huitema">
              <organization>Private Octopus Inc.</organization>
            </author>
            <author fullname="Mirja Kühlewind" initials="M." surname="Kühlewind">
              <organization>Ericsson</organization>
            </author>
            <date day="17" month="March" year="2026"/>
            <abstract>
              <t>   This document specifies a multipath extension for the QUIC protocol
   to enable the simultaneous usage of multiple paths for a single
   connection.  It introduces explicit path identifiers to create,
   delete, and manage multiple paths.  This document does not specify
   address discovery or management, nor how applications using QUIC
   schedule traffic over multiple paths.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-quic-multipath-21"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA81cW3PbyJV+71/Raz9EqgC0aMsaW9nZRCPLGVVs2WPJmc0+
rAsEmyQiEGDQgGSOo/yW/JB92v1j+51zuhsNXsZTtUnVVi4mQaD79Ll+5wKl
aaqmdV5lS3Oqp002a9PCtLN0mdm/dCbN66oyeZt201Vq8iqd2nyVHo1VW7Ql
Hrg4v9JZNdWvrs/fa9utVnXT6lnd6O9vbt5f/8rqc/f8x1fv1d2pfqZsN1kW
1hZ11a5XWOHy4ua1yrPWzOtmfaptO1VZY7JT/ePljbqfn+q3Z9c/fLxQVbec
mOZUTXHrqQJZ1lS2s6d6lpXWqDtTdbiu9bypu9WpfiSPPcIV2efRj3VzW1Rz
/Xu6ga4vs6LEdTno7+jQo7qZ0y9Zky/wy6JtV/b0yRO6kS4Vd2bkb3tCF55M
mvremieyxBN6dF60i26Ch+dlXVRd6X4j3tHPJai3bbS2u20kz42KOnrgyeN5
PRKR3OMp05RdNd0jmNGiXZaP1K1Z39fNlBiR6r90Rc4faDP+AOZl8yZb8hc8
yf+umvrzmj+1HdYsbXhYF1W/SNs1ELnVWVnqdmH0fbbW0/q+4h+FqLBZWs1V
1rWLGgJLcRULQVL67Uj/GA5Cl0Xr3mbzqrMbP4HHUK+myK2taQ9tRF5LvnnU
M+R3xt00yuulirbDbtcGT1VVvFXTmiq+zvtcL3EqLLgabES3Wrnzd3O6GO2g
Z11ZujWL5s+Z/sP//NeiNPeFUE/LZlXxU9ZC0YfnCOvTY6PbzrjHhufY2gT6
Bh5dLqCJv3QDfmRU0CMbTCoq2OgSz96xzegPr8+fHn/z3H9++ezZUfh8/OKY
P1+mr0YWRlBlPxV7lDDcxx6ENCdddmVbrLJ2capUNdgz3OfW4ttZFyOSjv3n
Z+OTF/7zydFxT97RUf95PA73v3z68kX0+ZvoaOPw+fnLl+HzyVF//eQ5PkPQ
aaqziW2bLG+VIo8Gh3bxGVoxNVPv2YY+joyprfO61KbKJmwuOi8LU7W6rRWf
DlfoxllZ3+tZUy/ZmGhxbU1zZxrceJ81U3rSrkxezAps1mbN3LT68r3KptPG
WMtelzeExx3pHz5envOlDyYr07ZYGg2yK8v+ONB08OHm/SG8m9Hmc7ZcgTxV
z3bcaEFT1urOGt6C1vW+/eLzqizyoqVDz2GD0D51VbegMmdV1AcICYf8CFa7
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
2xu7dUYAAA==

-->

</rfc>
