Skip to content

Commit

Permalink
Script updating gh-pages from 81c610b. [ci skip]
Browse files Browse the repository at this point in the history
  • Loading branch information
ID Bot committed Nov 19, 2019
1 parent 2288a7a commit 57b04c6
Show file tree
Hide file tree
Showing 13 changed files with 28,834 additions and 16,182 deletions.
6,249 changes: 4,249 additions & 2,000 deletions draft-ietf-quic-http.html

Large diffs are not rendered by default.

1,012 changes: 506 additions & 506 deletions draft-ietf-quic-http.txt

Large diffs are not rendered by default.

1,653 changes: 1,215 additions & 438 deletions draft-ietf-quic-invariants.html

Large diffs are not rendered by default.

192 changes: 68 additions & 124 deletions draft-ietf-quic-invariants.txt
Expand Up @@ -4,8 +4,8 @@

QUIC M. Thomson
Internet-Draft Mozilla
Intended status: Standards Track November 18, 2019
Expires: May 21, 2020
Intended status: Standards Track 19 November 2019
Expires: 22 May 2020


Version-Independent Properties of QUIC
Expand All @@ -21,11 +21,14 @@ Note to Readers

Discussion of this draft takes place on the QUIC working group
mailing list (quic@ietf.org), which is archived at
https://mailarchive.ietf.org/arch/search/?email_list=quic [1].
https://mailarchive.ietf.org/arch/search/?email_list=quic
(https://mailarchive.ietf.org/arch/search/?email_list=quic).

Working Group information can be found at https://github.com/quicwg
[2]; source code and issues list for this draft can be found at
https://github.com/quicwg/base-drafts/labels/-invariants [3].
(https://github.com/quicwg); source code and issues list for this
draft can be found at https://github.com/quicwg/base-drafts/labels/-
invariants (https://github.com/quicwg/base-drafts/labels/-
invariants).

Status of This Memo

Expand All @@ -42,31 +45,32 @@ Status of This Memo
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 May 21, 2020.
This Internet-Draft will expire on 22 May 2020.

Copyright Notice

Copyright (c) 2019 IETF Trust and the persons identified as the
document authors. All rights reserved.





Thomson Expires May 21, 2020 [Page 1]
Thomson Expires 22 May 2020 [Page 1]

Internet-Draft QUIC Invariants November 2019


Copyright Notice

Copyright (c) 2019 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.
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

Expand All @@ -81,10 +85,9 @@ Table of Contents
5. Version Negotiation . . . . . . . . . . . . . . . . . . . . . 6
6. Security and Privacy Considerations . . . . . . . . . . . . . 7
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 8
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 7
8.1. Normative References . . . . . . . . . . . . . . . . . . 8
8.2. Informative References . . . . . . . . . . . . . . . . . 8
8.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Appendix A. Incorrect Assumptions . . . . . . . . . . . . . . . 8
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 9

Expand All @@ -103,17 +106,18 @@ Table of Contents
The primary goal of this document is to ensure that it is possible to
deploy new versions of QUIC. By documenting the properties that
can't change, this document aims to preserve the ability to change
any other aspect of the protocol. Thus, unless specifically
described in this document, any aspect of the protocol can change
between different versions.



Thomson Expires May 21, 2020 [Page 2]
Thomson Expires 22 May 2020 [Page 2]

Internet-Draft QUIC Invariants November 2019


any other aspect of the protocol. Thus, unless specifically
described in this document, any aspect of the protocol can change
between different versions.

Appendix A is a non-exhaustive list of some incorrect assumptions
that might be made based on knowledge of QUIC version 1; these do not
apply to every version of QUIC.
Expand Down Expand Up @@ -161,11 +165,7 @@ Internet-Draft QUIC Invariants November 2019







Thomson Expires May 21, 2020 [Page 3]
Thomson Expires 22 May 2020 [Page 3]

Internet-Draft QUIC Invariants November 2019

Expand All @@ -188,7 +188,7 @@ Internet-Draft QUIC Invariants November 2019
|X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 1: QUIC Long Header
Figure 1: QUIC Long Header

A QUIC packet with a long header has the high bit of the first byte
set to 1. All other bits in that byte are version specific.
Expand Down Expand Up @@ -221,7 +221,7 @@ Internet-Draft QUIC Invariants November 2019



Thomson Expires May 21, 2020 [Page 4]
Thomson Expires 22 May 2020 [Page 4]

Internet-Draft QUIC Invariants November 2019

Expand Down Expand Up @@ -277,7 +277,7 @@ Internet-Draft QUIC Invariants November 2019



Thomson Expires May 21, 2020 [Page 5]
Thomson Expires 22 May 2020 [Page 5]

Internet-Draft QUIC Invariants November 2019

Expand Down Expand Up @@ -322,7 +322,7 @@ Internet-Draft QUIC Invariants November 2019
| [Supported Version N (32)] |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 3: Version Negotiation Packet
Figure 3: Version Negotiation Packet

The Version Negotiation packet contains a list of Supported Version
fields, each identifying a version that the endpoint sending the
Expand All @@ -333,7 +333,7 @@ Internet-Draft QUIC Invariants November 2019



Thomson Expires May 21, 2020 [Page 6]
Thomson Expires 22 May 2020 [Page 6]

Internet-Draft QUIC Invariants November 2019

Expand Down Expand Up @@ -385,23 +385,23 @@ Internet-Draft QUIC Invariants November 2019

This document makes no request of IANA.

8. References




Thomson Expires May 21, 2020 [Page 7]
Thomson Expires 22 May 2020 [Page 7]

Internet-Draft QUIC Invariants November 2019


8. References

8.1. Normative References

[QUIC-TRANSPORT]
Iyengar, J., Ed. and M. Thomson, Ed., "QUIC: A UDP-Based
Multiplexed and Secure Transport", draft-ietf-quic-
transport (work in progress), November 2019.
Multiplexed and Secure Transport", Work in Progress,
Internet-Draft, draft-ietf-quic-transport-latest, 19
November 2019, <https://tools.ietf.org/html/draft-ietf-
quic-transport-latest>.

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
Expand All @@ -414,23 +414,16 @@ Internet-Draft QUIC Invariants November 2019

8.2. Informative References

[QUIC-TLS]
Thomson, M., Ed. and S. Turner, Ed., "Using Transport
Layer Security (TLS) to Secure QUIC", draft-ietf-quic-tls
(work in progress), November 2019.
[QUIC-TLS] Thomson, M., Ed. and S. Turner, Ed., "Using Transport
Layer Security (TLS) to Secure QUIC", Work in Progress,
Internet-Draft, draft-ietf-quic-tls-latest, 19 November
2019,
<https://tools.ietf.org/html/draft-ietf-quic-tls-latest>.

[RFC5116] McGrew, D., "An Interface and Algorithms for Authenticated
Encryption", RFC 5116, DOI 10.17487/RFC5116, January 2008,
<https://www.rfc-editor.org/info/rfc5116>.

8.3. URIs

[1] https://mailarchive.ietf.org/arch/search/?email_list=quic

[2] https://github.com/quicwg

[3] https://github.com/quicwg/base-drafts/labels/-invariants

Appendix A. Incorrect Assumptions

There are several traits of QUIC version 1 [QUIC-TRANSPORT] that are
Expand All @@ -442,70 +435,60 @@ Appendix A. Incorrect Assumptions
are not even true for QUIC version 1. This is not an exhaustive
list, it is intended to be illustrative only.

The following statements are NOT guaranteed to be true for every QUIC
version:

* QUIC uses TLS [QUIC-TLS] and some TLS messages are visible on the
wire


Thomson Expires May 21, 2020 [Page 8]

Internet-Draft QUIC Invariants November 2019


The following statements are NOT guaranteed to be true for every QUIC
version:

o QUIC uses TLS [QUIC-TLS] and some TLS messages are visible on the
wire
Thomson Expires 22 May 2020 [Page 8]

Internet-Draft QUIC Invariants November 2019


o QUIC long headers are only exchanged during connection
* QUIC long headers are only exchanged during connection
establishment

o Every flow on a given 5-tuple will include a connection
* Every flow on a given 5-tuple will include a connection
establishment phase

o The first packets exchanged on a flow use the long header
* The first packets exchanged on a flow use the long header

o QUIC forbids acknowledgments of packets that only contain ACK
* QUIC forbids acknowledgments of packets that only contain ACK
frames, therefore the last packet before a long period of
quiescence might be assumed to contain an acknowledgment

o QUIC uses an AEAD (AEAD_AES_128_GCM [RFC5116]) to protect the
* QUIC uses an AEAD (AEAD_AES_128_GCM [RFC5116]) to protect the
packets it exchanges during connection establishment

o QUIC packet numbers appear after the Version field
* QUIC packet numbers appear after the Version field

o QUIC packet numbers increase by one for every packet sent
* QUIC packet numbers increase by one for every packet sent

o QUIC has a minimum size for the first handshake packet sent by a
* QUIC has a minimum size for the first handshake packet sent by a
client

o QUIC stipulates that a client speaks first
* QUIC stipulates that a client speaks first

o A QUIC Version Negotiation packet is only sent by a server
* A QUIC Version Negotiation packet is only sent by a server

o A QUIC connection ID changes infrequently
* A QUIC connection ID changes infrequently

o QUIC endpoints change the version they speak if they are sent a
* QUIC endpoints change the version they speak if they are sent a
Version Negotiation packet

o The version field in a QUIC long header is the same in both
* The version field in a QUIC long header is the same in both
directions

o Only one connection at a time is established between any pair of
* Only one connection at a time is established between any pair of
QUIC endpoints

Author's Address







Thomson Expires May 21, 2020 [Page 9]

Internet-Draft QUIC Invariants November 2019


Martin Thomson
Mozilla

Expand All @@ -518,43 +501,4 @@ Internet-Draft QUIC Invariants November 2019










































Thomson Expires May 21, 2020 [Page 10]
Thomson Expires 22 May 2020 [Page 9]

0 comments on commit 57b04c6

Please sign in to comment.