Re: [quicwg/multipath] separate Path IDs from Connection IDs (Issue #214)

Christian Huitema <huitema@huitema.net> Sun, 12 November 2023 02:02 UTC

Return-Path: <huitema@huitema.net>
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 DCA38C151061 for <quic@ietfa.amsl.com>; Sat, 11 Nov 2023 18:02:39 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.906
X-Spam-Level:
X-Spam-Status: No, score=-1.906 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id EBbdQ18gPhag for <quic@ietfa.amsl.com>; Sat, 11 Nov 2023 18:02:36 -0800 (PST)
Received: from out15-27.antispamcloud.com (out15-27.antispamcloud.com [185.201.19.27]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E0A28C14CE30 for <quic@ietf.org>; Sat, 11 Nov 2023 18:02:35 -0800 (PST)
Received: from xse106.mail2web.com ([66.113.196.106] helo=xse.mail2web.com) by mx198.antispamcloud.com with esmtp (Exim 4.92) (envelope-from <huitema@huitema.net>) id 1r1zns-0081bF-ST for quic@ietf.org; Sun, 12 Nov 2023 03:02:34 +0100
Received: from xsmtp21.mail2web.com (unknown [10.100.68.60]) by xse.mail2web.com (Postfix) with ESMTPS id 4SSbRK0g3cz5Rd for <quic@ietf.org>; Sat, 11 Nov 2023 18:02:21 -0800 (PST)
Received: from [10.5.2.49] (helo=xmail11.myhosting.com) by xsmtp21.mail2web.com with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.92) (envelope-from <huitema@huitema.net>) id 1r1zno-0008ID-Uc for quic@ietf.org; Sat, 11 Nov 2023 18:02:20 -0800
Received: (qmail 15249 invoked from network); 12 Nov 2023 02:02:20 -0000
Received: from unknown (HELO [192.168.1.105]) (Authenticated-user:_huitema@huitema.net@[172.56.168.158]) (envelope-sender <huitema@huitema.net>) by xmail11.myhosting.com (qmail-ldap-1.03) with ESMTPA for <billgage.ietf@gmail.com>; 12 Nov 2023 02:02:20 -0000
Message-ID: <fcf6f9f1-d731-4d19-af1d-d1bd96c1e0fa@huitema.net>
Date: Sat, 11 Nov 2023 18:02:18 -0800
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [quicwg/multipath] separate Path IDs from Connection IDs (Issue #214)
Content-Language: en-US
To: Bill Gage <billgage.ietf@gmail.com>, quic@ietf.org
References: <quicwg/multipath/issues/214@github.com> <quicwg/multipath/issues/214/1805954828@github.com> <c1fd4df9-20d2-4e31-99c8-a6565342b2cd@gmail.com>
From: Christian Huitema <huitema@huitema.net>
Autocrypt: addr=huitema@huitema.net; keydata= xjMEXtavGxYJKwYBBAHaRw8BAQdA1ou9A5MHTP9N3jfsWzlDZ+jPnQkusmc7sfLmWVz1RmvN J0NocmlzdGlhbiBIdWl0ZW1hIDxodWl0ZW1hQGh1aXRlbWEubmV0PsKWBBMWCAA+FiEEw3G4 Nwi4QEpAAXUUELAmqKBYtJQFAl7WrxsCGwMFCQlmAYAFCwkIBwIGFQoJCAsCBBYCAwECHgEC F4AACgkQELAmqKBYtJQbMwD/ebj/qnSbthC/5kD5DxZ/Ip0CGJw5QBz/+fJp3R8iAlsBAMjK r2tmyWyJz0CUkVG24WaR5EAJDvgwDv8h22U6QVkAzjgEXtavGxIKKwYBBAGXVQEFAQEHQJoM 6MUAIqpoqdCIiACiEynZf7nlJg2Eu0pXIhbUGONdAwEIB8J+BBgWCAAmFiEEw3G4Nwi4QEpA AXUUELAmqKBYtJQFAl7WrxsCGwwFCQlmAYAACgkQELAmqKBYtJRm2wD7BzeK5gEXSmBcBf0j BYdSaJcXNzx4yPLbP4GnUMAyl2cBAJzcsR4RkwO4dCRqM9CHpVJCwHtbUDJaa55//E0kp+gH
In-Reply-To: <c1fd4df9-20d2-4e31-99c8-a6565342b2cd@gmail.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
X-Originating-IP: 66.113.196.106
X-Spampanel-Domain: xsmtpout.mail2web.com
X-Spampanel-Username: 66.113.196.0/24
Authentication-Results: antispamcloud.com; auth=pass smtp.auth=66.113.196.0/24@xsmtpout.mail2web.com
X-Spampanel-Outgoing-Class: unsure
X-Spampanel-Outgoing-Evidence: Combined (0.13)
X-Recommended-Action: accept
X-Filter-ID: Pt3MvcO5N4iKaDQ5O6lkdGlMVN6RH8bjRMzItlySaT8Rg5j+/ibsXrQhRx+45GfrPUtbdvnXkggZ 3YnVId/Y5jcf0yeVQAvfjHznO7+bT5x6h2yQpzTslcOqazQkKtAFKj/EwzSHE5FGYwwjsNRPCF+i r4pimMUdVGL4H1XESZTmD6wdmZPcItWbGe10hXJtXL4FsauCVkDjmcYJdU3yWp7KuHNaaKdg7iBE ZefdsNUFWKwa/wzJUjmazeC7ImcaG8Ul/Shl+CFsEadmDdisuRQ6V51u76v35b1wNe/MvdKZlHtr fFmLbdTp+b3T+7/82+J9PgaoF8SQHto3le4zsHTaeQtlKubP6iUTjj6yPARK6buALVaA782LKxg6 vRmng8N1aLhXqdc+jC1RcnVud53D5caUhbVtvqItBqoizkEt9O20UjkwI0v+LOlw05G4BS+iyyNq bT8dUMXMJ4tUCMj6G37ZfAMLceP5aNHPt26RBupu5v1nytoNnc138GfEEIgtEXyXj6S3SDvReMcV 8TXUjLjYWQt1/5xnQymMoPsgr/U0flMcy2Vi/IcBgY4arPaiJ1W6hAyiRC61jekdwIcXNugoOEbH RyFULpSjm7iff8pZ9ure3k2YtJj4Q8Z7SSCLBRD49hM4/gncGGy3Ej6GIQTZictPPIjBhcqXZ+kY KJBuEudB6QUE1zIaHvKtoYYpy78/ZfTpWFqEVNffsiyZvdx3ZJDsPzrvEdt+b8mxX4OQOI/UQ6jn FfMBgzwOSHunMg5j/UO+IMRndiIcrtKQeNIu6KuZMEPE52BbWqTZcpPgEJKLbDyaC/LdLvvYzLdf GlAijLUKhlRFnVwvE/pVB9v9zY0h8asEYmbGGsJD9ySC20IzFkBtfP+lFUR4QCySh/H3/YleuYGz Kr4jsb13qFZSq8Fx+9otn0aqja8VKPqpdskk5LxBR/9t1zMMkdu6/R2FM84kxYRFSvC1IDg1BRW7 hzp8w3iHcOwbVtsmWfnQGGis4EvbR3jXsI0ESXwhBU2hwt/J18C+HygJl/jEzm1SsR8v3aJbN/NZ fa8pHhHaz+HPa0HAgEx4sWDF
X-Report-Abuse-To: spam@quarantine14.antispamcloud.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/_bVl7FAmukTQTFnRuBqWXganvpo>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.39
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: Sun, 12 Nov 2023 02:02:39 -0000

Bill, your solution looks very similar to the "simple multipath" 
proposal: 
https://datatracker.ietf.org/doc/draft-huitema-quic-mpath-option/. That 
proposal was incorporated as an option in the early drafts that resulted 
in the current proposal, see for example 
https://datatracker.ietf.org/doc/draft-ietf-quic-multipath/00/.

Much like stated in your draft, the simple multipath proposal allowed 
simultaneous use of multiple paths per connection, without requiring 
changes in encryption, connection ID, etc.

After much debate, the working group looked at the pros and cons of the 
two approaches. The main argument against the simple proposal was the 
efficiency of loss recovery. My implementation came close to the 
performance of the "multiple name space" version, within 1% for most key 
scenarios, but while this did not require changes in the protocol, it 
did requires quite a bit of additional complexity in the handling of 
loss recovery and acknowledgements, and there still were holes. For 
example, in the absence of per path acknowledgement, we cannot get 
precise estimates of per path timers. We also cannot get good estimates 
of per path ECN. Solving that would require adding new per-path control 
frames. Doable, but then we are quickly drifting apart from the idea of 
simple multipath with changing the RFC 9000 implementation.

The picoquic code still supports the simple multipath option. You can 
use it to experiment if you want. And I will be happy to give you details...

-- Christian Huitema

On 11/11/2023 3:01 PM, Bill Gage wrote:
> This document is in response to discussions of issue 214 in the QUIC 
> multipath GitHub: https://github.com/quicwg/multipath/issues/214
> 
> The current MPQUIC draft (-06) binds a connection identifier to a path 
> by using the sequence number of a connection identifier as an implicit 
> path identifier. To simplify implementation, the current MPQUIC draft 
> introduces the concept of multiple application data packet number spaces 
> with a different number space for each connection (path). This is in 
> contrast to RFC9000 where there is a single application data packet 
> number space.
> 
> Issue 214 proposed separating path IDs from connection IDs. This 
> document uses that separation of identifiers to propose a different path 
> model for Multipath QUIC using explicit path identifiers, enabling a 
> multipath management framework that retains the principles and 
> operations of RFC9000.
> 
> The multipath operations described in this document do not change the 
> basic operations described in RFC9000. In particular, none of the 
> following procedures described in RFC9000 are affected by the use of 
> multiple paths:
> 
> + connection management (e.g. the use of NEW_CONNECTION_ID frames and 
> subsequent rotation of connection identifiers);
> 
> + key management (e.g. use of key phase bit) and derivation of AEAD 
> parameters;
> 
> + packet loss detection and loss recovery (e.g. using type 0x02 ACK 
> frames without ECN counts).
> 
> However, changes to RFC9002 procedures are required to deal with 
> path-dependent characteristics such as path MTU size, RTT and congestion.
> 
> Cheers ...
> 
> /bill
> 
> 
> On 2023-11-11 5:49 p.m., internet-drafts@ietf.org wrote:
>  > A new version of Internet-Draft draft-gage-quicmp-pathmodel-00.txt 
> has been
>  > successfully submitted by Bill Gage and posted to the
>  > IETF repository.
>  >
>  > Name:     draft-gage-quicmp-pathmodel
>  > Revision: 00
>  > Title:    An Alternate Path Model for Multipath QUIC
>  > Date:     2023-11-11
>  > Group:    Individual Submission
>  > Pages:    14
>  > URL: https://www.ietf.org/archive/id/draft-gage-quicmp-pathmodel-00.txt
>  > Status:   https://datatracker.ietf.org/doc/draft-gage-quicmp-pathmodel/
>  > HTML: 
> https://www.ietf.org/archive/id/draft-gage-quicmp-pathmodel-00.html
>  > HTMLized: 
> https://datatracker.ietf.org/doc/html/draft-gage-quicmp-pathmodel
>  >
>  >
>  > Abstract:
>  >
>  >     The path model used in the current MPQUIC draft binds a connection
>  >     identifier to a path.  In fact, the sequence number of a connection
>  >     identifier is used as an implicit path identifier.  This has a 
> number
>  >     of consequences that may cause MPQUIC to diverge from the principles
>  >     of RFC9000.  One of these consequences, for example, is to associate
>  >     each connection with a different application data packet number 
> space
>  >     rather than maintaining a single application data packet number 
> space
>  >     across all connections as defined in RFC9000.
>  >
>  >     This document proposes a different path model for Multipath QUIC
>  >     using explicit path identifiers, enabling a multipath management
>  >     framework that retains the principles and operations of RFC9000.
>  >
>  >
>  >
>  > The IETF Secretariat
>  >
>  >
>