Re: What to do about multipath in QUIC
Mikkel Fahnøe Jørgensen <mikkelfj@gmail.com> Thu, 12 November 2020 11:10 UTC
Return-Path: <mikkelfj@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 CE4693A15CB for <quic@ietfa.amsl.com>; Thu, 12 Nov 2020 03:10:59 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.096
X-Spam-Level:
X-Spam-Status: No, score=-2.096 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, UNPARSEABLE_RELAY=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 5E-jjk086ylD for <quic@ietfa.amsl.com>; Thu, 12 Nov 2020 03:10:58 -0800 (PST)
Received: from mail-yb1-xb32.google.com (mail-yb1-xb32.google.com [IPv6:2607:f8b0:4864:20::b32]) (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 D07AC3A15CA for <quic@ietf.org>; Thu, 12 Nov 2020 03:10:57 -0800 (PST)
Received: by mail-yb1-xb32.google.com with SMTP id 2so4913971ybc.12 for <quic@ietf.org>; Thu, 12 Nov 2020 03:10:57 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:in-reply-to:references:mime-version:date:message-id:subject:to :cc; bh=c3nKzUJQ1szsMu3wF/WT5buLoWbBholkppHn4YGVdtQ=; b=bhfNd2JhWc6InTMsShuxLb//2xRcgiYfX+CvFWS1QZWaHkm/uu3xaWq1tqIHmYiuKE ZeDBNLOsO9HVzOQr0amV9zed/IiDS8aYg7p48CLKT0/ilv5OwFpS2XLRFqd6nTgWT+v5 uf3LYxfgxVWdyn54ZNW60gQW8Zmf0wMMqqAQfRsyxuZpO/W48pwX0352dCnc9K7aSpkJ 3ssW+lWYChk5fg5uOEvT/hF3CATHBTu5C61QVYXUCGE2ku818RKtc8Vsm+N8bzWaIQX5 1AhTSrC5nhpn7vpz44KI/5fN+2EQo1MLWYeWF99xStgcwbXHMlq4yswyQBOETmgCqUh7 vNbQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:in-reply-to:references:mime-version:date :message-id:subject:to:cc; bh=c3nKzUJQ1szsMu3wF/WT5buLoWbBholkppHn4YGVdtQ=; b=Hk/TLaOwTK7HWF91F68cW0Bbjipk9M2xbrpLg8Mv17TU+5FN7+cefVc/bItHaM+EQS ad4G6WN/5VbdknPeEQnbrPokRRR8leX7CUmnAB4TU796z6eevsKR/CdGDxqGE2guI4Xj yPLwKR51UKCFeo24v3M8HWUqO/bRtItKnErk194rRhAeTeSkdwJ2KwCFTz8MU0uDujAl gELwPH1wNTVEmZYKWPXVtur02QsTHw9AJylOFhKdu/x3QQGi/epuaYsUWJQTiBhuIDjM gT0DFbNIWW0zedfsdn9aIjmQl2pG1xryDl9cYlxkvzNNQufPNncggfLRnJlWIU5mYPqB cLGw==
X-Gm-Message-State: AOAM530ZZN6GfoUrNLOpmrLxpDQ0r51mYBiK/FGzrooIpeiANl/l3ybu SBBYULHHnI4M/mn/Fnt20IXia5Yy470ZBgB4d+c=
X-Google-Smtp-Source: ABdhPJx2YJaGBm9wa0Wpjplaa7nDgjahiGqIrl0mSMPKDbE66eqmIb6wbTqZixscjH9T9pQu7aZYhZ312G13VgIBONI=
X-Received: by 2002:a25:7cc2:: with SMTP id x185mr39742866ybc.263.1605179457109; Thu, 12 Nov 2020 03:10:57 -0800 (PST)
Received: from 1058052472880 named unknown by gmailapi.google.com with HTTPREST; Thu, 12 Nov 2020 03:10:56 -0800
From: Mikkel Fahnøe Jørgensen <mikkelfj@gmail.com>
In-Reply-To: <538215d1-3b9e-4784-920d-03be4c3a503a.miaoji.lym@alibaba-inc.com>
References: <538215d1-3b9e-4784-920d-03be4c3a503a.miaoji.lym@alibaba-inc.com>
MIME-Version: 1.0
Date: Thu, 12 Nov 2020 03:10:56 -0800
Message-ID: <CAN1APddB4JDo281L0USsU7FSiQxRNi-LaB8ZS0a9kLAgeNJwrw@mail.gmail.com>
Subject: Re: What to do about multipath in QUIC
To: Yanmei Liu <miaoji.lym@alibaba-inc.com>, quic <quic@ietf.org>
Cc: "安勍(莳逸)" <anqing.aq@alibaba-inc.com>, healing4d <healing4d@gmail.com>, "Liu, Hongqiang(洪强)" <hongqiang.liu@alibaba-inc.com>, "Ma, Yunfei" <yunfei.ma@alibaba-inc.com>
Content-Type: multipart/alternative; boundary="0000000000005781b805b3e6f796"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/9MvCjaMqhxqWyTdFWTV_L_H5NOU>
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 11:11:00 -0000
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. 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. 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. > > > > 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. 1. We think QUICv1 has already laid down the foundation to build a general-purpose multi-path since migration can be viewed as a special type of multi-path. Therefore, we think one should reuse the design of migration in QUIC-v1 as much as possible, along with the features such as PATH_CHALLENGE/PATH_RESPONSE for path challenge and address validation, and NEW_CONNECTION_ID/RETIRE_CONNECTION_ID for CID renegotiation of new path(which is called Sub-connection in our draft). Reusing these features of QUIC-v1 with small extensions has enabled us to get general-purpose multi-path features with very little efforts in Alibaba’s XQUIC(an implementation of QUIC-v1). 2. We find that the simplest way to add a second path is to use a sub-connection. The concept of sub-connection is directly inherited from connection in QUIC-transport, defined as the logic session of each physical path. Similar to a connection, each sub-connection has its own packet number space for the purpose of loss detection and recovery. 3. To merge the gap between migration and the general-purpose multi-path, several new features need to be supported: - (1) how to manage the lifecycles of individual sub-connections. - (2) how to distinguish packets coming from different sub-connections. - (3) how to co-operate with a multi-path scheduler. We would appreciate hearing any thoughts, comments and suggestions. Thanks, Yanmei
- What to do about multipath in QUIC Spencer Dawkins at IETF
- Re: What to do about multipath in QUIC Martin Duke
- Re: What to do about multipath in QUIC Spencer Dawkins at IETF
- Re: What to do about multipath in QUIC Jana Iyengar
- Re: What to do about multipath in QUIC Spencer Dawkins at IETF
- Re: What to do about multipath in QUIC Behcet Sarikaya
- Re: What to do about multipath in QUIC Lucas Pardue
- Re: What to do about multipath in QUIC Spencer Dawkins at IETF
- Re: What to do about multipath in QUIC Lucas Pardue
- Re: What to do about multipath in QUIC Mikkel Fahnøe Jørgensen
- Re: What to do about multipath in QUIC Spencer Dawkins at IETF
- Re: What to do about multipath in QUIC Spencer Dawkins at IETF
- Re: What to do about multipath in QUIC Mikkel Fahnøe Jørgensen
- Re: What to do about multipath in QUIC Spencer Dawkins at IETF
- Re: What to do about multipath in QUIC Christian Huitema
- Re: What to do about multipath in QUIC Mikkel Fahnøe Jørgensen
- Re: What to do about multipath in QUIC Behcet Sarikaya
- Re: What to do about multipath in QUIC Lucas Pardue
- Re: What to do about multipath in QUIC Behcet Sarikaya
- Re: What to do about multipath in QUIC Olivier Bonaventure
- Re: What to do about multipath in QUIC Behcet Sarikaya
- Re: What to do about multipath in QUIC Lucas Pardue
- Re: What to do about multipath in QUIC Behcet Sarikaya
- Re: What to do about multipath in QUIC Roberto Peon
- Re: What to do about multipath in QUIC Mikkel Fahnøe Jørgensen
- Re: What to do about multipath in QUIC Kazuho Oku
- Re: What to do about multipath in QUIC Mikkel Fahnøe Jørgensen
- Re: What to do about multipath in QUIC Lars Eggert
- Re: What to do about multipath in QUIC Mikkel Fahnøe Jørgensen
- Re: What to do about multipath in QUIC Spencer Dawkins at IETF
- Re: What to do about multipath in QUIC Lars Eggert
- Re: What to do about multipath in QUIC Mikkel Fahnøe Jørgensen
- Re: What to do about multipath in QUIC Mikkel Fahnøe Jørgensen
- Re: What to do about multipath in QUIC Mikkel Fahnøe Jørgensen
- Re: What to do about multipath in QUIC Roberto Peon
- Re: What to do about multipath in QUIC Mikkel Fahnøe Jørgensen
- Re: What to do about multipath in QUIC Martin Thomson
- Re: What to do about multipath in QUIC Yanmei Liu
- Re: What to do about multipath in QUIC Mikkel Fahnøe Jørgensen
- Re: What to do about multipath in QUIC Spencer Dawkins at IETF
- Re: What to do about multipath in QUIC Mikkel Fahnøe Jørgensen
- Terminology for multipath QUIC (was Re: What to d… Lucas Pardue
- Re: What to do about multipath in QUIC Spencer Dawkins at IETF
- Re: Terminology for multipath QUIC (was Re: What … Spencer Dawkins at IETF
- Re: What to do about multipath in QUIC Christian Huitema
- Re: What to do about multipath in QUIC Spencer Dawkins at IETF
- Re: What to do about multipath in QUIC Mirja Kuehlewind
- Re: What to do about multipath in QUIC Mirja Kuehlewind
- Re: What to do about multipath in QUIC Spencer Dawkins at IETF
- Re: What to do about multipath in QUIC Yanmei Liu
- Re: What to do about multipath in QUIC Behcet Sarikaya
- Re: What to do about multipath in QUIC Yanmei Liu
- Re: What to do about multipath in QUIC Kazuho Oku
- Re: Re: What to do about multipath in QUIC Ma, Yunfei
- Re: What to do about multipath in QUIC Yunfei Ma
- Re: What to do about multipath in QUIC Kazuho Oku
- Re: What to do about multipath in QUIC Florentin Rochet
- Re: What to do about multipath in QUIC Christian Huitema
- Re: What to do about multipath in QUIC Mikkel Fahnøe Jørgensen
- Re: What to do about multipath in QUIC Christian Huitema
- Re: What to do about multipath in QUIC Mikkel Fahnøe Jørgensen
- Re: What to do about multipath in QUIC Kazuho Oku
- Re: What to do about multipath in QUIC Christian Huitema
- Re: What to do about multipath in QUIC Kazuho Oku
- Re: What to do about multipath in QUIC Christian Huitema
- Re: What to do about multipath in QUIC Kazuho Oku
- Re: What to do about multipath in QUIC Christian Huitema
- Re: What to do about multipath in QUIC Kazuho Oku
- Re: What to do about multipath in QUIC Christian Huitema
- Re: What to do about multipath in QUIC Spencer Dawkins at IETF
- Packet number spaces in multipath (was Re: What t… Jana Iyengar
- RE: Packet number spaces in multipath (was Re: Wh… Markus.Amend
- Re: Packet number spaces in multipath (was Re: Wh… Christian Huitema
- RE: Packet number spaces in multipath (was Re: Wh… Markus.Amend
- RE: Packet number spaces in multipath (was Re: Wh… Mikkel Fahnøe Jørgensen
- RE: Packet number spaces in multipath (was Re: Wh… Mikkel Fahnøe Jørgensen
- Re: Packet number spaces in multipath (was Re: Wh… Roberto Peon
- RE: Packet number spaces in multipath (was Re: Wh… Markus.Amend
- Re: Packet number spaces in multipath (was Re: Wh… Mirja Kuehlewind
- Re: Packet number spaces in multipath (was Re: Wh… Jana Iyengar
- Re: Packet number spaces in multipath (was Re: Wh… Quentin De Coninck
- Re: Packet number spaces in multipath (was Re: Wh… Mikkel Fahnøe Jørgensen
- Re: Packet number spaces in multipath (was Re: Wh… Kazuho Oku
- Re: Packet number spaces in multipath (was Re: Wh… Quentin De Coninck
- Re: Packet number spaces in multipath (was Re: Wh… Martin Thomson
- Re: Packet number spaces in multipath (was Re: Wh… Kazuho Oku
- RE: Packet number spaces in multipath (was Re: Wh… Mike Bishop