Applicability of the QUIC Transport Protocol
draft-ietf-quic-applicability-08
Network Working Group M. Kuehlewind
Internet-Draft Ericsson
Intended status: Informational B. Trammell
Expires: 6 May 2021 Google
2 November 2020
Applicability of the QUIC Transport Protocol
draft-ietf-quic-applicability-08
Abstract
This document discusses the applicability of the QUIC transport
protocol, focusing on caveats impacting application protocol
development and deployment over QUIC. Its intended audience is
designers of application protocol mappings to QUIC, and implementors
of these application protocols.
Status of This Memo
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 6 May 2021.
Copyright Notice
Copyright (c) 2020 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 Simplified BSD License text
as described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Simplified BSD License.
Kuehlewind & Trammell Expires 6 May 2021 [Page 1]
Internet-Draft QUIC Applicability November 2020
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Notational Conventions . . . . . . . . . . . . . . . . . 3
2. The Necessity of Fallback . . . . . . . . . . . . . . . . . . 3
3. Zero RTT . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1. Thinking in Zero RTT . . . . . . . . . . . . . . . . . . 4
3.2. Here There Be Dragons . . . . . . . . . . . . . . . . . . 4
3.3. Session resumption versus Keep-alive . . . . . . . . . . 5
4. Use of Streams . . . . . . . . . . . . . . . . . . . . . . . 6
4.1. Stream versus Flow Multiplexing . . . . . . . . . . . . . 8
4.2. Prioritization . . . . . . . . . . . . . . . . . . . . . 8
4.3. Flow Control Deadlocks . . . . . . . . . . . . . . . . . 8
5. Packetization and Latency . . . . . . . . . . . . . . . . . . 10
6. Port Selection and Application Endpoint Discovery . . . . . . 10
7. Connection Migration . . . . . . . . . . . . . . . . . . . . 11
8. Connection closure . . . . . . . . . . . . . . . . . . . . . 12
9. Information exposure and the Connection ID . . . . . . . . . 13
9.1. Server-Generated Connection ID . . . . . . . . . . . . . 13
9.2. Mitigating Timing Linkability with Connection ID
Migration . . . . . . . . . . . . . . . . . . . . . . . . 13
9.3. Using Server Retry for Redirection . . . . . . . . . . . 14
10. Use of Versions and Cryptographic Handshake . . . . . . . . . 14
11. Enabling New Versions . . . . . . . . . . . . . . . . . . . . 14
12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16
13. Security Considerations . . . . . . . . . . . . . . . . . . . 16
14. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 16
15. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 16
16. References . . . . . . . . . . . . . . . . . . . . . . . . . 16
16.1. Normative References . . . . . . . . . . . . . . . . . . 16
16.2. Informative References . . . . . . . . . . . . . . . . . 17
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 19
1. Introduction
QUIC [QUIC] is a new transport protocol providing a number of
advanced features. While initially designed for the HTTP use case,
like most transports it is intended for use with a much wider variety
of applications. QUIC is encapsulated in UDP. The version of QUIC
that is currently under development will integrate TLS 1.3 [TLS13] to
encrypt all payload data and most control information. HTTP
operating over QUIC is known as HTTP/3.
Show full document text