Re: [Taps] Eric Rescorla's No Objection on draft-ietf-taps-minset-08: (with COMMENT)

Eric Rescorla <ekr@rtfm.com> Fri, 14 September 2018 13:23 UTC

Return-Path: <ekr@rtfm.com>
X-Original-To: taps@ietfa.amsl.com
Delivered-To: taps@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 94402130EB1 for <taps@ietfa.amsl.com>; Fri, 14 Sep 2018 06:23:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.909
X-Spam-Level:
X-Spam-Status: No, score=-1.909 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, T_DKIMWL_WL_MED=-0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=rtfm-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 tEIT4vaabjV7 for <taps@ietfa.amsl.com>; Fri, 14 Sep 2018 06:23:37 -0700 (PDT)
Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com [IPv6:2a00:1450:4864:20::134]) (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 5EC21130EBF for <taps@ietf.org>; Fri, 14 Sep 2018 06:23:37 -0700 (PDT)
Received: by mail-lf1-x134.google.com with SMTP id e23-v6so7848856lfc.13 for <taps@ietf.org>; Fri, 14 Sep 2018 06:23:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rtfm-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=pE3jFfHHbK56qnfXOYCfGm/8PCY1I1o0eBRF8tCF97g=; b=M8uHBqyNR4oid+ROgt5T7D05Ue3MhPvpap/0Lwm+65UTwc/74i8/JSed4vBaANj+XF m/MjDi8CnpY5kKtmPG3wZUBbRT99wOOqNgpiY/SlRaGL1rbzurWuYL4NrqcAWgNQnp13 lpJw9BUwSObn7s4QUlnaHcY7FOBTbGEeErFDRnUjMFkWht643gOB1pmhf9N+VcZna8Ic M/q/0rmg8kSLDCwFTa1FWQpjxmSalKKo2ZkFYq8t2m5xZHf0dDSLXE8g9BQrbHvAiic8 bR/10Nkk1N0asvqjgq7cXC9Kw3GFE71Q7sVaHJ+FDZ2S0isze3QhL0vjZXlYAIgkHHX3 Gicw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=pE3jFfHHbK56qnfXOYCfGm/8PCY1I1o0eBRF8tCF97g=; b=H2AdtjKndDsS9hmB835/0T4TwGSaYsUuHui6mvWxJKp0J+Dbj39dDsVOUwtF2Ml411 VqTec2pbbq71ViKmzpn/K4KZdiK50hfT3kobQHLC5+UNRSZSny2/ffnkEq5xZMQL2kdQ W2hQTXRW3zdxHQR95pTm3hRFiU5hqAHExFtTkcF5dutO03S8QqKaJoefbqocC6z3IGyQ QhUkF4ra/4TqdOWa8EaLCCggZ7YDfpm9onM6dDqVwWZff09CpMi9T/kZCbkDFvMtC3oG mUThUO0oyr6BgbX6/fIUhvivBcPgktNBuwRqjWGrprDw4miFRAwv2KVDABZHnuE3X3aQ 2ziw==
X-Gm-Message-State: APzg51BvzbstubRIS2AL9j4G3bCLZeKIW4q6zfKaiaJBwFPURKNbnTGc JTMG7CYPbmXoRM9hhfxJC1PnBN7B+cB1ixu1zH88tQ==
X-Google-Smtp-Source: ANB0VdbTm3TYgjNcaJ62hpiuMhRCoFAWJcOlBQ/DbZd5+w++2JV+6/48ReZiTqdqcPp7hQZrB+u4jLOt+rV5ZU03Q+0=
X-Received: by 2002:a19:5517:: with SMTP id n23-v6mr6442099lfe.101.1536931415489; Fri, 14 Sep 2018 06:23:35 -0700 (PDT)
MIME-Version: 1.0
Received: by 2002:ab3:498d:0:0:0:0:0 with HTTP; Fri, 14 Sep 2018 06:22:54 -0700 (PDT)
In-Reply-To: <572DC009-AC72-4984-8087-627859EED2BA@ifi.uio.no>
References: <153681690194.9412.2624965951701043464.idtracker@ietfa.amsl.com> <EB9548E6-D68F-4F98-A5C1-301A59568E05@ifi.uio.no> <CABcZeBP7+2v=e-1BxWvU0-JJ4-3dgLn=C1H9QMmHJ2fE3U1KZw@mail.gmail.com> <63AEF680-16FB-4BED-BAD1-3796B8B01D6F@ifi.uio.no> <CABcZeBPJa7QHpCpXVaKZ14La=iMJYVF_a0FpuhN5Sj5z+d3h2g@mail.gmail.com> <572DC009-AC72-4984-8087-627859EED2BA@ifi.uio.no>
From: Eric Rescorla <ekr@rtfm.com>
Date: Fri, 14 Sep 2018 06:22:54 -0700
Message-ID: <CABcZeBPXiCOpFcDf_GtwT6A05-CSWaOSotwrEnx=haLmdAOfxA@mail.gmail.com>
To: Michael Welzl <michawe@ifi.uio.no>
Cc: draft-ietf-taps-minset@ietf.org, taps-chairs@ietf.org, The IESG <iesg@ietf.org>, Theresa Enghardt <theresa@inet.tu-berlin.de>, "taps@ietf.org" <taps@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000001095950575d4bb8c"
Archived-At: <https://mailarchive.ietf.org/arch/msg/taps/JgEKPB3ZRdQTC1AQ_NALvPWKJA4>
Subject: Re: [Taps] Eric Rescorla's No Objection on draft-ietf-taps-minset-08: (with COMMENT)
X-BeenThere: taps@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "IETF Transport Services \(TAPS\) Working Group" <taps.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/taps>, <mailto:taps-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/taps/>
List-Post: <mailto:taps@ietf.org>
List-Help: <mailto:taps-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/taps>, <mailto:taps-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 14 Sep 2018 13:23:53 -0000

On Fri, Sep 14, 2018 at 12:18 AM, Michael Welzl <michawe@ifi.uio.no> wrote:

> > On 13 Sep 2018, at 20:24, Eric Rescorla <ekr@rtfm.com> wrote:
> >
> >
> >
> > On Thu, Sep 13, 2018 at 11:02 AM, Michael Welzl <michawe@ifi.uio.no>
> wrote:
> > Hi,
> >
> >
> >> > COMMENTS
> >> > S 1.
> >> >     of libraries to use this transport feature without exposing it,
> based
> >> >     on knowledge about the applications -- but this is not the general
> >> >     case).  In most situations, in the interest of being as flexible
> and
> >> >     efficient as possible, the best choice will be for a library to
> >> >     expose at least all of the transport features that are
> recommended as
> >> >     a "minimal set" here.
> >> >
> >> > What is the bar for the requirements here. I.e., do you believe that
> >> > all of these can be implemented with a standard sockets API.
> >>
> >> I don't fully get this - it CAN be implemented atop the standard
> >> socket API (cf. https://github.com/NEAT-project/neat), if that's
> >> what you're asking?
> >>
> >> How do you implement limits on retransmission rates with standard
> sockets?
> >
> > It’s an SCTP feature (limiting the number of retransmissions is a part
> of its partial reliability, specified as one way of doing it in RFC 3758);
> when you fall back to TCP, you do nothing.
> >
> > In terms of the document, the following text in appendix A.1 says it:
> >
> >    o  Configurable Message Reliability
> >       Protocols: SCTP
> > (..)
> >       Implementation over TCP: By using SEND.TCP and ignoring this
> >       configuration: based on the assumption of the best-effort service
> >       model, unnecessarily delivering data does not violate application
> >       expectations.  Moreover, it is not possible to associate the
> >       requested reliability to a "message" in TCP anyway.
> >       Implementation over UDP: not possible (UDP is unreliable).
> >
> >
> > If that seems disappointing: the goal of this document was to describe
> what can be done while being protocol-independent and allowing to fall back
> to TCP, or even UDP in some cases. The minute you write code that checks if
> configuring retransmission limits is possible, you need to implement an
> exception for the TCP case. I’m not saying this is bad design at all, it
> just wasn’t the goal of the minset. This doesn’t mean that a TAPS system
> needs to be limited in this way - it’s just the minimum you can expect from
> it.
> >
> > I'm not disappointed, I'm just trying to figure out how to think about
> this API and its requirements.
> >
> > What does it mean to implement this API when you have a transport which
> doesn't support the feature? Just that you have an affordance that pretends
> to implement it but doesn't?
>
> Exactly - though "pretends to implement it" is maybe not how it would put
> it: no promises are made. An application says "these messages can be out-of
> order", or "these connections really belong together, with the following
> priorities between them", but the priorities are just a hint and might be
> ignored, and the messages may arrive in-order, nobody promised that there
> would NOT be ordering.
>

All I meant was that the API is a no-op.



> On TCP coupling:
> > I'd love to see the paper.
>
> I'll follow up in a separate email, with TAPS in cc because people there
> might find it interesting, but removing the IESG to reduce noise.
>

Thanks.


>> > S 7.2.
> >> >
> >> >     o  Disable MPTCP
> >> >        Protocols: MPTCP
> >> >        Automatable because the usage of multiple paths to communicate
> to
> >> >        the same end host relates to knowledge about the network, not
> the
> >> >        application.
> >> >
> >> > I don't think I understand how this is automatable. Is the theory that
> >> > the host auto-negotiates MPTCP? But what if the app doesn't want it no
> >> > matter what.
> >>
> >> Then the application wants more than what this design of strictly
> >> "application-specific knowledge" is giving it. That's the trade-off
> here -
> >> there may be many reasons for applications to want things beyond this
> >> document, but if we weren't strict about these limitations, this would
> >> have hardly become a "minimal set".
> >>
> >> That's reasonable, but it seems like a somewhat confusing definition.
> >
> > What is it that’s confusingly defined? “application-specific knowledge”?
> “Automatable"? Happy to fix if you tell me what.
> >
> > Automatable, I think.
>
> Okay, so this is what we have in the text:
>
> " The transport features of IETF transport protocols that do not
>    require application-specific knowledge and could therefore be
>    utilized by a transport system on its own without involving the
>    application are called "Automatable". "
>
> and "application-specific knowledge" is defined as "knowledge that only
> applications have."
>
> I'm guessing that the issue that you have with "automatable" is that it
> sounds too much as if the application's input really isn't needed here, no
> matter what. I'd like to use a "weaker" word in that sense... because of
> that, we once called it "Potentially automatable", but then that was too
> long and clumsy.
> Do you have any suggestions?
>

Not really. I guess the thing that I'm saying is that MPTCP is something
that the stack could automatically decide to use, but it can't
automatically decide *not* to use if the application wants that. That's
what's puzzling me about "automatable"

-Ekr

Cheers,
> Michael
>
>