Re: [tsvwg] signaling packet importance [was Re: New Version Notification for draft-herbert-fast]

"C. M. Heard" <heard@pobox.com> Sun, 20 August 2023 21:32 UTC

Return-Path: <heard@pobox.com>
X-Original-To: tsvwg@ietfa.amsl.com
Delivered-To: tsvwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A9B31C151072 for <tsvwg@ietfa.amsl.com>; Sun, 20 Aug 2023 14:32:48 -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, HTML_MESSAGE=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, 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 (1024-bit key) header.d=pobox.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 ljBNKfUd3XuR for <tsvwg@ietfa.amsl.com>; Sun, 20 Aug 2023 14:32:44 -0700 (PDT)
Received: from pb-smtp1.pobox.com (pb-smtp1.pobox.com [64.147.108.70]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D97EAC151063 for <tsvwg@ietf.org>; Sun, 20 Aug 2023 14:32:43 -0700 (PDT)
Received: from pb-smtp1.pobox.com (unknown [127.0.0.1]) by pb-smtp1.pobox.com (Postfix) with ESMTP id 942011B3F35 for <tsvwg@ietf.org>; Sun, 20 Aug 2023 17:32:38 -0400 (EDT) (envelope-from heard@pobox.com)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=pobox.com; h= mime-version:references:in-reply-to:from:date:message-id:subject :to:cc:content-type; s=sasl; bh=yuIg9O5IM1rrFyXkCftzb1x40IzGTx/U 3fBS3qK3s0M=; b=EC6+96tjkr8dWpsls25sqPm6E0RhWGxZoomJoKLhQyRijeYP oVnqfY4y2HcjlQUz6d9TbIHgIYYun3rm1RTZqinhKNjGbPps18qfoxudpIVwbf6G czTvktPnT1q7gjEIXA1zCYXhuxYrQQKft11CMNXlGv+mK4BVE0oc9QEH1zs=
Received: from pb-smtp1.nyi.icgroup.com (unknown [127.0.0.1]) by pb-smtp1.pobox.com (Postfix) with ESMTP id 8D0D11B3F34 for <tsvwg@ietf.org>; Sun, 20 Aug 2023 17:32:38 -0400 (EDT) (envelope-from heard@pobox.com)
Received: from mail-ed1-f44.google.com (unknown [209.85.208.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pb-smtp1.pobox.com (Postfix) with ESMTPSA id 03C091B3F33 for <tsvwg@ietf.org>; Sun, 20 Aug 2023 17:32:38 -0400 (EDT) (envelope-from heard@pobox.com)
Received: by mail-ed1-f44.google.com with SMTP id 4fb4d7f45d1cf-52a0856b4fdso635105a12.1 for <tsvwg@ietf.org>; Sun, 20 Aug 2023 14:32:37 -0700 (PDT)
X-Gm-Message-State: AOJu0YxTNpCIeFBclxrUvw1tC1P+QJEKP0wRWb8Caaknon4jme05RhfK /okgxlowCVVy2WPOPQAkkf4CAZ8Zuhd3mYhSeO4=
X-Google-Smtp-Source: AGHT+IGfsOL/WOyxi8C9GGWmbe2TS3EiIKZRkVBMPu4xyphf/CMZSvzgr+QfZoCb9MnHSBOSVFL9sEIjYv0LYaNrP2Q=
X-Received: by 2002:aa7:d651:0:b0:522:3a0d:38c2 with SMTP id v17-20020aa7d651000000b005223a0d38c2mr3664175edr.9.1692567157019; Sun, 20 Aug 2023 14:32:37 -0700 (PDT)
MIME-Version: 1.0
References: <5014A95B-C4CC-40DE-8CC7-4503D438E7F4@gmail.com> <CALx6S340SWJNOgj17aYF7_ij1ygj3szv6TGnSAe+GU3aqOLT6g@mail.gmail.com> <EDC4FB06-2F31-403C-96CE-1DC3F69CDCB1@gmail.com> <CACL_3VHNu7W=8TnatkApjy2BcaSzhpp9Aq++1W+fvKH0=EJtPQ@mail.gmail.com> <1A0F0DC9-8E0B-461A-9FD1-32C4BF78BD29@strayalpha.com> <CACL_3VEycg263=MMYOdPSGav1obOaY7567uVmNRDzhgn60z97Q@mail.gmail.com> <CALx6S3746RSPzo3OvNPFmGj_M8OfyAJ6VCCvY82o13qS8futyQ@mail.gmail.com> <CACL_3VGpq7trjYgc1WZWbrWcWuBbRKz69UjfowE3UfcxfStmxw@mail.gmail.com> <CALx6S35-UMqp0JS66SQ2K8pypdi7hnkmH4=TuwGC80b-ewL1DQ@mail.gmail.com>
In-Reply-To: <CALx6S35-UMqp0JS66SQ2K8pypdi7hnkmH4=TuwGC80b-ewL1DQ@mail.gmail.com>
From: "C. M. Heard" <heard@pobox.com>
Date: Sun, 20 Aug 2023 14:32:24 -0700
X-Gmail-Original-Message-ID: <CACL_3VFBDgzJKBdRkBHsEsc7fMNSxnLtpg_yVwxQPNPCZ+kcrA@mail.gmail.com>
Message-ID: <CACL_3VFBDgzJKBdRkBHsEsc7fMNSxnLtpg_yVwxQPNPCZ+kcrA@mail.gmail.com>
To: Tom Herbert <tom@herbertland.com>
Cc: Joe Touch <touch@strayalpha.com>, Kaippallimalil John <john.kaippallimalil@futurewei.com>, Sri Gundavelli <sgundave@cisco.com>, Spencer Dawkins at IETF <spencerdawkins.ietf@gmail.com>, Tirumaleswar Reddy <kondtir@gmail.com>, Mohamed Boucadair <mohamed.boucadair@orange.com>, Daiya Yuyama <daiya@sfc.wide.ad.jp>, Hirochika Asai <panda@wide.ad.jp>, TSVWG <tsvwg@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000271b090603618036"
X-Pobox-Relay-ID: 15A239D4-3FA1-11EE-A4F9-78DCEB2EC81B-06080547!pb-smtp1.pobox.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/tQkDqiYbtBd2bfujVBf5e9jKVf8>
Subject: Re: [tsvwg] signaling packet importance [was Re: New Version Notification for draft-herbert-fast]
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsvwg/>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 20 Aug 2023 21:32:48 -0000

On Sun, Aug 20, 2023 at 9:12 AM Tom Herbert wrote:
>
> Hi Mike,
>
> Thanks for the outline. Comments inline.
>

Thank you for the comments. There are a couple of clarifications
that I'd like to make, then I'll close with some general comments
aimed mainly at the authors of the three drafts.

[ ... proposed mod to FRAG header clipped ... ]

> > The updated rules would be:
> >
> > 1.) The FRAG option, if it appears at all, MUST appear immediately
> > after OCS in a packet with UDP Length == 8. If it appears anywhere
> > else, the option area is malformed and MUST be discarded.
>
> I assume you mean the packet MUST be discarded?

No, just the options, though if UDP Length == 8, that amounts to the
same thing. If the FRAG option appears in amn options trailer, a
legacy receiver will ignore the options and accept the data (assuming
its checksum is good). The rule above is changed from the current
draft only to the extent of REQUIRING the FRAG header to appear as
the first option after OCS; the current spec RECOMMENDS that.

> > 6.) If the Protocol field is not recognized, end systems MUST
> > discard the packet outright without further processing. In the
> > initial specification of UDP Options, a distinguished value (e.g.,
> > 0x0000 of 0xFFFF) indicates that the reassembled packet is an
> > ordinary UDP datagram. Other values will be specified in future
> > specifications. This rule allows the fragment data area to be
> > interpreted differently for different Protocol numbers, in
> > effect treating the Protocol number as a Next Header number.
> >
>
> I don't understand the purpose of this field or why it would need to
> be sixteen bits. Is this intended to be an EtherType so that this is
> another type of UDP encapsulation?

It was intended to work much like the Next Header field in your
UDP Surplus Header proposal, and I made it 16 bits in deference to
draft-daiya-tsvwg-udp-options-protocol-number -- which, probably not
coincidentally, calls it Next Header Number in Figure 1 of the draft.
See also draft-touch-tcpm-sno (now expired). I had intended to say
this in the email, sorry for the omission.

> Identification, Frag. off, and Frag. start (16 bytes I believe)
> become unnecessary overhead [in atomic fragments].

8 bytes, but yes, unnecessary overhead for an important use case.

[ ... proposal based on draft-herbert-udp-space-hdr elided ... ]

> I know that this is suggesting a big change relative to the current
> UDP Options draft, but I will point out most of these ideas have
> already been brought up and I'm not particularly advocating this
> direction. But, I do believe that if the UDP surplus area is to carry
> network options we need to design explicitly for that, especially if
> we want any chance to pass the five year test I mentioned.

Indeed, draft-herbert-udp-space-hdr appeared in 2019, but the ideas
therein did not catch on at that time, I think because the focus was
on transport options. It was not until about two years later
(draft-ietf-tsvwg-udp-options-13, June 2021) that per-fragment
options immediately following the FRAG header were fully specified.
This (inadvertently) made host-to-network signaling practical,
although though this use was, and still is, explicitly disavowed by
the UDP Options specification (note the section entitled "UDP Options
are for Transport, Not Transit").

As of IETF 117, there were five drafts that refer normatively to
draft-ietf-tsvwg-udp-options.

One, draft-ietf-tsvwg-udp-options-dplpmtud, specifies how to use UDP
Options to implement DLPMTUD. This is a safe end-to-end use use of
transport options, where "safe" means that a receiver that does not
implement UDP Options will still be able to correctly interpret the
UDP data that is transferred, though DLPMTUD won't work.

Another, draft-ietf-opsawg-tsvwg-udp-ipfix, specifies new IPFIX
Information Elements for UDP options. It is agnostic to the question
of whether those options are network options or transport options.

A third, draft-daiya-tsvwg-udp-options-protocol-number, proposes
a protocol number option to specify the protocol immediately following
the UDP header. "Immediately following" refers either to a datagram
that is transmitted without the use of the UDP FRAG option, or to a
UDP datagram after reassembly, if the FRAG option is used. This clearly
qualifies as a transport option, but if the receiving endpoint needs
the option to correctly interpret the UDP payload, as suggested in
Section 3.2, the option number needs to be in the UNSAFE range, and
then the option can appear only behind a FRAG option (or whatever might
take its place if the ideas in draft-herbert-udp-space-hdr take hold).
Additionally, there may be other uses of the protocol number as a next
header number, as suggested above, to identify other protocols
"sandwiched" between the UDP header and the transport payload.

The final two, draft-kaippallimalil-tsvwg-media-hdr-wireless and
draft-reddy-tsvwg-explcit-signal, explicitly propose network options
intended for host-to-network signaling. Both Tom and I argue that
such signals will not be viable if buried in an options trailer if
the devices that consume them have limited visibility into the payload
of transit packets. I think we may have convinced Dan Wing -- I'm not
sure -- but we have not heard from the other authors. If some or all
of you disagree with this point, please say so and say why. I do think
that if we are going to support these use cases in UDP Options, the
solution needs to be workable and  comprehensive. While Tom and I may
argue about the details, I think we are firmly in agreement on that.

So the first and biggest question that we (as a WG) need to answer is
whether we do or do not want to increase the scope of the specification
to include network options. The details of how to accomplish that,
while important, are secondary. If we decide not to go in that
direction, I think that we should continue to work through the issues
list (https://github.com/tsvwg/draft-ietf-tsvwg-udp-options/issues)
and try to get an acceptable transport options specification shipped
sooner rather than later.

Thanks and regards.

Mike Heard