Subject: Re: Spin bit as a negotiated option
From: Kazuho Oku <[email-masked]>
To: Lili Peaudchien <[email-masked]>
Cc: IETF QUIC WG <[email-masked]>, Brian Trammell <[email-masked]>, Christian Huitema <[email-masked]>
Date: Thu, 4 Oct 2018 18:50:20 +0900
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>

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 <[email-masked]>:
>
> 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.
>

-- 
Kazuho Oku