Re: [Webtransport] Head-of-Line-Blocking of WebTransport Flow Control Messages

Mike Bishop <mbishop@evequefou.be> Wed, 20 March 2024 22:55 UTC

Return-Path: <mbishop@evequefou.be>
X-Original-To: webtransport@ietfa.amsl.com
Delivered-To: webtransport@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C9820C14F703; Wed, 20 Mar 2024 15:55:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.907
X-Spam-Level:
X-Spam-Status: No, score=-1.907 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=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=evequefou.onmicrosoft.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 ka7bukJ8hGJu; Wed, 20 Mar 2024 15:55:52 -0700 (PDT)
Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam04on2090.outbound.protection.outlook.com [40.107.100.90]) (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 90403C14F6F0; Wed, 20 Mar 2024 15:55:50 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=a6EA99IwXtePzAlbwEzdD1Oqz07VIrtOYiqXvuOZT4dWWQGx/OCr/MVFi8f1xXJ3s+c5YCIJIjcS6yJ9Zaa1ITEqKTH9LLVAsEvpHgKoY3yd9HhunIzn+p5YBFyUECekS+50RHx2z5PMCBmFBbte0SU3hWIRobUNrcv70Q135th2aQxEMkImQmOLou4X/S9inkiKjj9TAQG57Bgt4P+/B1X1bXKQmZI8SeF4cuxSP7qfdUv2Dg/XpdpOJ6DwPOrrSDmQOd114QxLKeE1nMLhx/X0nFG4f/0o87Ldlp89e6pw1/PvfjRKEIy9Oj1lXav1aQ4lEwIFVxTSYJCtsbGajg==
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=kaVvZe/RjBi6uX0qD9ymqY++0DK5KmMUUb4Pc4xCJpE=; b=gYzjbL0Wl4TyaiMhnryiobuExAfRYhGK3rOKasB/2hQLZhPkiQvlmRwsBMxwtQn6iSVsgAh2LoAVjN0y18qImKnlZwtSyLzb/vIst5PMBGAyPBXD+znEOoOCjDf0KLlxUH+U8NsZFLDZvhn4me8ucmnogiGhJN4eSNd1dMYWv7jeJDSZPu7Fk7+XRlYeQ+i/9DKUnlbk1kwV5wAXO+cTSRoHzknMyoFv2hTSrTE6mkqjS3LJMMIqa54r+KFtZv4NlCFcfJ8Foy3Na+/0hD6foZNRtI6WVUD50fWQ8FYU9Dn9wTILN6o9+E8TZUcBJC6/BqUKKvar2r8UYle4qTY00A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=evequefou.be; dmarc=pass action=none header.from=evequefou.be; dkim=pass header.d=evequefou.be; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=evequefou.onmicrosoft.com; s=selector2-evequefou-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kaVvZe/RjBi6uX0qD9ymqY++0DK5KmMUUb4Pc4xCJpE=; b=El5fzAKYBzxOPm1m+naWuzhfRPV5teXXruJj9+OVIcfRqwzYgn4HJuklb38nQaRSbOKzzBFEk0IXNLllVDuEN9Nb00EzyFOxUvm00ugfSYgS8z3+ox0pu9Rw75x7GdLURNU/m/hbPOYurjQjo5p+1xXblsOukNAjTXqLVW5gNWI=
Received: from PH0PR22MB3102.namprd22.prod.outlook.com (2603:10b6:510:143::15) by SJ2PR22MB5361.namprd22.prod.outlook.com (2603:10b6:a03:58f::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.30; Wed, 20 Mar 2024 22:55:46 +0000
Received: from PH0PR22MB3102.namprd22.prod.outlook.com ([fe80::2e42:b81b:d28c:7eac]) by PH0PR22MB3102.namprd22.prod.outlook.com ([fe80::2e42:b81b:d28c:7eac%6]) with mapi id 15.20.7386.030; Wed, 20 Mar 2024 22:55:46 +0000
From: Mike Bishop <mbishop@evequefou.be>
To: Matt Joras <matt.joras@gmail.com>, Marten Seemann <martenseemann@gmail.com>
CC: QUIC WG <quic@ietf.org>, WebTransport <webtransport@ietf.org>
Thread-Topic: Head-of-Line-Blocking of WebTransport Flow Control Messages
Thread-Index: AQHaeBDKOpg+3l0PGUOz3hWT/n20urE7Nf0AgAYKMjA=
Date: Wed, 20 Mar 2024 22:55:45 +0000
Message-ID: <PH0PR22MB3102468C04EA4E90B5F39381DA332@PH0PR22MB3102.namprd22.prod.outlook.com>
References: <CAOYVs2rioq=Yt-woRgx_KWeO0rMuaNT-Y4re3G3LAj9K66EPEQ@mail.gmail.com> <CADdTf+hPAPVETc+YsYXQaP2N55RtNU2tqgntxDEMhHDnvJoueA@mail.gmail.com>
In-Reply-To: <CADdTf+hPAPVETc+YsYXQaP2N55RtNU2tqgntxDEMhHDnvJoueA@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=evequefou.be;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PH0PR22MB3102:EE_|SJ2PR22MB5361:EE_
x-ms-office365-filtering-correlation-id: bb316a7e-7e37-4720-581f-08dc4930e0ed
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: gk3vIq9oqDwnuu/YU3IYYbxcC2K40YxyYrK3iQMwFVCsUa/8QvWSwhtD1B/2S+tUoVQipUBHYOcqTTQC2vgCTDy372zchuifJ3GHfW5y+BCPxX/QPy4SMzbt51bRLdyHoXszqehcl0J3or4SY0zuRoFFwhcHsfgCXaiK2Sn05JPYMydXCM/rB2UaSYEBtLSYVuQZ8BapQuGjyUVZwAXKN6azJOb9vY1mGMbbm1MfKrhr9g7Ay1Hyp1i1ZE22MrsnUt5PnGxte+Q1s41ZIfNOC8HGOevMLQbpBHz4nB7BUKPTVPgY46OIi1eFhQ8/KYXnttnDqR37+hNjNtM1+l8hxz1wGZ2C+znnj9R69MSAcSJxYSKqHqZH6NmI6pcl42ViTGRv9Xj78RNCLQWeVsKXh1fPh1QrEXhYLqTRwOHP4jYaeWDqopnC4Mxsz7xXwEJDzpWM+d4w23H5V995DI5yRen+4+TrVS96gtoNyEPy9AGaREurRq7qUIWFpDniUHZBGa+vBHftVhUm08PxHVCw1rwyhtp+EPDs370EXh/hApbkZ83asNRkHQCqE4mElNrEPEvLD08HNe4mlVn+fpPLJoaDOSmziRwvB2KmjK1xlvKD3k0ASzgBy/pGOg8x0t9qKAazlbw4VPndmFGNpprpwjIuM9uV2TmzayAPq0uVii4=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR22MB3102.namprd22.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(1800799015)(366007)(376005)(38070700009); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: pEUI9/A/E/Sb5UVtLrGUCWM5ZOOcWyDZwy8hfx23V8ElfJ/GdTCxTxP1rcbVKWFagTRunw3ueMqQodmHbrKd60LBCSDCFhfEXi/4Dg6v78vgpmojcrZs8Rp2WfGRLo8wfqLv0snJrwKAwYGrJZmNdpRa0339klCAZ5RbWcAXUpuV1AxDCSSJK90q5KYfTK7Lstfsnpe2eAQmempNOcCyei1VeS3ecNm3g07VizetdGDOCXFDwEi6Kvzq7ShF9KnE4Sqm0xEmoFCrJH49xF8PdEP8V6TXx/xtD4brgebo+J+Iz2rtPYveXz+/wiOvRvVdMssa3E4xONvUpwKen9haWSbDKQIgxxgFCZuBHWZsqP2fDoR1DKpSFoSaqpmT8JU+LMHMAqSexL5lQPqI7RUWJ+GlhTIRs30NxRu0LUqtbsrBiBNsymhlijLLZzMA5e+W/XRYE0bvLI9rS9+Snvp6jCc5n0gB+cfjhfzhjUqmlN4eQWgsUi1YR43hq72B6JNyiW93kFTNg/h/fpmmW7PICCgBrDsv9NhgE/7ZyAsIQ0irA3I6Swr7kpGg8/3AS0SRAmGrw50N6u9T9+auonMiE0DHdHHLFjCgEqzFJBT1kAzRWpyH402oV8YEWRa94FOaNSDpgwwAuECRqI2ZVc4AXK9oQIizOyQaNdmtPB+7xjkvAJAED24Aj4WwaonCiQ5bz8K9hJHOJqPRPoJkMIl7pS4rRHH3JdTCJ9AxQj/zMCC8gUon0YxcPPq9gFOgnh+9yigMwSUw+u4Jz0K8HJPqJKBhcQUEhSK0UgPdWpzwpXX1fsB1OCmwL8cKZ1dEVc6kNUYTPZGAVPXVKHaNTN34RelurMqtiWCVaMJD4nNTe8JmXqPL5W2dt/Y2q+64eBvWfWpvlbcCvV2is8Ii1fwMS5P9cwtUk93CG62dIXz4x1W20i0SxzsTNxPFrVgbz69iVgHXkNmmSrG/rMXBE0J5L74Z7oITyrrd4G8KFoIp5bgbFJsMnTAnrUBVI1d0y5yOiEHEg7esmxat+zxo5ucyvJzhvv0iwUyGgQWy6XJc/iSH8BmMHVu7spuA3Op+UnOR6ugUHHnP8u9Vt6fgoisHhFng5ZEpn+F7+tAtIIg7P1VukViJHUGvNlBSuxiiAR0emjjGyHPKa2lsonyWQrBNqV4NNMoTefoPqcfV4K5e/M5KdVMhi0TG+jl42hKCkHzMKW4BYLk8V5PZYSiRmTLzmy71Q5d3LBP6y398rJ13PoagsYzc4QcpudWgN74AI1OGL3QUGuQf35F5Hp1tKaG5WGtQtTCrVsa7d9yjqxEAybW5JPYsJ+zmjmcRc8LjgzDDmqKcuVLxo3kOq0GZfHkVGnGrxFZ6C768Lu2/mSS1T/mSGgsg+LIB5mRIRLs+SbSvGF2PZZ2HRExdHOyT3wHJWJLVxcEv4qLopGenldY0cN4uP8Bg2iYca1+ur7aCIFrbIXwuA+5XGz5ECz/kgkAcys36jAC3iE/ROUvZTEG3PlQyXsH45fLTZRjg/luoFlSbNB9VzA/UZYTJIDtnClJRuYKBQbESIYTORDXA5rPKn8l4RlhLFxb9ekvt4nzPp0wK4+PAV3PY1qqY25OLHX/zSqmlp0Ei5t1YbEgIQlO7B28=
Content-Type: multipart/alternative; boundary="_000_PH0PR22MB3102468C04EA4E90B5F39381DA332PH0PR22MB3102namp_"
MIME-Version: 1.0
X-OriginatorOrg: evequefou.be
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PH0PR22MB3102.namprd22.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bb316a7e-7e37-4720-581f-08dc4930e0ed
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Mar 2024 22:55:46.0477 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 41eaf50b-882d-47eb-8c4c-0b5b76a9da8f
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: ExCMC4i76E9+wdd6RLMMliuw80HVlUIt1diOUHkdYa88FObA9QqDwzi6dhBYrM9bOg8f3m6ypaC9Ss8Uu66tgA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR22MB5361
Archived-At: <https://mailarchive.ietf.org/arch/msg/webtransport/A7Yc1bNROYbRkkz49ncQDH1Axqo>
Subject: Re: [Webtransport] Head-of-Line-Blocking of WebTransport Flow Control Messages
X-BeenThere: webtransport@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: WebTransport WG <webtransport.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/webtransport>, <mailto:webtransport-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/webtransport/>
List-Post: <mailto:webtransport@ietf.org>
List-Help: <mailto:webtransport-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/webtransport>, <mailto:webtransport-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 20 Mar 2024 22:55:55 -0000

I agree with Matt. Unidirectional streams are messages, simply without the MTU length restriction. The feature Marten’s draft defines which isn’t present is the application’s ability to cancel/modify the message in case retransmission is needed. A similar effect can be achieved on unidirectional streams by canceling the old stream and sending a new one when a new instance is ready to be sent.

If WebTrans chooses to register a Single Capsule stream type in HTTP/3, they can do that either now or as an extension. (In either case, they would still need to define an internal framing layer to tie the stream/MESSAGE to the WebTransport session, similar to H3 Datagrams.)

From: QUIC <quic-bounces@ietf.org> On Behalf Of Matt Joras
Sent: Sunday, March 17, 2024 12:30 PM
To: Marten Seemann <martenseemann@gmail.com>
Cc: QUIC WG <quic@ietf.org>; WebTransport <webtransport@ietf.org>
Subject: Re: Head-of-Line-Blocking of WebTransport Flow Control Messages

Speaking personally, I think this would be a confusing semantic to add to QUIC. RFC 9308[1] says of streams:

> Streams can provide message orientation and allow messages to be canceled. If one message is mapped to a single stream, resetting the stream to expire an unacknowledged message can be used to emulate partial reliability for that message.

Indeed when discussing QUIC with application designers I often find myself explaining streams as arbitrarily lengthed messages that can even be made partially reliable. Introducing what is essentially a reliable datagram undermines the value proposition of streams over datagram-like abstractions, which I believe have less utility to applications in general. While this draft seems to be solving a real issue for WebTransport I would hope we could come up with a different solution that doesn't unintentionally reinforce the idea that QUIC streams are as semantically limited as stream sockets of yore.

Best,
Matt Joras

[1] https://www.rfc-editor.org/rfc/rfc9308.html#name-use-of-streams

On Sun, Mar 17, 2024, 12:14 PM Marten Seemann <martenseemann@gmail.com<mailto:martenseemann@gmail.com>> wrote:
The current proposal (https://datatracker.ietf.org/doc/draft-thomson-webtrans-session-limit/) for transmitting flow control messages serializes the capsules onto the WebTransport control stream. Since the control stream is a QUIC stream, this means that these messages suffer from HoL blocking in the case of packet loss.
Depending on the usage pattern of the WebTransport application, this will matter more or less.

Here's an alternative way to solve this problem: By allowing WebTransport to send the flow control messages / capsules directly on the QUIC connection, these messages can be transmitted independently from each other. This can be achieved by introducing a new QUIC frame: the MESSAGE frame. MESSAGEs are kind of similar to DATAGRAM frames, with the important distinction that MESSAGE frames are 1. delivered reliably to the application, and 2. retransmitted / updated in case of packet loss.

For more details, please refer to my (very early-stage) draft: https://marten-seemann.github.io/draft-seemann-quic-reliable-message/draft-seemann-quic-reliable-message.html