Re: [tsvwg] design assumptions - draft-ietf-udp-options

"C. M. Heard" <heard@pobox.com> Wed, 17 July 2019 19:51 UTC

Return-Path: <heard@pobox.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 614C0120071 for <tsvwg@ietfa.amsl.com>; Wed, 17 Jul 2019 12:51:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=pobox.com; domainkeys=pass (1024-bit key) header.from=heard@pobox.com header.d=pobox.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 450xCC9FQM0N for <tsvwg@ietfa.amsl.com>; Wed, 17 Jul 2019 12:51:34 -0700 (PDT)
Received: from pb-smtp1.pobox.com (pb-smtp1.pobox.com [64.147.108.70]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 144E3120155 for <tsvwg@ietf.org>; Wed, 17 Jul 2019 12:51:32 -0700 (PDT)
Received: from pb-smtp1.pobox.com (unknown [127.0.0.1]) by pb-smtp1.pobox.com (Postfix) with ESMTP id 1B89015299D for <tsvwg@ietf.org>; Wed, 17 Jul 2019 15:51:32 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=mime-version :references:in-reply-to:from:date:message-id:subject:to:cc :content-type:content-transfer-encoding; s=sasl; bh=wnV4MjZA7it2 dL+S+qUMEZOEzls=; b=w3yaSwGYkieIfqy04Tmyq8f5A10Sr7VpJ4pj+FF6WZb2 4o35rorKWBwUbhHlre/yWL9Bjc7YOh0UJazWBNCCy4KXldXlN93mvdfyB3fSBwUl 5Xwb13Ix959Bhh6NexVACooK2bK2mO9TQKQWVXVwyU9T/GENMkaPPMYSs8yBe2g=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=mime-version :references:in-reply-to:from:date:message-id:subject:to:cc :content-type:content-transfer-encoding; q=dns; s=sasl; b=v1Q5MV QXDdRxCs/kX8QVMvwOTaFMEgkY4nz58CDd8Mt6fU6m72luYO2zdn0ACVEBfPSucR DgT4bJvryNf8y4N/77zOIuHi/0toY/5WUaO16VU7/0CjoXpMMGIj9Iyc3z4NcWt/ jkT+ws1bO17nbK1QRR/WodO3tgVfTag8kNLDQ=
Received: from pb-smtp1.nyi.icgroup.com (unknown [127.0.0.1]) by pb-smtp1.pobox.com (Postfix) with ESMTP id F3E1C15299C for <tsvwg@ietf.org>; Wed, 17 Jul 2019 15:51:31 -0400 (EDT)
Received: from mail-io1-f45.google.com (unknown [209.85.166.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pb-smtp1.pobox.com (Postfix) with ESMTPSA id 62A1E15299B for <tsvwg@ietf.org>; Wed, 17 Jul 2019 15:51:31 -0400 (EDT)
Received: by mail-io1-f45.google.com with SMTP id g20so47672399ioc.12 for <tsvwg@ietf.org>; Wed, 17 Jul 2019 12:51:31 -0700 (PDT)
X-Gm-Message-State: APjAAAVvEvzOzYRMzjQ1BNmV3fnmVAv5OHC8aqLznrkWZnH0YEh9uEB4 K2j828MNKWAbVZEr1SL/gi7xyzUWwxHQG7/1Dq4=
X-Google-Smtp-Source: APXvYqwPH9OzRQhi0vcftTLxaLSo+Ojf4bZ5oRIwMli+kizoBW38YlGKcczuLgHX1Tqs052nd7+ck4PfFq+By/6f1pw=
X-Received: by 2002:a6b:dd17:: with SMTP id f23mr27709504ioc.213.1563393090889; Wed, 17 Jul 2019 12:51:30 -0700 (PDT)
MIME-Version: 1.0
References: <CAPDqMeq9GjEQKukH1pZOTdE50e_rc3U6gpdxT-5qrS5phD0RGw@mail.gmail.com> <646D45AD-D79B-4BD2-A084-7DA97CE2C415@strayalpha.com> <7EC37B50-45D5-4CF1-B113-205E55BF244E@strayalpha.com> <CALx6S34s7L7xo+26bt5Cdaqi4Es5Aci42GHk1WNKzugr5st-Gw@mail.gmail.com> <B525BF50-EFCC-44A5-A604-6CDDA914A1CB@strayalpha.com> <CAPDqMep3R6z9PRKkHyOvrh6sV9n5Sc0B++-zVz0FYJCwE6swrQ@mail.gmail.com> <E42A2AE2-F499-465E-BDE6-5EFC0AB20042@strayalpha.com> <CE03DB3D7B45C245BCA0D24327794936306138E9@MX307CL04.corp.emc.com> <CAPDqMeoyNb7vQTdqxLpZpnKb9S7QKeDJNLyQJBmq95yXhB+xfQ@mail.gmail.com> <7D365770-64FE-40BC-901D-B4D7DF6B484B@strayalpha.com> <20190713182554.GB39770@clarinet.employees.org> <CALx6S36mH2M6SYnRSecWXa7k_d1u8O43+CXE-=KqeO0x2e5+qw@mail.gmail.com> <82FF6486-FABF-4D2C-B5E2-178779C720A4@strayalpha.com> <30c17e9c174f6b0da3ecc6b503a8cb17@strayalpha.com> <CACL_3VGs7j+y5vFNT3OL9OKX8ue4rv-Cxi467KR-vbhnMdx86g@mail.gmail.com> <2f71a292f924a9b8de4227c4bbc2f809@strayalpha.com> <0ce46e21249f0dc55310b192d382f50a@strayalpha.com> <CALx6S36gaMqNRo_hYKr45T_vTkUB-vRrYRYJz2_KgvejNsJtLQ@mail.gmail.com> <efbf65646a0e0d2535dc5726b34f3472@strayalpha.com> <CALx6S37sZxmGQJq5mxDiF88NeUjj2HMRnQG5KyZA_4ujrLJkqg@mail.gmail.com> <079d7d849d0e6260497a6c0ed37595a2@strayalpha.com> <CALx6S37wOkz0436CmevOjSe=VwAxKstSR9Jc66PUmXwUKK4vBw@mail.gmail.com> <075C3166-DF88-4160-8E6C-1C32511F4D46@strayalpha.com> <811C4C35-48D8-4382-A4B4-784FAC1B9F1D@strayalpha.com> <CALx6S36P0s0Uz8wuQNt+nLihAn_vLqOJydrAhx5cbv2wch=-oQ@mail.gmail.com>
In-Reply-To: <CALx6S36P0s0Uz8wuQNt+nLihAn_vLqOJydrAhx5cbv2wch=-oQ@mail.gmail.com>
From: "C. M. Heard" <heard@pobox.com>
Date: Wed, 17 Jul 2019 12:51:18 -0700
X-Gmail-Original-Message-ID: <CACL_3VF==+n02cSrTy0jvk+DJk6ZrJs9xdf-TaFcNcXMuKoGig@mail.gmail.com>
Message-ID: <CACL_3VF==+n02cSrTy0jvk+DJk6ZrJs9xdf-TaFcNcXMuKoGig@mail.gmail.com>
To: Tom Herbert <tom@herbertland.com>, Joe Touch <touch@strayalpha.com>
Cc: tsvwg <tsvwg@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Pobox-Relay-ID: 46168482-A8CC-11E9-9C9B-46F8B7964D18-06080547!pb-smtp1.pobox.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/aUExq7ObT1JooH_dvre-c6dv4WI>
Subject: Re: [tsvwg] design assumptions - draft-ietf-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, 17 Jul 2019 19:51:37 -0000

On Wed, Jul 17, 2019 at 7:27 AM Tom Herbert wrote:
> On Tue, Jul 16, 2019 at 5:31 PM Joe Touch wrote:
> >
> > Getting back to the core design assumptions:
> >
> > 1- support options
> > 2- allow at least some options to be silently ignored by legacy
> >    receivers (to enable ‘“optionally enhanced” exchanges)
> > 3- allow at least some options to be required
> > 4- allow the options themselves to be protected
> > 5- support for fragmentation/reassembly
> > 6- support for MTU discovery
> > 7- support (optional?) middlebox checksum/payload length bug traversal
> > 8- support LITE, i.e., where some of the payload is not covered by at
> >    least some checksum processing
> >
[...]
> >
> > Are there any other design requirements?
> >
>
> - Method to disambiguate legacy uses of surplus space

+1

> - Specification for options negotiation

I don't think we need a full specification for options negotiation, e.g.,
something along the lines of what's done for PPP in RFC 1661. There was
a message about a week ago that I think captured what's needed very well:

On Thu, Jul 11, 2019 at 9:30 AM Wesley Eddy wrote:
> The way I understand it, this is supposed to be handled by the
> application (or other protocol) on top of UDP.
>
> Section 9 talks about how the API needs to be extended for the
> application to indicate receive options that are required, and which
> ones should be included on a sent datagram.
>
> Maybe that section should also just explicitly say that the application
> protocol (either by its definition or in its signalling) is supposed to
> work out compatible sets of sent and received options, based on what the
> application needs.  I think that would solve the question you raise.

In other words, the udp-options spec should be seen as a toolbox for
application protocols, i.e., it should provide a means for application
protocols to carry out UDP option negotiation. This could take the form
of a (set of) general-purpose option negotiation options, or it could be
achieved by having each option specification say how its use is negotiated.

> - Denial of Service mitigations

+1

> - Fallback mechanism to use when intermediate devices drop packets
>   with UDP surplus space

That's out of scope

> - Extensibility, i.e. something like version number for the protocol

Already provided

> - Protocol headers versus protocol trailers

That's an implementation decision, not a design requirement. And it may
not be one or the other; indeed, I believe that BOTH are needed in order
to satisfy all

> - Implementation and deployment considerations
>    - [ Ease of] Integration into a host stack
>    - [ Ability to take advantage of] with common accelerations for UDP

I see this as a factor to take into account when deciding between
different means to achieve the requirements, or as a consideration
that may lead to a requirement being dropped. IMO, it is not in and
of itself a functional requirement of the protocol.

>    - Middleboxes interactions

Support for middlebox checksum/payload length bug traversal is already
on the list, and I agree that it should NOT be an optional design feature
(though it may be optional to use, turned off at your own risk). Beyond
that, if you mean enabling DPI, that should be an explicit non-goal.

>    - Running code that implements UDP option to evaluate and guide above.

That's a desirable goal -- but it is not not a design requirement.

Mike Heard