Re: What to do about multipath in QUIC

Spencer Dawkins at IETF <spencerdawkins.ietf@gmail.com> Thu, 12 November 2020 13:21 UTC

Return-Path: <spencerdawkins.ietf@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 D17DF3A0E59 for <quic@ietfa.amsl.com>; Thu, 12 Nov 2020 05:21:58 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 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, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, 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=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 kgxkf-oQVHV9 for <quic@ietfa.amsl.com>; Thu, 12 Nov 2020 05:21:57 -0800 (PST)
Received: from mail-yb1-xb44.google.com (mail-yb1-xb44.google.com [IPv6:2607:f8b0:4864:20::b44]) (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 091DB3A0E4F for <quic@ietf.org>; Thu, 12 Nov 2020 05:21:57 -0800 (PST)
Received: by mail-yb1-xb44.google.com with SMTP id 10so5278046ybx.9 for <quic@ietf.org>; Thu, 12 Nov 2020 05:21:56 -0800 (PST)
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; bh=gUZQfLXZThiMnsFHVnaVeghFh6IzWGE5POtWHWAt6bA=; b=Nf5JUfoznWMw7Ro91oPp6lpkz1JGG1cuEejJoC9kzwPjYWoJlxx6S3a+q5fqNPRoCx EN3vSdZqWvWRHzDLKs9SVr6JeKsYlCBhtCQN2Jip2t16FnUoj4gw3OP2+xrpdAORinAH ZqVqEMgTmKNPKRRTmkDymXdO7g38cS6s1ZWXRpvAcQANbXrZQ3yaGhFTMOEmrzoeAd5v ZSknO4WYii31JRFfPJeQuOyyphSEJ79G3H0yoiMZcdaDol4bXMHtRHgfU1DnwQG/5uhl wBzJyh+a5ySqEJS3PeLHFxlUkilNwSMNZxxUm0bPN29HVZYY0yIJerTWxhLVqKMHX1Tr aYpg==
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; bh=gUZQfLXZThiMnsFHVnaVeghFh6IzWGE5POtWHWAt6bA=; b=TTygYoOtStRYZ5auV3rfcBRL6U+zgjkTbWcuA2EJ6s9PMpSilK2fjqoM2yGsq0Uxst KCT/Q1IVHPiWSJYu6EdYaLImmy3Wb6pHzs7vewyUos63/7u/qwgun2z/RfIVCx25kood zsdnP1J/VaSpuBHG9JwR8usvrF6xXQe1FDN93mLefSM/sQeOPYVa8EshiqBWPvw/SpsU doR/5gZji9e6Y4Q2X0+TU4bDeLcvIv25MP44C3yE3ttF6Ar+LLE7fTgHsrnPj7NBvSwX NzymojdkJ321v8qvkW65gRo5r1Qk4lb02rbMWhqeKaB3Fvp59zdLf2mKDKLosmQvlv+C LxTQ==
X-Gm-Message-State: AOAM531xPJF+Se1B9uaM9vUI5GFOx4q/eHpRkqyz6DeOdyadYylCdYHY MMmqH4ViFI6Zc7Cjnc86hTXKSiz74GnNuILb92M=
X-Google-Smtp-Source: ABdhPJwDQhGgdpHSGFSP2SevZSL5WGhYzTrCOemeqo9DSdMQO4U/LCGkD5HMfDNKOvG786j5D5VMDi9y7ZOppj5EHHo=
X-Received: by 2002:a25:2d55:: with SMTP id s21mr9202821ybe.389.1605187316246; Thu, 12 Nov 2020 05:21:56 -0800 (PST)
MIME-Version: 1.0
References: <538215d1-3b9e-4784-920d-03be4c3a503a.miaoji.lym@alibaba-inc.com> <CAN1APddB4JDo281L0USsU7FSiQxRNi-LaB8ZS0a9kLAgeNJwrw@mail.gmail.com>
In-Reply-To: <CAN1APddB4JDo281L0USsU7FSiQxRNi-LaB8ZS0a9kLAgeNJwrw@mail.gmail.com>
From: Spencer Dawkins at IETF <spencerdawkins.ietf@gmail.com>
Date: Thu, 12 Nov 2020 07:21:28 -0600
Message-ID: <CAKKJt-fNufrP0GS_Qk7q0b9qn-Hdm_YGtbSYeR8_4pXnzLJU5g@mail.gmail.com>
Subject: Re: What to do about multipath in QUIC
To: Mikkel Fahnøe Jørgensen <mikkelfj@gmail.com>
Cc: Yanmei Liu <miaoji.lym@alibaba-inc.com>, quic <quic@ietf.org>, healing4d <healing4d@gmail.com>, "Ma, Yunfei" <yunfei.ma@alibaba-inc.com>, "安勍(莳逸)" <anqing.aq@alibaba-inc.com>, "Liu, Hongqiang(洪强)" <hongqiang.liu@alibaba-inc.com>
Content-Type: multipart/alternative; boundary="000000000000c86dc205b3e8cb9c"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/WxjzWK7SPUKx1VI_Og9Es4LcSKk>
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: Thu, 12 Nov 2020 13:21:59 -0000

Two things ...  one for Yanmei, one for Mikkel.

On Thu, Nov 12, 2020 at 5:11 AM Mikkel Fahnøe Jørgensen <mikkelfj@gmail.com>
wrote:

> Hi Yanmei Liu
>
> I think this sounds like a good approach. It takes all the work an
> application would otherwise have to do and hides the complexity, without
> completely introducing a lot of new protocol complexity. This allows an
> application to open a stream and keep working on it regardless of which
> connections are currently alive.
>
> I wonder if there are cases where this is a bit too heavy. For example
> handshakes could perhaps be simpler on secondary connections.
>
> Also I wonder about privacy. For example if it is easy to detect that to
> concurrent connections belong to the same endpoint, fingerprinting might be
> easier. I guess that would always be a problem for MP.
>

For Mikkel,

ISTM that we are wobbling between "true multipath is easier to track" and
"connection migration is the weakest form of multipath, so if multipath is
trackable, so is connection migration", and I wonder if someone could point
me to an analysis of "how to avoid tracking for connection migration" - one
strategy I've learned a lot about at/since the virtual interim was
validating multiple paths early in the life of a connection, so that
failover can happen quickly, for instance.

One strategy that's happening in my world is "open one connection per QoS,
on each path". In my world, that's a total of four connections (the reasons
why don't matter). Is it better to open two connections on one path, and
wait SOME_RANDOM_TIME to open connections on the other path, or to open all
four paths roughly simultaneously?

I'm asking this in QUIC, because QUIC connection migration isn't limited to
two paths, and ISTM that the more paths you are going to use, the more we
should pay attention to tracking. I'm not a genius of privacy, but some of
them are here, and more are certainly available if we needed them, so I'd
like to understand the thinking here.


> There are also subtleties such as idle-timeout. What if each connection
> has a different timeout, is it only the sub connection that dies, or the
> entire connection?  There could even be a case where connections remain
> alive without any currently open sub-connection in order to deal with
> aggressive NAT gateways etc.
>
> If secondary handshakes get simplified, I suspect it is more of an
> implementation whether to see it as sub-connections, or just protocol
> messages on different paths.
>
> - Mikkel
>
> On 12 November 2020 at 11.48.50, Yanmei Liu (miaoji.lym@alibaba-inc.com)
> wrote:
>
> Hi Lucas,
>
> > >
> > > You are right, connection migration is the weakest form of multipath.
> > >
> >
>
> > Thanks. We heard use cases that would like stronger forms. I think it will
> > help continue to move the discussion forward if we can establish some
> > common ground on terms and capabilities.
>
> For Yanmei,

>
> I
> strongly agree that we need to establish some common ground on terms and capabilities,
> so I’d like to explain some design considerations in [draft-an-multipath-quic](
> https://tools.ietf.org/html/draft-an-multipath-quic-00
> ), and we hope to get more feedbacks.
>
> I think "we need to establish some common ground on terms and
capabilities" is exactly right.
>
>
If I understood David Scinazi's comment to me about this at the virtual
interim, he found the steering/switching/splitting characterization in my
presentation helpful, so I started working on an individual draft in Github
here -
https://github.com/SpencerDawkins/draft-dawkins-quic-what-to-do-with-multipath
- to begin capturing understandings of ways in which multiple paths might
be used, and different strategies for using them.

The current version of the draft uses language that's ATSSS-specific,
although I don't think the ideas are closely tied to ATSSS. As I said in
the draft,

   This section uses terminology from 3GPP ATSSS {Access Traffic
   Steering, Switch and Splitting, [TS23501]) to describe three
   different patterns of packet forwarding that could be used when
   multiple disjoint paths are available.  Note that these terms
   describe concepts that are not ATSSS-specific, and could apply to any
   multipath environment.  If terminology more accessible to IETF QUIC
   working group participants presents itself, I'll change it.

If people agree that common ground on terms and capabilities would be
useful, they are invited to contribute.

And thanks for bringing your work to the QUIC working group.

Best,

Spencer