Re: Spin bit as a negotiated option

Kazuho Oku <kazuhooku@gmail.com> Thu, 04 October 2018 21:40 UTC

Return-Path: <kazuhooku@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 40E07130DE5 for <quic@ietfa.amsl.com>; Thu, 4 Oct 2018 14:40:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 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, 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 cLj6MElB6_SD for <quic@ietfa.amsl.com>; Thu, 4 Oct 2018 14:40:37 -0700 (PDT)
Received: from mail-lj1-x234.google.com (mail-lj1-x234.google.com [IPv6:2a00:1450:4864:20::234]) (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 8A662130934 for <quic@ietf.org>; Thu, 4 Oct 2018 14:40:36 -0700 (PDT)
Received: by mail-lj1-x234.google.com with SMTP id 63-v6so9768620ljs.4 for <quic@ietf.org>; Thu, 04 Oct 2018 14:40:36 -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:content-transfer-encoding; bh=Gn9mVDhilfb16MlL1ayeNoyZZXUiTg3RiGOB2W4EcK4=; b=dCRhDHn2cy+WpxDPcrQV0Gh/ANuohUW6qIeqhoxEziRwjAouhU3XknPRSYhP8zM9/n 8EloO8TtVB5HCwl3RN2F0umn8pYhtZ0IClq9ROVonXKddkT7DUjwU33re7l2uLspQDFA o7wDZuDheUuk749HuPJInEQniogkBSIW1TaIm5BC52SAaiRQjypXAvYwXdIlTklUUNP+ 3aJw2KVgzVmNyerpDD+jKgdsvTPeeFO9rUdQG91biopcu3Yqt7lc3lGVnRnVTvJCRNyp UnckxiHuGtfIrO15D1J8oNZX2Xrn3VVM93fw2rDcfDuaXNG/+EM/nX/dX/qCi+GwtIph AwlQ==
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:content-transfer-encoding; bh=Gn9mVDhilfb16MlL1ayeNoyZZXUiTg3RiGOB2W4EcK4=; b=nOeQhNGCBbx/iR1+6LmOu2Lp1Tap9WdsbCNYbaTyzS2rTbpzKGsMSebpoSEXTWH7DP iDqAja/DrLLqOVDXpYAFm1i4UVjUv7wY269FV2vp2xZ2vdic7rEWlpWILDYYd2EEwiCj PSW8ZjGzeZHe0+T6mWvT3hI9jHurTddUOKoEq6NVJXRDnJwIGIMpZE4rjWhif+h9Q3zy IvvhsQfWtq+xNI3fOdk5Ik+6E3xUjpxZPX8mx4+viy//2aMLAiHHimEpY5OJKBwD7FxF 87qBAkSlt3UDcFquseSNyKdBc5j/kiZpmACR1vCNzp8XcKWkDEf7PAPtgM4E3ct3lWmN SSOw==
X-Gm-Message-State: ABuFfohk6ik0B2+lxyYx9Y4keFvul4vr+VP0aE0IH7vqOAoz6q2THi/n iLebvzNv5a3hAWenh9KEsM6rGXVGcIRIw2Qk8z0vsdwn
X-Google-Smtp-Source: ACcGV60J9+noTCkgk/KSE1dbF0//koOnpbuI5HPHkBa66Uf0Ihkba2yf0vnbVyKUIrwD0mgxPRhp4cB9/nPDyO5Z3Vk=
X-Received: by 2002:a2e:9d50:: with SMTP id y16-v6mr5687031ljj.136.1538689234613; Thu, 04 Oct 2018 14:40:34 -0700 (PDT)
MIME-Version: 1.0
References: <14531_1538460420_5BB30B04_14531_237_4_c0f3a391-9897-80b0-575b-aa73edad0d52@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> <CANatvzzCvmbu=bN1C-UCzNaT6EUPVCMPwY53wyFNkKa4HQT00g@mail.gmail.com> <E32A1E8D-0FD7-47F3-B026-10D46E201D54@trammell.ch> <21082_1538561186_5BB494A2_21082_335_1_26ed0978-a314-37d1-3c97-5924d62ef539@orange.com> <CANatvzy87Lc-kyzQUcZZS7unvaBQF+DUoEHsd1G0UoPncr4AEQ@mail.gmail.com> <4582_1538649993_5BB5EF89_4582_187_1_98109893-8492-6a58-0534-3fc4eaa09dd9@orange.com>
In-Reply-To: <4582_1538649993_5BB5EF89_4582_187_1_98109893-8492-6a58-0534-3fc4eaa09dd9@orange.com>
From: Kazuho Oku <kazuhooku@gmail.com>
Date: Fri, 05 Oct 2018 06:40:24 +0900
Message-ID: <CANatvzwzw7snBV4bXfhvWJk4znOmv0Er6kwidRR+dPQsfFczkw@mail.gmail.com>
Subject: Re: Spin bit as a negotiated option
To: Lili Peaudchien <alexandre.ferrieux@orange.com>
Cc: IETF QUIC WG <quic@ietf.org>, Brian Trammell <ietf@trammell.ch>, Christian Huitema <huitema@huitema.net>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/ctm3SFiECrnbr6FJV2Vn4RWmUa8>
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: Thu, 04 Oct 2018 21:40:39 -0000

2018年10月4日(木) 19:46 <alexandre.ferrieux@orange.com>:
>
> Thanks Kazuho. Using version numbers directly was an obvious choice, but so far
> I was discouraged by strong language in the spec, saying 0x00000001 was the
> unavoidable point of convergence after all 0xFF0000XX experiments. So in essence
> you're proposing to weaken that a bit, right ?

I am not sure if we have reached consensus that QUICv1 should use
0x00000001 as the one and only number for the version number field.

My understanding is that it is simply written as such because I-D is a
draft of a RFC. A RFC needs to clarify the value of version number
field it uses, and I-D needs to have a paragraph that amends on how
the draft-versions uses the field.

>
> If so, how do you envision segmenting the version number space ?
>
>   - direct enumeration:
>
>         0x00000001 = v1dry
>         0x00000002 = v1 + spinbit
>         0x00000003 = v1 + spinbit + VEC
>
>   - low order bits for options:
>
>         0x000001XX = v1 + option XX
>         0x000002YY = v2 + option YY

I do not think we can segment the version number space, because IMO it
essentially means making spin bits an invariant. My understanding is
that spin bits is something specific to v1.

QUICv1 might use different values on the version number field to
represent if spin bits is (or other signals are) available, but that
does not mean that v2 will expose the same signals or they would use
the version number field for indicating that.

If it is the case that the use of 0x1xx for V1 might give people the
impression that the lower bits are used to indicate the availability
of unencrypted signals across multiple versions, I think starting from
0x00000001 (i.e. the one you describe as "direct enumeration") would
be preferable.

>
> Also, are we sure that this explosion won't weigh on the new VN scheme, inducing
> slower convergence due to longer lists on either side ?

I do not think that is an issue for v1, because what currently at
stake is if we should assign one or two extra version numbers (i.e.
one for spin bit, and possibly another for spin+vec as a separate
draft).

If folks agree to expose other signals that requires a "configuration"
to be exposed as well, then they can define a new version number that
introduces a new field to the long header format for exposing the
"configuration."

>
> On 10/04/18 11:50, Kazuho Oku wrote:
> > Hi,
> >
> > Thank you for starting the discussion specific to how we could
> > possibly negotiate the use of spin bits.
> >
> > Regarding the topic, my preference goes to using the version number
> > field of the long header for negotiating the presence of spin bits, or
> > any additional signal being exposed to the network.
> >
> > For example, QUICv1 without spin bit could use version 0x101, and v1
> > with spin bit could use 0x102. In the future, we can assign a
> > different version number for QUICv1 with multiple spin + VEC (or
> > people interested in testing the feature can designate a private
> > version number even before that).
> >
> > I see the following benefits to using the version field as a method to
> > negotiate the use of spin bits.
> >
> > 1. One of the concern regarding spin bits has been that they could
> > lead to ossification. Spin bits are not part of the Invariants, but if
> > the observation tools start looking at those bits without checking the
> > version number field, we will have the pressure to not change how the
> > bits are used. Using the version number to indicate the presence of
> > spin bits is the best approach to resolve such concern.
> >
> > 2. We have hoped to roll out multiple versions of QUIC in a small
> > interval so that the version number field does not get ossified. The
> > best solution is obviously to roll out two flavors of the protocol
> > that uses different version numbers at the same time. We will have a
> > real-world use of version negotiation from day one, because we are in
> > a condition where implementors have different opinions on if they
> > should support spin bit :-)
> >
> > The blocker to this approach has been version negotiation requiring an
> > additional round-trip, but that is going to be resolved by #1755.
> >
> > 2018年10月3日(水) 19:06 <alexandre.ferrieux@orange.com>:
> >>
> >> On 10/03/18 09:58, Brian Trammell (IETF) wrote:
> >> > Backing off the MUST for now for such situations is IMO a good tradeoff,
> >> > though, especially since we only need fractions of a percent of deployment to
> >> > start seeing useful signal for baseline/anomaly measurement of large
> >> > aggregates.
> >>
> >> If the consensus is that we must allow for such situations, then there are two
> >> possibilities:
> >>
> >>   (a) weak spec language (MAY WISH TO or similar) => many implementations will
> >> simply drop it
> >>
> >>   (b) negotiated option where the negotiation mechanism is mandatory
> >>
> >> In the vein of (b), Christian suggested offline to introduce negotiation to
> >> allow for experimentation of the remaining two reserved bits. Then may be we can
> >> synthesize both ideas by the following proposal:
> >>
> >>   - in the first few exchanges of the 5-tuple, use the three bits for option
> >> negotiation
> >>
> >>   - then use them as defined by the selected option
> >>
> >> Example encodings:
> >>
> >>   000 : nothing
> >>   001 : spin bit alone : S00
> >>   010 : spin bit + VEC : SVV
> >>   ... : other extensions
> >>
> >> The negotiation mechanism allows both endpoints to force 000.
> >> And since it is in the clear first byte, it allows on-path observers to identify
> >> the option without resorting to heuristics; this helps in the case of a small
> >> support ratio.
> >>
> >>
> >>
> >>
> >> _________________________________________________________________________________________________________________________
> >>
> >> 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.
> >>
> >
> >
>
>
>
> _________________________________________________________________________________________________________________________
>
> 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.
>


-- 
Kazuho Oku