[quicwg/base-drafts] Specify whether 0-RTT MAY use the same CID as Initial packets (#1721)

Christian Huitema <notifications@github.com> Wed, 05 September 2018 02:08 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 [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 95341128CFD for <quic-issues@ietfa.amsl.com>; Tue, 4 Sep 2018 19:08:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.01
X-Spam-Level:
X-Spam-Status: No, score=-8.01 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] 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 ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jhUP6nIby1F4 for <quic-issues@ietfa.amsl.com>; Tue, 4 Sep 2018 19:08:07 -0700 (PDT)
Received: from out-1.smtp.github.com (out-1.smtp.github.com [192.30.252.192]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F037A126BED for <quic-issues@ietf.org>; Tue, 4 Sep 2018 19:08:06 -0700 (PDT)
Date: Tue, 04 Sep 2018 19:08:06 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1536113286; bh=hyzYwzjFZEujDJyIP8z7toTHLwu0lw7LboZA/CIy1K4=; h=Date:From:Reply-To:To:Cc:Subject:List-ID:List-Archive:List-Post: List-Unsubscribe:From; b=lyhyzvrMjpqnzsVck4gYt77JfkuS/pcNoL85DZU12micHdnttuOs8Ng/cstpc7JAj h2DklSkXIIqOSxVwz+gSW0aVW/VZWtj4SwIpDo2oXwrRzqIHbnIW/O+MJuTJGqQOiL KCwlF7SH8R4qUzxqBNdxkPsAHiqM9MoqBWG6aR24=
From: Christian Huitema <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab8320315566a45898ab175a732a9a7d67f720a5e892cf0000000117a6fc8692a169ce1547f95a@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/1721@github.com>
Subject: [quicwg/base-drafts] Specify whether 0-RTT MAY use the same CID as Initial packets (#1721)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5b8f3a86f22f_3f763f9e896d45b8592bd"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: huitema
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/i46sNo5jYOTtecSswpmCe9seJ9k>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.29
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: Wed, 05 Sep 2018 02:08:09 -0000

In draft-13 and draft-14, there is text explaining that "On first receiving an Initial or Retry packet from the server, the client uses the Source Connection ID supplied by the server as the Destination Connection ID for subsequent packets." But there is no such specification for the 0-RTT packets, and that seems a bit strange. One reading of the spec is that 0-RTT packets should carry the same CID as Initial packets. Another is that 0-RTT packets should always carry the initial CID. The latter interpretation may be closest to a literal reading of the spec, but it leads to this weird sequence after receiving the server flight:

1) Client sends Initial packet (to carry ACK of server hello) with destination= server provided CID;
2) Client sends 0RTT packet (to carry EOED) with destination= initial CID;
3) Client sends Handshake packet  (to carry Finished) with destination= server provided CID;

Note that another part of the spec says that "Senders MUST NOT coalesce QUIC packets with different Destination Connection IDs into a single UDP datagram." So, if we refuse to use the server provided CID in the 0-RTT packets carrying the EOED, these packets should not be coalesced.

I think we should be explicit that the handling of the connection ID is common to 0-RTT and Initial packets.  

-- 
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/issues/1721