Re: a proposed way forward was Re: Spin bit decision

Marten Seemann <martenseemann@gmail.com> Tue, 02 October 2018 21:23 UTC

Return-Path: <martenseemann@gmail.com>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E298A131199 for <quic@ietfa.amsl.com>; Tue, 2 Oct 2018 14:23:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 zxK3wwDTd8G5 for <quic@ietfa.amsl.com>; Tue, 2 Oct 2018 14:23:23 -0700 (PDT)
Received: from mail-io1-xd35.google.com (mail-io1-xd35.google.com [IPv6:2607:f8b0:4864:20::d35]) (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 57B951310E3 for <quic@ietf.org>; Tue, 2 Oct 2018 14:23:23 -0700 (PDT)
Received: by mail-io1-xd35.google.com with SMTP id e2-v6so1642308ioh.5 for <quic@ietf.org>; Tue, 02 Oct 2018 14:23:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=sQMcxZpQmdAfgBWiwPaxS6ZjTVtxmW/P1TgR0xvaiNM=; b=MCjFtNqobuOO0V3Fn7gaiVlBGsCd6OnwTPqoQaCCQimre2oxAiTP56iYvayfz4Etp2 w45p49SDJnDWyDhY3gYjmkZyKIoKGXPc/RtmBPLRanZsWExed0g4I8jMM0R6OAJ77lVK ZB4gnQbLo1t0H9WJubR2dzf3DrhXzxRMIqKPituTR0HipcJmmauRKO66hll4qtDsCMUC QBXYLDLKJiN8ygh/rVcySxDdGOE0Vxf/DNxK5bNHu3Pyj9y//g1WTIH3FaGxJw6lZnYI MunM8s/XgphijyXKGD4tXjXay4rkBTs7/c8S6HUgOnOhRWfNmkEnukKAVXahoRP/FHPa QhEw==
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; bh=sQMcxZpQmdAfgBWiwPaxS6ZjTVtxmW/P1TgR0xvaiNM=; b=AzJE8TUwHh53e2YhgmXtTNxdEQh1TWqP1Q/KDuJWhHzku0YEfwCWDXaf1XtpNyHqYq 09m83/DijRqgqtzF8qZ67par5pGtaexSOs/QavHuNne62RGKgSRxjqSFBkD1x/aNgiBH g28frWYUJPbWeTaaF9eP+aXyTe3Er9Y4IrKr/CJCak34XiuQKODJzf9+V8sUZ7C6gXqs X+9R6DLQ7YsTPvK19XxCRQO3QqQLOmiBTJKsujbFqtTWLg7dW9p2Y++ZRV3Um/nWaE36 r02NyqEyADZz+RA9S3/TK2PvgW6lFzLwBv9Og4Ml0FRSPO34kaKbPOXrzv+LJw7OQC7d l5bg==
X-Gm-Message-State: ABuFfogZv2tM2I6FTBxi/5ua/zf4AQB9N3Ni70GnbRXWHS8Iy++p2Dw9 +Ue7Gr8dPW4HqHGjFcblHse/j6FltSRdbusgMA4=
X-Google-Smtp-Source: ACcGV63b+kxUoccD//Yf8KutonlhwcH5gc2Z3YMhVeNSf2aINGY145Ozs5Tp54A9fizR0SI1DFS1ddta94XW5cfBuek=
X-Received: by 2002:a5e:8b48:: with SMTP id z8-v6mr11607481iom.100.1538515402451; Tue, 02 Oct 2018 14:23:22 -0700 (PDT)
MIME-Version: 1.0
References: <14531_1538460420_5BB30B04_14531_237_4_c0f3a391-9897-80b0-575b-aa73edad0d52@orange.com> <9A63F295-5DC5-4992-9A9C-A98F72C8430D@eggert.org> <22440_1538469028_5BB32CA4_22440_292_2_8e00a462-2bbf-acf0-1195-74269a0c2fbd@orange.com> <3E3DBC15-FE42-47CF-AF7A-1F2597ED2390@eggert.org> <24019_1538484216_5BB367F8_24019_26_1_8e6b0d8e-78f0-56c7-e731-da2ff22cb194@orange.com> <08A9C80F-59E6-46EE-A4D4-1F78F5085CF7@eggert.org> <9737_1538485723_5BB36DDB_9737_147_1_82e0e028-b0e8-5e09-7bd5-e66db97c556a@orange.com> <E7479831-9594-444E-9545-A162E8D9B154@eggert.org> <32072_1538492813_5BB3898D_32072_266_1_8380ff40-29fe-269b-8ed7-4331c9e53f4d@orange.com> <MWHPR22MB0991D93D706031603B077BFCDAE80@MWHPR22MB0991.namprd22.prod.outlook.com> <CAKcm_gM+zAEwfimHsorsWprJgS7O++85EOjpQoNY0LviaQ+KNQ@mail.gmail.com> <45751C2A-9F6C-4447-8D70-11ABE8C07F8D@trammell.ch>
In-Reply-To: <45751C2A-9F6C-4447-8D70-11ABE8C07F8D@trammell.ch>
From: Marten Seemann <martenseemann@gmail.com>
Date: Tue, 02 Oct 2018 14:23:10 -0700
Message-ID: <CAOYVs2pg1jRmAZ=i_C2YLb9g-pVgtvh_d_xpeP_8MjXV_ytVdw@mail.gmail.com>
Subject: Re: a proposed way forward was Re: Spin bit decision
To: "Brian Trammell (IETF)" <ietf@trammell.ch>
Cc: Ian Swett <ianswett=40google.com@dmarc.ietf.org>, Lars Eggert <lars@eggert.org>, IETF QUIC WG <quic@ietf.org>, Mike Bishop <mbishop@evequefou.be>, alexandre.ferrieux@orange.com
Content-Type: multipart/alternative; boundary="0000000000000b71750577458820"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/7fpNTvFjXV3EOw-TAgEBKJlyoik>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 02 Oct 2018 21:23:26 -0000

> 1. Servers MUST reflect the spin value. Clients MAY treat an
unambiguously detected non-reflected bit as a protocol error.

This might works for classical client-server deployment, but in the p2p use
case, the terms "client" and "server" are a bit misleading, and we're just
using them for simplicity in the draft. Both "client" and "server" are
really just peers on the network, one of which happened to initiate the
connection and the other one accepted the connection.
If we acknowledge that there are convincing reasons to opt-out of exposing
the spin bit, both sides need to have the ability to do so.

On Tue, Oct 2, 2018 at 2:11 PM Brian Trammell (IETF) <ietf@trammell.ch>
wrote:

> hi Ian, all,
>
> Perhaps we can exploit the asymmetry inherent in QUIC (there are servers
> and clients), the spin bit (the server reflects, the client inverts), and
> the desire to participate or not (ISTM that most of the discussion we've
> had about opting out have focused on client opt-out, based either on the
> principle of the thing and/or a suspicion that the signal is useless) to
> resolve this discussion.
>
>
> A proposal:
>
> 1. Servers MUST reflect the spin value. Clients MAY treat an unambiguously
> detected non-reflected bit as a protocol error.
>
> 2a. Clients SHOULD invert the spin value, unless [EDNOTE: someone other
> than me should write convincing reasons for non-implementation here], or
> the client has been configured not to spin, or to use some other client
> behavior.
>
> -OR-
>
> 2b. Clients set the spin bit value as they see fit, provided that this
> behavior is consistent per connection ID. In order to provide RTT
> information to the path, clients MAY invert the spin value (per reference
> to a separate RFC that looks a lot like draft-tsvwg-quic=spin, to be
> published by QUIC, TSVWG, or IPPM).
>
> 3. Servers and clients MUST NOT expose spin state from one Connection ID
> to another Connection ID.
>
>
> 1 is intended to drive deployment through server defaults. Yes, one can
> argue that the protocol error here is artificial (and the proposal
> explicitly acknowledges that through the client MAY error out), but the
> client can always opt out by clamping to a random value per CID.
>
> The 2a variant is essentially a 2119-compliant way of saying "we'd really
> like it if you implemented the spin bit", leaving the question of client
> defaults (opt in versus opt out) up to the client implementors.
>
> The 2b variant is designed to allow for future or parallel client-side
> behaviors other than spinning to support different measurement goals. For
> example, using the adaptive square wave proposed for on-path loss
> measurement (by either Mikkel or Kazuho, I believe) at the client with
> server reflection would allow accumulation of loss on the upstream as well
> as the downstream path, as well as upstream (toward the server) RTT
> measurement. Obviously, the set of these deployed in the wild would have to
> be kept small in order to allow a measurement device to heuristically
> determine which signal was in use given a spinbit stream.
>
> 3 prevents spin state from leaking across CIDs, reducing the (already tiny
> but nonzero) linkability surface.
>
> (Obviously, the above needs wordsmithing, but these are the broad lines.)
>
> Cheers,
>
> Brian
>
> > On 2 Oct 2018, at 19:13, Ian Swett <ianswett=40google.com@dmarc.ietf.org>
> wrote:
> >
> > One piece of information related to the above discussion is whether
> detecting who is and is not spinning is easy and reliable.
> >
> > One of my concerns is unintentional mis-use of the signal, and if it
> can't be detected reliably in a mixed environment, that means SHOULD is
> unwise and argues for either not including it or making it a MUST.
> >
> > On Tue, Oct 2, 2018 at 12:51 PM Mike Bishop <mbishop@evequefou.be>
> wrote:
> > I don’t think it’s a grim view, I think it’s a pragmatic view.  Our role
> is to specify the things which are fundamental to the protocol and have to
> happen for peers to interoperate.  Mis-using normative language for other
> things is an abuse of the process -- that's kind of the point of RFC 6919.
> >
> >
> >
> > RFC 2119 says:
> >
> > In particular, [normative language] MUST only be used where it is
> actually required for interoperation or to limit behavior which has
> potential for causing harm (e.g., limiting retransmisssions)  For example,
> they must not be used to try to impose a particular method on implementors
> where the method is not required for interoperability.
> >
> >
> >
> > Given that the spin bit is not “actually required for interoperation,”
> but is the very definition of “try to impose a particular method on
> implementors,” I’d say that RFC 2119 imperatives are unwarranted.
> >
> >
> >
> > -----Original Message-----
> > From: QUIC <quic-bounces@ietf.org> On Behalf Of
> alexandre.ferrieux@orange.com
> > Sent: Tuesday, October 2, 2018 8:05 AM
> > To: Lars Eggert <lars@eggert.org>
> > Cc: IETF QUIC WG <quic@ietf.org>
> > Subject: Re: Spin bit decision
> >
> >
> >
> > On 10/02/18 16:00, Lars Eggert wrote:
> >
> > >
> >
> > > The point I can't seem to be getting across is that irrespective of
> >
> > > what the WG decides to require, there is no penalty for individual
> >
> > > stacks at deployment time (or after) to do whatever they wish, since
> >
> > > the spin bit by design has no impact on protocol operation and interop.
> >
> >
> >
> > It is getting across, but it is a very grim view of the standardization
> process itself. Are there many examples of MUST in RFCs that turned out to
> be ignored by implementations just because they were not part of the core
> semantics and hence not enforced by other peers ?
> >
> >
> >
> >
> >
> >
> _________________________________________________________________________________________________________________________
> >
> >
> >
> > Ce message et ses pieces jointes peuvent contenir des informations
> confidentielles ou privilegiees et ne doivent donc pas etre diffuses,
> exploites ou copies sans autorisation. Si vous avez recu ce message par
> erreur, veuillez le signaler a l'expediteur et le detruire ainsi que les
> pieces jointes. Les messages electroniques etant susceptibles d'alteration,
> Orange decline toute responsabilite si ce message a ete altere, deforme ou
> falsifie. Merci.
> >
> >
> >
> > This message and its attachments may contain confidential or privileged
> information that may be protected by law; they should not be distributed,
> used or copied without authorisation.
> >
> > If you have received this email in error, please notify the sender and
> delete this message and its attachments.
> >
> > As emails may be altered, Orange is not liable for messages that have
> been modified, changed or falsified.
> >
> > Thank you.
> >
> >
> >
>
>