Re: [tsvwg] Comments on ietf-106-tsvwg-udp-options

Tom Herbert <tom@herbertland.com> Wed, 01 January 2020 20:24 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 530FB1200DE for <tsvwg@ietfa.amsl.com>; Wed, 1 Jan 2020 12:24:36 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=herbertland-com.20150623.gappssmtp.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 041BZ6myGHPE for <tsvwg@ietfa.amsl.com>; Wed, 1 Jan 2020 12:24:34 -0800 (PST)
Received: from mail-ed1-x543.google.com (mail-ed1-x543.google.com [IPv6:2a00:1450:4864:20::543]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6B034120096 for <tsvwg@ietf.org>; Wed, 1 Jan 2020 12:24:34 -0800 (PST)
Received: by mail-ed1-x543.google.com with SMTP id c26so37597223eds.8 for <tsvwg@ietf.org>; Wed, 01 Jan 2020 12:24:34 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=herbertland-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=OyPGG1KmCewkcPn6ipRBXA4F5hxEFPNx19yvJzZptUk=; b=d4F7Qdr0lwOlzqB930IEJ4mreRagEwVtnF2ohpWgN0IvFy3oI9g/PXO/WS2ZAk7Ecp vXE3rvFrz6SoCYMF4azXvYfvZDy2KrmRm3IaOQ8ZUo1M06dq1bj+diMshD0zouFwUP8X tTPiAfKXmEFbCbVKXGelU71SG9+iKT/znEyAarDEXUb1vOWYpX6k5H8n4cSajckXjC2p zSjlyIwqMzMkV/lMKlSPKdtOf2NOyU1lE6JHeCaO9iy2c9Ny6qQ+HHMmM65HXBaWrtR0 lrEGjyGs9CSO4tZzuCwk0/Wca0FNBIBLv3GTjPgHOfrJ9A43cLB/tEs2az56OyE9Qx9t RLzA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=OyPGG1KmCewkcPn6ipRBXA4F5hxEFPNx19yvJzZptUk=; b=sxn5CG+j+6FIGltSoQ8tCmdzCYrBz9Dq9v4m2VgJ6nJmdfoTpGUYda3yaeEAf0NF0w ptzL0Bn3iHKDufLYUTX5ZAgq8oeEjpEHGNkJZUARMR1uJfMFPYvQ5E7fm+VunlSoVRho +PbG3WQJPpL3+5pGaFZquPA5OP1lttnvPuj+DJOtwuqSZji87y5nkOKWkG+ucMiM55Im SFhBaQxhZAwHCpbN5MWtdEipbKqtycGPj8W8RLpPpxd8FoiniZVRDk2IdcqLhJG/Mcql V5rw7lU/0SBr15Urb+WhNhBXcLBK2KizOU7baEwKxZxPPYvY8kqs1EMEtBArhCdZg3He uBDQ==
X-Gm-Message-State: APjAAAXKCN/Ngq4Z6HkyMJu8EunerbAguaZ/j46S+RsaZ69aoLMVWuSl vVZBy0E7ZFL9pY8GwrBBJ3ARjnj/xujDVW0vUuQhQQ==
X-Google-Smtp-Source: APXvYqwWhLYZi7POq69z8y/gJjGC7hcZM/23MJHpETEg1FO1g5mhEOOxsvl5kFm/y436k/Idi3RzWoCvouple0BIQiI=
X-Received: by 2002:a17:906:5e4d:: with SMTP id b13mr85404345eju.266.1577910272720; Wed, 01 Jan 2020 12:24:32 -0800 (PST)
MIME-Version: 1.0
References: <CACL_3VF_Mi6JFK=so_P57+Woe5PYOzC4o2Okj6BPVzB91scRQg@mail.gmail.com> <40B548AC-6168-46B5-81F8-CB6A64C83D5C@strayalpha.com> <CACL_3VEmX6C-Mqz8OQuS2NtJQPNNFgyTgyb9uN6TrHuZYwLMLA@mail.gmail.com>
In-Reply-To: <CACL_3VEmX6C-Mqz8OQuS2NtJQPNNFgyTgyb9uN6TrHuZYwLMLA@mail.gmail.com>
From: Tom Herbert <tom@herbertland.com>
Date: Wed, 01 Jan 2020 12:24:21 -0800
Message-ID: <CALx6S34o4AooKW2w5rPPzRu8yQU=Db_f4jboEB6=AywJBw-mgg@mail.gmail.com>
To: "C. M. Heard" <heard@pobox.com>
Cc: Joe Touch <touch@strayalpha.com>, TSVWG <tsvwg@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/LXw84IjKTwFXcJjDjDk3RegR-8o>
Subject: Re: [tsvwg] Comments on ietf-106-tsvwg-udp-options
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: Wed, 01 Jan 2020 20:24:36 -0000

On Wed, Jan 1, 2020 at 11:59 AM C. M. Heard <heard@pobox.com> wrote:
>
> On Tue, Dec 31, 2019 at 7:09 AM Joe Touch wrote:
>>
>> Thanks for the feedback, Mike.
>
>
> Thank you for the reply.
>
>>
>> Regarding the MUST SUPPORT flag part:
>>
>> On Dec 29, 2019, at 4:28 PM, C. M. Heard <heard@pobox.com> wrote:
>> ...
>> I'll comment when the updated text appears.
>>
>>>
>>> - regarding MUST SUPPORT flag
>>>
>>> The only need for this flag has been data that must not be received by
>>> legacy endpoints, e.g., compressed. That's already achievable more
>>> flexibly using the FRAG+LITE with pre and post reassembly options. Can
>>> anyone show a case this doesn't cover?
>>
>>
>> I disagree with this characterization, both of the proposed change and
>> the purpose that it serves.
>>
>>
>> I made two claims:
>> 1. the need is for data that shares fate with the option on legacy endpoints (is ignored)
>> 2. the need is already addressed by pre and (notably) post-reassembly options in FRAG+LITE
>> I was assuming FRAG that supports the degenerate case of a single fragment.
>>
>> During the e-mail discussion in the weeks prior to IETF 105, I proposed
>> an additional design requirement to supplement those set forth in
>> https://mailarchive.ietf.org/arch/msg/tsvwg/27I9XF-mEdXagcEPah22482v65c
>> (and also in the IETF 105 presentation slides).* It was:
>>
>> - Any option that affects the handling of the user data must share fate
>> with that user data,…
>>
>>
>> As noted above, already supported by FRAG+LITE.
>>
>> in the following sense: either the option and the
>> user data are processed together, with the data and option indication
>> being delivered to the user if the processing succeeds, or else both are
>> discarded, and nothing is delivered to the user. This requirement
>> applies to all receivers, legacy or otherwise.
>>
>>
>> That’s accomplished by post-reassembly options.
>>
>> I do not believe that the spec, either in previous incarnations or in
>> its current (-08) form, provides a way to satisfy this requirement. In
>> order to fill that (perceived) gap, I proposed that (a) there shall be
>> a means to transport user data in the options area with OCS coverage;
>>
>>
>> As noted in the update, OCS covers the entire option area now (which thus includes FRAG+LITE).
>>
>> (b) user data shall be transported using that mechanism whenever it is
>> accompanied by an option that affects how it is processed;
>>
>>
>> The user makes this decision by selecting to use an option “post reassembly”.
>
>
> OK, I'll wait for the promised update to FRG+LITE appears before I make further comments.
>>
>> and (c)
>> the Option Kind space shall be subdivided into two ranges, one for
>> options that do not affect the handling of user data and another for
>> options that do affect the handling of user data.
>>
>>
>> That’s a mechanism - one that is not needed to achieve the other goals.
>>
>> Note that (a) and (b) are needed to ensure that user data accompanied by
>> an option that affects its processing is not delivered to a legacy
>> receiver (which ignores all options) or to an option-aware receiver
>> when OCS fails (for in that case, the option-aware receiver also
>> ignores the options).
>>
>>
>> a) and b) are already supported.
>>
>> One way to accomplish (a) would be the version of FRAG proposed in
>> https://mailarchive.ietf.org/arch/msg/tsvwg/Wv--BLVMPAX6g5umok9BQsXAEGg
>> (other alternatives have also been discussed). I'll defer further
>> discussion of the details until after I see the new LITE+FRAG option.
>>
>> Note that (c) is needed to ensure that user data accompanied by
>> an option that affect its processing is not delivered to an option-aware
>> receiver that does not recognize the option.
>>
>>
>> We have already described how this should be achieved using soft-state negotiation between the endpoints.
>
>
> I have reservations about the adequacy of using soft-state negotiation for this
> purpose. There are two issues I see: (1) the negotiation mechanism in the current
> draft is, in my opinion, underspecified; (2) it won't work for a unidirectional
> communication path.
+1

More generally, soft-state negotiation has not been specified to show
it's necessary and sufficient or even robust. Until and unless it's
well defined, I don't see how it can claim to achieve any goal or be
referenced in the context of a normative requirement (e.g. from the
draft: ">> UDP options that rely on soft-state exchange MUST allow for
message reordering and loss"-- where presumably "soft-state exchange"
is the same concept as "soft state negotiation" which itself is not
even clear). This issue has been brought up several times on the list
and also at the WG meeting at IETF104. From
https://datatracker.ietf.org/doc/minutes-104-tsvwg/:

Tom: The idea of option negotiation is unclear in the draft, and
needed for options that are not stateless. How do you deal with
unknown options - startling TCP-style negotiated options and stateless
mechanisms as in IPv6.
Gorry (as chair): I agree that clarity is important, please discuss
on the list with Joe - the text needs to be clearer.

The answer to #2, and potential other cases where trying to force
negotiation on an inherently stateless protocol, should follow from a
normative specification of what soft-state negotiation is and how it
works.

Tom




> I'll give myself a homework assignment to be done while I
> await the new FRAG+LITE text: prepare text to fix (1) and come up with a
> convincing use case for (2).
>
> Thanks & regards,
>
> Mike Heard