[quicwg/base-drafts] Single Packet Number Space (#1591)

Nick Banks <notifications@github.com> Fri, 20 July 2018 14:52 UTC

Return-Path: <noreply@github.com>
X-Original-To: quic-issues@ietfa.amsl.com
Delivered-To: quic-issues@ietfa.amsl.com
Received: from localhost (localhost []) by ietfa.amsl.com (Postfix) with ESMTP id 98453131027 for <quic-issues@ietfa.amsl.com>; Fri, 20 Jul 2018 07:52:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.009
X-Spam-Status: No, score=-8.009 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_DKIMWL_WL_HIGH=-0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=github.com
Received: from mail.ietf.org ([]) by localhost (ietfa.amsl.com []) (amavisd-new, port 10024) with ESMTP id 0vdsp9N2sAEE for <quic-issues@ietfa.amsl.com>; Fri, 20 Jul 2018 07:52:25 -0700 (PDT)
Received: from out-7.smtp.github.com (out-7.smtp.github.com []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 26292129619 for <quic-issues@ietf.org>; Fri, 20 Jul 2018 07:52:25 -0700 (PDT)
Date: Fri, 20 Jul 2018 07:52:23 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1532098343; bh=3aQi39FSKkVGGvBDnpN/jYye5PiMUgEFYhtuGUNgIMU=; h=Date:From:Reply-To:To:Cc:Subject:List-ID:List-Archive:List-Post: List-Unsubscribe:From; b=pa+VlsDNX8XcSOoOW6mfGN0eDKU8qo/+E6qZBQXXHvOCAzq6je0lUArGRkxMQt3ga JKdYg+DeKUFvz/PFIzkTMFqDi/KZZRF4/GDSwwbgQsbW9IqZdpTINRh4H+Ku8OGlz8 R9PPqu/+e9nHBwsV5DVnSWIafnG3WCDGe9FcPzMY=
From: Nick Banks <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab481932220602742f4afd9bdba8c924164380f59592cf000000011769b92792a169ce1473dec6@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/1591@github.com>
Subject: [quicwg/base-drafts] Single Packet Number Space (#1591)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5b51f727c563b_703d3f89f2abe620151185"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: nibanks
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/iwjMvSnKew1zHPQ1lP9nwRww7Os>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.27
List-Id: Notification list for GitHub issues related to the QUIC WG <quic-issues.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic-issues/>
List-Post: <mailto:quic-issues@ietf.org>
List-Help: <mailto:quic-issues-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 20 Jul 2018 14:52:28 -0000

Fixes #1579 (see for more details on the problem).

- Moves back to a single packet number space across all encryption levels.
- Allows for a packet to be acknowledged in a greater than or equal encryption level.
- Initial packets cannot carry ACK frames, and therefore must be acknowledged in Handshake (or greater) encryption level.
- Handshake packets can acknowledge 0-RTT packets.

With these design changes, implementations do not have to track 3 separate packet number spaces (and all the overhead that goes with it). The number of QUIC packets (not UDP datagrams) required to be sent during the handshake is reduced (see Example Handshake Flows section). There is no Initial packet ACK spoofing since they must be acknowledged in a higher encryption level. 0-RTT packets can be acknowledged a bit quicker in the handshake process by using the Handshake encryption level; generally the first server ACK block will be able to ACK all Initial and 0-RTT packets it has received in one atomic operation.

Also makes sure #1018 and #1413 don't regress and are still solved.
You can view, comment on, or merge this pull request online at:


-- Commit Summary --

  * Single Packet Number Space
  * Finish up changes

-- File Changes --

    M draft-ietf-quic-recovery.md (32)
    M draft-ietf-quic-tls.md (28)
    M draft-ietf-quic-transport.md (139)

-- Patch Links --


You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub: