Re: Confusion about PR#3499

Martin Thomson <mt@lowentropy.net> Mon, 11 May 2020 02:06 UTC

Return-Path: <mt@lowentropy.net>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E74AF3A00C3 for <quic@ietfa.amsl.com>; Sun, 10 May 2020 19:06:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.1
X-Spam-Level:
X-Spam-Status: No, score=-2.1 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=lowentropy.net header.b=hX324UHu; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=k511PIMb
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 sM72yOagCykd for <quic@ietfa.amsl.com>; Sun, 10 May 2020 19:06:32 -0700 (PDT)
Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com [64.147.123.24]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BD3623A0062 for <quic@ietf.org>; Sun, 10 May 2020 19:06:32 -0700 (PDT)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.west.internal (Postfix) with ESMTP id B0080396 for <quic@ietf.org>; Sun, 10 May 2020 22:06:31 -0400 (EDT)
Received: from imap2 ([10.202.2.52]) by compute2.internal (MEProxy); Sun, 10 May 2020 22:06:31 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lowentropy.net; h=mime-version:message-id:in-reply-to:references:date:from:to :subject:content-type; s=fm2; bh=yrHh52F0CeopMr8NkCWS6ZvsjXYAIQM Wggi+fCEG+H0=; b=hX324UHuAp2m4DZscq6z4XcHZk24bPyM3lFelcsJ0mUy2l3 sMx5i0JZWppkUyTuKguIbecO3V5lV2ipENexVV5gNGyMwlxTb6LGkdBT6w9YdOxs qQoZs1o6ehSZF6caz8EVD7PprU14khmXHpQkkY9PK2Gpx0awq15hCLjTq7Iw7VqQ QOgVc7o7bnOdjq/DGVL7ZWSDze39McRjhZhQv8Zg8afTkeUPyf1UR9S7YBotoKoT VIeb8XlEWfA7kascSlOPy7EgWbHAOTBcDbMhdIrNgBEFhM0C2Tpf5sX2YbApiThq CnIuZb1NYXUTl08q++NIgvIcmn8F8IJzCwthJqA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=yrHh52 F0CeopMr8NkCWS6ZvsjXYAIQMWggi+fCEG+H0=; b=k511PIMbfIBMacoe0cpwQw 6zB9F0McTsIrt3D4rFWguDYvVH/vSMMyc683IqOdJzJ5LnLtBlz4cclE27Aont35 lBw2EdHijVpJEkNYI1DzmFpiULAC1rsV4ZJeX8qGEnVAJp/B+oilXqYYdrN6thuk eFd/h89vBecDyWFNb8+yXEjFLZL1nNGMkDmnGnXasJMqUKAA7Lv83KNArReCq/nN 2HpjvYkkvQBOxKTUGhVvguwmty32Fy8HX4wCzuZ1SG52OnGQIBdKYqPpsKSEDIvy ZwUsOaFcpU6Jaq5JWwAN/3sa98ewYryDue3WQdM522vqRvLhTP2HZDqm7bDAdzbg ==
X-ME-Sender: <xms:J7O4Xnn9DMI1Jl7lIxC1mBPLKEUyQFQ5ZzW-2CHrhaeLnopScfeb4Q>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduhedrkeelgdehvdcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurhepofgfggfkjghffffhvffutgesthdtre dtreertdenucfhrhhomhepfdforghrthhinhcuvfhhohhmshhonhdfuceomhhtsehlohif vghnthhrohhphidrnhgvtheqnecuggftrfgrthhtvghrnhepkeetueeikedtkeelfeekve fhkeffvedvvefgkefgleeugfdvjeejgeffieegtdejnecuvehluhhsthgvrhfuihiivgep tdenucfrrghrrghmpehmrghilhhfrhhomhepmhhtsehlohifvghnthhrohhphidrnhgvth
X-ME-Proxy: <xmx:J7O4XpS-vrBtvLyszMLqOYKaSR8hBOyZb7HbmZSR-E7N8v7DNJZOhw> <xmx:J7O4XrCQWuZtHytNQXc7A6mDkMStN5jLuyFTRG6jX0bK4PaDv6F5IA> <xmx:J7O4XixAbipgYUq1ad5cib4FUEUgGUcl08XDxyWpkS5zDDjDxF0onQ> <xmx:J7O4XsmZSCxkzSblGMxYrOj1hoEc1HhEkVIZGAuTHguZEjINF64fnQ>
Received: by mailuser.nyi.internal (Postfix, from userid 501) id 06C5EE00BB; Sun, 10 May 2020 22:06:31 -0400 (EDT)
X-Mailer: MessagingEngine.com Webmail Interface
User-Agent: Cyrus-JMAP/3.3.0-dev0-413-g750b809-fmstable-20200507v1
Mime-Version: 1.0
Message-Id: <fa2e9867-06ef-4a38-9cb3-a53bbbdbd09d@www.fastmail.com>
In-Reply-To: <CAPDSy+6uTohUwK7uUvD9knt3QQTPUKnwVxyg-vNtzgyGXM+jmg@mail.gmail.com>
References: <CABcZeBMw0TvSER9p3anohvm-hq=PZ03ayH+NZfBQ5RfMsxx_EA@mail.gmail.com> <CAPDSy+6uTohUwK7uUvD9knt3QQTPUKnwVxyg-vNtzgyGXM+jmg@mail.gmail.com>
Date: Mon, 11 May 2020 12:04:32 +1000
From: "Martin Thomson" <mt@lowentropy.net>
To: quic@ietf.org
Subject: Re: Confusion about PR#3499
Content-Type: text/plain
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/a-wqOBpVnKmjXt5-MFfLgoLTGiI>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 11 May 2020 02:06:35 -0000

Thanks mostly to David's thoughtful comments on the PR, I've revised the PR.  Mostly, this is just renaming.

Hopefully, this covers the two relevant examples.

Simple:

C->S: Initial SCID = C1, DCID = S1
C<-S: Initial SCID = S2, DCID = C1
...
C->S: Short DCID = S2
C<-S: Short DCID = C1

Client sends initial_source_connection_id = C1
Server sends initial_source_connection_id = S2 and original_destination_connection_id = S1
Each validates all of the values provided by their peer.  This includes verifying that retry_source_connection_id is absent.

Or with a Retry:

C->S: Initial SCID = C1, DCID = S1
C<-S: Retry SCID = S2, DCID = C1
C->S: Initial SCID = C1, DCID = S2
C<-S: Initial SCID = S3, DCID = C1
...
C->S: Short DCID = S3
C<-S: Short DCID = C1

Client sends initial_source_connection_id = C1
Server sends initial_source_connection_id = S3, retry_source_connection_id = S2, and original_destination_connection_id = S1
Each validates all of the values provided by their peer.

On Sat, May 9, 2020, at 09:34, David Schinazi wrote:
> >  Client Server
> > 
> >  Initial [CH] SCID = C1, DCID = S1 ----------->
> >  Initial [SH1] <---------- SCID = S2, DCID = C1
> >  Initial [SH2] <---------- SCID = S2, DCID = C1 // LOST
> >  Initial [ACK] SCID = C1, DCID = S2 ---------->
> > 
> > So now we have two Initial packets with different DCIDs. Which one
> > goes in this field? Or have I forgotten how ACKs work with Initials?

I think that David's proposed changes clarify this.  The "most recent" thing was confusing and wrong.