Re: What to do about multipath in QUIC

Roberto Peon <fenix@fb.com> Mon, 09 November 2020 17:32 UTC

Return-Path: <prvs=8582279074=fenix@fb.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 2FF773A127F for <quic@ietfa.amsl.com>; Mon, 9 Nov 2020 09:32:17 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.095
X-Spam-Level:
X-Spam-Status: No, score=-2.095 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=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 (1024-bit key) header.d=fb.com header.b=k7nIHJCl; dkim=pass (1024-bit key) header.d=fb.onmicrosoft.com header.b=S2L/HY8Q
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 471g2S0OfR-x for <quic@ietfa.amsl.com>; Mon, 9 Nov 2020 09:32:15 -0800 (PST)
Received: from mx0a-00082601.pphosted.com (mx0b-00082601.pphosted.com [67.231.153.30]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 38D773A126E for <quic@ietf.org>; Mon, 9 Nov 2020 09:32:12 -0800 (PST)
Received: from pps.filterd (m0001303.ppops.net [127.0.0.1]) by m0001303.ppops.net (8.16.0.42/8.16.0.42) with SMTP id 0A9HNmVO021778; Mon, 9 Nov 2020 09:32:06 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fb.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : mime-version; s=facebook; bh=tuti6fPTRcXuDEyLdfV79vqco5+EPnXMZ02TmebsJBk=; b=k7nIHJClLKkp+qSfcCoL/qSjbxOt8hGbDzN0Re4JdnZfH/KvbwQ6Gaaep5LNWv1gZG41 V26YiAGsl/Hyc3bjCVbGVX9OHUSwLZZ+HHCAvcj5hzErqydcTimoZk9z7JEGuPizkUsP 2rFPPzQ0NqzmFIvR9x1QovetuhRZ+jN6MxM=
Received: from mail.thefacebook.com ([163.114.132.120]) by m0001303.ppops.net with ESMTP id 34nr4prspt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT); Mon, 09 Nov 2020 09:32:06 -0800
Received: from NAM04-BN3-obe.outbound.protection.outlook.com (100.104.98.9) by o365-in.thefacebook.com (100.104.94.196) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3; Mon, 9 Nov 2020 09:32:04 -0800
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EQSL+jKcUULDNiWd/82h3TVVNLHdw1cGzPk0/RcrmaO1mU6CitZCdYvCKtPPIgLnFfOcbfqPanrgbwG+nucFsheTpk5VgAIUWlE1xkiicQs0p5Z2d0yxxFw3u3q4PuHoQE8Gcs4HWtKPlRGBlVRQHmHzzOGQRkND32qBA8kIrdwuzV+CSlXnTYNdggN/5ulTmMi4dLYoAixATvVOl7Orn0lEpUGzg4AkdDP7ibrxIJyvsxmQ1Qkkh5NJGij06vUvpo4lmQx89H32fEfuZYVrpPamjEF3MLgxu6uI0OI1CjaGAXUeoU3PrTpY4jNOLO7QVX2ycmtUrCSSOmKjtLqIcA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tuti6fPTRcXuDEyLdfV79vqco5+EPnXMZ02TmebsJBk=; b=d1DC+LeZGiT++zSbX4SdyFCNCNPrXghPx2i+vmllPfliGl9vZBTgKSzE1GrK1SdM8GrcwGjVVvJvzy43GLxkXlxV/t5srl8MWKWNtpTHRsP8Pxg/AZ/fPehg7D5Si0WaK9yqxzMoDfCCbju9uyXmas14prk4vcnez0QS2k6u+LbeKOJHdhWbLIcmerBJ/ij3OCXgcy+0Kd4EfLbyIz7SNQB9TFKvzSZgici6urI5iIe/WVu0xG25sDgHWvX2+vk/nv3BZW9gHDdUj0A1Ah5uQby0QQ9l/vT1Ur0rhDrc6ewP8f6Wj3y8hE4UOsCaxZoB3Rx3ifNqGMM/RWkeXUIOyw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=fb.com; dmarc=pass action=none header.from=fb.com; dkim=pass header.d=fb.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fb.onmicrosoft.com; s=selector2-fb-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tuti6fPTRcXuDEyLdfV79vqco5+EPnXMZ02TmebsJBk=; b=S2L/HY8Qd4y91lxyoR56Q+wG0RdDqYctnR4c25SvbeD+siv1hnZkId2nMpgN6SBtibTQ1QNQ8d9uLmzT8gwmJBfeq1eKr3Y9fBkZx0p/sAIVWykhcLyc6ZB5H5aw8/E9B+SJ3Uzzz+80ajFKIQErJJn+QU3mTfxx8kjgTTg/2hU=
Received: from BN6PR15MB1844.namprd15.prod.outlook.com (2603:10b6:405:57::21) by BN7PR15MB2339.namprd15.prod.outlook.com (2603:10b6:406:86::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3541.21; Mon, 9 Nov 2020 17:32:03 +0000
Received: from BN6PR15MB1844.namprd15.prod.outlook.com ([fe80::b55c:3d01:80cb:5d51]) by BN6PR15MB1844.namprd15.prod.outlook.com ([fe80::b55c:3d01:80cb:5d51%9]) with mapi id 15.20.3541.025; Mon, 9 Nov 2020 17:32:03 +0000
From: Roberto Peon <fenix@fb.com>
To: "sarikaya@ieee.org" <sarikaya@ieee.org>, Lucas Pardue <lucaspardue.24.7@gmail.com>
CC: Christian Huitema <huitema@huitema.net>, 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
Thread-Topic: What to do about multipath in QUIC
Thread-Index: AQHWswO1Dsf0sn8mE0+NNsMlZwWSEKm6jZ+AgACwN4CAAAyDAIAABySAgAAJwoCAAAfgAIAAFXuAgAAqiYCAAB0QAIAAFXmAgAB7j4CAA6oBAIAABMqAgAAFfACAAAV8AIAAAfiA//+DXgA=
Date: Mon, 09 Nov 2020 17:32:03 +0000
Message-ID: <7931447A-E557-4B7E-8256-BD6004F29CBF@fb.com>
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>
In-Reply-To: <CAC8QAcfZc0rhNzH8+0EfAsE2vj7ZTcc6eCeaGF00n5bk-aKvCA@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/16.42.20101102
authentication-results: ieee.org; dkim=none (message not signed) header.d=none;ieee.org; dmarc=none action=none header.from=fb.com;
x-originating-ip: [76.104.148.157]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 93402a7d-bdfc-4c6d-9230-08d884d55f51
x-ms-traffictypediagnostic: BN7PR15MB2339:
x-microsoft-antispam-prvs: <BN7PR15MB233969D21671AE7705D7DF83CDEA0@BN7PR15MB2339.namprd15.prod.outlook.com>
x-fb-source: Internal
x-ms-oob-tlc-oobclassifiers: OLM:9508;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: ZTtaSVe36+vM+OpozBRELzwHZYebjyODFRnc2J74Cvh+0jf4ZR55v32wotV3RN3ibI+aAgnUaDaJPrfGxWJDZxx3vzPt2Thp5bfyd7dQR0JASAVhqgvklyBSvN0G+Lt9fyDdE7+oLRpF3GMRt2OTO/259tMArmuRjiN93mKN3cOkQ/ZcZO5O77HsBa06YXJ9b56324EPbt21a/5pJQK7Yt2yZMV3Qdum0u5WevlS3qIYcMVTg7lfldSh4BGLwkNMGwCtS4nW/Dw4Cz8KrYxDbV34/a/mMVJZIMFlmL2ne/Ali7kWlViNLnd1qbwzSkrcsMmypDsjB4Xoe5RWcsn8Ug==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN6PR15MB1844.namprd15.prod.outlook.com; PTR:; CAT:NONE; SFS:(396003)(366004)(346002)(376002)(136003)(39860400002)(478600001)(64756008)(66556008)(66446008)(66476007)(54906003)(76116006)(91956017)(66946007)(36756003)(33656002)(6486002)(2906002)(4326008)(110136005)(6512007)(86362001)(71200400001)(316002)(66574015)(2616005)(8936002)(53546011)(6506007)(186003)(26005)(8676002)(5660300002)(83380400001); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata: QHw1M1CS7Z6m5OLMLG8frkUSsa0cMbysWtTsz8O4mrPKHjv7bQVr9j/a4cpk5JlUj4vcq5F8wQkVKfskkUIJ9aZHVC4TyzRt78oWkuZWb+ObhOVJL3Cz+5kUV17WLMzvxT1/AIdv6QLUGOb1Xng6EA5qWd0tNK/i6edk4CC5mTweuHIiCeBh55Lc2cgt+QAqq0OffPHB+LIJUPpQxti2okWa8jNeUu+LKtBt9U8oyOWbzS7l+N+b9aqMOANmRDz9YcXSZXhGMMu62f6JVn+2QtHBLUyGwJVD0gDcgBS3RnwYeia5b4lzCyP2NQHkFIWY+KfMhOClnnJE63YRQlXb5L5uaq4NOsMq/4/mEyI27iIKb6UdAj/ZIez4OLhovsZ4v4c1uWc/aEa667SSbfeENjBUWRrLhV4VXL4aGPFTSXYqf/gZBUx8cLKiIHrbaWa1yUJ3Ay2mmaHu20wqZhvk7OCq+FM9pYgiHjEny2oYdp38aVvShP87nK1H8dgWPH9zWpvVCwmRvQlyr9kHF0BdSN7PExOidhsoj1K3MjWyMVQHLnxsXdkq7AQeZ/Z2y7l+V6oB6t+0bq6HgGwB3FSfuQvn4d8XYcr95NF3Yl7T2sh4UCG6IUvhGKsb1aVw1wzvGHD8E5SY/IIt/ohCAGnzCw==
x-ms-exchange-transport-forked: True
Content-Type: multipart/alternative; boundary="_000_7931447AE5574B7E8256BD6004F29CBFfbcom_"
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN6PR15MB1844.namprd15.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 93402a7d-bdfc-4c6d-9230-08d884d55f51
X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Nov 2020 17:32:03.3927 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 8ae927fe-1255-47a7-a2af-5f3a069daaa2
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: s7pzeZwA7LUphBD2ybZ8+IsP7cBHmFb47/I3FwkIf3g5GHKMRPul8PIkUmW+8b8G
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR15MB2339
X-OriginatorOrg: fb.com
X-Proofpoint-UnRewURL: 0 URL was un-rewritten
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.312, 18.0.737 definitions=2020-11-09_10:2020-11-05, 2020-11-09 signatures=0
X-Proofpoint-Spam-Details: rule=fb_default_notspam policy=fb_default score=0 lowpriorityscore=0 malwarescore=0 mlxlogscore=999 spamscore=0 suspectscore=0 mlxscore=0 bulkscore=0 phishscore=0 clxscore=1011 impostorscore=0 adultscore=0 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2011090120
X-FB-Internal: deliver
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/3fLfB3p9C1BC0rkYyB96ifNVsA8>
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: Mon, 09 Nov 2020 17:32:17 -0000

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<mailto:lucaspardue.24.7@gmail.com>> wrote:
Hey Olivier,

On Mon, Nov 9, 2020 at 4:31 PM Olivier Bonaventure <Olivier.Bonaventure@uclouvain.be<mailto:Olivier.Bonaventure@uclouvain.be>> wrote:
Lucas,
>
> On Mon, Nov 9, 2020 at 3:55 PM Behcet Sarikaya <sarikaya2012@gmail.com<mailto:sarikaya2012@gmail.com>
> <mailto: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