Re: new draft: RELIABLE_RESET_STREAM

Mirja Kuehlewind <mirja.kuehlewind@ericsson.com> Tue, 20 September 2022 16:16 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 4B4DEC14CF06 for <quic@ietfa.amsl.com>; Tue, 20 Sep 2022 09:16:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.679
X-Spam-Level:
X-Spam-Status: No, score=-2.679 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.571, 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, 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 (1024-bit key) header.d=ericsson.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 Z08BXLF76SC7 for <quic@ietfa.amsl.com>; Tue, 20 Sep 2022 09:16:35 -0700 (PDT)
Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-eopbgr10088.outbound.protection.outlook.com [40.107.1.88]) (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 21CD9C14CF03 for <quic@ietf.org>; Tue, 20 Sep 2022 09:16:34 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Sp2nP3rmbZu6mtAJMf8vYueXZcrnBPMtlRpD+UR9DMPvjHdLO7XZasn/fleCrJl+kRvCEYlniwiii5NjAwMrtpIjyFIcjVir/6LD32B2vppiizMZ/qzejE6GlcZDYvXUf2T44O4/Y4EKIAhgY+lrzzq0mexlIvaTChU3vOryfENB8RijTI4FoPbCDDTuLq3noTzaJi8zYz5fpIQq0p46RQ/uqyNTQ1FXObxkl/cSyJfaIKD0bz1qGG5KRccpdZ2VmHm04rKgb+dW1ITlAns7YvSi2kpIWj5SJKPDyIJw+dkgxMHX+nBD+oxHseOjBwF0wJP/GNDBxpEmjQ/wkMR6mQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=h818IWUf7IEwzDvXMgd6lyhrG8cWGsFAqNxCybR+WBE=; b=FReryyXUOJXG//yMHfb4nGuWhgXpA6ZUY3s42kIZPIP1oZ7bIWemsf2Tty1ef1pCyh2nPlvcbFvLWM7AMktDExlHRZkRfDx3I5LT0Z2ei+cRTANXPISUB+9syN9L4+bqlKWaqon/AS+q+70mkPUe4QPoxvKBjTgN/YooHPTbb0vf2ArNycyL3t649EHwlKZy5H8CKPCsVG9u9AESvty+rMbdrzqv1Lo82QGUDzMD8fbBNJgCfheP19Ao6JL/+rfFqza0cwJ7eGoWA1gOL+X1w3QqrzgFnTLzqzLhxTC2dgqC0bQ3IMpb5G9WE6xrX9ImTH6WhXzv2TkHCdmTjZ0lYA==
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=h818IWUf7IEwzDvXMgd6lyhrG8cWGsFAqNxCybR+WBE=; b=FCtArAEcDSp4QFOk2r8iwG5OE1cZnDJx2d5pjpS4W7iM/CC5Taiog9gPGm90Hucc3VFq9X5aeLMgLiIhuf+gyH8G+vGCcWYJKn3HgLIIRYr+8t/HPnw76KsqI36C1O5SaWOKNp4lBWJcXQsOnr2LRDDeawqnygdUSs6RhzqN840=
Received: from PAXPR07MB7806.eurprd07.prod.outlook.com (2603:10a6:102:13a::19) by PR3PR07MB6665.eurprd07.prod.outlook.com (2603:10a6:102:6b::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.14; Tue, 20 Sep 2022 16:16:31 +0000
Received: from PAXPR07MB7806.eurprd07.prod.outlook.com ([fe80::2aa8:a5e4:f497:7049]) by PAXPR07MB7806.eurprd07.prod.outlook.com ([fe80::2aa8:a5e4:f497:7049%3]) with mapi id 15.20.5654.014; Tue, 20 Sep 2022 16:16:31 +0000
From: Mirja Kuehlewind <mirja.kuehlewind@ericsson.com>
To: Marten Seemann <martenseemann@gmail.com>, QUIC WG <quic@ietf.org>
Subject: Re: new draft: RELIABLE_RESET_STREAM
Thread-Topic: new draft: RELIABLE_RESET_STREAM
Thread-Index: AQHYxCcbWFOy942tmECOV2loZ78zsa3osegA
Date: Tue, 20 Sep 2022 16:16:31 +0000
Message-ID: <CE1479D5-4B98-4B37-999A-E60B580E7F2E@ericsson.com>
References: <CAOYVs2rQWUbd02jz7ywDi1xcx30wD1PSf-GRi3ZrPmGnXouy2A@mail.gmail.com>
In-Reply-To: <CAOYVs2rQWUbd02jz7ywDi1xcx30wD1PSf-GRi3ZrPmGnXouy2A@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/16.63.22070801
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=ericsson.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PAXPR07MB7806:EE_|PR3PR07MB6665:EE_
x-ms-office365-filtering-correlation-id: 0c769737-0828-48dc-09b9-08da9b237acd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: RFACKDiJ9y8mWQ1UOsAyGQQv8pB04R86ODhT7rv6xmQdTeCo3YiBdfO8fc4dCC3TQWzu7DkTD/wm63SluMtMYEz6RVza0VBc0dZsxRBKheuK0vdpROEDAoyr4Y8nsFslgykO6crBnH8gME8BUHuML4ThdzqxHyYOEGG0UpQCUFK+u++QPWb6ILRmSJ+YQHNTOIYJv9xdjjWv6T18PIAoOoP9mxW5fJXlYkSnvwupJHOXbA0b1T57MvFTo+er5Wz7kATELAnV1SNXdwXM5R6u/n9amkM3I+q11jlO5InrRRjEZwHpUUBoYGOWKyS0Md95OCGN7h/ERjtg1x4AA/9dhj33uln5vBVv7/EMxogr0aVzk2yEZTl2ImuMBLZx8cV0PG9qKfKRHjjAJ7MsAbvjNXPes5N9VJA7PpyeJb+3En9ou8NcNADmqxZgpF95pEVKA6EKiZ7B+9GX+mHESxFSxeEzTlzwUaqWV2wmroQ86O62oFqsXsvbOsBLJTAsyymP4V4qZNgFf0lHLXp8EgmoiURHuxfwhLFiUBBKPFSAFP6bXMGan7dhPk7PzmmPLs0xWHvBjQodHvqYUldJyRYsQmpCh3lEqPgBs6ruRijnW12/iaJ/zHq3j45cyVIKBUMve8jiH7TwF/UzYjGWLPUKHKqYYpOSQOkobVh0qTDpu6h8U+q13kTWuE2YqQGjdqOlGESUCMPc/bOnIs3zUclUUW6RAY7H22cDtja82A3cuYB9ShgDbPkC7U+kvIlniIBrkkvZl+VLH3wNaS2lHfzZR7BLJEoMr42pw5UZP7vY1uv+jPeW68andhsFfrmT3Tr/
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PAXPR07MB7806.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(376002)(366004)(396003)(136003)(346002)(39860400002)(451199015)(8676002)(166002)(38100700002)(82960400001)(26005)(6512007)(53546011)(71200400001)(478600001)(6506007)(110136005)(66556008)(122000001)(38070700005)(316002)(966005)(6486002)(83380400001)(5660300002)(186003)(44832011)(2906002)(66476007)(8936002)(76116006)(41300700001)(66446008)(91956017)(66946007)(64756008)(2616005)(36756003)(33656002)(86362001)(45980500001); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: iybk6ddt0UAPDU9JcuHxYuNfG8kmVZZ/a7Prb+i+g0GbZT4ZJf+1z1+jJ0zokIXiN2WQ0n8SNBv3hAxdUPedkevEKlWa2Di4+WauV1T/FV9qzPobR6XyLLJfMlCxBWzsfbn+wn8BvCxySCNNqwWwvrjVgaQGOyt3eP2dQbvvyxWp8zcDmsAaUHIFrrkfKHQy6PsNK2aZEsRoyGbReiCkCwK0JfafcoRhTNCN+u7yIuO/t194gm/pD6dWSknpn5MQnulrUz3VbljY5wkez6HvSor+x/PvB5cmpv8pBjrZb9tm5SQoIM8eKZmHaNOyVysWmNTc7ReJuzshdjriQE3SKpcFgFnR1fnvRUMfQ0Ai+ZrTHlCGPXYhjgphJqaKnQcunoC67KNzOhuVZA1YqvHCs2fqzzmTuJAP/Y+XjNlMbBO2DWk+A28sHEzEP3muYEWH9BY3LA3xKWdy5CKvMq0wSiwmscBPgTBbPjGEbiI4lixRH2TVyDjySoOKRzqxWi6L7/SKK4MpSdzy9S4le12g0ksRYTmyvK/WOnHtafyw1YOyeRGrxeRm03neoZU91GcobNrdckPkSFQylzN7lRE8R0bYmibqbPdeYASYrUSQyAEVb0rzGs8AO6Wy1jj1iz+92NTpoOQCuFgFGVU8hPLN8b6+ssDhgMpEMl5sd8pDz0NxxRW12yUZQ0Ka1g3fkxN8X1c7r/kkJkazQyxSf3x1mykvMsLCLspJ8wtLZ33tW71J3/HDdiB2NLm6EsKUFX3ELn5lpwln5t2CXxGXjILqQUuQ4QZjx0qk2fbRYPLP2jzHy8iJd/LdYntkMWfZUxwaO5KaA7bMYYWITNEr56VNW9EgWZtkiifA56SnjmljEgE9z5jWU7eCh+S21hKQfCpuZy6dneC4/pXThgKtQbUaREU9WT4XUZb+gfittI80fMvaTzK1h/ketzHokivWiDlW13LxfDDbZKRnovd4Fnn6udpeb9m7MUPhZKVw18w2TW52lG0xwa5PodQ2wRnwNPrTwRhqIC9mk20syyvywqzkdVrSO0JkEfqyi113msNwtBfu7hyZPf4RbndDho/mrvAnfL/K7o/sPW4DiICorKSO3KJVbz180weH0wN6pUsi+kn8tepAqF1OlbkY4mpy+AdgaqM0jm1L11NpS+1QlfUMpW49QoTcWxxBLYzL2JRJYFvm0ixireBEPHtyXmAKPY8FipQQ7WWMzqcE0DRvk1+B9XwPdWQWzO7788uINuCDQ4jx2my3BQekNYch6Q+l8XvC6yMI2FGKI3GuKDO/JCxI51Ieu+laI3/asd+61n4XcOC1gAb/mn2uWWpqkb+vdw5+G+YvqFIuNDbbFs8IjaF2ZRoRv2FwZZUg9J7n+L9vr4280/u2wwiQdeCkYjcz9A09DcyyKbp6dyuuq+PnqcttdG1/sSAyXpbPMOplozo7I51LtWIQhprkUfAwt63oUUnMzEjsd5A6BOLQ04LE8sXo2tAREDc+GUygPT1offJOmS/5fZColZTp6troC9vwoNG76s4QQLXwWwkkazh8OFnrUAORsYvUquKrAHmM1lUYwP7aEAxEroOlFxMGVzNFykZV1fnc/feXHexVr18X09hg3WJhuV+R8KvMD7T4CPT+YWY=
Content-Type: multipart/alternative; boundary="_000_CE1479D54B984B37999AE60B580E7F2Eericssoncom_"
MIME-Version: 1.0
X-OriginatorOrg: ericsson.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PAXPR07MB7806.eurprd07.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0c769737-0828-48dc-09b9-08da9b237acd
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Sep 2022 16:16:31.2451 (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: A2d7kOBsfqDQ1782kTUC1A66D11NBAledXj08Y1AUZQwctswTjWsoYWc6jjkhNrahvI7gvY6hMiXNeaP4tIqirH2kwtIiT/B58sf11nJX+Y=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR07MB6665
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/dbzhjdUJHs9Mg6QZiG9wj3Hc1H4>
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: Tue, 20 Sep 2022 16:16:39 -0000

Hi Martin,

just two quick questions because I’m not sure I fully understand the proposal/scenario:


  1.  How can you guarantee that any data can be delivered reliably if the sender is indicating that it won’t retransmit?
  2.  If the sender sends the reset before any stream data is ever delivered to the application, why do you still need to deliver the session id (given the stream will never be used)? Or maybe asked differently, why is the sender sending a reset at all?

Mirja



From: QUIC <quic-bounces@ietf.org> on behalf of Marten Seemann <martenseemann@gmail.com>
Date: Friday, 9. September 2022 at 10:35
To: QUIC WG <quic@ietf.org>
Subject: new draft: RELIABLE_RESET_STREAM

In RFC 9000 we defined a RESET_STREAM frame. When a stream is reset, the receiver may deliver the reset error to the application immediately. On the sender side, lost STREAM frames won't be retransmitted.
When building applications on top of QUIC, it is a common pattern to send some kind of identifier (an ID or a string, for example) first, to allow the application to route the stream to a subpart of that application. For example, WebTransport sends the Session ID of the WebTransport Session. Outside of the IETF, I've used something similar for layering various applications on top of QUIC.

When a stream is reset, the receiver might end up unable to associate the stream with the respective subpart of the application. This is problematic, since
1.       depending on the application protocol, a reset of a stream might carry application-layer semantics, and
2.       the RESET_STREAM only closes one side of the stream, and it might depend on the (sub-) application how the other direction of the stream is handled
This problem is not unique to WebTransport, but occurs for every application using some kind of stream identifier. It might make sense to design a solution at the QUIC layer.

I've just submitted a draft that aims to solve this problem: https://datatracker.ietf.org/doc/draft-seemann-quic-reliable-stream-reset/
It defines a RELIABLE_RESET_STREAM frame, which is essentially a RESET_STREAM frame with one additional field, the Reliable Size. The sender of the RELIALBE_RESET_STREAM frame commits to (re-)transmitting stream data up to the Reliable Size reliably, and the receiver delivers data up to that offset to the application before surfacing the reset error.
In WebTransport, you'd set the Reliable Size such that it covers everything up the Session ID, thereby making sure that any stream can always be routed to its WebTransport session.

Obviously, there are use cases for this draft beyond the reliable transmission of just a stream identifier. One could imagine an application protocol that would benefit from being able to have the first part of an actual application-layer message being delivered reliably. I'm happy about enabling those use cases, but I've avoided making this draft more complicated than necessary by accommodating the more general cases.