Re: [tsvwg] I-D Action: draft-ietf-tsvwg-udp-options-31.txt

"Gorry (erg)" <gorry@erg.abdn.ac.uk> Wed, 06 March 2024 09:10 UTC

Return-Path: <gorry@erg.abdn.ac.uk>
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 C63A0C14F5E7 for <tsvwg@ietfa.amsl.com>; Wed, 6 Mar 2024 01:10:47 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.016
X-Spam-Level:
X-Spam-Status: No, score=-1.016 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, MIME_HTML_ONLY=0.1, MIME_HTML_ONLY_MULTI=0.001, MIME_QP_LONG_LINE=0.001, MPART_ALT_DIFF=0.79, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=no autolearn_force=no
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 Kgvv5TuF0b3D for <tsvwg@ietfa.amsl.com>; Wed, 6 Mar 2024 01:10:46 -0800 (PST)
Received: from pegasus.erg.abdn.ac.uk (pegasus.erg.abdn.ac.uk [137.50.19.135]) by ietfa.amsl.com (Postfix) with ESMTP id 9FDC1C14F5E8 for <tsvwg@ietf.org>; Wed, 6 Mar 2024 01:10:46 -0800 (PST)
Received: from smtpclient.apple (fgrpf.plus.com [212.159.18.54]) by pegasus.erg.abdn.ac.uk (Postfix) with ESMTPSA id D5A881B0020F; Wed, 6 Mar 2024 09:10:40 +0000 (GMT)
Content-Type: multipart/alternative; boundary="Apple-Mail-7705DF14-D06A-4935-85B6-F54AB7E88EFB"
Content-Transfer-Encoding: 7bit
From: "Gorry (erg)" <gorry@erg.abdn.ac.uk>
Mime-Version: 1.0 (1.0)
Date: Wed, 06 Mar 2024 09:10:28 +0000
Message-Id: <E82B3F27-CD79-4ED0-9FE6-27CAAB8E41AE@erg.abdn.ac.uk>
References: <CALx6S37S61eKrPTefdBTKfw=BoV31_C4nwadP+QxrctfduF0iw@mail.gmail.com>
Cc: "C. M. Heard" <heard@pobox.com>, TSVWG <tsvwg@ietf.org>
In-Reply-To: <CALx6S37S61eKrPTefdBTKfw=BoV31_C4nwadP+QxrctfduF0iw@mail.gmail.com>
To: Tom Herbert <tom=40herbertland.com@dmarc.ietf.org>
X-Mailer: iPhone Mail (20H307)
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/PsHyXXDXjhRUCHTmgS343_Tt2Qg>
Subject: Re: [tsvwg] I-D Action: draft-ietf-tsvwg-udp-options-31.txt
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: Wed, 06 Mar 2024 09:10:47 -0000

See below

On 6 Mar 2024, at 05:38, Tom Herbert <tom=40herbertland.com@dmarc.ietf.org> wrote:




On Tue, Mar 5, 2024, 8:22 PM C. M. Heard <heard@pobox.com> wrote:
On Tue, Mar 5, 2024 at 5:57 PM Tom Herbert wrote:
> I don't understand the intent of this new text:
>
> "Another reason is because APC may fail even where the user data has
> not been corrupted, such as when its contents have been overwritten.
> Such overwrites could be intentional and not widely known; defaulting
> to silent ignore ensures that option-aware endpoints do not change how
> users or applications operate unless explicitly directed to do
> otherwise."

I had a similar question and commented on that when closing Issue #25.

See https://github.com/tsvwg/draft-ietf-tsvwg-udp-options/issues/25#issuecomment-1977823570" rel="noreferrer noreferrer nofollow" target="_blank">https://github.com/tsvwg/draft-ietf-tsvwg-udp-options/issues/25#issuecomment-1977823570
and https://github.com/tsvwg/draft-ietf-tsvwg-udp-options/issues/25#issuecomment-1977982512" rel="noreferrer noreferrer nofollow" target="_blank">https://github.com/tsvwg/draft-ietf-tsvwg-udp-options/issues/25#issuecomment-1977982512

The gist is that middleboxes have been known to overwrite embedded IP
addresses and ports. In that case the middlebox could reasonably be
expected to update the UDP checksum, but an implementation that predates
the specification of APC could not be expected to update it. I see that
a clarification is forthcoming in -32, but we are now past the I-D
submission cutoff date, so it won't appear for a couple of weeks.

> I am not familiar with any IETF protocol that allows UDP payload to be
> updated in flight. In fact, RFC7605 states that UDP port numbers
> cannot be correctly interpreted in the network, so there is no way to
> implement a robust protocol that changes UDP payload inflight. Because
> of this, an intermediate node that is overwriting the UDP payload *is*
> in fact corrupting the UDP payload. So this new provision is seemingly
> accommodating this non-standard, potentially harmful behavior as the
> default.

There are middleboxes that are known to rewrite the embedded IP
addresses in FTP. That's not endorsed by any standard, but it's
a fact of life that we live with. And I see that Dan Wing has named
some UDP-based protocols that do this, too.

If that's the case, wouldn't it be easier to just advise the developers of these handful of protocols like TFTP to not send APC, instead of making it the default for all receivers to ignore APC on the off chance that they might hit one legitimate case in all their traffic?

Tom


Mike Heard

My suggestion is that we do not need to add a new UDP requirement, but to say something like:

Section 3.4 of RFC 8085 advises developers to use additional payload protection when “  where data integrity is important”.

The APC option can be used to provide this by applications  enabling this at the sender and also requiring the presence of a valid APC crc at the receiver.

Gorry (as a WG member, not a chair)