Describing QUIC's Protocol Data Units with Augmented Packet Header Diagrams
draft-mcquistin-quic-augmented-diagrams-03
Network Working Group S. McQuistin
Internet-Draft V. Band
Intended status: Experimental D. Jacob
Expires: 6 May 2021 C. S. Perkins
University of Glasgow
2 November 2020
Describing QUIC's Protocol Data Units with Augmented Packet Header
Diagrams
draft-mcquistin-quic-augmented-diagrams-03
Abstract
This document describes the core transport protocol data units used
in the QUIC protocol using a machine-readable augmented packet header
diagram format. It is intended as an example of the augmented packet
header diagram language, and not as a contribution to the development
of the QUIC protocol.
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.
McQuistin, et al. Expires 6 May 2021 [Page 1]
Internet-Draft QUIC Augmented Packet Diagrams November 2020
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.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Header and Packet Protection . . . . . . . . . . . . . . . . 3
3. Variable Length Integer . . . . . . . . . . . . . . . . . . . 4
4. Stateless Reset . . . . . . . . . . . . . . . . . . . . . . . 4
5. Version Negotiation Packet . . . . . . . . . . . . . . . . . 5
6. Long Header Packets . . . . . . . . . . . . . . . . . . . . . 6
6.1. Initial Packet . . . . . . . . . . . . . . . . . . . . . 9
6.2. 0RTT Packet . . . . . . . . . . . . . . . . . . . . . . . 11
6.3. Handshake Packet . . . . . . . . . . . . . . . . . . . . 13
6.4. Retry Packet . . . . . . . . . . . . . . . . . . . . . . 14
7. Short Header Packets . . . . . . . . . . . . . . . . . . . . 15
8. Frames and Frame Formats . . . . . . . . . . . . . . . . . . 18
8.1. PADDING frame . . . . . . . . . . . . . . . . . . . . . . 18
8.2. PING frame . . . . . . . . . . . . . . . . . . . . . . . 18
8.3. ACK frame . . . . . . . . . . . . . . . . . . . . . . . . 19
8.4. RESET_STREAM frame . . . . . . . . . . . . . . . . . . . 21
8.5. STOP_SENDING frame . . . . . . . . . . . . . . . . . . . 21
8.6. CRYPTO frame . . . . . . . . . . . . . . . . . . . . . . 22
8.7. NEW_TOKEN frame . . . . . . . . . . . . . . . . . . . . . 23
8.8. STREAM frame . . . . . . . . . . . . . . . . . . . . . . 23
8.9. MAX_DATA frame . . . . . . . . . . . . . . . . . . . . . 25
8.10. MAX_STREAM_DATA frame . . . . . . . . . . . . . . . . . . 25
8.11. MAX_STREAMS frame . . . . . . . . . . . . . . . . . . . . 26
8.12. DATA_BLOCKED frame . . . . . . . . . . . . . . . . . . . 26
8.13. STREAM_DATA_BLOCKED frame . . . . . . . . . . . . . . . . 26
8.14. STREAMS_BLOCKED frame . . . . . . . . . . . . . . . . . . 27
8.15. NEW_CONNECTION_ID frame . . . . . . . . . . . . . . . . . 27
8.16. RETIRE_CONNECTION_ID frame . . . . . . . . . . . . . . . 28
8.17. PATH_CHALLENGE frame . . . . . . . . . . . . . . . . . . 29
8.18. PATH_RESPONSE frame . . . . . . . . . . . . . . . . . . . 29
8.19. CONNECTION_CLOSE frame . . . . . . . . . . . . . . . . . 30
8.20. HANDSHAKE_DONE frame . . . . . . . . . . . . . . . . . . 31
9. Informative References . . . . . . . . . . . . . . . . . . . 31
Appendix A. Source code repository . . . . . . . . . . . . . . . 31
Show full document text