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

Joseph Touch <touch@strayalpha.com> Thu, 08 July 2021 04:52 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 E2F453A040C for <tsvwg@ietfa.amsl.com>; Wed, 7 Jul 2021 21:52:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.318
X-Spam-Level:
X-Spam-Status: No, score=-1.318 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, 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 qv5tPA9wzufw for <tsvwg@ietfa.amsl.com>; Wed, 7 Jul 2021 21:52:48 -0700 (PDT)
Received: from server217-3.web-hosting.com (server217-3.web-hosting.com [198.54.115.226]) (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 583EA3A040A for <tsvwg@ietf.org>; Wed, 7 Jul 2021 21:52:47 -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:Cc:Date:In-Reply-To: From:Subject:Mime-Version:Content-Type:Sender:Reply-To: Content-Transfer-Encoding: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=lsnIOw5AzT/067Dd4uyRtt9GcIckGRE0gv5/bqUO0XI=; b=4Z+E1+oC/X/C9hURzeKKNDTXFa xCRHFpDbky8KER2jAWUSkgNGMWTtxMJpm1XVhhJwvdtr9m5TGyH2SplesdFjSWOS736p7WU+zoS3M BNwQTA/dR+tsGB0MdEkD0Bv+5g6oM8Qmf9/RZFOVebr2/nJDQvr1jQWxsq6fWL6/PvYuXeeaFTKqM 6z7HbXtRNaWFsEgDV9nGl+OMB/TmH+iCWULDtkya1HjjGhSsB0lV7/CSjahNfWkUghZJ30K+sNPNU V0Jpgc0hWHMdiXVDsrwoU2AwTLuxnUbDFZojFt43qt2Xs8WEPydWESV4Vrp+JwON0l05JekwaSvbI SlMLt6EQ==;
Received: from cpe-172-250-225-198.socal.res.rr.com ([172.250.225.198]:57278 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 1m1M1i-001CgU-VV; Thu, 08 Jul 2021 00:52:47 -0400
Content-Type: multipart/alternative; boundary="Apple-Mail=_5AD4E599-553B-4452-9493-37D1C1EDD337"
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.100.0.2.22\))
From: Joseph Touch <touch@strayalpha.com>
In-Reply-To: <CACL_3VHH67CCOBHvq_fC9E1AeqWA1Uwdyxg-SVnxxd-YJX5WTw@mail.gmail.com>
Date: Wed, 07 Jul 2021 21:52:41 -0700
Cc: TSVWG <tsvwg@ietf.org>
Message-Id: <6CB58F57-8239-42FE-846D-A9ACA3C1E8AC@strayalpha.com>
References: <162408795080.21706.5548660195641640175@ietfa.amsl.com> <C2C396E7-B728-496E-841B-D9F64004D3E3@strayalpha.com> <20210620043304.c6xerpura7lyw6yo@family.redbarn.org> <95274A1D-3C51-4D40-A5AB-7E8A4AEFDD1B@strayalpha.com> <20210620171249.le6tjyi7h66jggq2@family.redbarn.org> <E716B4A5-44F5-41A1-98C0-A7A25FAFF779@gmail.com> <CACL_3VFUpae=ABZu=WuAUmJozOZcr5z4qW3orZGkzVi-niEa4g@mail.gmail.com> <54092700-A760-4B54-81E7-DDAC518FA27E@strayalpha.com> <CACL_3VHH67CCOBHvq_fC9E1AeqWA1Uwdyxg-SVnxxd-YJX5WTw@mail.gmail.com>
To: "C. M. Heard" <heard@pobox.com>
X-Mailer: Apple Mail (2.3654.100.0.2.22)
X-OutGoing-Spam-Status: No, score=-1.0
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/yMOcGNTARl2cedkIWGJll9AQjAI>
Subject: Re: [tsvwg] I-D Action: draft-ietf-tsvwg-udp-options-13.txt
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: Thu, 08 Jul 2021 04:52:54 -0000

Notes below...

> On Jun 26, 2021, at 1:32 PM, C. M. Heard <heard@pobox.com> wrote:
> 
> On Sun, Jun 20, 2021 at 12:36 PM Joseph Touch  wrote:
> FWIW, on this point:
> 
>> On Jun 20, 2021, at 11:28 AM, C. M. Heard  wrote:
>> 
>> An option-aware client can and should include the UDP MRSS (Maximum Reassembled Segment Size) option in its request to indicate to the remote server the largest fragmented UDP datagram that it can reassemble.
> 
> Agreed, but that doesn’t help the client send a bigger request, which should also be possible, up to the minimums we specify.
> 
> But this doesn't help unless the client knows a priori that the server accepts UDP options in general and fragments in particular. AFAICT The only way to know a priori is via explicit configuration, in which case the relevant limits (MRSS, and possibly number of fragments) can be configured too.

The only way to *know*, yes. But we don’t want to prevent an endpoint from sending messages ‘opportunistically’, i.e., in the hopes that the options are supported. UDP is not a stateful protocol, so we do not want to require a stateful handshake before using options that could be ignored. 

That’s another reason why I think it is important to allow at least some minimal fragmentation and reassembly prior to getting ’soft’ information that allows it to be larger.

> I’m wondering if we can say:
> 
> - MUST support reassembly of at least (somewhere between 3 and 10), 
> 	unless considered a constrained instance, which MUST support at least 2
> 
> This allows for minimal IoT-style instances but doesn’t open the door too widely.
> 
> I remain unconvinced that it would be good for adoption of the spec to require anything beyond the ability to accept a datagram consisting of a single UDP fragment (one that is both initial and terminal). Based on the implementation experience that I have had, the difficulty is NOT how many fragments one must reassemble but rather the requirement to implement stateful reassembly machinery in an otherwise stateless protocol. 

Reassembly isn’t anywhere near the same as handshake state. It’s local to each side.

> Despite its age, RFC 815 remains still a good read and IMO its main lesson -- that the maximum reassembled size is what needs to be bounded, not the number of fragments -- remains relevant.

Although I agree that size is the issue, the number of fragments can and should also be bounded as well. RFC 815 was useful at the time, but even the smallest IOT devices have capabilities far in excess of what was available in desktop devices of 1982. Just as IPv6 requires 1280B packets with 1500B reassembled IP, it should not be too much to assume UDP options can support something up in that range.

Joe