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

"C. M. Heard" <heard@pobox.com> Sun, 20 August 2023 03:34 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 41047C151080 for <tsvwg@ietfa.amsl.com>; Sat, 19 Aug 2023 20:34:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.106
X-Spam-Level:
X-Spam-Status: No, score=-7.106 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_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 (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 LD1otGWImbvN for <tsvwg@ietfa.amsl.com>; Sat, 19 Aug 2023 20:34:27 -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 1EB6BC14CE2E for <tsvwg@ietf.org>; Sat, 19 Aug 2023 20:34:26 -0700 (PDT)
Received: from pb-smtp1.pobox.com (unknown [127.0.0.1]) by pb-smtp1.pobox.com (Postfix) with ESMTP id 9F2441ADEFB for <tsvwg@ietf.org>; Sat, 19 Aug 2023 23:34:22 -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=gJc6tQfaBoNXq9vscf1bN4BOsJCdTZzw S3T3ovrUjNc=; b=eRd5fPLFoxuPO6qWyHYzvyPaynA+oJmdYHZNMBlkzS8mJXfX dxFgSgsQt/2lVt4CX70lZR4E2CrCowaN8l+KPUqy6MSz+/0QdY6W/2LkP3dthZI1 G8MfWMi00lYB6YYmgNSFXggH/Ucer1y6QtvHBhCPDPzTnaDZzm7mahOHebk=
Received: from pb-smtp1.nyi.icgroup.com (unknown [127.0.0.1]) by pb-smtp1.pobox.com (Postfix) with ESMTP id 96A621ADEFA for <tsvwg@ietf.org>; Sat, 19 Aug 2023 23:34:22 -0400 (EDT) (envelope-from heard@pobox.com)
Received: from mail-ed1-f51.google.com (unknown [209.85.208.51]) (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 E12BC1ADEEF for <tsvwg@ietf.org>; Sat, 19 Aug 2023 23:34:21 -0400 (EDT) (envelope-from heard@pobox.com)
Received: by mail-ed1-f51.google.com with SMTP id 4fb4d7f45d1cf-522dd6b6438so2632264a12.0 for <tsvwg@ietf.org>; Sat, 19 Aug 2023 20:34:21 -0700 (PDT)
X-Gm-Message-State: AOJu0Yy3S/lNzT9vUjrSfajILsAo6/tLqsXY7t6UdVm5pK3yZWl2Kg8g UEqop1oRbH31w6QoaqlgRcbEqiS4ZOg2eFQt1G8=
X-Google-Smtp-Source: AGHT+IHWAlbv897Se3REqYwqh6vtpEOrPv6yBXo5POL5Dfm2qD2Hw+YApNGEEzg5BTlXnWW6AljkmmEDV9AqGhzQqno=
X-Received: by 2002:a05:6402:1817:b0:522:ca7c:df78 with SMTP id g23-20020a056402181700b00522ca7cdf78mr2457383edy.0.1692502460344; Sat, 19 Aug 2023 20:34:20 -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>
In-Reply-To: <CALx6S3746RSPzo3OvNPFmGj_M8OfyAJ6VCCvY82o13qS8futyQ@mail.gmail.com>
From: "C. M. Heard" <heard@pobox.com>
Date: Sat, 19 Aug 2023 20:34:08 -0700
X-Gmail-Original-Message-ID: <CACL_3VGpq7trjYgc1WZWbrWcWuBbRKz69UjfowE3UfcxfStmxw@mail.gmail.com>
Message-ID: <CACL_3VGpq7trjYgc1WZWbrWcWuBbRKz69UjfowE3UfcxfStmxw@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/mixed; boundary="000000000000ee44fc0603526fcc"
X-Pobox-Relay-ID: 73C23AB0-3F0A-11EE-92C7-78DCEB2EC81B-06080547!pb-smtp1.pobox.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/t2wIQQe0CL5m4Y0ccrjWhWEStNc>
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 03:34:31 -0000

On Sun, Aug 13, 2023 at 8:49 AM Tom Herbert wrote:
> The possibility of using the UDP surplus area to convey network
> options merits discussion. This is really about exploring if UDP
> can be "the new network layer" as some have suggested.

Thank you.

[ ... much good discussion elided ... ]

> In short, I believe it possible to define network options in the
> UDP surplus area or UDP options, although I'm not sure this is only
> a modest change to the UDP options spec (maybe we need a draft on
> network options in UDP options?).

While a complete draft would certainly be preferable, let me start
with this sketch. It begins with a revised FRAG options, which
now includes a PROTOCOL number, more or less as proposed in
draft-daiya-tsvwg-udp-options-protocol-number:


     +-------------+------------+

     | Src Port    | Dst Port   |

     +-------------+------------+

     | UDP Len = 8 | UDP Chksum |

     +-------------+------------+

     |     OCS     |K=3  L=14/16|

     +-------------+------------+

     |      Identification      |

     +--------------------------+

     |  Protocol   | Frag. Off. |

     +-------------+------------+

  ,--| Frag. Start |   (RDOS)   |

  |  +-------------+------------+

  |  ~ Per Fragment Options     ~

  `->+-------------+------------+

     ~      Fragment Data       ~

     +-------------+------------+



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.

2.) All network options are per-fragment options; none reside in the
surplus area of the reassembled UDP datagram (indicated by RDOS).

3.) Transport options that apply to the entire reassembled UDP
datagram MUST reside in the surplus area of the reassembled UDP
datagram (indicated by RDOS).

4.) Some options, such as AUTH or UENC, might logically be construed
to apply either to a single fragment of the entire datagram. They
may appear as per-fragment options only if when they are actually
being used as network options intended for be interpreted by
intermediate systems. Otherwise, they MUST appear in the surplus
area of the reassembled UDP datagram (indicated by RDOS).

5.) The Identification field is to be interpreted in the context not
only of the source and destination UDP ports and source and destination
IP addresses, but also of the Protocol field.

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.

Note that it's possible to send atomic fragments by setting Frag.
Off. equal to zero and Option Length = 16 (indicating that the
RDOS -- or pre-fragmentation UDP length -- field is present). Thus,
there is no requirement to actually fragment a datagram except when
it won't fit within the path MTU. In effect, the FRAG option morphs
into something like the general-purpose UDP Surplus Header that
was proposed in draft-herbert-udp-space-hdr. The main difference is
that we do not require this option/header when only transport
options are used and no fragmentation is required. In particular,
draft-ietf-tsvwg-udp-options-dplpmtud required no changes at all.

This sketch does not fully address the robustness issue, though
IMO this is likely not a serious issue given that there are no known
uses of the UDP surplus area.

This sketch does not directly address the issue of modifiable
network options, though I think that it should be possible to deal
with that in individual option specifications. I need to think
about the need to recognize options as mutable or immutable without
detailed knowledge of the option. My understanding is that this was
needed in IPv6 primarily to accommodate AH.

This sketch does address the performance issue of intermediate
systems having to process trailers -- which would not work
anyway if UDP fragmentation is used.

I'm not sure that this sketch actually does a worse job than of
addressing the backward compatibility issue than does IPv6 HbH,
given that at the present time the empirical evidence suggests
that IPv6 HbH suppers a vastly worse drop rate than UDP packets
with a surplus area, though this last claim must be tempered by
lack of data on the specific case of UDP Length == 8. What I see
is a very long tail to full adoption for both, though operation of
UDP Options between consenting systems seems more likely to work
in the short to medium term.

This sketch definitely does a better job of supporting IPv4 than
does IPv6 HbH :-)

If there is sufficient interest, I will try to turn this sketch
into a proper proposal.

> But even if this is possible, I have to ask the question: Is it worth
> doing? Is this an elegant solution to a fundamental problem on the
> Internet, or is it a hack that is trading one set of problems related
> to Hop-by-Hop options for another set of problems? Five years from now
> will we still be grappling with how to host to network signaling on
> the Internet despite a lot of effort to make a UDP solution work, or
> will we see this as a solved problem with wide scale deployment?

That, indeed, is the question. I hope we can converge soon enough to
ship UDP Options fairly soon.

Mike Heard