Re: [tsvwg] Remaining issues for draft-ietf-tsvwg-udp-options-22 - REQ and RES description

Erik Auerswald <auerswal@unix-ag.uni-kl.de> Mon, 03 July 2023 12:02 UTC

Return-Path: <auerswal@unix-ag.uni-kl.de>
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 0FE0EC151098 for <tsvwg@ietfa.amsl.com>; Mon, 3 Jul 2023 05:02:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level:
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id HU9HJgOUBZ2B for <tsvwg@ietfa.amsl.com>; Mon, 3 Jul 2023 05:01:57 -0700 (PDT)
Received: from mailgw1.uni-kl.de (mailgw1.uni-kl.de [IPv6:2001:638:208:120::220]) (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 9B3E4C14CEFF for <tsvwg@ietf.org>; Mon, 3 Jul 2023 05:01:57 -0700 (PDT)
Received: from sushi.unix-ag.uni-kl.de (sushi.unix-ag.uni-kl.de [IPv6:2001:638:208:ef34:0:ff:fe00:65]) by mailgw1.uni-kl.de (8.14.4/8.14.4/Debian-8+deb8u2) with ESMTP id 363C1qCc014367 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 3 Jul 2023 14:01:52 +0200
Received: from sushi.unix-ag.uni-kl.de (ip6-localhost [IPv6:::1]) by sushi.unix-ag.uni-kl.de (8.14.4/8.14.4/Debian-4+deb7u1) with ESMTP id 363C1mi0013507 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Mon, 3 Jul 2023 14:01:48 +0200
Received: (from auerswal@localhost) by sushi.unix-ag.uni-kl.de (8.14.4/8.14.4/Submit) id 363C1ltb013505; Mon, 3 Jul 2023 14:01:47 +0200
Date: Mon, 03 Jul 2023 14:01:47 +0200
From: Erik Auerswald <auerswal@unix-ag.uni-kl.de>
To: Gorry Fairhurst <gorry@erg.abdn.ac.uk>
Cc: Christian Huitema <huitema@huitema.net>, Sebastian Moeller <moeller0@gmx.de>, Joe Touch <touch@strayalpha.com>, TSVWG <tsvwg@ietf.org>
Message-ID: <20230703120147.GA11534@unix-ag.uni-kl.de>
References: <d34aa821-207d-78eb-ead2-e2d918939dcf@erg.abdn.ac.uk> <20230629162807.GA8600@unix-ag.uni-kl.de> <20230701204510.GA29872@unix-ag.uni-kl.de> <CACL_3VG_c-+zqoEhufyLvDqCV1ZkUoS9ZoknxJWwvH2RddOD=A@mail.gmail.com> <8a7a4eb6-aaf2-edb6-8684-09d11f172dd0@erg.abdn.ac.uk> <20230702122842.GA20114@unix-ag.uni-kl.de> <08136480-5692-4B97-BA61-17833DE0E8CF@gmx.de> <05954cd8-a062-9b6c-2743-d15145bc2c8e@huitema.net> <92638f8a-2123-6c5f-8456-c41b9b367e3f@erg.abdn.ac.uk> <20230702211541.GA29683@unix-ag.uni-kl.de>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20230702211541.GA29683@unix-ag.uni-kl.de>
Author: Erik Auerswald <auerswal@unix-ag.uni-kl.de>
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/mdPPObp-ULgSWWQnJbh3SEeYdTE>
Subject: Re: [tsvwg] Remaining issues for draft-ietf-tsvwg-udp-options-22 - REQ and RES description
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.39
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: Mon, 03 Jul 2023 12:02:00 -0000

Hi all,

On Sun, Jul 02, 2023 at 11:15:41PM +0200, Erik Auerswald wrote:
> On Sun, Jul 02, 2023 at 09:49:55PM +0100, Gorry Fairhurst wrote:
> > On 02/07/2023 20:31, Christian Huitema wrote:
> > >On 7/2/2023 6:01 AM, Sebastian Moeller wrote:
> > >>
> > >>    [SM] In which case (no immediate response required) this
> > >>thing should not be called an echo, as it neither mimics how a
> > >>real echo works nor how ICMP echo requests mostly* operate. I
> > >>note that the REQ and RES monikers seem fine as they do not
> > >>contain "echo" once expanded, but the paragraph text in the
> > >>draft might be changed if "delayed/eventual response" is
> > >>expected as the default mode. And I think that:
> > >>    "but no options (including ECHO) ever initiate UDP responses
> > >>in the absence of user transmission."
> > >>pretty much means delayed response is the default.
> > >
> > >And I hope that it stays the default! UDP option is by default a
> > >clear text protocol. It is very easy for third parties to spoof
> > >UDP options requests. We would have a pretty major issue if
> > >spoofed packets could generate responses!
> > 
> > UDP Options itself doesn't generate the response, it passes the REQ
> > upwards to the protocol that does and that sends the RES option.
> > That said, the DLPMTUD for UDP Options ID already has text saying
> > that a RES is only generated when DPLPMTUD has been enabled, which
> > amongst other things means that the pair of ports has been bound by
> > an application, and the application chooses to enable DPLPMTUD, if
> > not, there is no response.
> 
> IMHO this is not obvious from just reading the draft, therefore I suggest
> to add a sentence to the description on REQ and RES to explicitly state
> that no RES is generated automatically by a UDP Options implementation.
> 
> As far as I understand it now (after re-reading the drafts and the mailing
> list discussion), using RES requires activation on a per-socket basis.
> This can be done by a DPLPMTUD implementation after an application
> activates DPLPMTUD for a "connection".
> 
> (I do not have a good suggestion for a formulation.)

I would like to suggest the following re-wording of section 9.7:

------------8<------------------------8<------------------------8<------
9.7. Echo Request (REQ) and Echo Response (RES)

   The echo request (REQ, Kind=6) and echo response (RES, Kind=7)
   options provide a means for applications to use UDP options
   to provide UDP packet-level acknowledgements.  If enabled, UDP
   options deliver a REQ to the application.  The application can then
   decide if and when to send a packet including a corresponding RES.
   One such use is described as part of the UDP options variant of
   packetization layer path MTU discovery (PLPMTUD) [Fa22].

   The options both have the format indicated in Figure 14, in which
   the token has no internal structure or meaning.  A RES option
   echoes the token received in the corresponding REQ option.

                  +--------+--------+------------------+
                  |  Kind  | Len=6  |      token       |
                  +--------+--------+------------------+
                    1 byte   1 byte       4 bytes

                 Figure 14   UDP REQ and RES options format

   Each of these option kinds appears at most once in each UDP packet,
   as with other options. Note also that the FRAG option is not used
   when sending DPLPMTUD probes to determine a PLPMTU [Fa22].
------------>8------------------------>8------------------------>8------

> > >> […]

Regards,
Erik