Re: Multipath with zero-length connection identifiers

Ian Swett <ianswett@google.com> Sun, 20 November 2022 21:30 UTC

Return-Path: <ianswett@google.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 828E0C14CE34 for <quic@ietfa.amsl.com>; Sun, 20 Nov 2022 13:30:38 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.599
X-Spam-Level:
X-Spam-Status: No, score=-17.599 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, ENV_AND_HDR_SPF_MATCH=-0.5, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Q92vNaGt6VXN for <quic@ietfa.amsl.com>; Sun, 20 Nov 2022 13:30:38 -0800 (PST)
Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com [IPv6:2a00:1450:4864:20::42d]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F2E4CC14CE32 for <quic@ietf.org>; Sun, 20 Nov 2022 13:30:37 -0800 (PST)
Received: by mail-wr1-x42d.google.com with SMTP id d1so5133376wrs.12 for <quic@ietf.org>; Sun, 20 Nov 2022 13:30:37 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=1A47evanXParfKzq/nz9Ixu5Vfq/WyouXKyrbobLlUw=; b=clA4ZqFQBYsrRVjIcEIFN1rx0jFQmv8AaWlFoPDLgnePKh4Q/3GTaLbnCIeQRAAFmE KUadFMnqIGUhDGZXbW+c9Vdh6Ootgpre60TmXhCLm1G59wd+RZkFtUAT16lGmVC2epM4 /zY5ANzhOMGiQYtqH2jij30rlALP9w6tcWMO7rQN9kzubi4umJlRsaNBcznd0ag9V1ND eIA+6arGmhsb8SfBNqSSqOqcFmhQdEAP/x0P5/Q0wOKWv7NxAkyEoR+hsq594qaYEZrv x6ibBuGeu27fF4WuTNObR+wi2sZAl1hjFJJkNJexkIzSkVeLONgATpsInogVvaMEFeNc 00hw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=1A47evanXParfKzq/nz9Ixu5Vfq/WyouXKyrbobLlUw=; b=DiRrihxHMZFGzVBylrjFOdYw/ccnWwVCFbVwI3sa9oTy5g3gwJ1RrmOoTJdQbgpY1R bU/9FybWUsZRLnIfKa6ftglNxiwv7UpR4OZnxQ1taAqR5VwGsSU6sW61MSwN+PQ190CX 7UNRizLBU1zCKTerH97EmeR3ogAsbOhUs/mCtawbNzsgbN3N+u2dFJkRHfjGINRgtFwN w41cu2rWXCbiAW+310x2YfYCuRk6+KokK/OkUxWyywj7xyN2gvlr3Ep9LfenD750YccW 5AufPWEfjy6Ze2vVn+CZ6Ib2eB8RdlPrspXmG5rLxXJxkOefny7HadnX9+YcJELXlUhM 9MVg==
X-Gm-Message-State: ANoB5pmALTtmSoOGZAL1oBoIvBLLNs2LYSkPcnbzywRyK8NA8DHBuYvC aJwY5xt/nvwygSYtjomKG7KoJEQ5hLvS9EgVkXGuD2hItcc=
X-Google-Smtp-Source: AA0mqf5Pxmd/AyRZLPMEYPDtiYCeYecWEdHD3Imhvk5CVTSUcdN7157sUGebeYjeIeogKoRFJGPMsbtFrn00jiltZY4=
X-Received: by 2002:a5d:6d47:0:b0:230:3652:205 with SMTP id k7-20020a5d6d47000000b0023036520205mr9334496wri.322.1668979835879; Sun, 20 Nov 2022 13:30:35 -0800 (PST)
MIME-Version: 1.0
References: <178407a0-e7cb-4ae6-26e8-4de789728a6c@ericsson.com>
In-Reply-To: <178407a0-e7cb-4ae6-26e8-4de789728a6c@ericsson.com>
From: Ian Swett <ianswett@google.com>
Date: Sun, 20 Nov 2022 21:30:24 +0000
Message-ID: <CAKcm_gPgVCa9wYs8Kz9UKuvWjDEbKWbT=en9aNA5_ZLVkiFvBA@mail.gmail.com>
Subject: Re: Multipath with zero-length connection identifiers
To: Michael Eriksson <michael.eriksson=40ericsson.com@dmarc.ietf.org>
Cc: IETF QUIC WG <quic@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000041a33805ededa6ed"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/tWno8p9DJaiqfkrNZXF0uqSufPw>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.39
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: Sun, 20 Nov 2022 21:30:38 -0000

That's great to hear, I'm glad you have proven the idea with implementation
experience.  This removes a downside of the existing multipath design I
hoped would not be required.

Ian

On Fri, Nov 18, 2022 at 1:00 PM Michael Eriksson <michael.eriksson=
40ericsson.com@dmarc.ietf.org> wrote:

> Greetings fellow multipathers,
>
> *TL;DR*: Contrary to common belief, it is possible to use multipath with
> client-side zero-length connection identifiers and multiple packet number
> spaces. We have proven this with a prototype.
>
>
>
>
> *Introduction *In the QUIC multipath community, it is common knowledge
> that it is impossible to use client-side zero-length connection identifiers
> (CIDs) with multiple packet number spaces. This is unfortunate, as it is
> not true.
>
> A small adjustment to the current multipath draft will allow the use of
> zero-length CIDs on the client side. The mechanism for it has been
> suggested multiple times, for instance by Ian Swett at IETF 115. This
> message is an attempt to flesh out the details to get a better multipath
> protocol without artificial limitations. Feedback is more than welcome.
>
>
> *Design*
>
> The main idea is that every path has a single numerical identifier that is
> used in both direction. The numerical value is the sequence number of the
> CID used by the client to create the path. The path identifier is used for
> generating the encryption nonce in both directions, and also to refer to
> the path in signaling in, e.g., ACK_MP and PATH_ABANDON frames. The server
> can generate the correct decryption nonce for the initial path setup
> packet, as it recognizes the CID it has issued and can determine its
> sequence number.
>
> On the server side, the path is recognized by the CID. On the client side,
> the local IP address and UDP port number is used to separate paths.
>
> If the server-side CID is changed (IIUC, that is currently impossible as a
> new CID will create a new path according to the current multipath
> semantics), the path would still keep the same identifier.
>
> There are some additional advantages with this design, beyond the support
> for zero-length CIDs:
>
>    - The implementations can be simpler, when there is no need to keep
>    track of two different identifiers for the same path
>    - It simplifies logging/tracing when a path has the same identifier in
>    both directions
>
>
>
>
> *Will it really work? *Yes, we have verified that with an
> Ericsson-internal multipath QUIC prototype.
>
>
>
>
> *Summary *The multipath specification should be updated according to the
> path identifier design described above. It will enable zero-length
> client-side connection identifiers and also make the implementations
> slightly simpler.
>
>
> /me
>