<?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-00" 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-00"/>
    <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="June" day="29"/>
    <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 75?>

<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, soley 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 86?>

<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 a 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 intial 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 they allow 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
DCSP 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 values 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 upto 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),
  NOT_ECN_CONTEXT (i)
  ECT_1_CONTEXT (i),
  ECT_0_CONTEXT (i),
  CE_CONTEXT (i),
}
]]></artwork>
        </figure>
        <dl>
          <dt>DCSP_VALUE:</dt>
          <dd>
            <t>The DSCP value in the IP valid for the following Context IDs.</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 ID 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-Context-ID: (46,8,10,12,14), (0,0,2,4,6 )
]]></artwork>
          </figure>
        </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 HTPP 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 a context IDs that were received via a
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 only send a ECN_DSCP_CONTEXT_ACK capsule if it received a
ECN_DSCP_CONTEXT_ASSIGN capsule with the same ECN_DSCP_CONTEXT_ASSIGNMENT.
If an endpoint receives ECN_DSCP_CONTEXT_ACK capsule for a
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>The Tunnel Endpoint, when receiving an IP/UDP packet belonging to a Connect-UDP
request with the ECN DSCP extension enabled, the DSCP value two ECN bits in the
incoming IP/UDP packet are used to select the appropriate Context ID.
If a non-yet-know DSCP value is received the endpoint can register a new Context ID assignments
using the ECN_DSCP_CONTEXT_ASSIGN capsule and optimistically start us 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.</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
include 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 recommend 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="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="dscp-ecn-context-id">
          <name>DSCP-ECN-Context-ID</name>
          <dl>
            <dt>Field Name:</dt>
            <dd>
              <t>DSCP-ECN-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 ot 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_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="dscpecncontextack">
          <name>DSCP_ECN_CONTEXT_ACK</name>
          <dl>
            <dt>Value:</dt>
            <dd>
              <t>TBA_2</t>
            </dd>
            <dt>Capsule Type:</dt>
            <dd>
              <t>DSCP_ECN_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>
  </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="RFC8311">
          <front>
            <title>Relaxing Restrictions on Explicit Congestion Notification (ECN) Experimentation</title>
            <author fullname="D. Black" initials="D." surname="Black"/>
            <date month="January" year="2018"/>
            <abstract>
              <t>This memo updates RFC 3168, which specifies Explicit Congestion Notification (ECN) as an alternative to packet drops for indicating network congestion to endpoints. It relaxes restrictions in RFC 3168 that hinder experimentation towards benefits beyond just removal of loss. This memo summarizes the anticipated areas of experimentation and updates RFC 3168 to enable experimentation in these areas. An Experimental RFC in the IETF document stream is required to take advantage of any of these enabling updates. In addition, this memo makes related updates to the ECN specifications for RTP in RFC 6679 and for the Datagram Congestion Control Protocol (DCCP) in RFCs 4341, 4342, and 5622. This memo also records the conclusion of the ECN nonce experiment in RFC 3540 and provides the rationale for reclassification of RFC 3540 from Experimental to Historic; this reclassification enables new experimental use of the ECT(1) codepoint.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8311"/>
          <seriesInfo name="DOI" value="10.17487/RFC8311"/>
        </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:
H4sIAAAAAAAAA81b3XLbSHa+76fo2BcrVQE0ackaS5vJjkaS16yxZY0l7yS5
iKsJNkmsQYCDBkRzvJpnyYPkKnmxfOf0Dxok5Zmq7Fal9sdUA919+vx+5/RB
mqZiWmWlWuozOa3VrElz3czSpTI/tzrNqrLUWZO201WqszKdmmyVDoeiyZsC
E64urqUqp/Ly9uJGmna1qupGzqpavr67u7n9g5EXbv6HyxtxfyaPhGkny9yY
vCqbzQorjK/uXolMNXpe1ZszaZqpULVWZ/Kn8Z1Yz8/k2/PbHz9cibJdTnR9
JqZ49UyALKNL05ozOVOF0eJely3GpZzXVbs6k0/stCcYsfs8+amqP+XlXP6Z
XqDxpcoLjNuDfkeHHlT1nJ6oOlvgyaJpVubs2TN6kYbyez3wrz2jgWeTulob
/cwu8YymzvNm0U4weV5UedkW7hnxjh4XoN400drutYGdN8iraMKzp/NqYEWy
xixdF205fUQwg0WzLJ6IT3qzruopMSKVP7d5xj9oM/4B5ql5rZb8B2byv6u6
+rzhX02LNQsTJsu87BZp2hoiN1IVhWwWWq7VRk6rdckPLVFhs7ScC9U2iwoC
SzGKhSAp+XYgfwoHoWGrdW/VvGzN1iPwGOpV55kxFe0htZXXkl8edAz5TruX
Blm1FNF22O1WY1ZZxlvVjS7jcd7ndolTYcFVbyN61dg3v5vTYLSDnLVF4dbM
678q+cP//Nei0OvcUk/LqjL/RTVQ9P45wvo0bfCp1W5a/xw7m0DfwKPxApr4
ezfgKYOcpmwxKS9ho0vMvWebke9fXTw//uaF//3yaDTyv0+Pjobh9/HLY/49
Ti8HBgZRql/yRxQyvMfehLQoXbZFk69UszgTouztH95za/HrrJcRecf+99Ho
5KX/fTI87sgbDrvfo1F4//T56cvo9zfR0bpjvjg9Db9Pht34yQv8htDTVKqJ
aWqVNUKQd4Nzu/oMDZnqqfdyfX9HhtVUWVVIXaoJm47MilyXjWwqwafDCL04
K6q1nNXVkg2LFpdG1/e6xotrVU9pplnpLJ/l2KxR9Vw3cnwj1HRaa2PYA/OG
8L4D+eOH8QUPvdeqSJt8qSXILg375kDTwfu7m0N4Oi31Z7VcgTxRzfa8aECT
amRrNG9B63o/f/V5VeRZ3tCh57BHaKK4rhpQmbFaygOEh0OegtXu86nm84E/
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

-->

</rfc>
