Re: Reliable Stream Resets: Requesting a Reset at a Specific Offset

Mathis Engelbart <mathis.engelbart@tum.de> Tue, 10 October 2023 17:54 UTC

Return-Path: <mathis.engelbart@tum.de>
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 9648BC15152C; Tue, 10 Oct 2023 10:54:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.198
X-Spam-Level:
X-Spam-Status: No, score=-7.198 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, NICE_REPLY_A=-0.091, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, 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=tum.de
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 UXTb_NkUSx7T; Tue, 10 Oct 2023 10:54:48 -0700 (PDT)
Received: from postout2.mail.lrz.de (postout2.mail.lrz.de [129.187.255.138]) (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 EAF1AC14CEE3; Tue, 10 Oct 2023 10:54:47 -0700 (PDT)
Received: from lxmhs52.srv.lrz.de (localhost [127.0.0.1]) by postout2.mail.lrz.de (Postfix) with ESMTP id 4S4k7S5DnMzyXQ; Tue, 10 Oct 2023 19:54:44 +0200 (CEST)
Authentication-Results: postout.lrz.de (amavisd-new); dkim=pass (2048-bit key) reason="pass (just generated, assumed good)" header.d=tum.de
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tum.de; h= content-transfer-encoding:content-type:content-type:in-reply-to :from:from:references:content-language:subject:subject :user-agent:mime-version:date:date:message-id:received:received; s=tu-postout21; t=1696960484; bh=NREHjwlVdLosSosFc7GQn1STEjV7Kr N6gZu2uk8VEAo=; b=SNlEldpekBci6gv6Or8ltrs5IA0EdQiVVJYG/oDvqDJfmo 7QH7UOFhmekQgjYfO/PleEx13LBhKeQeovDn5Plc5VK+O3p7+PTCvfK99M797hnk 3sWmp1SiwbSr/QGYfrCvKNFbmh/pVkyZ2ti2tMjr2xDXSWcljOQiG1PJ4SUF88Ek CczzfEYWUXpReGB15+PfadyHdfyBu1dBkX5vAKbpO6cJ33l6NW1lwetKNouPCapN oA/k5dWsXu+0sehCiY23A3rhu+vB/B78HABmFOoFgWirQbVV1gqPUDtSkDN8sBrc 8ElHcMYazW5kXY98bCFch2nYra3h+b98EEFw/mXw==
X-Virus-Scanned: by amavisd-new at lrz.de in lxmhs52.srv.lrz.de
Received: from postout2.mail.lrz.de ([127.0.0.1]) by lxmhs52.srv.lrz.de (lxmhs52.srv.lrz.de [127.0.0.1]) (amavisd-new, port 20024) with LMTP id 3JnuPfyePRX5; Tue, 10 Oct 2023 19:54:44 +0200 (CEST)
Received: from [IPV6:2003:ed:a70f:500b:9ede:8f79:91ff:be78] (p200300eda70f500b9ede8f7991ffbe78.dip0.t-ipconnect.de [IPv6:2003:ed:a70f:500b:9ede:8f79:91ff:be78]) (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 postout2.mail.lrz.de (Postfix) with ESMTPSA id 4S4k7R6tpGzyVk; Tue, 10 Oct 2023 19:54:43 +0200 (CEST)
Message-ID: <fe1d8341-d511-8b97-6943-e8a8e2a2f6e0@tum.de>
Date: Tue, 10 Oct 2023 19:54:43 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0
Subject: Re: Reliable Stream Resets: Requesting a Reset at a Specific Offset
Content-Language: en-US
To: Marten Seemann <martenseemann@gmail.com>, QUIC WG <quic@ietf.org>, avt@ietf.org
References: <CAOYVs2r9e5YnNW+pNrtB8UF-TFFKp5PvHV1ScfdcY40qAZ0atA@mail.gmail.com>
From: Mathis Engelbart <mathis.engelbart@tum.de>
In-Reply-To: <CAOYVs2r9e5YnNW+pNrtB8UF-TFFKp5PvHV1ScfdcY40qAZ0atA@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/DNev_QPrlnIrOZd5Dxlm63gYZlw>
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, 10 Oct 2023 17:54:54 -0000

We also discussed this at the AVTCORE interim meeting in September. In 
RTP over QUIC, receivers may want to use STOP_SENDING to signal that a 
media frame will arrive too late and will be dropped. RTP over QUIC also 
uses length fields to signal the length of the next RTP packet, so a 
receiver could use an ENOUGH frame to indicate where it wants to stop 
reading. However, the receiver can only signal that it wants to finish 
reading an earlier frame but will drop the later one. I don't think that 
will happen very often because I don't see many reasons to keep reading 
older frames if a newer one is already deemed too late. It may be useful 
if the earlier frame is a dependency of even later frames, but those 
will likely also depend on the dropped frame. Thus, I don't expect it to 
be used much in RTP over QUIC.

On 10/10/23 07:37, Marten Seemann wrote:
> The Reliable Reset draft introduces a CLOSE_STREAM frame that allows 
> resetting a stream at a specific offset, thereby guaranteeing the 
> reliable delivery of stream data up that offset.
> 
> At IETF 117, there was some discussion (mainly in AVT) about whether 
> there should be a method for an endpoint to abort reading at a specific 
> offset. This would allow an endpoint to communicate that it's only 
> interested in the first N bytes of the stream, and that it will discard 
> all bytes beyond N. This could be done by introducing a STOP_SENDING 
> frame that carries an extra field to carry the value N.
> 
> This might be useful if the stream is used to send a sequence of 
> (TLV-encoded) media frames, and the receiver knows the size of the frame 
> before actually receiving the entirety of it, or in cases where the 
> receiver possesses out-of-band knowledge about the frame size.
> 
> I created a PR to make this proposal more specific: 
> https://github.com/quicwg/reliable-stream-reset/pull/26 
> <https://github.com/quicwg/reliable-stream-reset/pull/26>. This PR is 
> based on Martin Thomson's ENOUGH draft 
> (https://datatracker.ietf.org/doc/draft-thomson-quic-enough/ 
> <https://datatracker.ietf.org/doc/draft-thomson-quic-enough/>).
> 
> Is this mechanism actually useful enough to be included in the draft? 
> Implementing support for this frame seems quite easy, but it would be 
> helpful to learn more about use cases it enables first.