Re: unique tuples

Martin Thomson <martin.thomson@gmail.com> Fri, 04 May 2018 07:01 UTC

Return-Path: <martin.thomson@gmail.com>
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 0AFA0126E01 for <quic@ietfa.amsl.com>; Fri, 4 May 2018 00:01:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 HgNvdK34f5qF for <quic@ietfa.amsl.com>; Fri, 4 May 2018 00:01:13 -0700 (PDT)
Received: from mail-oi0-x233.google.com (mail-oi0-x233.google.com [IPv6:2607:f8b0:4003:c06::233]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7C469124205 for <quic@ietf.org>; Fri, 4 May 2018 00:01:13 -0700 (PDT)
Received: by mail-oi0-x233.google.com with SMTP id k5-v6so11481681oiw.0 for <quic@ietf.org>; Fri, 04 May 2018 00:01:13 -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 :cc:content-transfer-encoding; bh=bzCgrTaXj3GuQdNkLz6lHHxF/R3Mgz/7U44dlREQCQM=; b=EdrQ8YJ8PBbDhIa4jNcT/BgWwMcUPh6mlF34K7bgjlEGQCLBzHAyiWAtIe04nh3tAl LILw5d6/xa3m5s30e9qVDjRG7SbWkJmBpsKz0REyoBrKqIRhRDj0OFr0ngxkYF3FA0w0 x8RojDwQdZ9TgtmzS0FppgzxD54n24RW+NibtleQDob22i3IX4Fd/L8+dFTdeUzC8Rbk 3+me7vMQlJ2zqJ2riKuVWZ+d/0X+ToJ3SGpgfmCPFFIkspPYGTS12lFloP2TsRJAd29i VsASOZA2zTIZlSDFJAzO5fItI6W0YzFjXg9BJS0cTptYYs6or3/dW6mnhnwv9IWziybf YYIw==
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:cc:content-transfer-encoding; bh=bzCgrTaXj3GuQdNkLz6lHHxF/R3Mgz/7U44dlREQCQM=; b=dRN0ctHRBaX+n+n8Ymhmb3jSZJ6rzbnN1ppXfv74JKI3wbnKm0wyGqW0XRbxtLNNc0 VhtA5CSIWXxc5RiuMLappdRopSTyVpZPi2LO+OJSIcLPA6OcxktI+X7/dkXk64QZOqa1 g8duElI2OpSnkj1IMw/gO1ON2j3IPiz1JmMoqUMf8D43tb2mw71qVQNv4lMtWIiPZjpE M7ed+BoE1712ylBlmFWh4uJRHcFtxVU92gaU/HgjepHryQXv10K33ni50/zt6jxlwOZG JdNMZcHRKK+rrWBJRAuu+2fL3ynUN+VAsCpwCqsxv5nUENVmcRFiZlITtprcAZtIoRt2 UBNQ==
X-Gm-Message-State: ALQs6tAivBKTQprupiECUNFZEJD7cFvU3O/N5CDHUQlR3WENEuJiCNmY M3PPp3MVqKmBTS1Mt/kpP+K/CJ/bP1ZlKKPFfeY=
X-Google-Smtp-Source: AB8JxZo90YDWrMXUi3fSP8Y1d9wXAelmHwsGYKFFhAha55YGhrVxAu3o5wMOuGau0cV3hCGz+z9dOEZkIM3NLIZA/wU=
X-Received: by 2002:aca:ebd4:: with SMTP id j203-v6mr17618401oih.110.1525417272706; Fri, 04 May 2018 00:01:12 -0700 (PDT)
MIME-Version: 1.0
References: <CAN1APdfbFrHvc2Q8qGDbZBR44ouL0v+Loadtnay-jjqVvSmoZg@mail.gmail.com>
In-Reply-To: <CAN1APdfbFrHvc2Q8qGDbZBR44ouL0v+Loadtnay-jjqVvSmoZg@mail.gmail.com>
From: Martin Thomson <martin.thomson@gmail.com>
Date: Fri, 04 May 2018 07:01:01 +0000
Message-ID: <CABkgnnWG_qSOLak23_zyxff6QSV2rGWSLTf+Bw94JVF0v-L1zg@mail.gmail.com>
Subject: Re: unique tuples
To: Mikkel Fahnøe Jørgensen <mikkelfj@gmail.com>
Cc: QUIC WG <quic@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/uWLhihk5WVtTl5cSQlGibLFLkuU>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.22
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: Fri, 04 May 2018 07:01:15 -0000

Yes, with the change to connection IDs, it should be possible to have
multiple connections running concurrently on the same address tuple.  This
is true at any stage of the connection, including the handshake.

Of course, you have to use a connection ID if this is what you want to do.
On Fri, May 4, 2018 at 3:27 PM Mikkel Fahnøe Jørgensen <mikkelfj@gmail.com>
wrote:

> There has been a lot of back and forth on unique tuples in QUIC, and I am
not quite sure where it all landed.

> It is my understanding that at some meeting it was decided to require
unique tuples in V1, if only in certain contexts like handshake for the
sake of simplicity. At the same time, having introduced dual CID’s the need
for unique tuples is greatly reduced along with random initial CID’s that
are reflected in version negotiation and stateless retry.

> Reading through the spec, I can’t find any obvious places where unique
tuples are still required unless a peer volunteer to have a 0-length CID.

> This does matter a lot, because there is a world of difference between
managing a single socket and many concurrent sockets in how you talk to the
OS. QUIC makes it possible to move all the 10K multiplexing problem into
QUIC and out of the OS interface, except for this one detail. Even if it is
only for, say, handshake, it still places a constraint that must be handled.

> It of course also matters wrt. ephemeral port exhaustion although the
argument here is that if you limit it to the duration of handshakes you
should be good. But especially in server p2p with many concurrent
connections between same hosts, this adds complexity.

> So bottom line, do we still have constraints in this area, and are they
really worth keeping? And if so, could this be made more obvious in the
spec? And if not, could it be made explicit that unique tuples are only
required if the CID is 0 - it already almost says so for connection
identification, but this does not exclude certain packet types from having
such a constraint.


> Kind Regards,
> Mikkel Fahnøe Jørgensen