Re: [quicwg/base-drafts] Spin per peer (#1982)

Christian Huitema <notifications@github.com> Tue, 27 November 2018 16:58 UTC

Return-Path: <noreply@github.com>
X-Original-To: quic-issues@ietfa.amsl.com
Delivered-To: quic-issues@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A829A12D4EA for <quic-issues@ietfa.amsl.com>; Tue, 27 Nov 2018 08:58:29 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.46
X-Spam-Level:
X-Spam-Status: No, score=-9.46 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-1.46, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=github.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 TYJ-2erAlRib for <quic-issues@ietfa.amsl.com>; Tue, 27 Nov 2018 08:58:28 -0800 (PST)
Received: from out-3.smtp.github.com (out-3.smtp.github.com [192.30.252.194]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CA3C2126BED for <quic-issues@ietf.org>; Tue, 27 Nov 2018 08:58:27 -0800 (PST)
Date: Tue, 27 Nov 2018 08:58:26 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1543337906; bh=O4RzpLHeeWInCsqSvxSWD5Y/Juo8dO2cI/SS+NN/WH0=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=Uq9RFxrRxdVaHOxfBuBVmQveVJBI+lSJ2jWFMBjr9QALV3OdvcnVXZkX0s7eyMhB1 3pKJHrNs/VMouh5W6TewNBKNxGbROap21eR+qo4N+ryGCYyRtikjM9486euw50csWZ qCDpm6g5yvjOO1lE7UAnFCCT3t+t5LShz73j6Wfo=
From: Christian Huitema <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab7f5898f6b5a55382c446c69aeb7c05eba152fe7892cf00000001181539b292a169ce169265bd@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/1982/review/178898177@github.com>
In-Reply-To: <quicwg/base-drafts/pull/1982@github.com>
References: <quicwg/base-drafts/pull/1982@github.com>
Subject: Re: [quicwg/base-drafts] Spin per peer (#1982)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5bfd77b2c4327_63173fc4196d45bc4400d2"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: huitema
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/yGOojqAwz4IvCb7M6dTeswy8h8g>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG <quic-issues.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic-issues/>
List-Post: <mailto:quic-issues@ietf.org>
List-Help: <mailto:quic-issues-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 27 Nov 2018 16:58:30 -0000

huitema commented on this pull request.



> +
+The selection process SHOULD be designed such that
+on average the spin bit is disabled for at least one eighth of network paths.
+The selection process SHOULD be externally unpredictable but consistent for
+any given combination of source and destination address/port. For instance,
+the implementation might have a static key which it uses to key a pseudorandom
+function over these values and use the output to determine whether to
+send the spin bit. The selection process performed at the beginning
+of the connection SHOULD be applied for all paths used by the connection.
+
+Note that where multiple connections use the same path,
+the use of the spin bit MAY be coordinated by endpoints,
+recognizing that this might not be possible in many cases.
+
+When the spin bit is disabled, endpoints MAY set the spin bit to any value,
+and MUST accept any incoming value.
 

This text reflects feedback from @ekr. There are two opinions there:

1) Many people, for example @mirjak, want to make it easy for observers to find which connections are spinning, so they can easily draw statistics from these connections. If you follow that logic, then you will say that when not spinning, the bit should be set to a constant value.

2) @ekr is concerned with middlebox behavior if we make it easy for observers to recognize whether a connection is spinning or not. His preference would be to specify nothing, or if we specify something specify that when not spinning the bit should be set to a random value.

Personally, I don't care very much. I believe that it is not very hard for a middle box to distinguish random from spinning -- average flip every 2 packets for random, every W packets for spinning. If observers can distinguish random behavior from spinning, then both arguments above become somewhat moot. 

The other side of this argument is "ossification", the risk of embedding of hardwired knowledge about bits in the middle boxes. From that point of view, "random" or "say nothing" are preferable, because they make it easier to ship a new meaning later.

As I said, I have no strong preference. But I wanted to make sure that @ekr's point was properly aired, and that whatever we put in the document reflects consensus.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/1982#pullrequestreview-178898177