From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qt1-x834.google.com (mail-qt1-x834.google.com [IPv6:2607:f8b0:4864:20::834]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id 41D653CB35 for ; Wed, 27 Mar 2019 05:15:29 -0400 (EDT) Received: by mail-qt1-x834.google.com with SMTP id w30so17915704qta.8 for ; Wed, 27 Mar 2019 02:15:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :content-transfer-encoding; bh=S6izZp86ZzY6b6XCt29dJCca4Em5/dTM6yvPaMrwXME=; b=CPn99c+yHHB9Z/KeTioEhvLCGH4FfAa0wbqwkl6Z9hZjFNocrqhYsk82cRm1djPFOY ngoLw7ytTTp91rlBgSxwz+z/bPSHjY6eyuatesPyNwYbL/vQSB0JfdSvL91kKBC6+wt6 UD9eXDtl8hv8jDII3IHYJYOTrQkewZniV9OCdp94P+Ma+Ky3wUZD4muIN0PyjeMr05B8 DwLsYmAVpnvCtr8gL6KN2HC1486EAWxwkoLFHt3bxv0yOAYIlPRweBFDMExnSqDyVtST xy59CSFx8SmCUiP2kPovc34vmVl4/jvF9lpNTP04ciwSKJkaUc2ecdBOgYEPv9fMCVL4 BN4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:content-transfer-encoding; bh=S6izZp86ZzY6b6XCt29dJCca4Em5/dTM6yvPaMrwXME=; b=fLISm8xUcbyXyafQL4nsf/uwFJ3Lo0hizLG0w0ghlPuVJvlifQCT3WjoJNPKP65E3n wd2hAI6biJcD7Pqq9Yq8NKXoVsxhyfKBXn+9t9LK7mARd1czz47yT9JgDC1hN1OrSnQK DKHflI7d7P8KPwmnAE9TGYkVZiffSNpeMInpY16+dc1GuVBQJrx/O5KTTZ6TBJKMjvhk JaZGlSnBbsH76VsxkpbQMGIkvMib0CJbizv9s7gNgUc1dQtNpa2XyVPPvnF85Qco1bse hlKq0j23t9lQRmkUjFB30zXSgUxNX4WpOknoqpSrAvKFTwIoKbVYkhhn930as6NWhjHr EdRA== X-Gm-Message-State: APjAAAWNwh9O2nJHidKH92R6IuAjDe2+Q0Ke1mRIwvC8NYhPun/KFt2e y6q+W9hYAbaatBbnDbI8v1yMwagSDIBvvi9Gofs= X-Google-Smtp-Source: APXvYqwVhiFhGPPxUMVLdbFGRQiNXN94kqAm+NLe6390zrIQGDdpaE67A4OEXvVIOWWdo1dSKsmjbtpqAdq/TT19dvo= X-Received: by 2002:aed:23b4:: with SMTP id j49mr30794013qtc.175.1553678128330; Wed, 27 Mar 2019 02:15:28 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Dave Taht Date: Wed, 27 Mar 2019 02:15:16 -0700 Message-ID: To: Jonathan Morton , ECN-Sane Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Subject: [Ecn-sane] QUIC original design documents X-BeenThere: ecn-sane@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: Discussion of explicit congestion notification's impact on the Internet List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 27 Mar 2019 09:15:29 -0000 ---------- Forwarded message --------- From: Roskind, Jim Date: Thu, Mar 21, 2019 at 9:39 AM Subject: Re: versions of quic To: Dave Taht Every time we made a =E2=80=9Cbreaking change=E2=80=9D in the protocol we b= umped the version number. Sometimes it was crypto, sometimes frames, sometimes congestion control, etc. I=E2=80=99d have to look back at the codebase to see it precisely, but I wo= uld have guessed over 20. As IETF worked, we also regularly rev=E2=80=99ed the protocol to be more similar, if not compatible. It was up to version 34 back in 2016. Looking at the wire spec https://docs.google.com/document/d/1WJvyZflAO2pq77yOLbp9NsGjC1CHetAXV8I0fQe= -B_U/edit You can see the long list of recent versions: Q009: added priority as the first 4 bytes on spdy streams. Q010: renumber the various frame types Q011: shrunk the fnv128 hash on NULL encrypted packets from 16 bytes to 12 bytes. Q012: optimize the ack frame format to reduce the size and better handle ranges of nacks, which should make truncated acks virtually impossible. Also adding an explicit flag for truncated acks and moving the ack outside of the connection close frame. Q013: Compressed headers for *all* data streams are serialized into a reserved stream. This ensures serialized handling of headers, independent of stream cancellation notification. Q014: Added WINDOW_UPDATE and BLOCKED frames, no behavioral change. Q015: Removes the accumulated_number_of_lost_packets field from the TCP and inter arrival congestion feedback frames and adds an explicit list of recovered packets to the ack frame. Q016: Breaks out the sent_info field from the ACK frame into a new STOP_WAITING frame. Changed GUID to Connection ID Q017: Adds stream level flow control Q018: Added a PING frame Q019: Adds session/connection level flow control Q020: Allow endpoints to set different stream/session flow control windows Q021: Crypto and headers streams are flow controlled (at stream level) Q023: Ack frames include packet timestamps Q024: HTTP/2-style header compression Q025: HTTP/2-style header keys. Removal of error_details from the RST_STREAM frame. Q026: Token binding, adds expected leaf cert (XLCT) tag to client hello Q027: Adds a nonce to the server hello Q029: Server and client honor QUIC_STREAM_NO_ERROR on early response Q030: Add server side support of certificate transparency. Q031: Adds a SHA256 hash of the serialized client hello messages to crypto proof. Q032: FEC related fields are removed from wire format. Q033: Adds an optional diversification nonce to packet headers, and eliminates the 2 byte and 4 byte connection ID length public flags. Q034: Removes entropy and private flags and changes the ack frame from nack ranges to ack ranges and removes truncated acks. Q035: Allows each endpoint to independently set maximum number of supported incoming streams using the MIDS ("Maximum Incoming Dynamic Streams") tag instead of the older MSPC ("Maximum Streams Per Connection") tag. Q036: Adds support for inducing head-of-line blocking between streams via the new FHOL tag in the handshake. For instance, I know the PING frame was critical to SPDY, and added early on to QUIC, and that appears (above) in version 18 above. I=E2=80=99= m pretty sure that was present before discussing with IETF (2013). Reviewing the check-in history would surely nail it down, and I think my talk at IETF about QUIC was in November 2013. The actual Internet Draft for QUIC didn=E2=80=99t come until November 2015, and that may be the date you care about. Why? Jim From: Dave Taht Date: Thursday, March 21, 2019 at 9:20 AM To: "Roskind, Jim" Subject: versions of quic How many versions of quic before it hit the ietf? --=20 Dave T=C3=A4ht CTO, TekLibre, LLC http://www.teklibre.com Tel: 1-831-205-9740 --=20 Dave T=C3=A4ht CTO, TekLibre, LLC http://www.teklibre.com Tel: 1-831-205-9740