Re: [quicwg/base-drafts] Restore CID sequence numbers (#1465)
Martin Thomson <notifications@github.com> Mon, 25 June 2018 00:27 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 AC1DE130E81 for <quic-issues@ietfa.amsl.com>; Sun, 24 Jun 2018 17:27:11 -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 JtLZu9vh50BH for <quic-issues@ietfa.amsl.com>; Sun, 24 Jun 2018 17:27:09 -0700 (PDT)
Received: from out-5.smtp.github.com (out-5.smtp.github.com [192.30.252.196]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9A285130E7A for <quic-issues@ietf.org>; Sun, 24 Jun 2018 17:27:09 -0700 (PDT)
Date: Sun, 24 Jun 2018 17:27:08 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1529886428; bh=+sP2makhDTqjKgiTFperpBmIwO00uILLdzcx2haqK5w=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=wTxDoyr99bSgdiYQLjSlYOdb5bXIdOLNU431st7x+5TvyDXrexeKz9lLY4vxC8P6E AWckjKFQkO5tyihBDd+6rl7l2MDAaDjl+1nTRjvUM2hcgJoIwMB/B6iTrfaYgrnpW0 eG22e4NWrpYmE3RCuVm4C5Lpj504MKd6LIgZCXt4=
From: Martin Thomson <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab202f89798f13cc41937157ed66991a543eac0dd392cf000000011747f8dc92a169ce13ec6080@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/1465/review/131442400@github.com>
In-Reply-To: <quicwg/base-drafts/pull/1465@github.com>
References: <quicwg/base-drafts/pull/1465@github.com>
Subject: Re: [quicwg/base-drafts] Restore CID sequence numbers (#1465)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5b3036dc7585a_7d522ab7a1ab8f5016953dd"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: martinthomson
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/41sT74cPe1S74hlQF4vzEPl5x3I>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.26
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: Mon, 25 Jun 2018 00:27:12 -0000
martinthomson commented on this pull request.
Not 100% sure about the organization here, but the text is definitely worth having. We definitely need to do some reorganizing of the document real soon now, so I'm not going to stress about where text goes.
> +selected during the handshake coming first. Additional connection IDs are
+provided using the NEW_CONNECTION_ID frame ({{frame-new-connection-id}}), each
+with a specified sequence number. The series of connection IDs issued SHOULD be
+contiguous, but might not appear to be upon receipt due to reordering or loss.
+
+Each connection ID MUST be used on only one local address. When packets are sent
+for the first time on a new local address, a new connection ID MUST be used with
+a higher sequence number than any connection ID previously used on any local
+address. At any time, an endpoint MAY change to a new connection ID on a local
+address already in use.
+
+An endpoint MUST NOT send packets with a connection ID which has a lower
+sequence number than the highest sequence number of any connection ID ever sent
+or received on that local address.
+
+Implementations SHOULD ensure that peers have a connection ID with a matching
If this isn't MUST, then the above MUST NOT will just result in broken connections.
> +series of connection IDs over the lifetime of a connection. The series of
+connection IDs issued by an endpoint is ordered, with the final connection ID
+selected during the handshake coming first. Additional connection IDs are
+provided using the NEW_CONNECTION_ID frame ({{frame-new-connection-id}}), each
+with a specified sequence number. The series of connection IDs issued SHOULD be
+contiguous, but might not appear to be upon receipt due to reordering or loss.
+
+Each connection ID MUST be used on only one local address. When packets are sent
+for the first time on a new local address, a new connection ID MUST be used with
+a higher sequence number than any connection ID previously used on any local
+address. At any time, an endpoint MAY change to a new connection ID on a local
+address already in use.
+
+An endpoint MUST NOT send packets with a connection ID which has a lower
+sequence number than the highest sequence number of any connection ID ever sent
+or received on that local address.
This is going to be hard to understand. It's precise, but I think that we might provide a little more help. Something like "This guarantees that when an endpoint migrates to a new path the packets sent on that path use new connection IDs in both directions."
I don't know how to say this, but it seems like it might be worth adding: "Note: A connection ID MUST NOT include an unprotected encoding of the associated sequence number. Endpoints need to be able to recover the sequence number associated with each connection ID they provide without relying on information available to the recipient of the connection ID. A connection ID that encodes an unencrypted sequence number could be used to correlate connection IDs across network paths."
--
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/1465#pullrequestreview-131442400
- Re: [quicwg/base-drafts] Restore CID sequence num… Martin Thomson
- Re: [quicwg/base-drafts] Restore CID sequence num… Nick Banks
- Re: [quicwg/base-drafts] Restore CID sequence num… Martin Thomson
- Re: [quicwg/base-drafts] Restore CID sequence num… Mike Bishop
- Re: [quicwg/base-drafts] Restore CID sequence num… Mike Bishop
- Re: [quicwg/base-drafts] Restore CID sequence num… Mike Bishop
- Re: [quicwg/base-drafts] Restore CID sequence num… Nick Banks
- Re: [quicwg/base-drafts] Restore CID sequence num… Mike Bishop
- Re: [quicwg/base-drafts] Restore CID sequence num… Nick Banks
- Re: [quicwg/base-drafts] Restore CID sequence num… Mike Bishop
- Re: [quicwg/base-drafts] Restore CID sequence num… Mike Bishop
- Re: [quicwg/base-drafts] Restore CID sequence num… Mike Bishop
- Re: [quicwg/base-drafts] Restore CID sequence num… Mike Bishop
- Re: [quicwg/base-drafts] Restore CID sequence num… Nick Banks
- [quicwg/base-drafts] Restore CID sequence numbers… Mike Bishop
- Re: [quicwg/base-drafts] Restore CID sequence num… Martin Thomson
- Re: [quicwg/base-drafts] Restore CID sequence num… Martin Thomson
- Re: [quicwg/base-drafts] Restore CID sequence num… Mike Bishop
- Re: [quicwg/base-drafts] Restore CID sequence num… Mike Bishop
- Re: [quicwg/base-drafts] Restore CID sequence num… Mike Bishop
- Re: [quicwg/base-drafts] Restore CID sequence num… Martin Thomson