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

Tom Herbert <tom@herbertland.com> Sun, 20 August 2023 23:26 UTC

Return-Path: <tom@herbertland.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 3C9A7C151076 for <tsvwg@ietfa.amsl.com>; Sun, 20 Aug 2023 16:26:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.107
X-Spam-Level:
X-Spam-Status: No, score=-7.107 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, 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=herbertland.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 HkZUiv02KKvG for <tsvwg@ietfa.amsl.com>; Sun, 20 Aug 2023 16:26:38 -0700 (PDT)
Received: from mail-oa1-x31.google.com (mail-oa1-x31.google.com [IPv6:2001:4860:4864:20::31]) (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 4AA39C14CF1D for <tsvwg@ietf.org>; Sun, 20 Aug 2023 16:26:38 -0700 (PDT)
Received: by mail-oa1-x31.google.com with SMTP id 586e51a60fabf-1c504386374so2056498fac.3 for <tsvwg@ietf.org>; Sun, 20 Aug 2023 16:26:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=herbertland.com; s=google; t=1692573996; x=1693178796; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=6ABAmqWDdv5d2x0+FoSyvc1eC7LUVuqRVMtylr4nRf0=; b=Urvef5N3Ple2fBYnqYyaNuLmusXWo7hqFVpTElUQRF2iPufkvNr+2tkbdy+VcWQZFr /uwwkQYhz115TMzaR907/1R89+r41TK9zlGwG+/E2l32vyXjO8btAJPbRBAxvdPgTYAt XGC6psWfgjoqmHmX/BKKn/pZSHGKJAXf8uewt+HNjPL7DJ2YlFM28sWSlITf2MTsAXd8 y2fSN9pBcwFQx92p6PT/TjwZqGVcRT9NV495V2U+MIgTRLsUo/PPJWYvZG/B4osO62CE w0axWNRoqhrPD4Mfa/uOm/IbyLNSGq5gsYRdOVlB/axBBFF6D8qxHi3I7DRg0yF0R/Fr jz/w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1692573996; x=1693178796; h=content-transfer-encoding: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=6ABAmqWDdv5d2x0+FoSyvc1eC7LUVuqRVMtylr4nRf0=; b=arjnbVyN1lyNnv0EpTIPzYJfoDBM+sOKq9fI0oEpn0pMDjqwjH6l3DpxoLf7NRQ3Q6 LhnHGaMIRHljNHn38sSwOiuMGQVmI6ssWKtuGxQS2K90qvvL1r40noxqAtFBe6X0Yidf aHA3qvbi5J1JF6aIny12XLTo/PD63gA5lH0UFDogJwR2/fSlo/ty2tYYxamVj0y0a17a WjMa1Zac2gdvi/op/kkQt9yZQhNvMWzVBT0RNakSpLVb2slMzlUsce+/wbIg1Ada+jOw Cr9n59yn+wawnZPOWFy/xnTFLZ8w3416G3FXW82r7JQG9CRyOYVa0WznFzX22rp4IVd1 E52A==
X-Gm-Message-State: AOJu0Yzdlt9rqOmF0fm1x9EqL8B/HFChHHv/ywqaigKqeJKW0/BvT6id fSECLY8YLXIooJK7/8LgsuiLLGuQekwwhC6pKMxzaA==
X-Google-Smtp-Source: AGHT+IHQOhmTMup5TwXwsa9emI1U4nx+lX96Btw7v8o2HdV+/8JCWy4oh8y3YFERuqboPVwRxCmUdnnDBMFKxP/3XWY=
X-Received: by 2002:a05:6870:ec90:b0:1c8:ca70:dd0c with SMTP id eo16-20020a056870ec9000b001c8ca70dd0cmr7423284oab.19.1692573996649; Sun, 20 Aug 2023 16:26:36 -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> <CACL_3VFBDgzJKBdRkBHsEsc7fMNSxnLtpg_yVwxQPNPCZ+kcrA@mail.gmail.com>
In-Reply-To: <CACL_3VFBDgzJKBdRkBHsEsc7fMNSxnLtpg_yVwxQPNPCZ+kcrA@mail.gmail.com>
From: Tom Herbert <tom@herbertland.com>
Date: Sun, 20 Aug 2023 16:26:24 -0700
Message-ID: <CALx6S34PFXnjz-At1mAqZvDFopFq_byNc6ociDmFQofJBHyyjQ@mail.gmail.com>
To: "C. M. Heard" <heard@pobox.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: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/DoiF8tuvpCs4x-OFuZQnFgT3ptE>
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 23:26:42 -0000

On Sun, Aug 20, 2023 at 2:32 PM C. M. Heard <heard@pobox.com> wrote:
>
> 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.

Mike,

The problem we're facing is that the UDP Options draft defines the
whole surplus area to be transport options; it's not extensible to
carry network options or other protocols we might dream of. There is
an easy way to make the surplus area extensible: define a type field
in the surplus area header. To enable the possibility of using header
chains in the surplus area we need a header length in the surplus area
as well. These two fields along with the checksum are the fields for a
surplus area header that I proposed in draft-herbert-udp-space-hdr.
Adding them would be a fairly minor change to the UDP Options draft; a
type number for UDP Options would need to be defined, the aggregate
length of the options would be set in the length field, but otherwise
it doesn't affect anything in the rest of the draft. Once
extensibility is enabled in the surplus area, the protocol for network
options in the surplus area could be independently developed without
impeding progress on finishing UDP transport options.

Tom

>
> Thanks and regards.
>
> Mike Heard
>