Re: "Proxying" multipath usecases and application scheduling

Mirja Kuehlewind <mirja.kuehlewind@ericsson.com> Sat, 24 October 2020 00:53 UTC

Return-Path: <mirja.kuehlewind@ericsson.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 4D5103A0B45 for <quic@ietfa.amsl.com>; Fri, 23 Oct 2020 17:53:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.101
X-Spam-Level:
X-Spam-Status: No, score=-2.101 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H2=-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=ericsson.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 d5ujr1u_wbtt for <quic@ietfa.amsl.com>; Fri, 23 Oct 2020 17:53:56 -0700 (PDT)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2060.outbound.protection.outlook.com [40.107.20.60]) (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 D13883A0B39 for <quic@ietf.org>; Fri, 23 Oct 2020 17:53:55 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=O1ZQXfnNuTe375gCHRl0WWVADAdV3mA/cEtG4nyUk2w4W91so5HeyrElu3wem/F4w3Oa9QAOKmBDV8YrZ7P76OKq0G08R9RWxC2+B7fwnOadDHzpwZYyPRxufCE0RlchUoop6IfccizXIvMVbGwMbzHygDiDEAt2tJ5XRJNcRTQuETTO4/zf9HIofGwontoywW1Ed9iHPoEgV7qdxCJgivHX3JYYHUxHojJFiAfEKiot1e1RS0E4IUcCJZ8kYo6OtZfTYYbl83+UqifWd6vtmIKP5ZfnSycg5joiE+u8WmDoR2oJRwVnFg5OISTzQwSvqs/51O0GqG1vo8Ve1mtEmA==
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=WFF2nPNDDad+DHfRzCD4lYbaJPqVFNMmJou9SQqTuuU=; b=QqCI4moBFbVnjzYfUF18vIE6d2UShH4fWHTbLe51VmQuwvWG9nuFAIA9tS1gJylcfOjjol7kZ7G/jn7AfIlN45byMh87y8+NgKPcWPHLFXfeuBSdCl9tsh1VSQbumB7EH0f51U7ge4N9vQL0wJ1IrszpYgznADU1wjPulJKOd+8Oqi3WkysSR8FZUkK721sn1B9mTk3oAeIjfEny+nipbHvDPeDW1O4xsrQf3CCql+A198HLq/lbbvAIsdGUzh2Z1wt4w+Gq5XfzLQOpCnt5u+EIFwv9u/eEghasFZtbdPvGxGpHIRx9rdUezzZfCJgvO4mLhsqQ5ldPNPtg2KvSEA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ericsson.com; dmarc=pass action=none header.from=ericsson.com; dkim=pass header.d=ericsson.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WFF2nPNDDad+DHfRzCD4lYbaJPqVFNMmJou9SQqTuuU=; b=OMtrFor5B2NIjJ/0cfj4a+y6M4aMQW2aPO/ei2VSeAeqx1fbiXtQGMQXHC4vfFCvcgae1k2bc6s3t4aeJUIEc7aCQgQLQuHSjMtXFeSjgcoGFwZuxvCXjNJT89MiEJIvHX88uCYxKD497JwG8cDW2bfR9POxz+TCVoZ+Q7AGW6Q=
Received: from AM6PR0702MB3720.eurprd07.prod.outlook.com (2603:10a6:209:12::10) by AM7PR07MB6327.eurprd07.prod.outlook.com (2603:10a6:20b:13b::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3499.11; Sat, 24 Oct 2020 00:53:52 +0000
Received: from AM6PR0702MB3720.eurprd07.prod.outlook.com ([fe80::d9b0:b89e:d5ce:c731]) by AM6PR0702MB3720.eurprd07.prod.outlook.com ([fe80::d9b0:b89e:d5ce:c731%6]) with mapi id 15.20.3499.018; Sat, 24 Oct 2020 00:53:51 +0000
From: Mirja Kuehlewind <mirja.kuehlewind@ericsson.com>
To: Matt Joras <matt.joras@gmail.com>, IETF QUIC WG <quic@ietf.org>
Subject: Re: "Proxying" multipath usecases and application scheduling
Thread-Topic: "Proxying" multipath usecases and application scheduling
Thread-Index: AQHWqXiHk/Y9cQPc80epsgDjO9wPAqmmDtsA
Date: Sat, 24 Oct 2020 00:53:51 +0000
Message-ID: <6CB8B1FE-DB25-4EBA-8AD5-EF66D8DF9215@ericsson.com>
References: <CADdTf+h-xN6umZAOknYYmzNWbtWet25SE4Zy2EMOh5J9u=qBXQ@mail.gmail.com>
In-Reply-To: <CADdTf+h-xN6umZAOknYYmzNWbtWet25SE4Zy2EMOh5J9u=qBXQ@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/16.42.20101102
authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=ericsson.com;
x-originating-ip: [2003:de:e707:b600:59b9:c9cd:f2d0:4579]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 6643342c-5508-4118-acbc-08d877b7468e
x-ms-traffictypediagnostic: AM7PR07MB6327:
x-microsoft-antispam-prvs: <AM7PR07MB6327FCD1B3F5D974F143F86EF41B0@AM7PR07MB6327.eurprd07.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:8882;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: rhYrBeJbcb9KBR4DrjtrzcrO8MRBJP7CumM+S6WmUvOP4cNu3TfgtfjDpDVNEXHa+03mVevFEJQJKLW2WvCk5GYK4lsGc7BSc6EjTlLu55jsIsPQotslckPPT3yQnE09PASsp/R6F9PLSJr+W53Kx+ezKYmh/NMe+wSyR87Llkgj0sPONyVYfU51mbr4BejSVJvcoGYir5op1ltJhsoj0kmummOmnWb7EhCJHbcf/wCWlndyfTbfzXUHKV2DJ6JgLPwP90dui4RleThD+5zv9pcOsWiHvcVJQPjrVei9f8GG+5c+BYVqzqN8ZV4u/NjNlTL/wxysDd0bUH7Z6sDSqA==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM6PR0702MB3720.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(346002)(376002)(39860400002)(136003)(366004)(36756003)(44832011)(8936002)(66574015)(316002)(91956017)(66946007)(64756008)(66476007)(110136005)(76116006)(2616005)(66556008)(8676002)(6512007)(186003)(6506007)(5660300002)(83380400001)(478600001)(66446008)(71200400001)(53546011)(6486002)(2906002)(86362001)(33656002); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata: RKNH7dVGuSzsMN+Clhy1hxh8njuLyttQG1cpkI4y1tRFc42RqmGGGxTG2802xuW657aF3zHA7gKQJHzMygXjM+V7tdMurlHOCJyu9o9s19Ntt1Jr+QC31yIauYPTwzyfGHYXxav/zBb9pHShNSYK+tknC/De3EC1Q3nR51gtgqWwy6dP73o5pMBRsuwzVSBb9u+VUED4Tov4XLtzL63hgJtClFA8bnGSdvDrHdLmTTKhMKELVJMI1hhOEy/LTgAmclwY9S1o/3TrMJL8xOOPLlucYYDjaMHNrcmR1AX2wYHTHNuGarEqD46ALDnrchlJeE4Lm/okDR/MCTfbODsD0OV7QO2d9MMC96kAznXtSBzY9M88+2qN3oIv+WOsvR6BdbAwOPRjVKz3pRzS4bMWrusMwbXp6vPZcaP05Nb8bLGklevLwwmaQBjxqm8GTGJ8eFYovXRsSg8XUTvnKa7De9rQFqu1yj2ATzG5UsGzv34NWUMNMzcXHgJOIpmrR/atAHLrqfanqrQZdruf5BthQZ9kNFfAAgRMbfjXQJoSyQg2QsxS0E+rtu/jiTV8qqNdR6ikozFSAQSMv4b2AlPyibjTAbUA5qtG4oA4hiH8A8LNKLWcpBIt4qrmuagIua49XKjqsKv+SVne57g+SLda4tUs4BaN39uqf8yfFp2wjBBPfH5Hufx44rFWrx0odWN/rPsRPuBPNGtudSVC9Stmlw==
x-ms-exchange-transport-forked: True
Content-Type: multipart/alternative; boundary="_000_6CB8B1FEDB254EBA8AD5EF66D8DF9215ericssoncom_"
MIME-Version: 1.0
X-OriginatorOrg: ericsson.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AM6PR0702MB3720.eurprd07.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6643342c-5508-4118-acbc-08d877b7468e
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Oct 2020 00:53:51.7762 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: AoD0NxEflA6DXEbCLahUjrNJ98KvNXR2jGidP+At8axlK6HSVesbRUz4UcMaZUZkA4C6eW0qf8ELSN0WbznFdVvApZG93im51sQQSeJDMww=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR07MB6327
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/v7sP8BIWjj0KBnjPZxp_450KdQI>
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: Sat, 24 Oct 2020 00:53:58 -0000

Hi Matt,

I think this discussion rather would belong on the MASQUE list and I guess we already had some of this before chartering MASQUE but let me reply to a couple of comments below.

From: QUIC <quic-bounces@ietf.org> on behalf of Matt Joras <matt.joras@gmail.com>
Date: Friday, 23. October 2020 at 22:10
To: IETF QUIC WG <quic@ietf.org>
Subject: "Proxying" multipath usecases and application scheduling

Following up from Martin Thomson's excellent summary of the BoF-esque multipath QUIC interim, I thought I'd start a discussion extracting a couple things I saw as important takeaways from the presentation and subsequent questions.

As David noted, there were essentially two categories of usecases presented. The first, embodied by the Apple and Alibaba presentations, were essentially existing applications that can benefit from a transport with the capability to simultaneously utilize multiple paths. For these it seemed everyone agreed that in order for multiple paths to be useful the application has to have input into the scheduling decisions on these paths. For example, the application knows how it wants to trade off latency of delivery and overall throughput of delivery for application data.

Application input is needed if and only if there is actually a tradeoff to make. However, there are many scenarios where one can actually chose between a link that is better than the other, regarding both delay and latency, and then the decision is easy and the same for all applications.


The second set of usecases utilized multipath "in the network". ATSSS and the two variants of Hybrid Access Networks presented fall into this category. In this scheme application data is transparently proxied over multiple paths. This would include things like TCP flows, which could be intercepted in the traditional way TCP PEPs operate, as well as UDP (including QUIC) datagrams.

Intercepting TCP and tunneling is far not the same thing. There are many functions today that tunnel your traffic in some way in some network. Traffic is rerouted or EMCP is used to choose a path. These functions are needed for network management and network resilience and it’s explicitly the role of the end-to-end transport to adapt to changing network conditions and  handle these situations.


Both types of traffic would be scheduled along the multiple paths towards the "other end" of the proxy, where it presumably re-enters the general Internet towards the destination endpoint.

Prior to the meeting this latter set of usecases always felt concerning to me, and the meeting did an excellent job of crystallizing my concerns. As others have said, a great benefit of QUIC has been its ability to "cut through" the meddling of things like TCP PEPs, which are often making transport-level decisions that harm the goals of the endpoint application. While the in-network multipath schemes cannot meddle with QUIC flows as much as TCP PEPs, I am still very concerned about the consequences of utilizing them.

Again for me this is by far not the same and threating everything that is done with your flows in the network the same seems just oversimplifying it.

We seem to have established that application input is necessary to achieve the benefits from utilizing multiple paths, as there is not one "best" way to schedule data.

There are cases where there is actually a best way, whenever one path is better than the other without having to make tradeoff, and as I said in my other mail its usually not only application input that is needed to make a decision. E.g. Christoph brought this example that mobile data should be avoided and of course it also depends on the network condition, and that’s where congestion control comes into play.


These proxyng solutions have no way to act on application concerns, and rather have to devise scheduling policies solely from network-level information, ignorant of signals from the application. Does this not inevitably lead to pathological scheduling decisions and applications which are helpless to do anything about it?

The obvious counterpoint is that these proxies, through advent of being embedded "in the network", have access to information which the endpoint does not, e.g. about the state of the paths. An argument can be made that because of this they can make proactive decisions, rather than relying on the endpoint to react to changes. This is of course true, but completely ignores the fact that without the application context, it is impossible for the proxy to make an optimal scheduling decision.

Again there are scenarios where there is clearly a better path, or where there is a strong desire for the network to avoid usage of a certain. E.g. in the hybrid access case, some operators lease one of the links from another operator. I think it’s understandable that they only offer dual connectivity if they have a way to minimize usage of the more expensive line. There are many scenario where network management decision need to be made independent of application characteristics.

And regarding ATSSS is already exists (based on MPTCP for TCP and ATSSS-LL for other traffic) and will be used, similar as other techniques that impact routing. I think it’s understandable that operator try to utilize all available resources and usually that actually means that more capacity and a better is available for the user/the operator’s costumer. We can argue about the best technical way to make use of these resources but a) the final decision about ATSSS will be made in 3GPP and not the IETF and b) having an explicit proxy setup where the client can decide to use as it or not, as it is done also in other masque use case, seems to me actually a good approach (or at minimum better than what we have right now).


If the only benefit to running such proxies "in the network" is their extended knowledge of network conditions, wouldn't a better path forward to have endpoints engaging in "native" multipath? To solve the information gap, i.e. the fact that the "network knows more", could we not develop mechanisms for signalling this information proactively to endpoints?

I guess you can make the same proposal in the other direction: why cannot the endpoints tell the network what the application needs? I think this is a discussion to have in the APN BoF, however, we had this discussion many times and the short answer is trust. Might probably is a longer answer as well and there is a lot of disagreement.

Now these concerns may not sound QUIC-specific, but I think it is still relevant to the working group for the following reason. Usecases are very important towards driving design of something like a multipath protocol. It seems to me that one of the two major categories of usecases for a multipath QUIC is, by design, incompatible with some of the core tenets of QUIC as an application-enhancing transport protocol.

I think that is a way to broad statement and far too simplified. There have been so many discussions in the IETF including in the QUIC working and we clearly don’t have agreement about what the right level of cooperation is because there is just not a simple solution. I fully understand the pain we had with TCP. I’ve been working so long on ECN and am still sad how this good idea git killed in its infancy because of a buggy home router implementation that badly interfered. However, I personally also still believe that there is a way to further optimize and better utilize the resource we have if there is some cooperation between the network and endpoints. Anyway that’s my view on a different topic and not the point of this discussion.

As Martin said, we obviously can't stop anyone from utilizing multipath in this way, and it of course does not serve as a reason to not design a multipath QUIC, but it seems to me something we should all keep in mind as we consider such designs.

I think we should not consider this to make a decision on multipath support in QUIC because as you said you can’t stop it. The only thing you can achieve for ATSSS is that 3GPP may design some proprietary way to realize this function which will further increase complexity in an already complex system. However, that also an different discussion to have.

I’m been trying here to mainly explain what 3GPP is doing on ATSSS in order to get this group some understand of what the requirements are. However, I mainly just think we should simply have multipath support in QUIC because a modern protocol should be able to utilize the fact that more and more devices have connectivity to multiple network paths. I think using path migration for handovers is a bit a hack and not the real solution because it’s actually not easy for an endpoint without further network knowledge to detect when it is the right time to switch. Having a more complete multipath feature were you have two congestion controllers and can get measurements from both paths does help that problem and we do have good experience with that for MPTCP.

Mirja


I am very curious to hear others' opinions in this direction and thanks for sitting through this wall of text.

Matt Joras