<?xml version="1.0" encoding="us-ascii"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.2.12 -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>

<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>

<rfc ipr="trust200902" docName="draft-piraux-quic-tunnel-03" category="exp">

  <front>
    <title abbrev="QUIC Tunnel">Tunneling Internet protocols inside QUIC</title>

    <author initials="M." surname="Piraux" fullname="Maxime Piraux">
      <organization>UCLouvain</organization>
      <address>
        <email>maxime.piraux@uclouvain.be</email>
      </address>
    </author>
    <author initials="O." surname="Bonaventure" fullname="Olivier Bonaventure">
      <organization>UCLouvain</organization>
      <address>
        <email>olivier.bonaventure@uclouvain.be</email>
      </address>
    </author>
    <author initials="A." surname="Masputra" fullname="Adi Masputra">
      <organization>Apple Inc.</organization>
      <address>
        <email>adi@apple.com</email>
      </address>
    </author>

    <date year="2020" month="August" day="12"/>

    <area>Transport</area>
    <workgroup>QUIC Working Group</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>This document specifies methods for tunneling Ethernet frames and
Internet protocols such as TCP, UDP, IP and QUIC inside a QUIC connection.</t>



    </abstract>


  </front>

  <middle>


<section anchor="introduction" title="Introduction">

<t>Mobile devices such as laptops, smartphones or tablets have different
requirements than the traditional fixed devices. These mobile devices
often change their network attachment. They are often attached to
trusted networks, but sometimes they need to be connected to untrusted
networks where their communications can be eavesdropped, filtered or
modified. In these situations, the classical approach is to rely on VPN
protocols such as DTLS or IPSec. These VPN protocols provide the
encryption and authentication functions to protect those mobile clients
from malicious behaviors in untrusted networks.</t>

<t>However, some networks have deployed filters that block these VPN
protocols. When faced with such filters, users can either switch off
their connection or find alternatives, e.g. by using TLS to access
some services over TCP port 443. The planned deployment of QUIC
<xref target="I-D.ietf-quic-transport"/> <xref target="I-D.ietf-quic-tls"/> opens a new
opportunity for such users. Since QUIC will be used to access web
sites, it should be less affected by filters than VPN solutions such
as IPSec or DTLS. Furthermore, the flexibility of QUIC makes it
possible to easily extend the protocol to support VPN services.</t>

<t>This document shares some goals with the MASQUE framework
<xref target="I-D.schinazi-masque"/>.
The proposed QUIC tunnel protocol contributes to the
effort of defining a signaling for conveying multiple proxied flows inside a
QUIC connection. While this document specifies its own protocol, further work
could adapt the mechanisms presented in this proposal to use HTTP/3.</t>

<t>On the other hand, today's mobile devices are often multihomed and many expect
to be able to perform seamless handovers from one access network to another
without breaking the established VPN sessions. In some situations it can
also be beneficial to combine two or more access networks together to
increase the available host bandwidth. A protocol such as Multipath
TCP <xref target="RFC6824"/>
supports those handovers and allows aggregating the bandwidth of
different access links. It could be combined with single-path VPN
protocols to support both seamless handovers and bandwidth aggregation
above VPN tunnels. Unfortunately, Multipath TCP is not yet deployed on most
Internet servers and thus few applications would benefit from such a use
case.</t>

<t>In this document, we explore how QUIC could be used to
enable multi-homed mobile devices to communicate securely in untrusted
networks. The QUIC protocol opens up a new way to find a clean solution to this
problem. First, QUIC includes the same encryption and authentication
techniques as deployed VPN protocols. Second, QUIC is intended to be
widely used to support web-based services, making it unlikely to be
filtered in many networks, in contrast with VPN protocols. Third, the
QUIC migration mechanism enables handovers between several network interfaces.</t>

<t>This document is organized as follows.
<xref target="reference-environment"/> describes our reference environment. Then, we propose
two mode of operations, explained in <xref target="the-lightweight-mode"/> and
<xref target="the-datagram-mode"/>, that use the recently proposed datagram extension
(<xref target="I-D.pauly-quic-datagram"/>) for QUIC to transport plain IP packets over a
QUIC connection. <xref target="connection-establishment"/> specifies how a connection
is established in this document proposal. <xref target="messages-format"/> details the format
of the messages introduced by this document.</t>

</section>
<section anchor="conventions-and-definitions" title="Conventions and Definitions">

<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.</t>

</section>
<section anchor="reference-environment" title="Reference environment">

<t>Our first scenario is a client that uses a QUIC tunnel to send all
its packets to a concentrator. The concentrator decrypts the
packets received over the QUIC connection and forwards them to their
final destination. It also receives the packets destined to
the client and tunnels them through the QUIC connection.</t>

<figure title="A client attached to a concentrator" anchor="fig-simple-environment"><artwork><![CDATA[
                                                       +-------------+
+--------+              +--------------+               | Final       |
| Client |              | Concentrator |<===\ ... \===>| destination |
+--------+              +--------------+               | server      |
       ^    +---------+    ^                           +-------------+
       |    | Access  |    |
       |    | network |    |            Legend:
       .----|         |----.              --- QUIC connection
            +---------+                   === TCP/UDP flow
]]></artwork></figure>

<t>However, there are several situations where the client is attached
to two or more access networks. This client can be multihomed,
dual-stack, &#8230; This is illustrated in <xref target="fig-example-environment"/>, in which
a client-initiated flow is tunneled through the concentrator. We also
discuss inbound connections in this document in <xref target="connection-establishment"/>.</t>

<figure title="Example environment" anchor="fig-example-environment"><artwork><![CDATA[
            +---------+
       .----| Access  |----.
       |    | network |    |
       |    |    A    |    |
       v    +----------    v                           +-------------+
+--------+              +--------------+               | Final       |
| Client |              | Concentrator |<===\ ... \===>| destination |
+--------+              +--------------+               | server      |
       ^    +---------+    ^                           +-------------+
       |    | Access  |    |
       |    | network |    |            Legend:
       .----|    B    |----.              --- QUIC connection
            +---------+                   === TCP/UDP flow
]]></artwork></figure>

<t>Such a client would like to benefit from the different access
networks available to reach the concentrator. These access networks
can be used for load-sharing, failover or other purposes. One
possibility to efficiently use these two access networks is to rely on
the proposed Multipath extensions to QUIC
<xref target="I-D.deconinck-quic-multipath"/>. Another approach is to create
one QUIC connection using the single-path QUIC protocol
<xref target="I-D.ietf-quic-transport"/> over each access network and glue these
different sessions together on the concentrator. Given the migration
capabilities of QUIC, this approach could support failover with a
single active QUIC connection at a time.</t>

<t>In a nutshell, the solution proposed in this document works as
follows. The client opens a QUIC connection to a concentrator. The
concentrator authenticates the client through
means that are outside the scope of this document such as client
certificates, usernames/passwords, OAuth, &#8230; If the authentication
succeeds, the client can use the tunnel to exchange Ethernet
frames and IP packets with the concentrator over the QUIC
session. If the client uses IP, then the concentrator can allocate
an IP address to the client at the end of the authentication phase.
The client can then send packets via the concentrator by tunneling
them through the concentrator. The concentrator captures the IP
packets destined to the client and tunnels them over the QUIC connection.
Our solution is intended to provide a similar service as the one provided
by IPSec tunnels or DTLS.</t>

</section>
<section anchor="the-lightweight-mode" title="The lightweight mode">

<t>Our first mode of operation is very simple. It leverages the recently proposed
QUIC datagram extension <xref target="I-D.pauly-quic-datagram"/>. In a nutshell, to send a
packet to a remote host, the client simply encodes the entire packet inside a
QUIC DATAGRAM frame sent over the QUIC connection established with the
concentrator.</t>

<t>This QUIC DATAGRAM frame is then encrypted and
authenticated in a QUIC packet. This transmission is subject to congestion
control, but the frame that contains the packet is not retransmitted in case
of losses as specified in <xref target="I-D.pauly-quic-datagram"/>.</t>

<t>This mode adds a minimal byte overhead for packet encapsulation in QUIC. It
does not define ways of indicating the protocol of the conveyed packets, which
can be useful in deployments for which out-of-band signalling can be used.</t>

</section>
<section anchor="the-datagram-mode" title="The datagram mode">

<t>Our second mode of operation, called the datagram mode in this document,
enables the client and the concentrator to exchange packets of several network
protocols through the QUIC tunnel connection at the same time. It also leverages
the QUIC datagram extension <xref target="I-D.pauly-quic-datagram"/>.</t>

<t>This document specifies the following format for encoding packets in QUIC
DATAGRAM frame. It allows encoding packets from several protocols by
identifying the corresponding protocol of the packet in each QUIC DATAGRAM
frame. <xref target="encoding-packets"/> describes this encoding.</t>

<figure title="Encoding packets in QUIC DATAGRAM frame" anchor="encoding-packets"><artwork><![CDATA[
                     1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|       Protocol Type (16)      |        Packet Tag (16)        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           Packet (*)                        ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t>This encoding defines three fields.</t>

<t><list style="symbols">
  <t>Protocol Type: The Protocol Type field contains the protocol type of the
 payload packet. The values for the different protocols are defined as
 "ETHER TYPES" in <xref target="IANA-ETHER-TYPES"/>. A QUIC tunnel that receives a
 Protocol Type representing an unsupported protocol MAY drop the associated
 Packet. QUIC tunnel endpoints willing to exchange Ethernet frames can use
 the value 0x6558 for <xref target="Transparent-Ethernet-Bridging"/>.</t>
  <t>Packet Tag: An opaque 16-bit value. The QUIC tunnel application is free to
 decide its semantic value. For instance, a QUIC tunnel endpoint MAY encode
 the sending order of packets in the Packet Tag, e.g. as a timestamp or a
 sequence number, to allow reordering on the receiver.</t>
  <t>Packet: The packet conveyed inside the QUIC tunnel connection.</t>
</list></t>

<figure title="QUIC packet sent by the client when
tunneling a UDP packet" anchor="datagram-example"><artwork><![CDATA[
             ,->+----------+
             |  |    IP    |
 QUIC packet |  +----------+
 containing  |  |    UDP   |
 a DATAGRAM  |  +----------+
 frame       |  |   QUIC   |
             |  |..........|
             |  | DATAGRAM |
             |  |  P. Type |
             |  |  P. Tag  |
             |  |+--------+|<-.
             |  ||   IP   ||  |
             |  |+--------+|  | Tunneled
             |  ||   UDP  ||  | UDP packet
             |  |+--------+|  |
             |  |   ....   |<-.
             `->+----------+
]]></artwork></figure>

<t><xref target="datagram-example"/> illustrates how a UDP packet is tunneled using the datagram
mode.
The main advantage of the datagram mode is that it supports IP and any
protocol above the network layer. Any IP packet can be transported
using the datagram extension over a QUIC connection. However, this
advantage comes with a large per-packet overhead since each packet
contains both a network and a transport header. All these headers must be
transmitted in addition with the IP/UDP/QUIC headers of the QUIC connection.
For TCP connections for instance, the per-packet overhead can be large.</t>

<section anchor="sec-joining" title="Joining a tunneling session">

<t>If the client is multihomed, it can use Multipath QUIC
<xref target="I-D.deconinck-quic-multipath"/> to efficiently use its
different access networks. This version of the document does not elaborate in
details on this possibility. If the concentrator does not support
Multipath QUIC, then the client creates several QUIC connections
and joins them at the application layer. This works as
illustrated in figure <xref target="fig-join"/>. Each message is exchanged over a dedicated
unidirectional QUIC stream. Their format is detailed in <xref target="messages-format"/>.
When the client opens the first QUIC connection with the concentrator, (1) it
can request a QUIC tunnel session identifier. (2) The concentrator replies
with a variable-length opaque value that identifies the QUIC tunneling session.
When opening a QUIC connection over another access network, (3) the client
can send this identifier to join the QUIC tunneling session.
The concentrator matches the session identifier with the existing
session with the client. It can then use both sessions to reach the
client and received tunneled packets from the client.</t>

<figure title="Creating sessions over different access networks" anchor="fig-join"><artwork><![CDATA[
        1-Req. Sess. ID->
       .-----------------------------.
       |               <-Sess. ID.-2 |
       v                             v
+--------+                        +--------------+
| Client |                        | Concentrator |
+--------+                        +--------------+
       ^                             ^
       | 3-Join. Sess.->             |      Legend:
       .-----------------------------.        --- QUIC connection
]]></artwork></figure>

<t>Joining a tunneling session allows grouping several QUIC connections to the
concentrator. Each endpoint can then coordinate the use of the Packet Tag across
the tunneling session as presented in <xref target="packet-tag-use"/>.</t>

<t>Both QUIC tunnel endpoints open their first unidirectional stream (i.e. stream 2
and 3), hereafter named the QUIC tunnel control stream, to exchange these
messages. A QUIC tunnel endpoint MUST NOT close its unidirectional stream and
SHOULD provide enough flow control credit to its peer.</t>

<t>The messages format used for this purpose are described in <xref target="messages-format"/>.
The client initiates the procedure and MAY either start a new session or join
an existing session. This negotiation MUST NOT take place more than once per
QUIC connection.</t>

<section anchor="packet-tag-use" title="Coordinate use of the Packet Tag">

<t>When using the datagram mode, each packet is associated with a 16-bit value
called Packet Tag. This document leaves defining the meaning of this value to
implementations. This section provides some examples on how it can be used to
implement packet reordering across several QUIC tunnel connections grouped in a
tunneling session.</t>

<t>A first simple example of use is to encode the timestamp at which the datagram
was sent. Using a millisecond precision and encoding the 16 lower bits of the
timestamp makes the value wrapping around in a bit more than 65 seconds.</t>

<t>Another example of use is to maintain a value counting the datagrams sent over
all QUIC tunnel connections of the tunneling session. The 16-bit value allows
distinguishing at most 32768 packets in flight.</t>

<t>The QUIC tunnel receiver can then distinguish, buffer and reorder packets based
on this value. Mechanisms for managing the datagram buffer and negotiating the
use of the Packet Tag are out of scope of this document.</t>

</section>
</section>
</section>
<section anchor="connection-establishment" title="Connection establishment">

<t>During connection establishment, the QUIC tunnel datagram mode (resp. lite mode)
support is indicated by setting the ALPN token "qt" (resp. "qt-lite") in the TLS
handshake. Draft-version implementations MAY specify a particular draft version
by suffixing the token, e.g. "qt-00" (resp. "qt-lite-03") refers to the first
(resp. fourth) version of this document.</t>

<t>After the QUIC connection is established, the client can start using the
datagram or the stream mode. The client may use PCP <xref target="RFC6887"/> to request the
concentrator to accept inbound connections on their behalf. After the negotiation
of such port mappings, the concentrator can start sending packets containing inbound
connections in QUIC DATAGRAM frame.</t>

</section>
<section anchor="messages-format" title="Messages format">

<t>In the following sections, we specify the format of each message introduced in
this document. They are encoded as TLVs, i.e. (Type, Length, Value) tuples,
as illustrated in <xref target="tlv"/>. All TLV fields are encoded in network-byte order.</t>

<figure title="QUIC tunnel TLV Format" anchor="tlv"><artwork><![CDATA[
                     1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    Type (8)   |   Length (8)  |          [Value (*)]        ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t>The Type field is encoded as a byte and identifies the type of the TLV. The
Length field is encoded as a byte and indicate the length of the Value field.
A value of zero indicates that no Value field is present. The Value field is a
type-specific value whose length is determined by the Length field.</t>

<section anchor="sec-session-format" title="QUIC tunnel control TLVs">

<t>This document specifies the following QUIC tunnel control TLVs:</t>

<figure title="QUIC tunnel control TLVs" anchor="control-tlvs"><artwork><![CDATA[
+------+----------+--------------+----------+-------------------+
| Type |     Size |       Sender | Mode     | Name              |
+------+----------+--------------+----------+-------------------+
| 0x00 |  4 bytes |       Client |      all | Access Report TLV |
| 0x01 |  2 bytes |       Client | datagram | New Session TLV   |
| 0x02 | Variable | Concentrator | datagram | Session ID TLV    |
| 0x03 | Variable |       Client | datagram | Join Session TLV  |
+------+----------+--------------+----------+-------------------+
]]></artwork></figure>

<t>The Access Report TLV is sent by the client to periodically report on access
networks availability. Each Access Report TLV MUST be sent on a separate
unidirectional stream. When the datagram mode is in use, this separate stream
MUST be other than the QUIC tunnel control stream.</t>

<t>The New Session TLV is used by the client to initiate a new tunneling session.
The Session ID TLV is used by the concentrator to communicate to the client the
Session ID identifying this tunneling session. The Join Session TLV is used to
join a given tunneling session, identified by a Session ID.
All QUIC these tunnel control TLVs MUST NOT be sent on other streams than the
QUIC tunnel control streams.</t>

<section anchor="access-report-tlv" title="Access Report TLV">

<figure title="Access Report TLV" anchor="access-tlv"><artwork><![CDATA[
                     1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    Type (8)   |   Length (8)  | AI (4)| R (4) |   Signal (8)  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t>The Access Report TLV contains the following:</t>

<t><list style="symbols">
  <t>AI (Access ID) - a four-bit-long field that identifies the access network,
e.g., 3GPP (Radio Access Technologies specified by 3GPP) or Non-3GPP
(accesses that are not specified by 3GPP) <xref target="TS23501"/>.  The value is one
of those listed below (all other values are invalid and the TLV that
contains it MUST be discarded):</t>
</list></t>

<figure><artwork><![CDATA[
+-----------+-----------------------+
| Access ID | Description           |
+-----------+-----------------------+
|      1    | 3GPP Network          |
|      2    | Non-3GPP Network      |
+-----------+-----------------------+
]]></artwork></figure>

<t><list style="symbols">
  <t>R (Reserved) - a four-bit-long field that MUST be zeroed on transmission and
ignored on receipt.</t>
  <t>Signal - a one-octet-long field that identifies the report signal, e.g.,
available or unavailable.  The value is supplied to the QUIC tunnel through
some mechanism that is outside the scope of this document.  The value is one
of those listed in <xref target="quic-tunnel-access-report-signal-codes"/>.</t>
</list></t>

<t>The client that includes the Access Report TLV sets the value of the Access ID
field according to the type of access network it reports on.  Also, the client
sets the value of the Signal field to reflect the operational state of the access
network.  The mechanism to determine the state of the access network is outside
the scope of this specification.</t>

<t>The client MUST be able to cancel the sending of an Access Report TLV that is
pending delivery, i.e. by resetting its corresponding unidirectional stream.
This can be used when the information contained in the TLV is no longer
relevant, e.g. the access network availability has changed. The time of
canceling is based on local policies and network environment.</t>

<t>Reporting the unavailability an access network to the concentrator can serve as
an advisory signal to preventively stop sending packets over this network while
maintaining the QUIC tunnel connection. Upon reporting of the availability of
this network, the concentrator can quickly resume sending packets over this
network.</t>

</section>
<section anchor="new-session-tlv" title="New Session TLV">

<t>The New Session TLV does not contain a value. It initiates a new tunneling
session at the concentrator. The concentrator MUST send a Session ID TLV in
response, with the Session ID corresponding to the tunneling session created.
After sending a New Session TLV, the client MUST close the QUIC tunnel control
stream.</t>

<t>The concentrator MUST NOT send New Session TLVs.</t>

</section>
<section anchor="session-id-tlv" title="Session ID TLV">

<figure title="Session ID TLV" anchor="session-tlv"><artwork><![CDATA[
                     1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    Type (8)   |   Length (8)  |        Session ID (*)       ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t>The Session ID TLV contains an opaque value that identifies the current
tunneling session. It can be used by the client in subsequent QUIC connections
to join them to this tunneling session. The concentrator MUST send a Session ID
TLV in response of a New Session TLV, with the Session ID corresponding to the
tunneling session created.</t>

<t>The client MUST NOT send a Session ID TLV. The concentrator MUST close the QUIC
tunnel control stream after sending a Session ID TLV.</t>

</section>
<section anchor="join-session-tlv" title="Join Session TLV">

<figure title="Join Session TLV" anchor="join-tlv"><artwork><![CDATA[
                     1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    Type (8)   |   Length (8)  |        Session ID (*)       ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t>The Join Session TLV contains an opaque value that identifies a tunneling
session to join. The client can send a Join Session TLV to join the QUIC
connection to a particular tunneling session. The tunneling session is
identified by the Session ID.
After sending a Join Session TLV, the client MUST close the QUIC tunnel control
stream.</t>

<t>The concentrator MUST NOT send Join Session TLVs. After receiving a Join Session
TLV, the concentrator MUST use the Session ID to join this QUIC connection to
the tunneling session. Joining the tunneling session implies merging the state
of this QUIC tunnel connection to the session.
A successful joining of connection is indicated by the
closure of the QUIC tunnel control stream of the concentrator.</t>

<t>In cases of failure when joining a tunneling session, the concentrator MUST send
a RESET_STREAM with an application error code discerning the cause of the
failure. The possible codes are listed below:</t>

<t><list style="symbols">
  <t>UNKNOWN_ERROR (0x0): An unknown error occurred when joining the tunneling
session. QUIC tunnel endpoints SHOULD use more specific error codes when
applicable.</t>
  <t>UNKNOWN_SESSION_ID (0x1): The Session ID used in the Join Session TLV is not a
valid ID. It was not issued in a Session ID TLV or refers to an expired
tunneling session.</t>
  <t>CONFLICTING_STATE (0x2): The current state of the QUIC tunnel connection
could not be merged with the tunneling session.</t>
</list></t>

</section>
</section>
</section>
<section anchor="security-considerations" title="Security Considerations">

<section anchor="privacy" title="Privacy">

<t>The Concentrator has access to all the packets it processes. It MUST be
protected as a core IP router, e.g. as specified in <xref target="RFC1812"/>.</t>

</section>
<section anchor="ingress-filtering" title="Ingress Filtering">

<t>Ingress filtering policies MUST be enforced at the network boundaries, i.e. as
specified in <xref target="RFC2827"/>.</t>

</section>
</section>
<section anchor="iana-considerations" title="IANA Considerations">

<section anchor="registration-of-quic-tunnel-identification-string" title="Registration of QUIC tunnel Identification String">

<t>This document creates two new registrations for the identification of the QUIC
tunnel protocol in the "Application Layer Protocol Negotiation (ALPN) Protocol
IDs" registry established in <xref target="RFC7301"/>.</t>

<t>The "qt" string identifies the QUIC tunnel protocol datagram mode.</t>

<t><list style="hanging">
  <t hangText='Protocol:'>
  QUIC Tunnel</t>
  <t hangText='Identification Sequence:'>
  0x71 0x74 ("qt")</t>
  <t hangText='Specification:'>
  This document</t>
</list></t>

<t>The "qt-lite" string identifies the QUIC tunnel protocol lightweight mode.</t>

<t><list style="hanging">
  <t hangText='Protocol:'>
  QUIC Tunnel lightweight mode</t>
  <t hangText='Identification Sequence:'>
  0x71 0x74 0x55 0x6c 0x69 0x74 0x65 ("qt-lite")</t>
  <t hangText='Specification:'>
  This document</t>
</list></t>

</section>
<section anchor="quic-tunnel-control-tlvs" title="QUIC tunnel control TLVs">

<t>IANA is requested to create a new "QUIC tunnel control Parameters" registry.</t>

<t>The following subsections detail new registries within "QUIC tunnel control
Parameters" registry.</t>

<section anchor="quic-tunnel-control-tlvs-types" title="QUIC tunnel control TLVs Types">

<t>IANA is request to create the "QUIC tunnel control TLVs Types" sub-registry. New
values are assigned via IETF Review (Section 4.8 of <xref target="RFC8126"/>).</t>

<t>The initial values to be assigned at the creation of the registry are as
follows:</t>

<figure><artwork><![CDATA[
+------+-----------------------+------------+
| Code | Name                  | Reference  |
+------+-----------------------+------------+
|    0 | Access Report TLV     | [This-Doc] |
|    1 | New Session TLV       | [This-Doc] |
|    2 | Session ID TLV        | [This-Doc] |
|    3 | Join Session TLV      | [This-Doc] |
+------+-----------------------+------------+
]]></artwork></figure>

</section>
</section>
<section anchor="quic-tunnel-control-error-codes" title="QUIC tunnel control Error Codes">

<t>This document establishes a registry for QUIC tunnel control stream error
codes. The "QUIC tunnel control Error Code" registry manages a 62-bit space. New
values are assigned via IETF Review (Section 4.8 of <xref target="RFC8126"/>).</t>

<t>The initial values to be assigned at the creation of the registry are as
follows:</t>

<figure><artwork><![CDATA[
+------+-----------------------+------------+
| Code | Name                  | Reference  |
+------+-----------------------+------------+
|    0 | UNKNOWN_ERROR         | [This-Doc] |
|    1 | UNKNOWN_SESSION_ID    | [This-Doc] |
|    2 | CONFLICTING_STATE     | [This-Doc] |
+------+-----------------------+------------+
]]></artwork></figure>

</section>
<section anchor="quic-tunnel-access-report-signal-codes" title="QUIC tunnel Access Report Signal Codes">

<t>This document establishes a registry for QUIC tunnel Access Report Signal codes.
The "QUIC tunnel Access Report Signal Code" registry manages a 62-bit space.
New values are assigned via IETF Review (Section 4.8 of <xref target="RFC8126"/>).</t>

<t>The initial values to be assigned at the creation of the registry are as
follows:</t>

<figure><artwork><![CDATA[
+------+-----------------------+------------+
| Code | Name                  | Reference  |
+------+-----------------------+------------+
|    1 | Access Available      | [This-Doc] |
|    2 | Access Unavailable    | [This-Doc] |
+------+-----------------------+------------+
]]></artwork></figure>

</section>
</section>


  </middle>

  <back>

    <references title='Normative References'>





<reference  anchor="RFC2119" target='https://www.rfc-editor.org/info/rfc2119'>
<front>
<title>Key words for use in RFCs to Indicate Requirement Levels</title>
<author initials='S.' surname='Bradner' fullname='S. Bradner'><organization /></author>
<date year='1997' month='March' />
<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="RFC1701" target='https://www.rfc-editor.org/info/rfc1701'>
<front>
<title>Generic Routing Encapsulation (GRE)</title>
<author initials='S.' surname='Hanks' fullname='S. Hanks'><organization /></author>
<author initials='T.' surname='Li' fullname='T. Li'><organization /></author>
<author initials='D.' surname='Farinacci' fullname='D. Farinacci'><organization /></author>
<author initials='P.' surname='Traina' fullname='P. Traina'><organization /></author>
<date year='1994' month='October' />
<abstract><t>This document specifies a protocol for performing encapsulation of an arbitrary network layer protocol over another arbitrary network layer protocol. This memo provides information for the Internet community. This memo does not specify an Internet standard of any kind.</t></abstract>
</front>
<seriesInfo name='RFC' value='1701'/>
<seriesInfo name='DOI' value='10.17487/RFC1701'/>
</reference>


<reference anchor="TS23501" >
  <front>
    <title>Technical Specification Group Services and System Aspects; System Architecture for the 5G System; Stage 2 (Release 16)</title>
    <author >
      <organization>3GPP (3rd Generation Partnership Project)</organization>
    </author>
    <date year="2019"/>
  </front>
  <seriesInfo name="3GPP" value="TS23501"/>
</reference>




<reference  anchor="RFC8174" target='https://www.rfc-editor.org/info/rfc8174'>
<front>
<title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
<author initials='B.' surname='Leiba' fullname='B. Leiba'><organization /></author>
<date year='2017' month='May' />
<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 title='Informative References'>





<reference anchor="I-D.pauly-quic-datagram">
<front>
<title>An Unreliable Datagram Extension to QUIC</title>

<author initials='T' surname='Pauly' fullname='Tommy Pauly'>
    <organization />
</author>

<author initials='E' surname='Kinnear' fullname='Eric Kinnear'>
    <organization />
</author>

<author initials='D' surname='Schinazi' fullname='David Schinazi'>
    <organization />
</author>

<date month='November' day='4' year='2019' />

<abstract><t>This document defines an extension to the QUIC transport protocol to add support for sending and receiving unreliable datagrams over a QUIC connection.  Discussion of this work is encouraged to happen on the QUIC IETF mailing list quic@ietf.org [1] or on the GitHub repository which contains the draft: https://github.com/tfpauly/draft-pauly-quic- datagram [2].</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-pauly-quic-datagram-05' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-pauly-quic-datagram-05.txt' />
</reference>



<reference anchor="I-D.schinazi-masque">
<front>
<title>The MASQUE Protocol</title>

<author initials='D' surname='Schinazi' fullname='David Schinazi'>
    <organization />
</author>

<date month='January' day='8' year='2020' />

<abstract><t>This document describes MASQUE (Multiplexed Application Substrate over QUIC Encryption).  MASQUE is a framework that allows concurrently running multiple networking applications inside an HTTP/3 connection.  For example, MASQUE can allow a QUIC client to negotiate proxying capability with an HTTP/3 server, and subsequently make use of this functionality while concurrently processing HTTP/3 requests and responses.  This document is a straw-man proposal.  It does not contain enough details to implement the protocol, and is currently intended to spark discussions on the approach it is taking.  Discussion of this work is encouraged to happen on the MASQUE IETF mailing list masque@ietf.org (mailto:masque@ietf.org) or on the GitHub repository which contains the draft: https://github.com/DavidSchinazi/masque-drafts (https://github.com/DavidSchinazi/masque-drafts).</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-schinazi-masque-02' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-schinazi-masque-02.txt' />
</reference>



<reference anchor="I-D.ietf-quic-transport">
<front>
<title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>

<author initials='J' surname='Iyengar' fullname='Jana Iyengar'>
    <organization />
</author>

<author initials='M' surname='Thomson' fullname='Martin Thomson'>
    <organization />
</author>

<date month='June' day='9' year='2020' />

<abstract><t>This document defines the core of the QUIC transport protocol. Accompanying documents describe QUIC's loss detection and congestion control and the use of TLS for key negotiation.  Note to Readers  Discussion of this draft takes place on the QUIC working group mailing list (quic@ietf.org (mailto:quic@ietf.org)), which is archived at https://mailarchive.ietf.org/arch/search/?email_list=quic  Working Group information can be found at https://github.com/quicwg; source code and issues list for this draft can be found at https://github.com/quicwg/base-drafts/labels/-transport.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-ietf-quic-transport-29' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-ietf-quic-transport-29.txt' />
</reference>



<reference anchor="I-D.ietf-quic-tls">
<front>
<title>Using TLS to Secure QUIC</title>

<author initials='M' surname='Thomson' fullname='Martin Thomson'>
    <organization />
</author>

<author initials='S' surname='Turner' fullname='Sean Turner'>
    <organization />
</author>

<date month='June' day='9' year='2020' />

<abstract><t>This document describes how Transport Layer Security (TLS) is used to secure QUIC.  Note to Readers  Discussion of this draft takes place on the QUIC working group mailing list (quic@ietf.org (mailto:quic@ietf.org)), which is archived at https://mailarchive.ietf.org/arch/ search/?email_list=quic.  Working Group information can be found at https://github.com/quicwg; source code and issues list for this draft can be found at https://github.com/quicwg/base-drafts/labels/-tls.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-ietf-quic-tls-29' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-ietf-quic-tls-29.txt' />
</reference>



<reference anchor="I-D.deconinck-quic-multipath">
<front>
<title>Multipath Extensions for QUIC (MP-QUIC)</title>

<author initials='Q' surname='Coninck' fullname='Quentin Coninck'>
    <organization />
</author>

<author initials='O' surname='Bonaventure' fullname='Olivier Bonaventure'>
    <organization />
</author>

<date month='March' day='5' year='2020' />

<abstract><t>This document specifies extensions to the QUIC protocol to enable the simultaneous usage of multiple paths for a single connection.  The proposed extensions remain compliant with the current single-path QUIC design and preserve the QUIC privacy features.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-deconinck-quic-multipath-04' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-deconinck-quic-multipath-04.txt' />
</reference>



<reference  anchor="RFC1812" target='https://www.rfc-editor.org/info/rfc1812'>
<front>
<title>Requirements for IP Version 4 Routers</title>
<author initials='F.' surname='Baker' fullname='F. Baker' role='editor'><organization /></author>
<date year='1995' month='June' />
<abstract><t>This memo defines and discusses requirements for devices that perform the network layer forwarding function of the Internet protocol suite. [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='1812'/>
<seriesInfo name='DOI' value='10.17487/RFC1812'/>
</reference>



<reference  anchor="RFC2827" target='https://www.rfc-editor.org/info/rfc2827'>
<front>
<title>Network Ingress Filtering: Defeating Denial of Service Attacks which employ IP Source Address Spoofing</title>
<author initials='P.' surname='Ferguson' fullname='P. Ferguson'><organization /></author>
<author initials='D.' surname='Senie' fullname='D. Senie'><organization /></author>
<date year='2000' month='May' />
<abstract><t>This paper discusses a simple, effective, and straightforward method for using ingress traffic filtering to prohibit DoS (Denial of Service) attacks which use forged IP addresses to be propagated from 'behind' an Internet Service Provider's (ISP) aggregation point.  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='38'/>
<seriesInfo name='RFC' value='2827'/>
<seriesInfo name='DOI' value='10.17487/RFC2827'/>
</reference>



<reference  anchor="RFC6887" target='https://www.rfc-editor.org/info/rfc6887'>
<front>
<title>Port Control Protocol (PCP)</title>
<author initials='D.' surname='Wing' fullname='D. Wing' role='editor'><organization /></author>
<author initials='S.' surname='Cheshire' fullname='S. Cheshire'><organization /></author>
<author initials='M.' surname='Boucadair' fullname='M. Boucadair'><organization /></author>
<author initials='R.' surname='Penno' fullname='R. Penno'><organization /></author>
<author initials='P.' surname='Selkirk' fullname='P. Selkirk'><organization /></author>
<date year='2013' month='April' />
<abstract><t>The Port Control Protocol allows an IPv6 or IPv4 host to control how incoming IPv6 or IPv4 packets are translated and forwarded by a Network Address Translator (NAT) or simple firewall, and also allows a host to optimize its outgoing NAT keepalive messages.</t></abstract>
</front>
<seriesInfo name='RFC' value='6887'/>
<seriesInfo name='DOI' value='10.17487/RFC6887'/>
</reference>



<reference  anchor="RFC7301" target='https://www.rfc-editor.org/info/rfc7301'>
<front>
<title>Transport Layer Security (TLS) Application-Layer Protocol Negotiation Extension</title>
<author initials='S.' surname='Friedl' fullname='S. Friedl'><organization /></author>
<author initials='A.' surname='Popov' fullname='A. Popov'><organization /></author>
<author initials='A.' surname='Langley' fullname='A. Langley'><organization /></author>
<author initials='E.' surname='Stephan' fullname='E. Stephan'><organization /></author>
<date year='2014' month='July' />
<abstract><t>This document describes a Transport Layer Security (TLS) extension for application-layer protocol negotiation within the TLS handshake. For instances in which multiple application protocols are supported on the same TCP or UDP port, this extension allows the application layer to negotiate which protocol will be used within the TLS connection.</t></abstract>
</front>
<seriesInfo name='RFC' value='7301'/>
<seriesInfo name='DOI' value='10.17487/RFC7301'/>
</reference>



<reference  anchor="RFC8126" target='https://www.rfc-editor.org/info/rfc8126'>
<front>
<title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
<author initials='M.' surname='Cotton' fullname='M. Cotton'><organization /></author>
<author initials='B.' surname='Leiba' fullname='B. Leiba'><organization /></author>
<author initials='T.' surname='Narten' fullname='T. Narten'><organization /></author>
<date year='2017' month='June' />
<abstract><t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters.  To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper.  For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t><t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed.  This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t><t>This is the third edition of this document; it obsoletes RFC 5226.</t></abstract>
</front>
<seriesInfo name='BCP' value='26'/>
<seriesInfo name='RFC' value='8126'/>
<seriesInfo name='DOI' value='10.17487/RFC8126'/>
</reference>



<reference  anchor="RFC6824" target='https://www.rfc-editor.org/info/rfc6824'>
<front>
<title>TCP Extensions for Multipath Operation with Multiple Addresses</title>
<author initials='A.' surname='Ford' fullname='A. Ford'><organization /></author>
<author initials='C.' surname='Raiciu' fullname='C. Raiciu'><organization /></author>
<author initials='M.' surname='Handley' fullname='M. Handley'><organization /></author>
<author initials='O.' surname='Bonaventure' fullname='O. Bonaventure'><organization /></author>
<date year='2013' month='January' />
<abstract><t>TCP/IP communication is currently restricted to a single path per connection, yet multiple paths often exist between peers.  The simultaneous use of these multiple paths for a TCP/IP session would improve resource usage within the network and, thus, improve user experience through higher throughput and improved resilience to network failure.</t><t>Multipath TCP provides the ability to simultaneously use multiple paths between peers.  This document presents a set of extensions to traditional TCP to support multipath operation.  The protocol offers the same type of service to applications as TCP (i.e., reliable bytestream), and it provides the components necessary to establish and use multiple TCP flows across potentially disjoint paths.  This  document defines an Experimental Protocol for the Internet community.</t></abstract>
</front>
<seriesInfo name='RFC' value='6824'/>
<seriesInfo name='DOI' value='10.17487/RFC6824'/>
</reference>


<reference anchor="IANA-ETHER-TYPES" >
  <front>
    <title>IANA ETHER TYPES</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
  <seriesInfo name="https://www.iana.org/assignments/ieee-802-numbers/ieee-802-numbers.txt" value=""/>
</reference>




<reference  anchor="Transparent-Ethernet-Bridging" target='https://www.rfc-editor.org/info/rfc1701'>
<front>
<title>Generic Routing Encapsulation (GRE)</title>
<author initials='S.' surname='Hanks' fullname='S. Hanks'><organization /></author>
<author initials='T.' surname='Li' fullname='T. Li'><organization /></author>
<author initials='D.' surname='Farinacci' fullname='D. Farinacci'><organization /></author>
<author initials='P.' surname='Traina' fullname='P. Traina'><organization /></author>
<date year='1994' month='October' />
<abstract><t>This document specifies a protocol for performing encapsulation of an arbitrary network layer protocol over another arbitrary network layer protocol. This memo provides information for the Internet community. This memo does not specify an Internet standard of any kind.</t></abstract>
</front>
<seriesInfo name='RFC' value='1701'/>
<seriesInfo name='DOI' value='10.17487/RFC1701'/>
</reference>




    </references>


<section anchor="change-log" title="Change Log">

<section anchor="since-draft-piraux-quic-tunnel-02" title="Since draft-piraux-quic-tunnel-02">

<t><list style="symbols">
  <t>Add the lightweight mode</t>
</list></t>

</section>
<section anchor="since-draft-piraux-quic-tunnel-01" title="Since draft-piraux-quic-tunnel-01">

<t><list style="symbols">
  <t>Add the Access Report TLV for reporting access networks availability</t>
  <t>Add a section with examples of use of the Packet Tag</t>
</list></t>

</section>
<section anchor="since-draft-piraux-quic-tunnel-00" title="Since draft-piraux-quic-tunnel-00">

<t><list style="symbols">
  <t>Separate the document in two and put the stream mode in another document</t>
  <t>Remove TCP Extended TLV</t>
  <t>Add a mechanism for joining QUIC connections in a QUIC tunneling session</t>
  <t>Add a format for encoding any network-layer protocol packets and Ethernet
 frames in QUIC DATAGRAM frames</t>
</list></t>

</section>
</section>
<section numbered="false" anchor="acknowledgments" title="Acknowledgments">

<t>Thanks to Quentin De Coninck and Francois Michel for their comments and
the proofreading of the first version of this document.
Thanks to Gregory Vander Schueren for his comments on the first version of
this document.</t>

</section>


  </back>

<!-- ##markdown-source:
H4sIABfsM18AA+1d6XYcx3X+X09RAX8EkNBDLNwEW4ohAqSQECQMgNLxsR2l
0FMz00JP96irB4tA5nXyIHmx3K2qq5cBIVtWck409qFmeqnl1l2/e6uQJImq
szq3e/p8WRQ2z4qpPipqWxW21ouqrMu0zJ3OCpeNrf7j+6OXylxcVPZqj37I
W2pcpoWZQyvjykzqZJFVZnmT/LjM0qSmJ5KtXZWa2k7L6nZP25uFUtmi2tN1
tXT1ztbWF1s7ylTWwDgqU7hFWdXquqwup1W5XEhf38FvHN9rvKYu7S08MN4L
w00OsG+l0nIMT+3ppUuMS7NMudoU4+9NXhYwwFvr1CLb03+GmW1qB/1UduLg
2+0cv/xVKbOsZ2W1p3SiNHxg6nt67XikT2hSa3SRJ7t2bG6yuW3dKaupKbKf
TJ2VBTzx/uWbcnllsoLv2rnJ8j09p/dGTKY/LNOcnxldWNXu9t1If10W5soW
9bKyrb7f5dlVZqv+/QeNoOS3RxfN2/eNY3+kj41bLOvKtAaxP846Nzq97y8W
uYUlSket7s04+4PBW6O0nCtVlNUc3riyQHV9+urlzvb2F/J1+/nWNn49P9vZ
fcpftRaW/Yp+wD2bzoosNbk+W9g0m8BX7J4ZRZ/Z6ipLrdPABfrs1tV2rvcd
PFi730kD/mqVzrIabgA19KSsdD2z+ulruf07fVabqdU7ev3U5tY4q7efbVAL
gWXkA0TY07uvT070+m411q9tYSse0ompavjhZtlCn1TlD9AZNzEG4djTO1vb
X9BPZ6vMuqyYlL5VbG7PkwGkB25FRDtKDkYLs8xvWeigNTOtzNzfcjCxwvyU
JXPjflyGNzJbT0RKvdQN3Mqdvzi2aVlkRXrJd+bLvM4Wpp75tXqxveNX8MXO
c/n67MUL//X5Lq8gfIVHn4UHdp5QD/tv95PD828OT5PzP50cnrXWGm9quqnp
ZpdKelbXC7f3+PH19fUoM4UZwSI8Ns5l02IODO4eZ9ba5MXWTlIs5xewBL0L
o/oG1EeSJNpcOCBICr/OZ5nToN2W2IZ2zF7AS3MLKz52zCVBcx4Cw5DmnADt
mePUgDZ1y3SmjdPnL0829fsD+OfohLiT1JzoWsO/gOAFMAnwzkjx4ObZeJyD
gD5CzVeV4yXdVeq4vMhA1saWud13kptFXS5Qw82B9xYz0IJO46jNRW5rp2cg
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

-->

</rfc>

