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

Bill Gage <billgage.ietf@gmail.com> Mon, 13 November 2023 17:08 UTC

Return-Path: <billgage.ietf@gmail.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 2F695C152574 for <quic@ietfa.amsl.com>; Mon, 13 Nov 2023 09:08:35 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.105
X-Spam-Level:
X-Spam-Status: No, score=-2.105 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, FREEMAIL_FROM=0.001, 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
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 eSP6Z6q3aLzT for <quic@ietfa.amsl.com>; Mon, 13 Nov 2023 09:08:34 -0800 (PST)
Received: from mail-qv1-xf2a.google.com (mail-qv1-xf2a.google.com [IPv6:2607:f8b0:4864:20::f2a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 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 62089C1522D3 for <quic@ietf.org>; Mon, 13 Nov 2023 09:08:34 -0800 (PST)
Received: by mail-qv1-xf2a.google.com with SMTP id 6a1803df08f44-66d2f3bb312so28542596d6.0 for <quic@ietf.org>; Mon, 13 Nov 2023 09:08:34 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699895313; x=1700500113; darn=ietf.org; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=EsdD6ytde3lRHuiqz2eaTINAqc7p0KGpsEbxReaVGDQ=; b=jEfd3p3JtbbcPRRszrOOERHgSRrTOP7J4VD4CEokoWNmfo04BS3NW7/M1gli6nxSxQ SiOyOO0MFtQK15kqw3uEj5DFDu2bBh5etYPLjhTjqmhASCQpZrxTVO2GOtiY4objQk/S wxzOlwT0DVLZvBTGaj+AKG3/SY9JiyWDpv4DGxOjACO4s3smLpeyFD653/HsG+xpi5mM yXn6gK2TZIu0lmEtmIFP10Co4y6iUD78hpOuZpepv5q3uoEidJjWVZboQlbrGkO0DBvs Hk4hNbWfGGl0Qd0IPyX+TojHq0DyHoacQNtGrkRaMy5ltQ1TR1MMU7fLkFi8njqR+Sqw NQqA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699895313; x=1700500113; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=EsdD6ytde3lRHuiqz2eaTINAqc7p0KGpsEbxReaVGDQ=; b=j7zvYciRyLjBeO61gZWx+PnD5PK74KxG/LjD8hUqJchO7JVIvYfaL7ZW8KqnB+q2UA LJ9hQH2Z8iB6Kx4iK/wGegktka+lS7B3zj6EyFB8NL/C4tDnnI4lVj/ERVr+j2CeVtov 4VSOdzI01aUCFy2yxaaEhDLTJDbNxEO6FN5RkLD4WRkKckS6W+D1q+qMirGBaekxYfNC cWdYMWk9uo+CwpXJMb+FQvGcsAbUYYFUhFemYkranj8UltFDiP6hC6g4IpddRJFaQN9H +SLuBSDygvTTDqonB8MSdr23RmWKk4qR26HkitAUEVZue/kb+nfbzGp4UthhC/zXqOkt fo/Q==
X-Gm-Message-State: AOJu0YwUAn0RJoQ8ESg9WMQX1lT994m/AqIRCrjGVqqiZG4RfRh4jAR7 kAn4F9MT0cW+EUOqjfkigoOHMm+O4gRcXw==
X-Google-Smtp-Source: AGHT+IGzMFW3gVrOom99zQK+IsTYlZSd9hfufitBHL2PctlcRTLe/TagbYKTUdXOi4oKOJTHE+C6Qg==
X-Received: by 2002:a05:6214:9d4:b0:672:ab2:da04 with SMTP id dp20-20020a05621409d400b006720ab2da04mr7015725qvb.24.1699895313045; Mon, 13 Nov 2023 09:08:33 -0800 (PST)
Received: from [192.168.2.57] ([70.26.168.41]) by smtp.gmail.com with ESMTPSA id a14-20020a0cc58e000000b0065d89f4d537sm2202529qvj.45.2023.11.13.09.08.32 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 13 Nov 2023 09:08:32 -0800 (PST)
Message-ID: <55f7095e-7ebb-4e55-b0d9-fc81d6023651@gmail.com>
Date: Mon, 13 Nov 2023 12:08:24 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [quicwg/multipath] separate Path IDs from Connection IDs (Issue #214)
Content-Language: en-GB
To: Christian Huitema <huitema@huitema.net>, quic@ietf.org
References: <quicwg/multipath/issues/214@github.com> <quicwg/multipath/issues/214/1805954828@github.com> <c1fd4df9-20d2-4e31-99c8-a6565342b2cd@gmail.com> <fcf6f9f1-d731-4d19-af1d-d1bd96c1e0fa@huitema.net>
From: Bill Gage <billgage.ietf@gmail.com>
In-Reply-To: <fcf6f9f1-d731-4d19-af1d-d1bd96c1e0fa@huitema.net>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/IGTC3ZiGqlz-ZtrQ3rHN3t0q5do>
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: Mon, 13 Nov 2023 17:08:35 -0000

Thank you for the pointer to your earlier work - there are indeed many 
similarities.

As you noted, one of the biggest problems in these proposals is loss 
detection and recovery, particularly the determination of a viable PTO 
interval due to the different RTT observed on different paths. [see 
sidebar below]

As you also noted, these problems are solvable but require the use of 
more sophisticated algorithms that make the implementation more complex.

It appears that the current -06 draft is the result of  trying to 
simplify the implementation but at the expense of diverging from RFC9000 
in some pretty fundamental ways. I'm not sure that is the right direction.

I would advocate for an approach that preserves RFC9000 procedures (such 
as those listed below), provides extensions for managing the use of 
paths, and provides a toolkit, through extensions if necessary, that 
implementations may use to deal with the different characteristics of 
different paths. The toolkit may, for example, incorporate path delay 
measurements into the multipath protocol using extension frames, similar 
to https://datatracker.ietf.org/doc/draft-ietf-ippm-otwamp-on-lag/. It 
looks like your previous implementation experiences could contribute 
greatly to that toolkit.

Perhaps the drifting away from RFC9000 that you indicated below was the 
result of trying to reuse QUIC connections as the basis for multipath 
operations rather than addressing  path management separately from 
connection  management?

Cheers...

=========
[As a sidebar I will note that the examples you give in your "simple 
multipath" draft, which are echoed in the current -06 draft, cite the 
use of geosynchronous satellites with 1-way propagation delays on the 
order of 100 msec. Non-terrestrial networks are moving towards the use 
of LEO constellations and high altitude platforms where the 1-way 
propagation delays are on the order of 1 msec and 0.1 msec respectively. 
This, of course, does not include delays resulting from forwarding 
to/from ground stations and over inter-satellite links.]

[I will also note that the use of multipath for increased throughout is 
becoming less of an issue with each successive generation of wireless 
standards. Other use cases for multipath - both wired and wireless - may 
eventually dominate.]

/bill


On 2023-11-11 9:02 p.m., Christian Huitema wrote:
> 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
>>  >
>>  >
>>