Internet-Draft | Generalized IPv6 Tunnel for QUIC | October 2022 |
Li, et al. | Expires 27 April 2023 | [Page] |
This document defines a new encapsulation method for QUIC packet transmission based on IPv6 extension headers. This method enables QUIC packet transmission to easily inherit the extended functions of IPv6.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 27 April 2023.¶
Copyright (c) 2022 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
The draft [I-D.li-rtgwg-generalized-ipv6-tunnel] proposes why the Generalize IPv6 Tunnel is introduced to unify the IP tunnels to remove the duplicate functions and support new features. QUIC, as a general-purpose transport layer network protocol, is gradually being applied on the network side, such as DNS over QUIC [RFC9250] and QUIC tunnel [I-D.piraux-quic-tunnel]. QUIC tunnel-based packet transmission also faces the issues to be extended to support new features.¶
This document defines encapsulation of QUIC headers into the GIP6 tunnel encapsulation and attempts to solve these issues.¶
APN: Application-aware Networking¶
IPv4: Internet Protocol version 4¶
IPv6: Internet Protocol version 6¶
IOAM: In-situ Operations, Administration, and Maintenance¶
As mentioned in the draft [I-D.li-rtgwg-generalized-ipv6-tunnel], many new features, such as Alternate Marking [I-D.ietf-6man-ipv6-alt-mark] , IOAM [I-D.ietf-ippm-ioam-ipv6-options], resource isolation[I-D.ietf-6man-enhanced-vpn-vtn-id] , and APN[I-D.li-apn-ipv6-encap] , are emerging and the corresponding encapsulations over the IPv6 are defined. Since there are all kinds of existing IP tunnels (including UDP-based tunnels), if these new features need to be supported over these tunnels, it is very difficult to extend for these tunnels. If QUIC is used as a tunnel for transmission of data packets in the network, it will also face the challenge to support these new features.¶
The draft [I-D.li-rtgwg-generalized-ipv6-tunnel] defined the GIP6 tunnel which use the IPv6 header and IPv6 extension header to support both functions of existing IP tunnels and new features. The GIP6 tunnel is to unify the IP tunnels to remove the duplicate functions and support new features. This can greatly reduce the repeated effort to extend the exiting IP tunnels to support the new features.¶
To support existing QUIC functions, the GIP6 tunnel is extended as follows:¶
1. Definition of the QUIC Option: A new option called QUIC Option is defined to carry the QUIC header information. The QUIC Option MUST only be encapsulated in the Destination Options Header (DOH).¶
The following figure shows the data fields format of the QUIC option:¶
0 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Option Type | Opt Data Len | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | QUIC Header (Variable Bytes) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 1. QUIC Option¶
The QUIC Option contains the following fields:¶
* Option Type: 8-bit selector. QUIC option. Value TBD by IANA.¶
* Opt Data Len: 8-bit unsigned integer. Length of the option, in octets, excluding the Option Type and Option Length fields.¶
* Option Data: variable. QUIC Header Information. For the detailed definition of the QUIC headers, please refer to [RFC8999].¶
2. The function of the UDP header for ECMP can replaced by the flow label of the IPv6 header in the GIP6 tunnel. To ensure compatibility, the value of the flow label calculated for the purpose of ECMP SHOULD be the same as that of the source port of the UDP.¶
TBD.¶
The Option Type should be assigned in IANA's "Destination Options" registry.¶
This draft requests the following IPv6 Option Type assignment from the Destination Options sub-registry of Internet Protocol Version 6 (IPv6) Parameters (https://www.iana.org/assignments/ipv6-parameters/).¶
Hex Value Binary Value Description Reference act chg rest ---------------------------------------------------------------- TBD 00 0 TBD QUIC [This draft] Figure 2. IANA Considerations¶