Re: [tsvwg] A review of draft-ietf-tsvwg-udp-options-12

Joseph Touch <touch@strayalpha.com> Mon, 14 June 2021 22:10 UTC

Return-Path: <touch@strayalpha.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 29CA83A1026 for <tsvwg@ietfa.amsl.com>; Mon, 14 Jun 2021 15:10:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.319
X-Spam-Level:
X-Spam-Status: No, score=-1.319 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, SPF_HELO_NONE=0.001, SPF_NEUTRAL=0.779, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=strayalpha.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fImJi5CCJGW7 for <tsvwg@ietfa.amsl.com>; Mon, 14 Jun 2021 15:10:47 -0700 (PDT)
Received: from server217-4.web-hosting.com (server217-4.web-hosting.com [198.54.116.98]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 694BF3A101F for <tsvwg@ietf.org>; Mon, 14 Jun 2021 15:10:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=strayalpha.com; s=default; h=To:References:Message-Id: Content-Transfer-Encoding:Cc:Date:In-Reply-To:From:Subject:Mime-Version: Content-Type:Sender:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=gA09dGh+c/LuBhrqTmC4vDNkSJSfTsFahUpPwS0wETI=; b=NftGddJV9hkKsvnzerBNTI+PL9 b9ZTWx9E4MjV9E1k870ODK3NaGHB4vm52aWPWXOdEtyuzMtNtUD1RCkCwORJpXxNm5pv/T7fBa3hR s7M0SLBfbvfydGBNUW08IVwns7dZ7Xgb1NwrQfYjzJZwqZ2/9eWi5vaW1lchUikGaaZChNMRy+o8W T08D6gzpZUNphHKuHvmo/MPMrl3viN1DKBs/75yXO0ZPjCngsHEefbcV6lXIWUm88NGyOql2LciqF S3UBtQxQZTRj6H4RXqdDjxxlI2R2Yi51leKAaKzHO/9P9IcRn4RpduO5U8WQJXQIzKR0n9g9AtGc1 8Ae8xQEQ==;
Received: from cpe-172-250-225-198.socal.res.rr.com ([172.250.225.198]:51605 helo=smtpclient.apple) by server217.web-hosting.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from <touch@strayalpha.com>) id 1lsun2-001BKN-SG; Mon, 14 Jun 2021 18:10:45 -0400
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.100.0.2.22\))
From: Joseph Touch <touch@strayalpha.com>
In-Reply-To: <20210614214930.lwqzqxqxhkprbrho@family.redbarn.org>
Date: Mon, 14 Jun 2021 15:10:39 -0700
Cc: Gorry Fairhurst <gorry@erg.abdn.ac.uk>, TSVWG <tsvwg@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <A37C0376-1325-4116-8E64-24C774487E01@strayalpha.com>
References: <CACL_3VHyoRr5ju8203DiLTUo-658DCj7ud+1dQE2o0hUPVhF0A@mail.gmail.com> <7D766992-AEEB-434F-BB1D-3817EE07DE61@strayalpha.com> <11037_1623411791_60C34C4F_11037_1_3_787AE7BB302AE849A7480A190F8B9330353A9C56@OPEXCAUBMA2.corporate.adroot.infra.ftgroup> <7aaa39d3-0431-e4b0-36bd-1db0686b24dc@erg.abdn.ac.uk> <1FF4F896-0CB8-4AC6-93A4-EAA716BB21A6@strayalpha.com> <CACL_3VFSoHzHdrps_9X2er+Z3S+_r5z9BstE6cJ0f7k8hgyfSA@mail.gmail.com> <3BECDCD0-F6CA-4725-86ED-092FE69DF1D9@strayalpha.com> <CACL_3VGF_+Oh_LbmL=LL-Pd_6dMX0WOaYU9z2x-EMnmgpWiPZg@mail.gmail.com> <20210613225640.pmnhuqwh3fcsorq6@family.redbarn.org> <14AF2B1D-C029-4C64-87EE-0C95B60AA90E@strayalpha.com> <20210614214930.lwqzqxqxhkprbrho@family.redbarn.org>
To: Paul Vixie <paul@redbarn.org>
X-Mailer: Apple Mail (2.3654.100.0.2.22)
X-OutGoing-Spam-Status: No, score=-0.5
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - server217.web-hosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - strayalpha.com
X-Get-Message-Sender-Via: server217.web-hosting.com: authenticated_id: touch@strayalpha.com
X-Authenticated-Sender: server217.web-hosting.com: touch@strayalpha.com
X-Source:
X-Source-Args:
X-Source-Dir:
X-From-Rewrite: unmodified, already matched
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/Emx7_aGu8EoRuHJyURfQS_W--hU>
Subject: Re: [tsvwg] A review of draft-ietf-tsvwg-udp-options-12
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.29
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: Mon, 14 Jun 2021 22:10:53 -0000

Hi, Paul,

> On Jun 14, 2021, at 2:49 PM, Paul Vixie <paul@redbarn.org> wrote:
> 
> On Sun, Jun 13, 2021 at 05:04:03PM -0700, Joseph Touch wrote:
>> 
>>> On Jun 13, 2021, at 3:56 PM, Paul Vixie <paul@redbarn.org> wrote:
>>> ...
>>> computing UDP payload size by subtraction requires either that one be
>>> inside the network stack (sometimes this means "in the kernel") so as to
>>> know the interface MTU and perhaps the path MTU, as well as the IP6 header
>>> and option sizes.
>> 
>> That???s correct; that???s exactly how TCP MSS works. The UDP stack can make
>> this information available to the user.
> 
> TCP MSS is different, because TCP segments are of elastic size, because
> message boundaries are not retained between the TCP user and the network.
> 
> no UDP stack has ever made payload size (per interface, per destination)
> information available in a portable way. at best we can learn the first-hop
> MTU or perhaps the PMTU and then we begin subtracting, pessimistically.

Yes, that’s what is expected - per RFC 1122, Sec 4.1.4 GET_MAXSIZES().

> the difference is, a UDP user currently knows that a message will be a packet,
> and can ask to shut off source fragmentation to assure this.

In a stack supporting UDP fragmentation, this would be the same as shutting off IP source fragmentation but allowing UDP fragmentation.

> in the UDP
> Options world, one UDP message from a user might become more than one
> packet on the network. and that's fine, but it's not what i'm asking about.
> 
>>> when this information is unavailable, for example when running inside
>>> a DNS responder,
>> 
>> A DNS responder would not be creating UDP option packets;
>> it creates user that it passes to UDP. The same way TCP
>> keeps ithis info on a per-socket basis, UDP is expected to.
> 
> we will need a portable kernel/user API that allows a UDP user such as DNS
> to learn the maximum message size tolerated by that socket.

Why is that not GET_MAXSIZES() as per RFC 4.1.3? That’s supposed to be a requirement. 

> if fragmentation
> is available then the size might be close to "64K" which is fine.

It would be limited by RMSS in UDP options (the UDP receiver max reassembly size).

> but the
> payload budget left over after IP6 or IP4 headers and options, and after UDP
> options, is something the UDP user should not try to guess, using subtraction,
> with pessimism as to how much overhead each (invisible) layer will occupy.

Agreed - that’s what the interface in RFC 1122 is supposed to provide, for exactly that reason.

Joe