Re: Preparing for discussion on what to do about the multipath extension milestone

Olivier Bonaventure <Olivier.Bonaventure@uclouvain.be> Wed, 30 September 2020 10:28 UTC

Return-Path: <olivier.bonaventure@uclouvain.be>
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 339823A0AAB for <quic@ietfa.amsl.com>; Wed, 30 Sep 2020 03:28:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.313
X-Spam-Level:
X-Spam-Status: No, score=-2.313 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, MSGID_FROM_MTA_HEADER=0.001, NICE_REPLY_A=-0.213, 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=uclouvain.be
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 d0xcn68XSW7G for <quic@ietfa.amsl.com>; Wed, 30 Sep 2020 03:28:17 -0700 (PDT)
Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-eopbgr140125.outbound.protection.outlook.com [40.107.14.125]) (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 B00683A0AA0 for <quic@ietf.org>; Wed, 30 Sep 2020 03:28:16 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HhQkmJ/saBmh68DxbOvMkIlp6jlsxdiTDaDY4bmPU6mIreisY9uuxYbBJlnpU5pIept8nWo1hKH58wNi73qEIu+NDE+6tQs03qWLV4H/f3r1qc3x/i0DDeYqrcExAmWnssOXme0LlSH7YEWUHfRQ14RdquO9ehJLpThzoytXdpaHDE0kK0DtrR/efjsSU7RkkZgpjVtUrGUSPiQdqeo6QXAO2k7BuWGCUuNoENIk2I7byCYqBNg3jn+PnLVmofeOSGO/UtC8g/XTJ4ziDku8/LVQoCvnzbTvLL62FUy4ZXh88L+tdYoOVTZ/TPGfqiCoz1hkeVSYPw0UpPTpv3U4ZA==
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=ZGYq8uwdTWi4pSW54VONeC5uGDHuqDsKhotUdjhNSZ0=; b=imhEI+br+sbXxQ8qciYwB5lrGExgZWtYIARUYeXiBE5Se6I1a1pfbnZOTwO9SNUDOHhX2MWBMK5CnWr9PimQmK04A1n6HxeSI3FoW5j+xnmeIL5OIub7zBkq6wtFZreWuUbxX+8UUtSmcxYUR07656C1CgAMCMoWR//DbB3AubA+VWBizUz8TiwoR7soR+qI/uN3fmm8sqc+xVw36l6JebjCjlfa6UtobCEnRBHw2BSMVVOhC+2DOox2Cf83UHFfv60ICp3MpTCo5xVvPSb4Hlx0YqRNJv0TAcGGfYjJCRZCXp58MSdYTElQh5zAXfYifUgPTEiR2bUafDvFTmwQGQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=uclouvain.be; dmarc=pass action=none header.from=uclouvain.be; dkim=pass header.d=uclouvain.be; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uclouvain.be; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZGYq8uwdTWi4pSW54VONeC5uGDHuqDsKhotUdjhNSZ0=; b=ShAKq8JYm+9o+U/XBvIHpj1VhZS/mOAYGGeTDyes/WqFlf410Icwo4OsPV0wC2lwhCp+eTu8iEb7tp3OmpCsxCLAhuaClkXLeC6n4EXEi9A3KrHXLnBKVEP3HjnkRFD8Wglm+VLpG9fiJVQ7UDXXqv/nTbGq8l89vzbH0PIFfOQ=
Authentication-Results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=uclouvain.be;
Received: from AM7PR03MB6642.eurprd03.prod.outlook.com (2603:10a6:20b:1bf::6) by AM7PR03MB6673.eurprd03.prod.outlook.com (2603:10a6:20b:1b9::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3433.35; Wed, 30 Sep 2020 10:28:14 +0000
Received: from AM7PR03MB6642.eurprd03.prod.outlook.com ([fe80::1cd6:a808:56a3:e868]) by AM7PR03MB6642.eurprd03.prod.outlook.com ([fe80::1cd6:a808:56a3:e868%6]) with mapi id 15.20.3412.029; Wed, 30 Sep 2020 10:28:14 +0000
Reply-To: Olivier.Bonaventure@uclouvain.be
Subject: Re: Preparing for discussion on what to do about the multipath extension milestone
To: Lucas Pardue <lucaspardue.24.7@gmail.com>
Cc: Matt Joras <matt.joras@gmail.com>, QUIC WG <quic@ietf.org>, Spencer Dawkins at IETF <spencerdawkins.ietf@gmail.com>
References: <F0A5E38D-4117-4729-BFF8-72D97CAA9908@eggert.org> <CAKKJt-e=+XLZhNWqaG9YSLTRqyQRvDc-dagUSkFwHOByFwZ++Q@mail.gmail.com> <78651438-2fce-ba67-4f44-4228bbc79a75@uclouvain.be> <CADdTf+hOACZ1x=d8SV-aX0f3vc+_fyqTziRqi5gi+nJgppaz8A@mail.gmail.com> <1ada66fc-61b1-c541-8a25-afbc7c978940@uclouvain.be> <CALGR9oZzi=Ucf54xZxcy4Qfc3Q6JWuxjv5jxwR41JaEUHkcXZw@mail.gmail.com>
From: Olivier Bonaventure <Olivier.Bonaventure@uclouvain.be>
Message-ID: <1e9119a6-ef0a-ebe1-8925-e0ff0d6ce9aa@uclouvain.be>
Date: Wed, 30 Sep 2020 12:28:13 +0200
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:68.0) Gecko/20100101 Thunderbird/68.12.0
In-Reply-To: <CALGR9oZzi=Ucf54xZxcy4Qfc3Q6JWuxjv5jxwR41JaEUHkcXZw@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Language: fr-classic
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM4PR05CA0036.eurprd05.prod.outlook.com (2603:10a6:205::49) To AM7PR03MB6642.eurprd03.prod.outlook.com (2603:10a6:20b:1bf::6)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
Received: from mbpobo.dhcp.info.ucl.ac.be (2001:6a8:308f:2:e98c:ad51:86a3:11b3) by AM4PR05CA0036.eurprd05.prod.outlook.com (2603:10a6:205::49) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3412.22 via Frontend Transport; Wed, 30 Sep 2020 10:28:13 +0000
X-Originating-IP: [2001:6a8:308f:2:e98c:ad51:86a3:11b3]
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 11ec3b7d-0e97-4941-de55-08d8652b898d
X-MS-TrafficTypeDiagnostic: AM7PR03MB6673:
X-Microsoft-Antispam-PRVS: <AM7PR03MB667377BCEBF59FCEE85D27CA86330@AM7PR03MB6673.eurprd03.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: OAIaTpYZ17GIEpcyVHKzx31o2pjBbrMluNOKKuFQuzPPDLHYpXPfM+c8hJsV794tfbR19IQfjYajZQst/k4A/r8BTn1VwU+0TNpcLdaBdU5CJXx1xEj7cozOVdkBfrwCzhz4eaIzF9VOWxZDCoY6Gi9hhOPgd6DdQHgIUH3F7DoMvasKyl9UUkKmSr4ndWpICLiK+qzmnWjBv2VZvRxzRYvDCVYryNet4oLx+5rdiuAvs0jU+gif6hlFQwVOXmJC7s7BXBxeLgNPgg4+QZxGfM5cuvFrRZ+pJZH7uFw/1OHfDbHDyvplVT5tOx2IVkCxrQUpDAPlNOTY4GeOnG4I2oyhY3hf2k09eVhV0+FHhUVWDTXXir6RzYAS7SgEHm4JEs55bOLJeYXvs/gCyEB8i5+opUcGWo2pd3I5lOfN/tamQUjNcaDcx+MN5gBT1V6j303lObN54HSIW1oLo8M9Lg==
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM7PR03MB6642.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(136003)(39860400002)(396003)(376002)(346002)(366004)(83080400001)(36756003)(31686004)(6486002)(8676002)(5660300002)(966005)(6512007)(6506007)(83380400001)(31696002)(8936002)(2616005)(316002)(478600001)(66476007)(66556008)(66946007)(54906003)(4326008)(52116002)(3450700001)(786003)(6916009)(16526019)(186003)(86362001)(2906002)(43740500002); DIR:OUT; SFP:1102;
X-MS-Exchange-AntiSpam-MessageData: H6JfrhituFXHG6l6jo/g4TJ2XYUcFeSNpx5hPqlkkP6DwQHdDgZmRgh1SH28g2N4L2XPTt8wMc8l3YkdOJzvgvtULYUEvh7rm9CxejzS7cCbS39H5sxHXslqHkbeav/rieSpU0ntRivMDYuNOTrHiJsV3p4UUbB9+xnKSKW6O4h+5ivlbka0QzZxXKPpQVJbNDoOqwNDUTnEjedNBjEIr5AG75uMyna9vNMUKWDJjc+4plbTRR1ZKkf085kscrxcSwH/iTFAJHL+aIl7ztQkfBgHRnboficXIOhn7upoF8pZNiWbdiCbskkpGUg7UZjkC2ne4PVmtNnYTJo7+nyloaGmMlB9qUUwdnAkZV6CWM1hd2VGpg4dHFwvIlIvRSlMfnySAPjgTQYvLd2N5Kk+K/Pe5jO9Ov+eIfuxFK2NJDAQs2GPAZZK3tV413HQSlb1oicpNYbFHOvjlegSGyx2p8b8ePm7eufKYwjCSQucmpPQpI18GmH1Oj+x9IKDQwwABqhMk2t2u5kEhNAnSOlBtYKQtoza6xAhZorghJ4gTW0We5+yNdjcj8zYqe1P9fUbqrtffYzpoMMoM9ZZVNGeXgs8cDKZQjCGdGATcAXxwBVJWfhdZtYOwQNjO1zTXyGvZVZEHcY07MWmRG9gdzif4l4VSJP3KFLUFNj6+XVCJcQ/QZS/sgwUKq9AqsMkMl9vMxRevWSdezsW99jU7pr2AQ==
X-OriginatorOrg: uclouvain.be
X-MS-Exchange-CrossTenant-Network-Message-Id: 11ec3b7d-0e97-4941-de55-08d8652b898d
X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6642.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Sep 2020 10:28:14.0412 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 7ab090d4-fa2e-4ecf-bc7c-4127b4d582ec
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: G24Tz7YyDfU7OxURAwTxmh41yPEysWRmc5vRnYZDGc7Mf6SsyVXOTDeNpJsv8avgeLnJM1ItU3PCgAOVskd10cQiKJ4IxXPJaAum6wmvkH3DNQRVgtqrVglt0z2CtsHX
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR03MB6673
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/Ec77bubRPssEH6irz-BCglGc_2g>
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: Wed, 30 Sep 2020 10:28:19 -0000

Lucas,
> 
> As an HTTP/3 implementer, I believe it to be the best example we have of 
> a protocol that exercises the generic transport capabilities. 
> Particularly stream multiplexing, HoL avoidance, synchronisation across 
> independent streams, sensitivity to iwnd and cwnd, and large transfers 
> in both directions.
> 
> Yes, there are other application protocols. But I am not aware of ones 
> that can so clearly demonstrate impacts of stream interactions. This can 
> be in the form of user-perceived performance or industry metrics such as 
> Web Vitals [1].
> 
> HTTP is also a good example of a widely deployed application semantic 
> that has been implemented across different libraries that have different 
> design choices. This is an important consideration for the 
> prioiritzation work because we need to consider what information an 
> application is able to access from the transport, and how the 
> application may/may not govern over transport behaviour. QUIC transport 
> defines a set functions on streams that an application can rely upon 
> [2], how does MP-QUIC augment that?
> 
> I'm concerned about generic transport capabilities that cannot be 
> reasonably used by applications without deep integration or layering 
> violations. So it would be very useful for me to understand how a piece 
> of HTTP server software (as an example of a real, complex application) 
> would leverage MP-QUIC.
> 
> [1] - https://web.dev/vitals/
> [2] - https://tools.ietf.org/html/draft-ietf-quic-transport-31#section-2.4

MPQUIC would provide the same streams abstraction as QUIC, no changes 
are required to [2]. To support multiple streams a QUIC sender needs to 
include an algorithm to decide which data frame (from which stream) 
needs to be sent when there is a transmission opportunity (congestion 
window is open). MPQUIC is similar, except that it needs to decide on 
which path the data will be sent. We could expose some information about 
the different paths to the applications, but I don't think that this is 
required. A MPQUIC implementation will select the utilisation of the 
different paths based on policies that typically depend on the use case 
and the deployment model.

Different policies can be defined as different QUIC implementations 
might use different congestion control schemes or different stream 
schedulers.

Considering your HTTP server use case, here are a few possible policies 
and their impact on MPQUIC.

1. Consider a dual-stack HTTP server that wants to use the best 
performing path between IPv6 and IPv4. When a client connects over IPv4, 
the server advertises its IPv6 address and MPQUIC automatically starts 
to use the two path. If one is significantly better, traffic will move 
to that path without any involvment of the HTTP server

2. Consider again a HTTP server that serves customers in rural areas 
where DSL and 4G are slow and in cities where fiber is deployed. When 
smartphones connect, they advertise to MPQUIC their WiFi (attached to 
DSL/fiber) and 4G addresses. MPQUIC can be configured to only accept a 
second subflow over the 4G if the primary one does not perform 
correctly. With MPQUIC, the HTTP server would aggregate the 4G and DSL 
bandwidth in rural areas while only using fiber in cities.


The main benefit of putting multipath inside the transport is that the 
application does not need to handle the problems that occur on any of 
these paths. The transport has access to round-trip-times and loss 
measurements and has all the information required to manage the 
different paths efficiently.


Olivier