[quicwg/base-drafts] Different meanings of "message" are mixed up in transport draft (#3724)

Baptiste Jonglez <notifications@github.com> Thu, 04 June 2020 17:46 UTC

Return-Path: <noreply@github.com>
X-Original-To: quic-issues@ietfa.amsl.com
Delivered-To: quic-issues@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1F9B83A08F6 for <quic-issues@ietfa.amsl.com>; Thu, 4 Jun 2020 10:46:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.101
X-Spam-Level:
X-Spam-Status: No, score=-3.101 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=github.com
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 RDQXM4A1aicH for <quic-issues@ietfa.amsl.com>; Thu, 4 Jun 2020 10:46:49 -0700 (PDT)
Received: from out-23.smtp.github.com (out-23.smtp.github.com [192.30.252.206]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 807B23A08E4 for <quic-issues@ietf.org>; Thu, 4 Jun 2020 10:46:49 -0700 (PDT)
Received: from github-lowworker-5fb2734.va3-iad.github.net (github-lowworker-5fb2734.va3-iad.github.net [10.48.19.27]) by smtp.github.com (Postfix) with ESMTP id 8140A66124C for <quic-issues@ietf.org>; Thu, 4 Jun 2020 10:46:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1591292808; bh=JWVapX6tuV8T4i6lznP3iTTL+YadeogznI8WACrO13A=; h=Date:From:Reply-To:To:Cc:Subject:List-ID:List-Archive:List-Post: List-Unsubscribe:From; b=g/AtE1YIsLHRqYT3GGFCxT2Q1cySCaLR3e4eTR6YMu6+a8uehg5XxEPQ0jLxmgLx0 6ro4Xzpd1Jz623/sDrxiYmam5vXm/WxktYvOLpyW2yDjLOb9xnL5/ScsKTigAJonvn ldHXqNBD5GfsaTsIeUBjOeuw6I5p1weCwyRIAETo=
Date: Thu, 04 Jun 2020 10:46:48 -0700
From: Baptiste Jonglez <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+AFTOJK6YR3NA23XVBLBK2CN44UKIREVBNHHCLHF2G4@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/3724@github.com>
Subject: [quicwg/base-drafts] Different meanings of "message" are mixed up in transport draft (#3724)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5ed9338870653_3a223fe4d3acd96876577"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: jonglezb
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/h1a0oRRiopEmtyp2wSQintN7G8w>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG <quic-issues.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic-issues/>
List-Post: <mailto:quic-issues@ietf.org>
List-Help: <mailto:quic-issues-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 04 Jun 2020 17:46:51 -0000

I reviewed `draft-ietf-quic-transport-27`, and it is not always clear what a "message" is supposed to mean. It needs clarification in the text to disambiguate between different meanings, and could also benefit from definitions.

Here is a review of the different meanings of "message" I found in the draft:

- **TLS message** (referred to as **cryptographic message** or **cryptographic handshake message**)
- **ICMP message**
- **application message**, which seems to refer to messages sent by applications with their own internal framing (not visible to QUIC, since each stream provides a simple bytestream with no framing)
- **QUIC "message"**, which seems to roughly mean "any QUIC control frame" but this is not defined. In any case, there is no "QUIC message" as such in the base protocol.

The first three meanings are understandable, but the last one should be clarified or removed altogether. Additionally, any usage of "message" not clearly falling into one of these four categories should be clarified.

Here is a breakdown of usages that need clarification:

- [2.] _An alternative view of QUIC unidirectional streams is a **"message"** abstraction of practically unlimited length._
-> this is not exactly the same as an application message. That being said, the quotes make it clear that it is used in an approximate sense.

- [5.1.1.] _Each Connection ID has an associated sequence number to assist in deduplicating **messages**_
-> this seems to refer to `NEW_CONNECTION_ID` and `RETIRE_CONNECTION_ID` frames specifically

- [5.3.] _0-RTT allows **application messages** to be sent by a client before receiving any **messages** from the server_
-> the second occurrence is unclear: does it refer to application messages sent by the server application? Or does it also include TLS messages or other "QUIC messages"?

- [10.3.] _The application protocol exchanges whatever **messages** that are needed to cause both endpoints to agree to close the connection_
-> this is quite clear from the context, but it would be more consistent to use "application messages"

- [14.1.] _An endpoint SHOULD use Datagram Packetization Layer PMTU Discovery (...) to determine whether the path to a destination will support a desired **message** size without fragmentation_
-> this should probably be replaced with "QUIC maximum packet size" as defined just above in the text.

- [21.7.] _QUIC and TLS both contain **messages** that have legitimate uses in some contexts, but that can be abused (..)_
-> this section contains several other occurrences of "message". This is well-defined for TLS, but there is no such thing as a "QUIC message" currently.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/3724