Re: [Edm] Few comments on draft-edm-protocol-greasing-02

Lucas Pardue <lucaspardue.24.7@gmail.com> Tue, 31 October 2023 02:23 UTC

Return-Path: <lucaspardue.24.7@gmail.com>
X-Original-To: edm@ietfa.amsl.com
Delivered-To: edm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 83312C15152D for <edm@ietfa.amsl.com>; Mon, 30 Oct 2023 19:23:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.855
X-Spam-Level:
X-Spam-Status: No, score=-6.855 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_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, 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=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 QFfH8vxZV1h5 for <edm@ietfa.amsl.com>; Mon, 30 Oct 2023 19:23:16 -0700 (PDT)
Received: from mail-oa1-x35.google.com (mail-oa1-x35.google.com [IPv6:2001:4860:4864:20::35]) (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 3E386C15107F for <edm@iab.org>; Mon, 30 Oct 2023 19:23:16 -0700 (PDT)
Received: by mail-oa1-x35.google.com with SMTP id 586e51a60fabf-1f00b95dc43so188720fac.3 for <edm@iab.org>; Mon, 30 Oct 2023 19:23:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1698718995; x=1699323795; darn=iab.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=I2zo47NXs+2udTaOJEs6JuMh1W/nE11JSoburIlAjGs=; b=SfPmW3/6o5iGRQ7xc3v7JR2ayTsy1GGDSRloluvIybKXaa4pp/QAxfAGSISNBEmM/x 1F4kJ4vdEsh9idGrwFgtA9PGFjXMhxCJ7t+LvCnplT8MgevekynbyTFihwqjwHJGNWFT OxaIIJsSYGcI1YWa1aEL4nF/a9o4RmHVltsYSSYx4CXlrS1CM3EJCALximfK7D2cRcWj b8aAgrfqgl2PcNpefc3IO8jnf2W2m1nWFs1xacEIsXnsQR06+OerezBw9FBPrWYSwnic or4Ak5wtpHuwPMT/ffgTPTiRTgRal8zibyAzD7BLCAUCb3U3GaWc/pVzPDs6vgZ4Jlz6 sEsA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698718995; x=1699323795; 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=I2zo47NXs+2udTaOJEs6JuMh1W/nE11JSoburIlAjGs=; b=YwqMbZxB2DwV8nv6eiZBFi0dqXRfzmG6c3zLmEDJJ7w6/Bd2VoZBwynC8w2zTf17/a 2MhcJL6DiSHj9mGaetHMwHl3YVghuiKmnF2KYoaAzpT0Bc8/Ia9QpAPziQFW/cGY0P7P k0CellKB/nd8JkIHbogbHYZjykMkpWIoY+bDA4T37ozgY5Pt3OTGZFTT1fLzEjWx/A8q N+uCRL+AiXjZDDXeWyTSblWlzimn7JQu2ngYvR9IG7WNjWzOvEHoqaFWZLbUqHZKRvrK hNRNuwvqg0SikmJm3l52e5jRP0h2LB8Y2zDnpVhwcHyjQeBj1RZgfF1CUlqrqmWthVgy +bZQ==
X-Gm-Message-State: AOJu0Yw5SJ8+erYi2LMMUzSgb9W+uxqnp6TT/rk6V3HoxvsySAfh4EBm 40MoW6zq9T0EwKr7oHRI8g9ZmJiFq05s4tcsfHg=
X-Google-Smtp-Source: AGHT+IFym8s4nVC2tBxZ1e8ucbZFvidqSkIPVvn7RLltlyNRnLMwKXYUofG1cGABWeYumNcHlMfx27vVXNsKhk752Dg=
X-Received: by 2002:a05:6870:f210:b0:1d7:1533:6869 with SMTP id t16-20020a056870f21000b001d715336869mr14006151oao.31.1698718995293; Mon, 30 Oct 2023 19:23:15 -0700 (PDT)
MIME-Version: 1.0
References: <E601A23F-D22A-422E-9739-E04BF85EFB46@iii.ca>
In-Reply-To: <E601A23F-D22A-422E-9739-E04BF85EFB46@iii.ca>
From: Lucas Pardue <lucaspardue.24.7@gmail.com>
Date: Tue, 31 Oct 2023 02:23:04 +0000
Message-ID: <CALGR9oZQmSo_9u0Ekmt5pttO7Ai-AcGVKO7y3nTgtm4A+JEObg@mail.gmail.com>
To: Cullen Jennings <fluffy@iii.ca>
Cc: edm@iab.org, Tommy Pauly <tpauly@apple.com>
Content-Type: multipart/alternative; boundary="00000000000049ac0a0608f9d638"
Archived-At: <https://mailarchive.ietf.org/arch/msg/edm/Bvh6-ypZ4v1_sak9tOgCXfqtJbw>
Subject: Re: [Edm] Few comments on draft-edm-protocol-greasing-02
X-BeenThere: edm@iab.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "Evolvability, Deployability, & Maintainability \(Proposed\) Program" <edm.iab.org>
List-Unsubscribe: <https://www.iab.org/mailman/options/edm>, <mailto:edm-request@iab.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/edm/>
List-Post: <mailto:edm@iab.org>
List-Help: <mailto:edm-request@iab.org?subject=help>
List-Subscribe: <https://www.iab.org/mailman/listinfo/edm>, <mailto:edm-request@iab.org?subject=subscribe>
X-List-Received-Date: Tue, 31 Oct 2023 02:23:20 -0000

Hi Cullen,

Thanks reading and sending feedback.

On Tue, Oct 31, 2023 at 12:57 AM Cullen Jennings <fluffy@iii.ca> wrote:

>
> At a high level this document looks fine and I have no complaints with
> publishing it more or less as is. However, I do see one significant area
> that I think would improve it. I imagine this has been discussed before so
> take with large grain of salt.
>
> My experience with interoperability problems across a wide range of
> protocols is mishandling of code points is far less often the problem that
> breaks the future and a much more common issue is:
>
> 1) incorrect assumptions on ordering of options and/or,
> 2) incorrect assumptions that the bits will forever land in the same
> location in the packet.
>
> I view both designing and exercising the protocol to deal with these
> issues as a form of “greasing”. I wish the draft talked about that.
>

This is, to my mind at least, what Section 4 should by covering under the
term protocol variability (because greasing has a quite tight definition).
I agree that it is often not enough to stick a random value in the same
byte offset of every connection. Instead tweaking time and space is
probably going to unearth false expectations or edge case errors (some
examples we've discussed in meetings).

Do you have some concrete examples of the issues (1) and (2)? The protocols
I'm familiar with don't tend to see these issues much, possibly because
things are encrypted and/or the formats don't lend themselves to that. It
sounds like your's are slightly different and would be good to capture
and/or consider.


> I think the draft could be a bit more concrete on exactly how to write
> IANA sections.


So we summarise how QUIC did things in Section 3 [1]. However, that's
just one example. Does it suit other protocols that have different IANA
registries? I'm not so sure.


>
> On the trivial nits category, it seems like this draft could be much
> shorter and be very concrete about the recommendations. To put it bluntly,
> one of the LLM summary tools I used made content that I liked better. I’m
> not volunteering to do it but it might be worth of pass of “how much can be
> removed” from the draft. This is deeply an editorial comment and not
> something I care much about one way or the other.
>

I'll always admit to my early drafts having the opportunity for judicious
editing. The sections are currently walls of text and some editorial chops
and reformatting could no doubt improve the readability - I'm up for that.

However, my understanding of the scope of the document is that we're trying
to fill in blanks left by Maintaining Robust Protocols [2] and Long-Term
Viability of Protocol Extension Mechanisms [3], targetting a wide range of
protocols. Some of that new text is targetted at protocol authors but
other text is targetted at implementers. And I'm not sure how much we can
concretely tell that latter group. For example, when it comes to
variability such as "split data over several PDUs just to make sure your
peer is robust", that immediately creates tension with wanting to minimise
PDU overheads for e.g. performance.

So far the examples are pretty QUIC oriented because that's where several
of the contributors experiences have occurred. I'm not convinced we can
draw too many conclusions from just those - this stuff isn't always cut and
dry in my experience. Even among QUIC implementers some folks will GREASE
and some won't. Their implementation or deployment reasons for picking
either are justified.


>
> No change needed for just as FWIW feedback, the draft failed to convince
> me that a large range of code points for greasing was going to offer much
> benefit over a very small number of code points.


This is a fair observation. What sort of text might convince you?

The argument goes that if its too easy to hard code N grease values as
exceptions, then that's what people will do. Then when somebody starts
sending an actual code point in extension space, it causes the receiver to
error out. We could add more text to explain why but that seems contrary to
your above comment that we should be shorter with more concrete
recommendations :-D In the case of QUIC - we have several codepoints that
can have 2^62 possible values. To me, that's in the realm of "imagine
infinity" and if we picked something like 1-30 GREASE codepoints, the
easiest thing for people to do is just hardcode them rather than worry
about infinity.

Cheers
Lucas

[1] -
https://www.ietf.org/archive/id/draft-edm-protocol-greasing-02.html#section-3-5

[2] - https://www.rfc-editor.org/rfc/rfc9413
[3] - https://www.rfc-editor.org/rfc/rfc9170