Re: [tsvwg] Comments on recent UDP options work

Joe Touch <touch@strayalpha.com> Sun, 25 November 2018 19:58 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 756C1130DD5 for <tsvwg@ietfa.amsl.com>; Sun, 25 Nov 2018 11:58:28 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.989
X-Spam-Level:
X-Spam-Status: No, score=-1.989 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, T_SPF_PERMERROR=0.01] autolearn=ham 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 YZxtzRyInlpT for <tsvwg@ietfa.amsl.com>; Sun, 25 Nov 2018 11:58:25 -0800 (PST)
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 980701288EB for <tsvwg@ietf.org>; Sun, 25 Nov 2018 11:58:25 -0800 (PST)
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=ETAtCZu1wLilWhIuT2youqEJiGoS8hSkroAQIIPcTX4=; b=X3bxi27gO+JB/exnB+kvgzJkK fUHGZ+RNi+pNBIInY/Ccc99Qj21yGCS2u3LhObgpqpnDNnfxsxUf+7KJtIqWVlrSGFAH7E/qkHPBJ gDySuJQ2kxLuJZgxroHsczpko4QurC7el/KZPH91qNVhFlweijvBmXZ59iif2Sdq5ryojDucO8xVm WoRio8WPLozWUE9F5VnWAa22OGkTNo4uqWFgUOepQsBsVDC1NQbznARHNloNm6R6JJiMh7e7LhZiE lTrv4sHxroCCfxbKrKXx9y0QPcwKe6mRuQvJD6zXDKVuZtybcP4/hPKbtaBdJC3PVo/ER1Z6endH3 x/QjM4Vtw==;
Received: from cpe-172-250-240-132.socal.res.rr.com ([172.250.240.132]:58894 helo=[192.168.1.77]) by server217.web-hosting.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.91) (envelope-from <touch@strayalpha.com>) id 1gR0Xv-000ups-1e; Sun, 25 Nov 2018 14:58:24 -0500
Content-Type: multipart/alternative; boundary="Apple-Mail=_61752892-698A-4051-9688-0D0EFC8964B2"
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
From: Joe Touch <touch@strayalpha.com>
In-Reply-To: <5BFAEB18.5020302@erg.abdn.ac.uk>
Date: Sun, 25 Nov 2018 11:58:22 -0800
Cc: "C. M. Heard" <heard@pobox.com>, tsvwg <tsvwg@ietf.org>
Message-Id: <AE5B46C7-EDC3-4E6E-B735-EC8E9403BC6D@strayalpha.com>
References: <CACL_3VFG+B1AZfC09XTTq0Ht8tM5RoZt8zy1c5aK2NLpQQwKGA@mail.gmail.com> <DDBEA9CB-86A1-496C-BC73-F4C62D05ED05@strayalpha.com> <5BFACDAD.7050109@erg.abdn.ac.uk> <2CFB9765-6B83-4857-B4E6-355BCD04FBFC@strayalpha.com> <5BFAEB18.5020302@erg.abdn.ac.uk>
To: gorry@erg.abdn.ac.uk
X-Mailer: Apple Mail (2.3445.9.1)
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/xUczjZAFp5gi9zFxwg2P1PB1-A8>
Subject: Re: [tsvwg] Comments on recent UDP options work
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: Sun, 25 Nov 2018 19:58:29 -0000


> On Nov 25, 2018, at 10:34 AM, Gorry Fairhurst <gorry@erg.abdn.ac.uk> wrote:
> 
> On 25/11/2018, 16:36, Joe Touch wrote:
>> 
>>> On Nov 25, 2018, at 8:28 AM, Gorry Fairhurst<gorry@erg.abdn.ac.uk>  wrote:
>>> 
>>> On 25/11/2018, 16:16, Joe Touch wrote:
>>>> One question (and clarification):
>>>> 
>>>>> On Nov 25, 2018, at 8:03 AM, C. M. Heard<heard@pobox.com<mailto:heard@pobox.com>>  wrote:
>>>>> 
>>>>> 1. In the thread on "UDP Options Implementation Update," Tom Jones
>>>>>    said "The current spec puts data in the UDP payload, which does
>>>>>    not seem correct.”
>>>>> 
>>>> I didn’t understand that either.
>>> Where is the data portion of the fragment carried?
>> It depends on whether it’s FRAG+LITE or FRAG only; the former puts it in the option area,
>> the latter leaves it in the UDP payload.
> The latter would really concern me.

The latter should not occur unless the receiver confirms anyway.

>>>> No variant of UDP options adds anything to the *UDP* payload; they all use space in the *IP* payload that extends beyond that of the UDP payload. That includes LITE.
>>> If it is always OK to return a UDP Options packet that has had the options area stripped (without the receiver knowing) - then I think the operation is correct.
>> I don’t think that’s “OK” - i.e., that should NEVER be a legitimate function of any intermediate device. However, being robust to that behavior might be a consideration...
>> 
>>> If that could result in an incomplete or incorrect datagram payload then I think the design may be wrong.
>> The design is not intended to overcome the arbitrary behavior of all intermediate devices. Again, “more robust” doesn’t mean “right”….
>> 
> Who would implement something that currently does not work on many paths?

So no IPv6, got it.

>>>>> 1. If I understand this comment correctly, I think the issue is
>>>>>    addressed by using it in combination with LITE. If in the end we
>>>>>    don't retain LITE, it would still be possible to re-specify the
>>>>>    FRAG option to get the same effect (i.e., make all data in the
>>>>>    fragment part of the option); in this case, we would need a
>>>>>    separate option to signal that FRAG is understood, in order to
>>>>>    support (3) above.
>>>>> 
>>>> It my be possible that FRAG is not useful without LITE, but remember that LITE may be useful without FRAG.
>>>> 
>>> I think the point I saw was that LITE is complicated to implement, and also it is quite unlikely to work on many paths, because it is not possible to have LITE semantics and a CCO.
>> We can leave that to the user, with the appropriate caveats.
> We could - but there again I do not understand yet why it would be helpful to require conformant stacks to implement something that mostly isn't deployable at the moment.

But the same was true for the original UDP Lite too. We deploy things to change the Internet.

>>>> As to determining which options are understood, we currently infer that from the options received (i.e., if you send an option, you indicate you can receive it too). The receipt of ANY of the core options implies support for all of them.
>>> I really do not think this should include FRAG. Support for fragments at the IP-layer is very much in doubt in other WGs, and the requirement that an endpoint "must" support FRAG, if a sender uses any options does seem worrying.
>> FRAG is part of the core of UDP options; if an endpoint supports any of that core, it can be assumed to support the entire core.
> Personally, I disagree with this position.

It’s there for a reason - the primary motivating case for the options in the first place. 

>> Support for fragments at the IP layer does interfere with the profit and effort model of vendors and operators but what we’re seeing “in other WGs” are the shopping around of ideas until they find a home. Let’s not confuse that with a groundswell.
> There are memory and processing implications of needing to hold onto fragments waiting for reassembly and what to do with rogue packets containing fragments that you don't know whether they should be reassembled.

Yes, and there are memory and processing implications of processing UDP at all, so let’s ditch that. And TCP. And SCTP.

> 
> My comment conerned doubts that this functionality should be provided by UDP-Optiona and a suggestion it may be better provided by an application (perhaps e.g. a tunnel protocol endpoint?). I don't see how adding this as a UDP-Option function helps eliminate complexity or to manage fragments better.

Everything CAN be implemented st the app layer; your argument basically deprecates all transport protocols. I disagree with that. UDP needs these options - esp. fragmentation support - exactly because we don’t want to reinvent it repeatedly at the app layer and it’s useful to provide it at the transport.

Anyone who doesn’t WANT to use it is free to not turn it on, of course.

Joe