<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.34 (Ruby 3.4.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-westerlund-masque-connect-udp-ecn-dscp-02" category="std" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.32.0 -->
  <front>
    <title>ECN and DSCP support for HTTPS's Connect-UDP</title>
    <seriesInfo name="Internet-Draft" value="draft-westerlund-masque-connect-udp-ecn-dscp-02"/>
    <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="March" day="18"/>
    <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-westerlund-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+76fo2BcrVQE0KckaS5vJjkaW16yxZY0l7yS5
iKsJNkmsQYCDBkRzvJpnyYPkKnmxfOf0Dxok5Zmq7Fal9sdUA919+vx+5/RB
mqZiWmWlWupzOa3VrEnX2jS6Ltpymi6V+bnVaVaVpc6atJ2uUp2V6dRkq3R4
JJq8KTDt6vJaqnIqX95e3kjTrlZV3chZVcvXd3c3t38w8tLN//DyRtyfy2Nh
2skyNyavymazwgrjq7tXIlONnlf15lyaZipUrdW5/Gl8J9bzc/n24vbHD1ei
bJcTXZ+LKV49FyDL6NK05lzOVGG0uNdli3Ep53XVrs7lEzvtCUbsPk9+qupP
eTmXf6YXaHyp8gLj9qDf5bqZDap6Tk9UnS3wZNE0K3P+7Bm9SEP5vR74157R
wLNJXa2NfmaXeEZT53mzaCeYPC+qvGwL94x4R48LUG+aaG332sDOG+RVNOHZ
03k1+J2CGSyaZfFEfNKbdVVPiRGp/LnNM/5Bm/EPME/Na7XkPzCT/13V1ecN
/2parFmYMFnmZbdI09YQuZGqKGSz0HKtNnJarUt+aIkKm6XlXKi2WVQQWIpR
LARJybcD+VM4CA1b3Xur5mVrth6Bx1CvOs+MqWgPqa28lvzyoGPId9q9NMiq
pYi2w263GrPKMt6qbnQZj/M+t0ucCguuehvRq8a++d2cBqMd5KwtCrdmXv9V
yR/+578WhV7nlnpaVpX5L6qBovfPEdanaYNPrXbT+ufY2QT6Bh6NF9DE37sB
TxnkNGWLSXkJG11i7j3bjHz/6vLo5Jvn/veL49HI/z47Ph6G3ycvTvj3OH05
MDCIUv2SP6KQ4T2ymJS0KF22RZOvVLM4F6Ls7R/ec2vx66yXEXkn/vfx6PSF
/306POnIGw6736NReP/s6OxF9Pub6GjdMZ+fnYXfp8Nu/PQ5fkPoaSrVxDS1
yhohyLvBuV19hoZM9dR7ub6/I8NqqqwqpC7VhE1HZkWuy0Y2leDTYYRenBXV
Ws7qasmGRYtLo+t7XePFtaqnNNOsdJbPcmzWqHquGzm+EWo6rbUx7IF5Q3jf
gfzxw/iSh95rVaRNvtQSZJeGfXOg6eD93c0hPJ2W+rNarkCeqGZ7XjSgSTWy
NZq3oHW9n7/6vCryLG/o0HPYIzRRXFcNqMxYLeUBwsMhT8Fq9/lU8/nAHxCt
6o2caT2dqOzTQN4tcgNvkrVLYo8/qxELMKYXYzJVyon2JBA3FvDn8wXewEHI
YGnjpuKd4uATDu6jk1zD5VYtTqrrdAUqwNPJptGyAuMXWk0TaapCb3B0ChtY
q8EGcvzSDJw+LPPptNBCPJXjsqmraZsxC0S0bSKVkVlb1zhWAX+pZ3mpsXKR
L/PGMJF7uChjLgrLxS9fnOY/POCg2ULhZXCiWWv4s221IXbRmFUVYq+GoMHi
shJxlM5UXW/odEwI+DwhqnZWjZXaabDbQcS7skr71bxe0+atSSQOyPuD3xXC
P+yBpITzwjRys+DFYExpU6X4h4kJXgocYRPpNAdT/Tk0xIjNs0Jh2YwmiphX
OOWbk1vLPvJlDw9J+GP08ABZvsxnMzqBHSY/SCx2JjvFQ03Sy1WB/RtE10+w
Eq0a1lSYjFUdKMXvETveNfJRCZCGC+h9MQ20nIAWr+IsUQ7RoPoRi4GniKUV
TMKZsT2W7DNaBOsiikiK5GacP6e557z1L7quUrIQE1kaXBBrVWRE3n5gTdgo
q6axgoWt7lXRMn9rbAIe5SVk2jOyx05YAipCHI0zdO9a4AByKyajWTDRYnzC
TK1MSzKlU043iKtQl3ZFgJJM+gKHKYApSg5L1oXk8VHzzruPb5wOISA+PPxR
wk1pnJq1nCRKrktx9IablsQMaOiOWUWmZC0okXDnFCTBMEAvk89LdgOkRGJZ
1Z1vImmWWwR6pehR7FQPOpctrApg+w2BONiTJcDQWasVAkUO75Ph0QYwHOhH
AGKz8Di2WDUnupj4lw5KkmkP9ACnmxGBkKbO773EcZwVIXXaAZ5FuKhovUSt
EepNw7Yy1Sar8wkIxfpfvtxaxZPPSY4ugrOtPiUR3JM5Ylk6r5aAvJIwrwHm
/3B79ySx/8rrd/z7/RXi4furl/T79vXFmzfhh3Bv3L5+9+HNy+5XN/Py3du3
V9cv7WSMyt6QQI7xb3hC8nvy7uZu/O764s0TOkDT01yKsTg/ohb0U9erWlPc
Ukb0Dv395c1//+foBIf/J7L80egMlm//eDFiN7Be6NLuVpUQkf2TpCnUaqVV
TasQOIee5w2SImasgWqWktz/QPzznwrogkxP//Qvglj5796gwdTlhNWkZ6JX
QZG+PDU6Sy/fXd9d/evdgxCvYEHKOoSgkd7Uk11b56hCbADMpaim2TfYuBoc
rIiNX16UHpcw9CBosqi1Jn+Tk/Bh5tH7rMHEFCZCewoENqbpMJcKcZDCBAV9
kM5kYdEh2YjlESseJqVX7iDpHflKVru/RZvJv5Dnkn/z8dL9sqP4g5fmvzBt
iIHhZEj/IKanV5d3NIAHR/bBiGffHYwO3fgJj4+Gbnzox0/tOL1/ecVjX87l
011yJSfm3z6hJ8wR/1jy4yeSIN23T2pZ0H+eQJbXFTzqOj4gu+bYeYC7tYbe
GlJndw6go7zMtJOi8vMF5ntgteU/11VbIAZOOB4quDl4Dgh441eE0INwi00S
6wMrz15qSNIZa68NCJApHCMJxJ6iYqmTtxReAB4cRWFoIMc8D4ZUePAKvTGS
nK54eXkb4hX73b+2pmHtTx7TxyW9MQk077pm6+jZnc6qFhQCphsyWGSbm95S
xE2ybOL3HHAzDu+GkMiSA5pWcPBxZCW9p3wbmyJ0Nt75gwr8V2WZXjWsMFh7
WRmKWzgw+wwFFsOBUD5wPPJRKi9zCro22QnEOThuzY79mKeTsTT5AmStvahW
Vi6WCBCmLDfoABHvo5yjXUHcL3qy4lCNyLSq4E8torHxpsdgjgGW/a5kQe4j
KAZOiogNq58J5yxSi42mPSWwvHP0sD1VJb1959TrgJTp8uqQeMoMt3LOCURn
ynsuSqpc0Uvquq5qQ7CUfpW6Yv4gV//k+GNTJAaaiVgzcKchq8i0M7Gaz87C
WmscDv8Gs1yqDYmkmjCmINW7jgATO1Iymb61m9jcrUlPsKOF9xa/2DQzgCh2
lxQVAMdcaA77YPZVBzw/GIVUxYYQetnZgnEx3u5KqrRSk7zIm00P4TGDA7VU
+Jvl87Z2WUFVb0PTbG8o63Aw8aNqtJVoWHhKkALosu67GvCVs+l7VecElA4M
dMiDk9EpuGlzDao8PDwc9rJjb4YrclgnyelolJy+OE2GoxfJydE3yfGLb5Kz
4bE8OPqP06N0dJggoOcw4dyIgrI267QwCDKVvG1qZJctSHttwSQyTk0vud1A
GqeU7B7F2dlZsvW/Q3YFBNHoCLBBqCORx/GQTYfnM1tZr4I/j1iDQAkXDgSX
Q1/zYsMWSvy3Jm+xRPDNnYj0DCgWXiSDVyewaGGLX64Gxyl0f840yD89Jl16
yuJj0XkZXRjCw4yoXnFa6FTK5ojQqvE2ILaeNXZXpbbxY8IWwIqEgT3uk5yM
7OsaLKdf7QY1ij1PbrpDW2gD7I8cIm1awi+OxVrMKkLdNMPSfC7Er7/+CmZn
eZ4S3sb6H2ntjw5pfby4vR3/+RqA805+EZL3/fiXizcfruTB6WGCEYDSjzTL
TZAH+SFG4Qc+juKxxA0Otwcvr/ojD0RRgBa0X+qY3eEKJxY3LSLRvkmYgiKm
JfRcnFP1IWKt93Fj/jufBiPu2NOvtWyd0a8YARYH8QK85OVWalNUwKVrDqr1
J2vO1k1ep5fkbQqSc49Z/4fFWcwd8LCozq0//MesP6T1OxH+/Ra/vGIjfGpT
veB8ICsqTtCZnHK4rVJsRagiftU5qlddOYNqqQgVcgx3FTCmkm+QdvKFDqWf
kD4Mjfw5hUjOecfAOzW/ZchJ+oDYDXM0UzlCDVmd8K5x3Oil4dqX7A1ZaDAh
L1hSQOJ8n32eTY3rHjQU/QAUQgPHvy413VZymsXuh5i6jWQBj42OVhI28YjM
japUbCcEO2rwEfL4aeGKB66eQDijzIrWA69ypx7dpdhUfXMqACbO8hosJ6hc
FEmvHMUOlEjuqgoU76pyCkROqxC6cKiKkJCTkXieIvYssQfJpCBRkRhjOMrg
oaptRYATkm3OeD/giK5qKlG597GqrRRxnQNgHRFs/57bvPYs4pjjIoRjIOE5
EdiyxQfdsSAJKUO8OJJ/rkRzGPCoSXh8FMvLHciTYnx6umNClq4kKp0QmbSR
mypi8vMyetFozmGCQrBBRxLawy2Sp/Doa4+GI45xbHelqdb4dMFVXCOBcCGm
898+c3+Mt70gTbx1VAigXqresSC/lnec4/++laNhIkdH+N9JQmDsYMu3J84H
J85XJgTURcCHzCHW0JNTpusKWH/KEAo2SNcudJSDq1eH5/TGH5lQbItNsd9p
gqykvxYxy2W2sSegKsMgwpzxaxEM98WIg1qnh3vdtp8UJbczH89kF892IEWk
Yefy4OQ0eZGAc2Dc6AQ8ORgmw+QoAUCVh7vBv5uaeqF6IOD+tLDoEVUmLPB0
H5jDGxGeI85eXP5Ah2Djsfr0CBryKYhPuYhPitfan4wHPz5roLTbqYVVr8Kt
sLQa50q0Nz712cfVvaS5AzBYu9usNIEq+a28+/7i4whDb3Q5h6IEQPY42jsY
DA7lYDCIEdnlhY8OqeVdhMm+Sk2Hy5gmOrajRJnY2n1iczw48nmivf5x67gS
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

-->

</rfc>
