Re: Options for QUIC Multipath

Mirja Kuehlewind <mirja.kuehlewind@ericsson.com> Fri, 09 April 2021 13:36 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 EE4993A2168 for <quic@ietfa.amsl.com>; Fri, 9 Apr 2021 06:36:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.1
X-Spam-Level:
X-Spam-Status: No, score=-2.1 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_DNSWL_BLOCKED=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 BA9AzNkyVUAp for <quic@ietfa.amsl.com>; Fri, 9 Apr 2021 06:36:20 -0700 (PDT)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80041.outbound.protection.outlook.com [40.107.8.41]) (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 C9FF13A216C for <quic@ietf.org>; Fri, 9 Apr 2021 06:36:19 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hXhmvFENxhIgr5kHywPToQKAq27nUBfkBuh4hGAYIqNswqHbJCuFlxEh6x9/rqPHN0nCNideK5g98ValnG7Yf/NkcFM6J/c4bDlGeGu0E/X5VvsZekhJ3eOUmgoCLe959zt2+n2u6TV8eWq2ehFRxG96+PI6AC27gexbRJ2kx6qJNq/YQq4v9vTiV/wwe42IV6Pb5t2ZIQ/ICIaCsCXY4LJQNXWNyFkXk1ykSQMiB/no19ayBrbpBZTrcGFsSDw4+VN9Nq07dDJdGoi4U9gq7xoZ5rN5pgQB+pMtLbaiagZzPu3JPm0gqgp0z7e35LwFeoCihyRWbtgde8G2J2yy1w==
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=tl4zCFAdzWPrKwDa87tqSGd69lv2WGLRIYcToRe78PA=; b=BhVulRfIqTSMKhrwcg8wH1h/QZTqc5nqq6HU6ZCxp1u5FQvsFHPCYmD+QqlM2XwdUBfGwgIxXN6+VNtebO5vpgWzVB8B9McYinOiF6rnfCTxz7hJ1TAGdHlpKryDpU5YuFcsoYiJus3cmZ52aVvLVmxEJ6NZJNzB4UWluPKZ6AiThBRd6wy8q9xn1fIPY9RTEFuz936e5T1eg9isTEELmeCxzd+O8a+DlLIcmshC98Ux5hIgQKJjdPub2VKS3WzQqUEEoeZbovOg3VIolU++c/KISdjv1djd7tyjIUUINBQ3UrmeXnOuxTmNj5JhxMzbSmEtTrcgFzzsb1BDBqZAjQ==
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=tl4zCFAdzWPrKwDa87tqSGd69lv2WGLRIYcToRe78PA=; b=ImzgFu/L9Ael7Tdqm1vGa7U3I+ZEbH8rBTIvkjgTSTEjrwMVIQ75vX819IzMGRns7ckvUp3RYqzTHCyr/FuNV6H7J7q8+qdpy8WGQTbGxSxpCq8mgwfHk60lmxj4JR5umrIV0R8u0wO8iG8jmQv9V4meX+38sb+dOmu0TR+jqJI=
Received: from AM0PR07MB3939.eurprd07.prod.outlook.com (2603:10a6:208:40::14) by AM0PR07MB5681.eurprd07.prod.outlook.com (2603:10a6:208:11f::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4042.9; Fri, 9 Apr 2021 13:36:14 +0000
Received: from AM0PR07MB3939.eurprd07.prod.outlook.com ([fe80::f5b3:5946:19c5:d8b8]) by AM0PR07MB3939.eurprd07.prod.outlook.com ([fe80::f5b3:5946:19c5:d8b8%6]) with mapi id 15.20.4020.018; Fri, 9 Apr 2021 13:36:14 +0000
From: Mirja Kuehlewind <mirja.kuehlewind@ericsson.com>
To: Christian Huitema <huitema@huitema.net>, IETF QUIC WG <quic@ietf.org>
Subject: Re: Options for QUIC Multipath
Thread-Topic: Options for QUIC Multipath
Thread-Index: AQHXAyABdAk2wQFXxUGPo118Bqko/6qspeSA
Date: Fri, 09 Apr 2021 13:36:14 +0000
Message-ID: <9BBE9A2F-8203-4467-BCAB-2C97B89F4371@ericsson.com>
References: <cbd1acfa-bfdd-0ce7-f381-ad87cacd85aa@huitema.net>
In-Reply-To: <cbd1acfa-bfdd-0ce7-f381-ad87cacd85aa@huitema.net>
Accept-Language: en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/16.45.21011103
authentication-results: huitema.net; dkim=none (message not signed) header.d=none;huitema.net; dmarc=none action=none header.from=ericsson.com;
x-originating-ip: [2003:de:e740:2700:87e:d1e8:eb18:37f5]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 81a5af68-3339-4be3-22cf-08d8fb5c7250
x-ms-traffictypediagnostic: AM0PR07MB5681:
x-microsoft-antispam-prvs: <AM0PR07MB56815E437C79C89CB492D346F4739@AM0PR07MB5681.eurprd07.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: fBruqB/64eXixrsYnHRw6MqNlH69PK2gTB34IL70cdeeo03H2lQX+p+9refvzFLjHazAKBieuMXSm49N4Pt00LsfsAQ5ZVPfFHFb3VV14EhBeW8ZAMhAhT72FllaFuOnzx8XoN0NL0VsI1Jp4yROY1yVONqu0a1uOTAoaZkrwf/Me/yJjz7HnpCcfQhcdKQbTBUN8VEPXEfJdbpbi8kjPoDTb5jJiI+NWCymsp2eX0B+oWhrBrnwuj42OVwo9Y8AWpgc1zimkVtTJC8JYVLYrMz4hqNKmmxFlBOvLrYr/cy9Kwh30OGAqGa563CuddCjsiMxLoK0lLFPflVJzIjFBvyIj4oZW9qntyaOhFZsRwp3zuqyapV+i2iz+9DKDlcKI5VCpDLC0U+N4AQ/ZAx30twj3tAj4BDIilHL80TV/5Fzl299EmvWYm0uqkCIByNDafEjEt6TPtjdGSK8W9lQmm1x1VW2aIzqMmMSOtWVKiMq2A6wWvwqqe+4YQmaH3Rql/vZlVvWeJapwoUcXxiLs8pVWFb/cIKIz2OhqRv/wNgXw55PkEa2BUyrVcfDGjs41IXj6m1cMQIdXsovca/ThFUTtOat0qtZzf8xSM/XsU5aJNZnJCAHnSD1H27fOVfnwoWGb+M8/Km2eAudk3XBldVAKSgiTTQsSN+jSyLOdK1DbIzETg7Y2VKSqTVeE2NqEd/cP1sO2USz6uIPiDTRsyknWi6yCULdEEAUAWlCtu9Eaq2XzuS4jg1dDv8RKPybT67U2rvO6hpOl4rmR8X6iQ==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR07MB3939.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(346002)(396003)(376002)(39860400002)(366004)(136003)(83380400001)(186003)(6506007)(86362001)(8676002)(53546011)(66946007)(478600001)(36756003)(6486002)(166002)(66476007)(66446008)(66556008)(64756008)(33656002)(38100700001)(71200400001)(91956017)(6512007)(76116006)(3480700007)(2906002)(5660300002)(110136005)(8936002)(2616005)(44832011)(316002)(966005)(45980500001); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata: yUUirdVXMN7sLns3MkDF0j+pJ1Ixmab1/h+mK0eO7UM3bThtV7OeJz2joOpohXj9hcokSY1SDDBzwLz11WDlRiwXLUWBT4WUIKBofsvuB8SA8hnHZt7Llu9K3TVUcFQIsEndTArNP9iGMEGgKEjgUzdgImdZs3Zakwj8zikDPqbS0KI4q7Avg9du1WjISMkkhtzpZIUUk1o9ZEUOaBi1fdl4CioN1Ng+5oe0bpwhtgmPmi/kCngNcApyFBnwH9W9p6OMObOCnK62a/g/BgG+d9rfo7yAoLW/RdqKc5oEY1q7boG4oJizUiEU1D0GN51Yn5CypvgxU/zF0HsqT0qapSaJv9kzl0eNXPAiowCPuhrKaw+vA5u1HJdm85C3rjxLpF8QDIqbyK8pkiZ87F/Kff+1t224UF0onlYojR4VkCoIxCfN3EXzqQWT1/KOhprbENFPkAX/89HBtoDSIFQfvU0YFhyOvy7vXXQQnJ7XCQ7TMfD8yo/qqGd3wdusIHHIFF7tUTs3eDlTQWaTtXbSE0OeM0b1x/EmfANn8WheWv41gdmn/iobQvACfKROBbR0MvjYk5RNgF/WD1jzQCAlLoNgDO93ge+EOizmOTZV8Cw3Lv7O/erGphBSCq/R7iCNFSemJnEAHL3wGIOpYvk/GGk65xDHmcFVVXuiCebu29a1coIZE4IPGwCNLBVr842qem/eiotmgHM4ypxK9av3mtn8pbocwTJjjunkTROHLb1bAfUFcBjmmqjtuXHK5srtGPQKFO1W3R/FC5cUkbTOSX2E63RC+zRU3X9J+egeRb9gghF9+DU2rJv9GyMZ9TVlrkEdpAVoicU/srdyUBPXLxmCj9W2+UFekLAMPVvUSDZzhuLjIowviDSxoFBjK8MFYPWiKHtJVJ4c6wpdH99rrTPMKmYJ7ouE/Bk6qTbzCOM5+ZmvdTkggpsMQ6gzMmsOg/t/UE6kKPahUlWKcGx2gl6Zj/xV+UviS+OkWHF7retdEo80ODk2kPA6WgE7ua7RO8h8zesChJHTscnjl50ry9yYIx+Gx9Gh2y6Xy8v9dqR70yPXw3c/lcVlV647ewmj4owOkcAYTsErkEHUBFbJQGoeikCiIWe5jZ5gT4r1YNr4VsNQAFNooS2YUcqls+gDryvDhJT4UtSLEcxCn2x6nezt9FjMsXo2hDevypiMW8tQpPoK4lG0mzvxp6AyIB9bu2DpFtQ4KYALiD+LW9TaEzILAEN1hr+JOIYd1OrUb10e+n6ZC7xHh1/5589opNtEz+uNLjYwEk9sz0QTyX8hAOvJYAxUCNLMrXz1qEOFWRYrOdm4uF86BbOvznmjP4bw3oBrcHIkxbUY/WYvkJn3jy6wf4o/V6Q/HhUXtC696ktmnDaPRB9MFPmIVNAXSZUK
x-ms-exchange-transport-forked: True
Content-Type: multipart/alternative; boundary="_000_9BBE9A2F82034467BCAB2C97B89F4371ericssoncom_"
MIME-Version: 1.0
X-OriginatorOrg: ericsson.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AM0PR07MB3939.eurprd07.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 81a5af68-3339-4be3-22cf-08d8fb5c7250
X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Apr 2021 13:36:14.5033 (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: zzfQGzEgvKtTR9qmaqSrvnvGhtnyX0nY2Qx4x3YlUq9z7SIiKSubfIKj1lavIpfjEw9uJ9GptpV/hxi9miknj/Z2H5cBkalnDGG3f0EF9os=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR07MB5681
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/u01g1GovB8D9DbxXAPSdghftT8U>
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: Fri, 09 Apr 2021 13:36:25 -0000

Hi Christian, hi all,

reviving this thread. First of all thanks for implementing both options and writing the blog post!

After re-reading you post and reviewing the drafts, however, I have to say that I’m more convinced now that multiple packet number spaces might be the better approach forward. I actually always thought of the packet number as a per-path property where the wire image for each path should be as much independent as possible. So that seem architecturally more clean to me.

However, I’m really not convinced by your argument about implementation complexity below. First of all when we talk about implementation complexity, we should not only consider lines of code or number of tests or something like that but I think it is more important to assess the potential for implementation error. That is harder to assess but I think having a clean design and reduce the number of interdependencies is a factor.

Further, implementation complexity should never be considered as a the sole metric. You actually convinced me in your blog post that what you call efficiency might be even more important because there are two aspects here: number of bits on the wire (for ACK frames that might have a lot of wholes) and amount of bits in local memory.

With this conclusion I see draft-liu-multipath-quic as a really good starting point for future work (however, that so far my personal assessment). In both cases I support the approach to design a multipath extension that minimizes the changes needed from the base protocol. So reusing the connection ID and connection ID update mechanism is I think definitely the right approach to take.

I also think that any mechanism for address/path negotiation do not need to be part of the initial extension. In the most common scenario the client might just open a second path without further negotiation or coordination with the server when the interface/IP address of that new path come available. However, even if any negotiation is needed, this can be done on the application layer or added by another extension later on.

For draft-liu-multipath-quic I would even recommend to even move the part about scheduling and QoS support into the separate draft. I think QoS signal can definitely be a separate extension because that might even be useful without multiple paths (e.g. as input for congestion control). And for scheduling, I recommend to just specify some per-stream scheduling as the default behavior for now, but leave more complex schemes for future work (or research; scheduling doesn’t need standardization as it can be changed sender-side only).

So as soon as we could converge on the packet number question, I think we have a good starting to move on!

Again thanks for your work and for the drafts!

Mirja


From: QUIC <quic-bounces@ietf.org> on behalf of Christian Huitema <huitema@huitema.net>
Date: Sunday, 14. February 2021 at 23:23
To: IETF QUIC WG <quic@ietf.org>
Subject: Options for QUIC Multipath


I authored two drafts proposing two different solutions for Multipath QUIC: QUIC Multipath Negotiation Option (https://datatracker.ietf.org/doc/draft-huitema-quic-mpath-option/); and, in collaboration with colleagues at Ali Baba, Multipath Extension for QUIC (https://datatracker.ietf.org/doc/draft-liu-multipath-quic/). Apart from some details that could easily be aligned, the main difference is that the “negotiation option” maintains the property of QUIC Transport<https://datatracker.ietf.org/doc/draft-ietf-quic-transport/> to have a single packet number space for all application packets while the “multipath extension for QUIC” specifies that there will be a specific packet number space for each path. I have now implemented both options in Picoquic. This blog describes what I learned: https://huitema.wordpress.com/2021/02/14/how-many-packet-number-spaces-for-quic-multipath/.

To summarize, I believe now that both options work. The simple option requires some additional work for managing acknowledgement, but the multiple number space option adds a lot more complexity (41 new code branches compared to only 6), and will require a lot more testing because it also change the processing of the "single path" scenarios. The multiple number space option also prevents the use of zero-length connection IDs, and thus causes additional overhead in some important deployment scenarios. So, yes, both options work, but the simpler option provides simpler code and also less overhead.

In any case, I hope that this exercise will inform our efforts to standardize multipath support in QUIC.

-- Christian Huitema