Re: [tsvwg] Rregarding soft-state and UDP options

"C. M. Heard" <heard@pobox.com> Sun, 05 January 2020 03:10 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 4B9411200A1 for <tsvwg@ietfa.amsl.com>; Sat, 4 Jan 2020 19:10:57 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.699
X-Spam-Level:
X-Spam-Status: No, score=-2.699 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, 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 UW1ntC5irCfu for <tsvwg@ietfa.amsl.com>; Sat, 4 Jan 2020 19:10:55 -0800 (PST)
Received: from pb-smtp20.pobox.com (pb-smtp20.pobox.com [173.228.157.52]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4802E12008F for <tsvwg@ietf.org>; Sat, 4 Jan 2020 19:10:54 -0800 (PST)
Received: from pb-smtp20.pobox.com (unknown [127.0.0.1]) by pb-smtp20.pobox.com (Postfix) with ESMTP id 5F45397BDD for <tsvwg@ietf.org>; Sat, 4 Jan 2020 22:10:53 -0500 (EST) (envelope-from heard@pobox.com)
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; s=sasl; bh=98KbLcAXtGsAuzwoPoD+FygHPm4=; b=dzW7os OoznpzLttUMNl8GLgZkuxAnkj4cTfXaE2pcYzA2QZDM+vhxkK4aWLxzMnlHqON47 Dgz7ZPlDXP5V+cTINZePJwH0zGe5E6VU9I/PZAgaAc22NSoad7fJ28xwoLlHBS5N FlUtqtFyKZBqURvHSXa+kMbFxcA+cwSSOogcw=
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; q=dns; s=sasl; b=d970ko1sX8LE0ay+Cm00cA6YN2MT6RIH RmPPtwi+Zy2KrgWq/gLGiRYcgQoXEjwWQJucPN2y3vxz6ZYl7Y6Li8exTOvWC6/i bWasSlQPylrjORfQUEcLhpbmtcER5pmSV0OwPae6s62AJjUJQTsw8I5vzWA0Szsk klbXW1f9lI4=
Received: from pb-smtp20.sea.icgroup.com (unknown [127.0.0.1]) by pb-smtp20.pobox.com (Postfix) with ESMTP id 5660C97BDC for <tsvwg@ietf.org>; Sat, 4 Jan 2020 22:10:53 -0500 (EST) (envelope-from heard@pobox.com)
Received: from mail-il1-f170.google.com (unknown [209.85.166.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pb-smtp20.pobox.com (Postfix) with ESMTPSA id 00BDF97BDB for <tsvwg@ietf.org>; Sat, 4 Jan 2020 22:10:51 -0500 (EST) (envelope-from heard@pobox.com)
Received: by mail-il1-f170.google.com with SMTP id x5so39694526ila.6 for <tsvwg@ietf.org>; Sat, 04 Jan 2020 19:10:50 -0800 (PST)
X-Gm-Message-State: APjAAAW1XRjDEioRFm0zNqVEaQGhI0Df7xUpOWDcYNEURvJJt9tsxcUe 2ZUbtBf0EJyFHQnD9Vqy3yRborgmcSwLjcjP0pk=
X-Google-Smtp-Source: APXvYqwDwCsFnqM9WBGZ6GMUktkxepGcPZKzV4+F7l2blfU0XLIlEzeVDm5Hu3KVUwiM8n3wsublrEGJLup4umOj4Ts=
X-Received: by 2002:a92:4448:: with SMTP id a8mr82976368ilm.256.1578193849865; Sat, 04 Jan 2020 19:10:49 -0800 (PST)
MIME-Version: 1.0
References: <CALx6S36227JnMkaZtPUvJoY5Pw-rQgy2R6tqt1PF_L=bgCjxCA@mail.gmail.com> <85C8C994-3FEA-4DF4-8C46-75CB205D09EA@strayalpha.com> <CALx6S34EfhcthoG4Qtr0JtfsdqQPr-2=havTvq_7nh9K8XDhJA@mail.gmail.com> <5E21B9BD-3148-43C9-BCB8-E6F5DFCE69C3@strayalpha.com> <CACL_3VHvHQZgN40VDKg6+ZidmjLq5SisaqZ9ARZZNEq10q7gBw@mail.gmail.com> <251CF72E-05E3-4644-A31E-8B21134B5060@strayalpha.com> <CALx6S37S+6=6=Uv-kFKinS0EXOQ33ie-UsH0dv4HW8skeE=jvw@mail.gmail.com> <C10CCF7C-712A-4667-B9E3-8C9AEDABD7A5@strayalpha.com> <CACL_3VF1_tEN91a3Ze34mjm1K7=6f-9qaBN8Gm1c1vwCPCMgHw@mail.gmail.com> <CALx6S348quRyqME-zM2Td=h7RORL2R93kFCCMX+GuY9DRw1aVA@mail.gmail.com> <D749E1AC-437F-48BD-85BC-1E0F6C381EFF@strayalpha.com>
In-Reply-To: <D749E1AC-437F-48BD-85BC-1E0F6C381EFF@strayalpha.com>
From: "C. M. Heard" <heard@pobox.com>
Date: Sat, 04 Jan 2020 19:10:38 -0800
X-Gmail-Original-Message-ID: <CACL_3VFxO4ny8F5SD1VxHXQgcj-u1yM5FEXhRtTyjBkG1S=rkg@mail.gmail.com>
Message-ID: <CACL_3VFxO4ny8F5SD1VxHXQgcj-u1yM5FEXhRtTyjBkG1S=rkg@mail.gmail.com>
To: Joe Touch <touch@strayalpha.com>
Cc: Tom Herbert <tom@herbertland.com>, TSVWG <tsvwg@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000cedf33059b5be30f"
X-Pobox-Relay-ID: FA450CF8-2F68-11EA-BD51-B0405B776F7B-06080547!pb-smtp20.pobox.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/yhre6kFCkN05tjk4J1nXwIvcP5c>
Subject: Re: [tsvwg] Rregarding soft-state and 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: Sun, 05 Jan 2020 03:10:57 -0000

On Sat, Jan 4, 2020 at 3:19 PM Joe Touch wrote:

> I don’t know how best to say this repeatedly, but we are NOT INTRODUCING
> STATE INTO UDP.
>
> We have repeatedly indicated that endpoints using certiain options may
> need to coordinate - OUTSIDE OF UDP. That’s always been true of some
> options - e.g., TCP-AO and TCP-MD5. The same would be true for AE - a
> receiver could decide to allow or ignore checks or could require them. A
> transmitter that needs to know otherwise needs to confirm.
>
> That’s what we’re talking about when we refer to the soft-state mechanism
> - the assumption being that because UDP can’t establish or enforce this
> state, it would at best be soft.
>

A "drop the datagram if you don't recognize this UDP option" -- which is
what I thought we were discussing -- DOES NOT INTRODUCE STATE INTO UDP. It
is totally stateless, and it allows a receiver to drop datagrams that it
should not accept without any prior coordination. In situations where prior
coordination is required in order to make an option work as intended, it
provides protection against failures of that coordination.

Since you brought it up, let's compare and contrast the operation of TCP-AO
and TCP-MD5 with that of UDP-AE, in the case that an endpoint erroneously
(due, e.g., to a misconfiguration) attempts to initiates an exchange
containing the option with a peer that does not understand it.

For TCP-AO or TCP-MD5, the listener will receive a SYN segment with the
option. Since it does not understand the option, it will return a SYN-ACK
that does not contain the option. Seeing a SYn-ACK without the option, the
initiator will return a RST segment. That will terminate the connection,
and since the 3-way handshake never completed, the listener will not
deliver any data that may have accompanied the SYN segment.

For UDP-AE, the listener receives a datagram with an option affecting the
handling of the user data that it does not understand. In my view (and
Tom's) it should discard that datagram -- the same thing that happens with
TCP-AO or TCP-MD5. The easiest way to ensure that, without requiring
knowledge of what every option means, is to systematically embed in the
Option Kind encoding information on whether the option can be safely
ignored or not. We certainly can't do that with a three-way handshake
because, as you point out, there is no such thing in UDP (and I agree that
UDP options must not introduce it; leave that to efforts like QUIC).

Granted, UDP-AE is in the spec, so a diligent implementation that does not
understand the option will discard packets containing it. But what about
options defined in the future?

This has been discussed many times at multiple IETFs and hasn’t changed.
>

It has been indeed been discussed at length, with each of us of repeating
our arguments and failing to convince the other. But AFAICT there has been
no determination of what the WG consensus is, and that determination is not
for you or me to make.

I'm going to refrain from further discussion until I see a new version of
the draft, at which point I will do a complete review.

Thanks and regards,

Mike Heard