Re: [Webtransport] [Masque] WGLC for draft-ietf-masque-h3-datagram

"Philipp S. Tiesel" <philipp@tiesel.net> Wed, 23 March 2022 10:14 UTC

Return-Path: <philipp@tiesel.net>
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 60B4B3A0D22 for <webtransport@ietfa.amsl.com>; Wed, 23 Mar 2022 03:14:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.906
X-Spam-Level:
X-Spam-Status: No, score=-1.906 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_HELO_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id O5kdHz4ldlHe for <webtransport@ietfa.amsl.com>; Wed, 23 Mar 2022 03:14:05 -0700 (PDT)
Received: from einhorn-mail-out.in-berlin.de (einhorn-mail.in-berlin.de [217.197.80.20]) (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 817EA3A21FF for <webtransport@ietf.org>; Wed, 23 Mar 2022 03:09:51 -0700 (PDT)
X-Envelope-From: philipp@tiesel.net
Received: from x-berg.in-berlin.de (x-change.in-berlin.de [217.197.86.40]) by einhorn.in-berlin.de with ESMTPS id 22NA9c3O000565 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Wed, 23 Mar 2022 11:09:38 +0100
Received: from [2a0a:4580:1018:451:7109:3795:5a48:f57a] (helo=smtpclient.apple) by x-berg.in-berlin.de with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from <philipp@tiesel.net>) id 1nWxvu-0002Hy-6E; Wed, 23 Mar 2022 11:09:38 +0100
From: "Philipp S. Tiesel" <philipp@tiesel.net>
Message-Id: <9D3999FB-5B21-47E5-9250-D7B47D0237E3@tiesel.net>
Content-Type: multipart/alternative; boundary="Apple-Mail=_C762078D-B90E-40DE-9F00-8AD0F4C21B49"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.80.82.1.1\))
Date: Wed, 23 Mar 2022 11:09:37 +0100
In-Reply-To: <8428BD40-8BE1-4C61-8547-203EFCBCD3DF@heapingbits.net>
Cc: masque@ietf.org, webtransport@ietf.org, ietf-http-wg@w3.org
To: Christopher Wood <caw@heapingbits.net>
References: <8428BD40-8BE1-4C61-8547-203EFCBCD3DF@heapingbits.net>
X-Mailer: Apple Mail (2.3696.80.82.1.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/webtransport/mSHzYbAcs47edO-B3QL9CiaX8L0>
Subject: Re: [Webtransport] [Masque] WGLC for draft-ietf-masque-h3-datagram
X-BeenThere: webtransport@ietf.org
X-Mailman-Version: 2.1.29
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, 23 Mar 2022 10:14:10 -0000

Hi Christopher and Eric,

Technically, the document looks pretty mature. It reflects the way we came here, but after a 6-month masq pause and the resulting distance, it reads a little weird at some places and has a few nits. Here are my comments/nits:

Abstract.

- The abstract very much starts with "QUIC DATAGRAM". I would somewhat have expected something like "This document defines a method to send datagram streams over HTTP. Each datagram stream is associated with a single HTTP request. It is mainly motivated by making the QUIC DATAGRAM extension usable for HTTP speakers in a way backward compatible to HTTP/2 and HTTP/1.1"

Section 1.

- This section also has somewhat of a jump start and should explain a little gentler the relation between HTTP Datagrams and QUIC datagrams.
- The sentence "Additionally, this document defines the Capsule Protocol that can convey datagrams over prior versions of HTTP." seems a little misleading … if I understood capsules right, they are also somewhat targeted as internal reliable datagrams/wire encoding over H/3


Section 2.

- The HTTP/1.1 part would better be a paragraph on its own.
- While the argument "requests are strictly serialized in the connection, therefore demultiplexing is not needed" is technically correct, Section 4. further restricts the use of HTTP/1.1 connections to a single stream of capsules/HTTP datagrams. 
  I would prefer to see this restriction as an argument here. 

Section 4.1.

- "The Capsule Protocol MUST NOT be used with messages […]" would benefit from clarifying that you mean HTTP messages (requests/responses).
- I understand that you want to rule out Content-Length and Transfer-Encoding as it would make implementations much more complex, but it would also allow re-using the HTTP session. Documenting this design choice would be beneficial.
- [out of couriosity] Why do you choose to have a Capsule-Protocol Header instead of specifying "Content-Type: application/http-capsules"?

Section 4.3. 

- Why is the ebnf `Capsule-Protocol = sf-item` instead of `Capsule-Protocol = sf-boolean`?
  Should this allow request/upgrade methods to append a list of additional parameters? 

Section 4.4.

- That section should move one level up to match Section 3
- That section should better be called "HTTP/3 Datagram Format: The DATAGRAM Capsule" to match Section 3

Section 7.4.

- Can you include some clue why you chose the capsule space of 41 * N + 23 for greasing?


AVE!
   Philipp S. Tiesel

--  
Philipp S. Tiesel
https://philipp.tiesel.net/