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

Tom Herbert <tom@herbertland.com> Sun, 13 August 2023 15:49 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 2D157C151557 for <tsvwg@ietfa.amsl.com>; Sun, 13 Aug 2023 08:49:02 -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 Ou8s6kEvtun6 for <tsvwg@ietfa.amsl.com>; Sun, 13 Aug 2023 08:48:58 -0700 (PDT)
Received: from mail-pf1-x42a.google.com (mail-pf1-x42a.google.com [IPv6:2607:f8b0:4864:20::42a]) (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 4D0E0C15154A for <tsvwg@ietf.org>; Sun, 13 Aug 2023 08:48:57 -0700 (PDT)
Received: by mail-pf1-x42a.google.com with SMTP id d2e1a72fcca58-686f0d66652so3445586b3a.2 for <tsvwg@ietf.org>; Sun, 13 Aug 2023 08:48:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=herbertland.com; s=google; t=1691941737; x=1692546537; 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=JF2K+XI022fWraigcZrcMNoTtL5DyXGMS/ziSha+OHQ=; b=LSOE3tL6am654rI6Y2R5C8gneP1IlvUJwFSvfDfYlShZWjLAp2JtwnZXEYYL1UlQWj PIAJ4PSJ3fbX4yrFkxMN9d2iUhtK7r4ASBmyYPeEmj1KG+Q9GY7vhj1AKI/e0VQDOEp6 xUfgIc7rVxOlxAEPkrF8Gn9aTpFEBW0NURCtExWMhQmV/k180pO8LkF04MUoYPKRibuy BE/VpGokc7xwlehz52S7TAHc+xjdvF/Bu/3c5D8+3uy78JGCRjoG+56wpTm0X/Jgn5QI NwXMXQ/TfRlAOZDvFjThSJCgYYZagZbGj5Z0sc/ihgnWhNWEGoDLgYjKnznE4L8fH1MQ OjeA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691941737; x=1692546537; 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=JF2K+XI022fWraigcZrcMNoTtL5DyXGMS/ziSha+OHQ=; b=a/Pt7zdng+NRuC/bnBv5eMYi/1msUoX55CeJMAIGOGyRWKfF+1+ZCSeaZnVGASEfpw X7zW7NcKhan0rNJCVsRIh/5NGYABhqNjUe1DCqFVyPV4mqR7TOV9r611fuvgS/OOcx8o QkAvNAqJf5Rxu+slcFguf7lXuCtBaSQiGidzbk+e95AWnbVFglzPJsaGRzjzdtNBFU05 zipYh7OBRoRm3RXibG0bdNMiSJRnvo4KQhWYyDYwSRzeb7lujLOPmy5UEkbiZeFNBFj7 nJWTDx9yJgzIQiZtLH1mH+xdeOrCyGj/lMnulIcOLLez9K3vEpxsuNzBtN3b4i+CUmun q5Hw==
X-Gm-Message-State: AOJu0YyMlf8zy9FNYvL1KXds/hVG6o8dTdcq6EQEp6ZIfHM80ig42iEb 6Gpu6jy/HvzdA6DPIAd16U6W3tjAY9KTXdTGu5KoxQ==
X-Google-Smtp-Source: AGHT+IEY5SXFYKnKyPSHcaP9UIjicxQt1MBBybvs6/8uAHdCZKfB2h6fke8ry64CbwadXkzDZgOkbkcRBKQ085td0QY=
X-Received: by 2002:a17:90a:bd91:b0:268:4485:c868 with SMTP id z17-20020a17090abd9100b002684485c868mr5606025pjr.49.1691941737231; Sun, 13 Aug 2023 08:48:57 -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>
In-Reply-To: <CACL_3VEycg263=MMYOdPSGav1obOaY7567uVmNRDzhgn60z97Q@mail.gmail.com>
From: Tom Herbert <tom@herbertland.com>
Date: Sun, 13 Aug 2023 08:48:45 -0700
Message-ID: <CALx6S3746RSPzo3OvNPFmGj_M8OfyAJ6VCCvY82o13qS8futyQ@mail.gmail.com>
To: "C. M. Heard" <heard@pobox.com>
Cc: Joe Touch <touch@strayalpha.com>, TSVWG <tsvwg@ietf.org>, 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>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/bFqrScwIEo95vTcS11LNHxLkd5A>
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, 13 Aug 2023 15:49:02 -0000

On Sat, Aug 12, 2023 at 6:14 PM C. M. Heard <heard@pobox.com> wrote:
>
> On Fri, Aug 11, 2023 at 7:47 PM Joe Touch wrote:
>>
>> Just to be clear:
>>
>> On Aug 11, 2023, at 2:42 PM, C. M. Heard <heard@pobox.com> wrote:
>>>
>>> I've been pushing the idea to co-opt the per-fragment UDP options used for host-to-network signaling, and I'd like to make some comments about that.
>>
>>
>> This confuses transport options with network options.
>
>
> Not confusion, but rather an explicit proposal to use the per-fragment options as network options instead of transport options. It is put forward to provide potentially workable solutions to the problems that draft-kaippallimalil-tsvwg-media-hdr-wireless and draft-reddy-tsvwg-explcit-signal are intended to solve.
>
> Granted, an architecturally preferable way to accomplish these objectives would be to use IPv4 Options or IPv6 Hop-by-Hop Options. Indeed, I myself would prefer for IPv4/IPv6 Options to be used if the issues of high discard rates of packets with these options could be solved. There are efforts underway to mitigate the problems for IPv6 Hop-by-Hop Options. Those might bear fruit someday, though the timeline is at best uncertain. But as far as I know, the discard rates for IPv4 Options are equally dismal, and there are no efforts underway to fix that problem. Correction by parties with better knowledge of the facts than mine are invited.
>
> My take is that the problems that draft-kaippallimalil-tsvwg-media-hdr-wireless and draft-reddy-tsvwg-explcit-signal (and possibly draft-daiya-tsvwg-udp-options-protocol-number as well) could, in principle, be solved by what I see as a modest change of direction to the UDP Options spec. Whether that would work out in practice is much less certain, for the reasons that Tom Herbert has pointed out. IMO it is a judgement call whether the chances are better to get IP Options (in any version) to work within our professional lifetimes. Given that, I don't think it would be right to turn draft-kaippallimalil-tsvwg-media-hdr-wireless and draft-reddy-tsvwg-explcit-signal away without a proper discussion.
>

Mike,

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.

I believe the requirements for a network layer protocol are something like:

1) Be able to encapsulate any transport protocol.

In the case of UDP there are already several protocols that do this:
SCTP over UDP, GRE over UDP, MPLS over UDP. The one critical transport
protocol that is yet to be supported in UDP is TCP (I have posted
tcp-in-udp draft for this)

2) A network protocol is processed by intermediate nodes in the path,
not just end points; processing at intermediate nodes must therefore
be robust.

It is going to be difficult for a UDP protocol to fully satisfy this
requirement. There are no code points in the UDP header that can be
used by intermediate nodes without the risk of misinterpretation. Port
numbers can only be correctly interpreted by the endpoints (RFC7605),
and the existence of a surplus area, even in the case UDP length==8,
does not imply 100% probability that the surplus area contains UDP
Options. So processing of UDP at intermediate nodes as a network layer
is at best "probabilistically robust". Magic numbers and checksum can
reduce the probability of misinterpretation to something close, but
not equal, to 0%. To contrast, IPv6 has sufficient code points such
that if an IPv6 packet is received and the next protocol is 0, then
the packet *contains* Hop-by-Hop options (lest the packet is corrupted
or the sender sent a malformed, non-conformant packet)-- so IPv6 and
IPv4 protocols, are fully robust in this regard

3) A network protocol should be extensible with options.

It is conceivable that the UDP surplus could contain network options.

4) A network protocol should allow some network options to be modified in flight

A general mechanism for network options would include the ability to
modify data in flight. This is handled in Hop-by-Hop options with a
bit that indicates rather intermediate nodes can modify data in
flight. Functionally, this is possible in UDP options assuming that
the options aren't encrypted or authenticated; when data is modified
in flight the OCS would need to be adjusted accordingly to keep it
correct

Since packets are being modified in flight, misinterpretation as
described in #2 could lead to systematic data corruption which would
be really bad! So we need the mechanisms defined to make
misinterpretation extremely unlikely.

5) Processing a network protocol must be efficient

The network protocol must be in packet headers and not trailers since
its unlikely intermediate nodes can efficiently process trailers.
Also, there must be considerations for slow path versus fast path
processing, and DoS mitigations. For Hop-by-Hop options these are
discussed in draft-ietf-6man-hbh-processing and
draft-ietf-6man-eh-limits. Network options in UDP would essentially be
Hop-by-Hop options just packaged differently, so I believe the drafts
and other lessons we've learned in dealing with network options are
applicable.


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?). 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?

Tom


> Thanks,
>
> Mike