Subject: [quicwg/base-drafts] First draft of an overview (#4326)

From: Mike Bishop <[email-masked]>
Date: Tue, 03 Nov 2020 07:59:57 -0800

Fixes #4265.

I remain uncertain whether this is better as a Section 2 or simply as expanding Section 1.3, but here&#39;s my attempt to write a crash course in the fundamentals of QUIC for someone picking up the document for the first time.

Of course, this PR would also need to renumber all references into Transport from the other drafts (ick), but let&#39;s agree on whether we&#39;re doing that before I dive in.
You can view, comment on, or merge this pull request online at:

  https://github.com/quicwg/base-drafts/pull/4326

-- Commit Summary --

  * First draft of an overview

-- File Changes --

    M draft-ietf-quic-transport.md (67)

-- Patch Links --

https://github.com/quicwg/base-drafts/pull/4326.patch
https://github.com/quicwg/base-drafts/pull/4326.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/4326

---

From: Martin Thomson <[email-masked]>
Date: Tue, 03 Nov 2020 16:09:47 -0800

@martinthomson commented on this pull request.

I'm going to take a tilt at lifting some of this text into the existing overview.

> +datagrams to carry its packets.  The version-independent properties of
+QUIC are described in [QUIC-INVARIANTS]; this document describes a particular
+version of QUIC, version 1.

Second sentence here is worth a paragraph.

> +In this version of QUIC, the handshake is performed using TLS.  TLS is not used
+over QUIC as it is over TCP, nor is DTLS used over UDP.  Instead, QUIC replaces
+the TLS record layer with its own interface, described in detail in [QUIC-TLS].

Sentence 2 and 3 are good.

> +The QUIC connection is configured using transport parameters, which are
+transported by TLS and confirmed during the handshake.  The TLS handshake
+provides keys which are used to encrypt the packets QUIC generates.

Too specific to the specific spelling of parameters.

> +When a QUIC connection begins, a version of QUIC needs to be negotiated.
+Clients optimistically begin the handshake with a version of QUIC that they
+support; servers respond with a Version Negotiation packet if that version of
+QUIC is not acceptable.  Once a version is mutually acceptable, the server
+processes the client's handshake packets.

I don't think we need this up front.

> +Most packets sent by QUIC contain a collection of frames.  Frames are the
+individual unit of information in QUIC, and each frame type serves a different
+purpose.  Frames are used to carry control information and to transport
+application data.

Might be better than the original.

> +QUIC includes loss detection mechanisms to detect lost packets, enabling a
+sender to repair a loss by resending the information conveyed by frames
+contained in the lost packets.  This document describes the feedback mechanisms
+provided by the transport; one set of possible algorithms for loss recovery and
+congestion control are described in [QUIC-RECOVERY], but an endpoint can instead
+implement other algorithms using the loss detection tools provided by the
+transport.

We need something from this, but this seems like too many words.

> +connection to survive a change in NAT port mappings or in connection network. In
+this version of QUIC, only clients are allowed to migrate.  In order to reduce

Maybe take this sentence too.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/4326#pullrequestreview-522956804

---

From: Jana Iyengar <[email-masked]>
Date: Tue, 10 Nov 2020 05:10:04 +0000 (UTC)

Closed #4326 via #4329.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/4326#event-3977002736