Re: Head-of-Line-Blocking of WebTransport Flow Control Messages

Matt Joras <matt.joras@gmail.com> Sun, 17 March 2024 02:30 UTC

Return-Path: <matt.joras@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 361D5C14E515; Sat, 16 Mar 2024 19:30:40 -0700 (PDT)
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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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=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 ttAoU9jNCNRS; Sat, 16 Mar 2024 19:30:36 -0700 (PDT)
Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com [IPv6:2a00:1450:4864:20::52f]) (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 51B84C14F5F9; Sat, 16 Mar 2024 19:30:36 -0700 (PDT)
Received: by mail-ed1-x52f.google.com with SMTP id 4fb4d7f45d1cf-563bb51c36eso3870777a12.2; Sat, 16 Mar 2024 19:30:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1710642634; x=1711247434; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=QU/spKmWnNPVFYIZD0A4hQaG5bYmCGMIA5nKpgH9Nss=; b=Usu7k9u8AOPSFKd7etO1KYL5qMVOMRpgSNWnrB6nCLmHiOz677/J3sUwnSjnkZJ/tR 52aWd6gvHhxB8gKn3A6+GPQmojA9LY4yiZtVBFQDoSBAjW9zii5NNikJxUAp2LM/UE8q dHdrmrAl2vMX4NIsfwUekt7pgAdL53kAYvJAUiRNQSQ4ISiK+RH7MEjHProRb6P7HhPT 18Gl640FCrqT+Ee0+6kxYEdl2/y1a58W2vzNyA0NzTMsb3DUODJyJ+tODpcIPYi6ZuQN k7kLk3KCknWW6kHUoA08PYtlNgnXnytmAqJ7K+5Xr07j6R662CSn5i5TJ7H2MWFiVHZr dbAg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710642634; x=1711247434; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=QU/spKmWnNPVFYIZD0A4hQaG5bYmCGMIA5nKpgH9Nss=; b=dPqyVfFa0HfeUuxwXGppWTvtGFOKnsS/CnafZ3JwJrAvOl5udZ3QrfTlIIiY4Pxn+4 blV+PoVxEK1bq3aRJhqk6TtKLskkboPCLtz+WLhFf3YVKRd75v7f2BgkLcGl/lvpfyGu QbZKz5EHSEuVjhIy6tix78xX5P7WeTG2BJwNYyogCd4YA0IlYfSr+h0Vvz9txqsD73AB i/UuLY13D0g6NqZLh5rmK/Ssp/UjhmtrLJvwyK4CC4sT+OvWd6wAeyLpyIKyVr1jVEo8 WzxM/Vhp04ZxKOKqbAGVAdDCAlmtkIFq7I7iH5F40bM/dk+O5VMz0BYUMJq0egRZmo4P mVJQ==
X-Forwarded-Encrypted: i=1; AJvYcCUHowV2WbsE+4GSf6lP36rLMotq44kHdlf+Weab9SUjvN3QVK+jXIF5L3rbpY/5mSvzk0R6iodELfc1kVJsg5lzmt/omAg=
X-Gm-Message-State: AOJu0Yy+NJMiEI9cnxuUFdtBVMa2ZpaInNWaBbgKh01q1tpUfevWWrPZ qUrJ3RplG4CcXt07CNn26RfZOqfn/+UfjI/xoJyCFQYnMxLpypWj4y5dhDPOXmlUWdtP/9W3/qB R8ejIH8npqoKT1ietXebCEjChUlnkfzE12uLZmw==
X-Google-Smtp-Source: AGHT+IFNh3bXROScZfnuJkKGX4Ua41QOycEtKuxIb1fdz6JqrQMnvOfjPn6hNzo0lhoV9Zn2iW/sP1zVVZYBPCD4bEU=
X-Received: by 2002:a05:6402:f03:b0:566:ef8:93f6 with SMTP id i3-20020a0564020f0300b005660ef893f6mr6700166eda.0.1710642634217; Sat, 16 Mar 2024 19:30:34 -0700 (PDT)
MIME-Version: 1.0
References: <CAOYVs2rioq=Yt-woRgx_KWeO0rMuaNT-Y4re3G3LAj9K66EPEQ@mail.gmail.com>
In-Reply-To: <CAOYVs2rioq=Yt-woRgx_KWeO0rMuaNT-Y4re3G3LAj9K66EPEQ@mail.gmail.com>
From: Matt Joras <matt.joras@gmail.com>
Date: Sun, 17 Mar 2024 12:30:22 +1000
Message-ID: <CADdTf+hPAPVETc+YsYXQaP2N55RtNU2tqgntxDEMhHDnvJoueA@mail.gmail.com>
Subject: Re: Head-of-Line-Blocking of WebTransport Flow Control Messages
To: Marten Seemann <martenseemann@gmail.com>
Cc: QUIC WG <quic@ietf.org>, WebTransport <webtransport@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000008cdec40613d20626"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/dkCoQ4w2zOjWmbI_-um1SazdYes>
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, 17 Mar 2024 02:30:40 -0000

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>
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
>