Re: What to do about multipath in QUIC

Kazuho Oku <kazuhooku@gmail.com> Tue, 10 November 2020 14:32 UTC

Return-Path: <kazuhooku@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 A85D53A0FAE for <quic@ietfa.amsl.com>; Tue, 10 Nov 2020 06:32:54 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.097
X-Spam-Level:
X-Spam-Status: No, score=-1.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, FREEMAIL_REPLY=1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no 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 CM64VJmnqmXu for <quic@ietfa.amsl.com>; Tue, 10 Nov 2020 06:32:52 -0800 (PST)
Received: from mail-il1-x12a.google.com (mail-il1-x12a.google.com [IPv6:2607:f8b0:4864:20::12a]) (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 A3E3E3A0F9D for <quic@ietf.org>; Tue, 10 Nov 2020 06:32:52 -0800 (PST)
Received: by mail-il1-x12a.google.com with SMTP id x20so12213101ilj.8 for <quic@ietf.org>; Tue, 10 Nov 2020 06:32:52 -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=07+J1id7mNG003U7+/SfEQcqi9BWFe+EHzZTkww2rYk=; b=uLqu9QcL3j1HyfEwXy/ItdP29BjiYPuG3dZjOH+krTEZXth4wyohNPlUc/fr+f8Eqr aOgdQC3fK7BZQn7cp5hTd9F5WJ0JWlF7Gp3SysEH+MBK9N7BWSkvb54bab9cEe3h8QLD SvoD7JNy6A5jbd4uejaUbJtCr19MDCvQfD1uV5+TTCKkvR3WjDA0T4l8iuwhLG1XDruG FTvok2a797AUBJ8pQbvWMNijAsshdVc6Dhf0cA+TpB9S0CeCv1usL0uxR1dl8udZqIxi dzRNHojx43w3Jg5CZ/byclxiPEn/L6IpNOfcP5F4FJEb9wjbvT/szicu5c1e20W91vb2 jV/A==
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=07+J1id7mNG003U7+/SfEQcqi9BWFe+EHzZTkww2rYk=; b=CPFF1K64K38gQHNYVPLUIxRYbuyFNY3vP0HDIxKM9ZC4Eg4BjaqrrSvNBzBgwc16s5 DUawfDEb7W3glr2wp7hw+a7LJyH4CWBATa7VcYUiJP5BzZ5xJ0Bw6g4ULQETe7TZRVew 3iFLIQTzHJDeK2ilnOU+vc176Ld4VxKTHNPOlZU1kTabAzrcbZwZSpSxSHAz90woJ/L4 tSgh5N4+nvzP5ZrN0BnBctiV9qSRzFqzr6QmYKQ8EeJriFlc2wAV/9n1cHe4ciC6TPrz RVm3L2hPQWhaEVV5YZ6nhhOptYo3QGNGC5CN8jsrLsig49ItCjUTAonuWPZUPTKmsozB bVdQ==
X-Gm-Message-State: AOAM530zwRNCZqmYLSTa9G/t3PBnF49BT7/q0/GbqTjoT+M3PVCZ4/tS lE5Bj+SEeGjDR8AkTtxwl97d0X4QnvIG+BJf3AE=
X-Google-Smtp-Source: ABdhPJwFm7Ineam733sZM7bBTmcYnj+RiQMnVRhyLI+PY4Y8RA6ogZXBZ0UN4mC248SZrFe6ZX/GBdtLD8zgxt2BCdY=
X-Received: by 2002:a05:6e02:f12:: with SMTP id x18mr14342139ilj.145.1605018770214; Tue, 10 Nov 2020 06:32:50 -0800 (PST)
MIME-Version: 1.0
References: <CAKKJt-dOz4JE3_-AVn77H6oY-gjeOL+NNcSWqwpjwM7_LD_0NQ@mail.gmail.com> <CACpbDceKcHG4TwjsvHZsy4=yrb3BUxUBNHDCdYJaq1pBP9kV0w@mail.gmail.com> <CAC8QAcdqL0HaaFJwPF5Dp=wcHSdGuRgZEuM9ehA0BJVjm+3j8w@mail.gmail.com> <CALGR9oYdgHXvOOu7sh1qw+ZewjTapv1QR51fzjxVzke9E3W-+g@mail.gmail.com> <CAKKJt-egOSaakzfiR6Zb8owLRWbTJmxHHMRwBsTUF3p4jh1R5g@mail.gmail.com> <CALGR9oaS3mq5OsitAsCEv8gfAhjW59yKJWJx73vGEM_+tLyvrg@mail.gmail.com> <etPan.5fa58bad.3aecac40.166ff@gmail.com> <CAKKJt-fY8zOYLo62CdxkmDwa=9esiUJRrWyMy10qkhvcqGJ4fQ@mail.gmail.com> <CAN1APdfk6oFTcGzrpDJ6Nm4iOFOuMM-qq_Dk9JVdWwqWj5eWTA@mail.gmail.com> <CAKKJt-cSMp1+ZcF8Le_GqKa7Jm2UVw5G7Qj-7zY21y_gEhLbVA@mail.gmail.com> <8bf17aeb-2545-4b8a-24bd-a495a38bda9d@huitema.net> <CAN1APdfzYNr_=z8im8FH-1tsyzZ9XedXwkHKeU5=oNnP695Adw@mail.gmail.com> <CAC8QAccsf3rg6eDFHA7Mdzuv53fzZSWFKgrQ31Y40kz4kWPViQ@mail.gmail.com> <CALGR9oaruwFvtWLMSw71NXbo03jYpajfmXRcZB_RVm-M-i6a4g@mail.gmail.com> <c39ea2c0-dfaa-6790-b307-c654b918158b@uclouvain.be> <CALGR9oZ+OXGeJrLzHjaak01vX5W2Ty9Z=8Nut5ifMkYz1Xw4SA@mail.gmail.com> <CAC8QAcfZc0rhNzH8+0EfAsE2vj7ZTcc6eCeaGF00n5bk-aKvCA@mail.gmail.com> <7931447A-E557-4B7E-8256-BD6004F29CBF@fb.com> <CAN1APddbM0M7oEw_0f_8dZyWP_ns-J7SXxkk3ZNSL9PjEn+NUw@mail.gmail.com>
In-Reply-To: <CAN1APddbM0M7oEw_0f_8dZyWP_ns-J7SXxkk3ZNSL9PjEn+NUw@mail.gmail.com>
From: Kazuho Oku <kazuhooku@gmail.com>
Date: Tue, 10 Nov 2020 23:32:38 +0900
Message-ID: <CANatvzyB4ei4SPLGcNt6NK=hY7T2H-sW8wRYofaCCQxW0vxFYA@mail.gmail.com>
Subject: Re: What to do about multipath in QUIC
To: Mikkel Fahnøe Jørgensen <mikkelfj@gmail.com>
Cc: Lucas Pardue <lucaspardue.24.7@gmail.com>, Roberto Peon <fenix@fb.com>, "sarikaya@ieee.org" <sarikaya@ieee.org>, Christian Huitema <huitema@huitema.net>, QUIC WG <quic@ietf.org>, Olivier Bonaventure <olivier.bonaventure@uclouvain.be>
Content-Type: multipart/alternative; boundary="000000000000a8145505b3c18deb"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/jgWGdkcPTaJhFDo8ufH037yDyxg>
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: Tue, 10 Nov 2020 14:32:55 -0000

2020年11月10日(火) 20:37 Mikkel Fahnøe Jørgensen <mikkelfj@gmail.com>:

> But this doesn’t solve the serialization of a single stream over multiple
> paths.
>

Right.

I would say that there are three categories.

1. Using different paths for different streams.

In this case, it is possible to achieve the goal by using different
connections.

2. Switching between multiple paths to serve one stream.

In this case, connection migration of QUIC v1 is sufficient.

3. Serving one stream using multiple paths concurrently.

This is the case that QUIC v1 does not support.

If there is an application that falls into the last category, then IMO it
would be worthwhile to discuss the requirements of the application (e.g.,
latency), because then we would would understand the requirements that we
need to accomplish.


>
> Also, it doesn’t really make sense to mix a video stream on QUIC on one
> path and TCP on another. That would cause all kinds of problems, not to
> mention privacy.
>
> I agree that there is a risk of a complex unnecesary feature being poorly
> implemented in QUIC. But true multipath cannot really be solved outiside of
> QUIC. I’m fine with making it optional or giving it dedicated version.
>
> Someone suggested building multipath on top of multiple QUIC connections.
> I think that is viable if it is a newer QUIC version that delagates work to
> older QUIC versions. The key point is that externally this happens
> transparently, and there are optionas for the QUIC stacks to coordinate
> locally or remotely via a signalling path. Not sure which solution is
> ultimately the best, but you build upon what you already have.
>
>
> Kind Regards,
> Mikkel Fahnøe Jørgensen
>
>
> On 9 November 2020 at 18.32.06, Roberto Peon (fenix@fb.com) wrote:
>
> I’m still concerned that we’re looking at solving this inside the
> connection, instead of providing a way for this to be solved irrespective
> of the connection.
> There is a fundamental routing problem we have here that we could address
> (addressing a session), but we’re not addressing with what I’m seeing
> discussed (addressing a session within the same connection object).
>
> If we consider this problem as making the session addressable, then
> applications can do it the way that makes sense for them, without having to
> put everything in every stack everywhere, plus new APIs to actually make
> them work.
>
> I’m afraid if we add multipath, it’ll be like what happened with server
> push. The lack of appropriate APIs made using it with the browser fraught
> with tradeoffs with no reasonable way for an application to fix.
>
> Solve the addressing-of-a-session problem, however, and we make it easier
> to solve the likely API problem that will accompany multipath.
>
> Example:
> I could have a virtual connection which is composed of a TCP connection on
> path A, and a QUIC connection on path B.
> .. or maybe I want to try out a new version/extension on QUIC, so I have a
> virtual connection with QUIC and QUIC+extension.
> I could declare that I’d like for data to flow down QUIC+extension path
> unless that is too slow, then duplicate the data onto the QUIC path.
>
> In my mind, the application should establishes the virtual connection, and
> provide at least one path, and can optionally add (and remove) subsequent
> paths.
> This is something we do already in “storage-land”, where diversity and
> separable failure domains are important, and where the use-cases are
> extremely diverse in latency, data-amounts, and cost.
> -=R
>
>
>
> *From: *QUIC <quic-bounces@ietf.org> on behalf of Behcet Sarikaya <
> sarikaya2012@gmail.com>
> *Reply-To: *"sarikaya@ieee.org" <sarikaya@ieee.org>
> *Date: *Monday, November 9, 2020 at 8:58 AM
> *To: *Lucas Pardue <lucaspardue.24.7@gmail.com>
> *Cc: *Christian Huitema <huitema@huitema.net>, Behcet Sarikaya <
> sarikaya@ieee.org>, QUIC WG <quic@ietf.org>, Olivier Bonaventure <
> Olivier.Bonaventure@uclouvain.be>, Mikkel Fahnøe Jørgensen <
> mikkelfj@gmail.com>
> *Subject: *Re: What to do about multipath in QUIC
>
>
>
> Hi Lucas, Olivier,
>
>
>
>
>
> On Mon, Nov 9, 2020 at 10:51 AM Lucas Pardue <lucaspardue.24.7@gmail.com>
> wrote:
>
> Hey Olivier,
>
>
>
> On Mon, Nov 9, 2020 at 4:31 PM Olivier Bonaventure <
> Olivier.Bonaventure@uclouvain.be> wrote:
>
> Lucas,
> >
> > On Mon, Nov 9, 2020 at 3:55 PM Behcet Sarikaya <sarikaya2012@gmail.com
> > <mailto:sarikaya2012@gmail.com>> wrote:
> >
> >     Hi Folks,
> >     I agree with Mikkel's points.
> >     To Lucas: I meant my short mail sometime ago I think it was before
> >     the interim (?) where I explained that connection migration is
> >     mobility support which should (from layering point of view) be in IP
> >     layer. In fact if IP layer has this support then then no need for
> >     connection migration in QUIC, so those procedures in the code do not
> >     get executed.
> >
> >     Multipath is multiple interface support. It seems more and more like
> >     multipath probably better belongs in transport layer. Traffic in
> >     each interface may go over different networks (in my case on over T
> >     Mobile and the other AT&T). I believe a different PN is well
> >     justified in multipath as we have it in the base draft because of
> >     these traffic conditions (no offense to Christian).
> >
> >
> > I still don't see why the current features of connection migration are
> > not in some way a form of multipath.
>
> 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.
>
>
>
> This paragraph of RFC6824 then continues as follows :
>
>     However, to the network layer, each MPTCP subflow looks
>     like a regular TCP flow whose segments carry a new TCP option type.
>     Multipath TCP manages the creation, removal, and utilization of these
>     subflows to send data.  The number of subflows that are managed
>     within a Multipath TCP connection is not fixed and it can fluctuate
>     during the lifetime of the Multipath TCP connection.
>
> This is not really connection migration and MPTCP provides much more
> multipath capabilities than connection migration.
>
>
>
> Yeah I follow. As someone coming from QUIC, the first sentence is kind of
> easily negated (which is a benefit IIUC). I think the remainder of the
> paragraph is partially satisfied by QUIC v1 if we consider
> PATH_CHALLENGE/PATH_RESPONSE and NEW_CONNECTION_ID/RETIRE_CONNECTION_ID.
> But it starts to fall apart when you want to do more complicated things. I
> think understanding the gaps in the transport signalling would be useful to
> document in isolation to any specific solution.
> draft-deconinck-quic-multipath has done some of that work already but it
> gets a little too tied up with the solution IMO.
>
>
>
>
>
>
>
> I don't think Olivier would wish to undermine the most important feature
> of multipath: multiple paths going over concurrently possible over
> different networks.
>
> Then he can not justify many features in draft-deconinck-quic-multipath.
>
>
>
> Behcet
>
> Cheers
>
> Lucas
>
>
>
>

-- 
Kazuho Oku