Knowledge transfer for extending QUIC (was Re: New Version Notification for draft-huitema-quic-ts-05.txt)

Lucas Pardue <lucaspardue.24.7@gmail.com> Thu, 18 March 2021 17:42 UTC

Return-Path: <lucaspardue.24.7@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 823843A30F3 for <quic@ietfa.amsl.com>; Thu, 18 Mar 2021 10:42:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.847
X-Spam-Level:
X-Spam-Status: No, score=-1.847 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=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 ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1dO0NRKE6NBG for <quic@ietfa.amsl.com>; Thu, 18 Mar 2021 10:42:52 -0700 (PDT)
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com [IPv6:2a00:1450:4864:20::52c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 95FC03A30D2 for <quic@ietf.org>; Thu, 18 Mar 2021 10:42:50 -0700 (PDT)
Received: by mail-ed1-x52c.google.com with SMTP id u4so7705296edv.9 for <quic@ietf.org>; Thu, 18 Mar 2021 10:42:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=3aiSbWNLUqdV7hnHrn6rhUMKNTRQLOJBolcDW53BcDI=; b=QTc4T9x+/fZqtoiwJ5xVLjVdsxAta4HMG6Jw4UGxPN6UTXvcAVONDzILhp+JnkL6Yu GB3AcutBzsjHKk374C+aQL3w6FQ1y0EGWYohs6jOYFbAFThehwDp23DILdJyY9JB38K+ 6e/F19PEFpXzXoRcYGdecvYs0CkgVf9lgMKErlXNV2kzd7vO3chpdl2q459LgQJjJxct wN3RmNR22YLJ3Ltv9CPx1plEogJXUKECa1WSBq/UeM6tUK5HDeUTyEwfDFkDZMlnHfqY z/HDsV+66DNZeY/SffV0+OHKH5Tw7Wb915wfVxYST8PigiI+bjsLY8xXy8Smgnye43Ae rmLw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=3aiSbWNLUqdV7hnHrn6rhUMKNTRQLOJBolcDW53BcDI=; b=eMLWHYLoHs19VuHanIttHNiu85r810JS115OUbk72Bw60FMH1wXTe3Heagn0OljSHJ y5pGGlpyAVVZs8JaqvQMHuguTccijHacuc3aW6xritFXyjEy5+QaQu+ZD/PEKLFU9dRe ihcv4wpJ/MkkYWnAqMxx+oZxfzdqmmd/Y+621Peu8BlsbBLqiLVWaIN2w0mXcsPGxscV 5XcUpv9jScjEnVLvKHczjwszdkewp37raExqBDa9DgbunpGiFrKgWXvzFGWItzCWiHUr u0qfXT6g6BpoG0TJaw9zxDEZ0DEZKAvHnuhj+1gNWfctIwFFuDuu+hcnswql9rlXAaVJ Rcsg==
X-Gm-Message-State: AOAM532mkMz26PBeeJKO1FvvamdGxv6KFQ4gib0pUbgIjGfIU11w4Hjz /Vs1ny2/XgmrH40sbgZ+K7Hs/SFsb3sukLGiebaZz+rY+lc=
X-Google-Smtp-Source: ABdhPJxL3q1/aNk+N9/D4gVDKlqwV4JtH9T7DaqxcuPixqNvuXoLlwz5CSCvAHxoBUwp+arBn6zX4tLPg3Mdza5kUxo=
X-Received: by 2002:a05:6402:270e:: with SMTP id y14mr5077124edd.283.1616089368461; Thu, 18 Mar 2021 10:42:48 -0700 (PDT)
MIME-Version: 1.0
References: <161602961576.29713.5556006395853657310@ietfa.amsl.com> <a5d9bbf2-227d-90b6-fd22-52e05895713b@huitema.net> <2F127CC0-5D13-4DEB-9B4D-4EF89C8D9E0F@apple.com> <71a72a2c-b6eb-7640-391c-663d21afa8da@huitema.net> <CALGR9oZ-RHaK2sYoypqAfQvBXHmsfTrGOLCJKL4yfdRWkUkYDA@mail.gmail.com> <ec8176ed-347e-9f88-8504-100213809058@huitema.net> <CADdTf+h_KkWSu5P1o4Ho0_wA+5E-T0YT5nkwj_Ud=R9tJL2GCQ@mail.gmail.com>
In-Reply-To: <CADdTf+h_KkWSu5P1o4Ho0_wA+5E-T0YT5nkwj_Ud=R9tJL2GCQ@mail.gmail.com>
From: Lucas Pardue <lucaspardue.24.7@gmail.com>
Date: Thu, 18 Mar 2021 17:42:36 +0000
Message-ID: <CALGR9ob+zZn3WfJpGKesZYGqq=OCbXX6v-ezNyc6JjJnmqyXkw@mail.gmail.com>
Subject: Knowledge transfer for extending QUIC (was Re: New Version Notification for draft-huitema-quic-ts-05.txt)
To: IETF QUIC WG <quic@ietf.org>
Cc: Matt Joras <matt.joras@gmail.com>
Content-Type: multipart/alternative; boundary="000000000000bb837205bdd3204f"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/Y_rDK9J5g3rvSCqREUJ-oqZKe2s>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.29
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: Thu, 18 Mar 2021 17:43:00 -0000

Hey Matt,

On Thu, Mar 18, 2021 at 3:06 PM Matt Joras <matt.joras@gmail.com> wrote:

> I think what Lucas is suggesting, and has been suggested before, is
> that we are likely to have many frames which have similar
> transmission/loss/transport handling properties, so why not have a
> generic frame we build atop for some extensions?
>
> I would hope we don't take this direction, as we did not take this
> direction in the "core" frames in the specification, many of which
> have identical transport handling. The design of QUIC v1, IMO,
> encourages more frames rather than fewer. It is very easy for us to
> add new frames. Putting "similar" frames all on a generic frame's
> framework doesn't really save us time in specifying the semantics of
> that frame. At best it might save some implementation complexity, but
> I would argue that such concerns can be addressed by the
> implementations. For example, mvfst has the notion of a generic
> "simple frame" which is one which is not retransmitted and there are
> not expected to be a great many of them. Many extension frames will
> likely be implemented using this implementation-specific framework,
> and I would expect other implementations to have their own techniques
> for optimizing the implementation of new frames. And as Christian
> notes an implementation will always have to implement the semantics of
> what the frame actually does anyway.
>

You've done a much better job of articulating the idea that I had.

My suggestion was motivated by an observation that people designing
extensions might have to revisit the same questions over and over: "does
this frame need to be ack-eliciting, can a packet of pure frames be sent,
does the frame behave like that one or this one, or does it need to be a
little special". This is all in the context of how the frame affects the
transport, not the how the frame enables the extension. We're a young WG,
and there are not many design patterns or cookie-cutter examples to help
people focus on the problem they are solving rather than getting bogged
down by problems they might cause. There is institutional knowledge in the
WG and I'd love for us to find a way of capturing that so that others can
benefit. The mvfst example sounds great, you optimized for implementers. A
concrete frame type might be too far. But maybe we could start thinking
about some format to build upon the advice already in the 19.21 of the
transport doc. That might come with time as we learn but maybe some people
already have some ideas...

Cheers
Lucas

[1] https://tools.ietf.org/html/draft-ietf-quic-transport-34#section-19.21