Re: New Version Notification for draft-kazuho-quic-perf-metrics-00.txt (Re: Measurement bit(s) or not)

"Brian Trammell (IETF)" <ietf@trammell.ch> Mon, 12 February 2018 09:20 UTC

Return-Path: <ietf@trammell.ch>
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 5C0C0127011 for <quic@ietfa.amsl.com>; Mon, 12 Feb 2018 01:20:23 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level:
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7] autolearn=ham autolearn_force=no
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 rVuBtT8h8O6p for <quic@ietfa.amsl.com>; Mon, 12 Feb 2018 01:20:20 -0800 (PST)
Received: from gozo.iway.ch (gozo.iway.ch [212.25.24.36]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F260C120713 for <quic@ietf.org>; Mon, 12 Feb 2018 01:20:18 -0800 (PST)
Received: from gozo.iway.ch (localhost [127.0.0.1]) by localhost (Postfix) with ESMTP id E89B6340D90; Mon, 12 Feb 2018 10:20:15 +0100 (CET)
Received: from localhost (localhost [127.0.0.1]) by localhost (ACF/6597.12381); Mon, 12 Feb 2018 10:20:15 +0100 (CET)
Received: from switchplus-mail.ch (switchplus-mail.ch [212.25.8.236]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by gozo.iway.ch (Postfix) with ESMTPS; Mon, 12 Feb 2018 10:20:15 +0100 (CET)
Received: from nb-10604.ethz.ch (account ietf@trammell.ch [82.130.102.91] verified) by switchplus-mail.ch (CommuniGate Pro SMTP 6.1.18) with ESMTPSA id 45075397; Mon, 12 Feb 2018 10:20:15 +0100
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\))
Subject: Re: New Version Notification for draft-kazuho-quic-perf-metrics-00.txt (Re: Measurement bit(s) or not)
From: "Brian Trammell (IETF)" <ietf@trammell.ch>
In-Reply-To: <CANatvzxDXnC7-q3GaGCKC-Ab1naqamSNFDV2YKokYW9y19Qiag@mail.gmail.com>
Date: Mon, 12 Feb 2018 10:20:15 +0100
Cc: FERRIEUX Alexandre IMT/OLN <alexandre.ferrieux@orange.com>, Kazuho Oku <kazuhooku@gmail.com>
Content-Transfer-Encoding: quoted-printable
Message-Id: <8EC2FC07-50B0-462E-87B4-35339604E04A@trammell.ch>
References: <CANatvzxDXnC7-q3GaGCKC-Ab1naqamSNFDV2YKokYW9y19Qiag@mail.gmail.com>
To: IETF QUIC WG <quic@ietf.org>
X-Mailer: Apple Mail (2.3273)
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/dYxYI4mgMqFtluIJFLSyCcopf9g>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.22
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: Mon, 12 Feb 2018 09:20:23 -0000

hi Kazuho,

Many thanks for the draft. I've had a quick look at it. I like the architecture it proposes -- hey, since the endpoints have full access to all of these parameters, why not just ask them? -- but I'm afraid I agree with the chorus of negative voices here that this raises too many new issues to really be workable.

We looked at something like this for PLUS -- a generic path-request mechanism allowing a middlebox to ask an endpoint for a value -- and decided to drop it from the proposal because the trust and DoS issues were just too hairy.

First, the mechanism adds up to 1RTT of delay, depending on the relative position of the requesting device and the endpoint it wants to request information from. Second, the reported metrics only have the resolution available from the queried endpoint -- as we've seen in our work with the spin bit, completely exposed signals don't suffer from this issue. But most importantly, adding a hook for on path devices to query endpoints adds significant complexity and attack surface, and seems extremely difficult to secure against collaborating malicious devices on-and-off-path.

One nice thing about purely passive signals is that we know what the information content is, we have a pretty good handle on how to restrict their design to reduce the risk of additional endpoint fingerprinting, and if we find the right tradeoff in endpoint complexity and measurement fidelity, can get a lot of win for minimal implementation effort and very little if any attack surface.

I certainly think measurement and debugging approaches where both servers and clients use existing mechanisms or extensions thereof (IPFIX or something like Prometheus on the server side; extensions to JS APIs for browsers or some other instrumentation on the client side) are a useful part of diagnosing issues with QUIC traffic; indeed, standardizing one or two of these would be a useful side project to reduce the shock widespread QUIC deployment represents to the hosting and web development communities. But neither scales very well to getting information to other-than-client and other-than-server entities.

Thanks, chsser,

Brian


> On 11 Feb 2018, at 17:51, Kazuho Oku <kazuhooku@gmail.com> wrote:
> 
> 2018-02-11 2:34 GMT+09:00  <alexandre.ferrieux@orange.com>:
>> Then Kazuho's square signal and Mikkel's Pi (or any other consensual
>> self-synchronizing sequence) ramification came up. They are both appealing
>> for their elegance and low complexity on QUIC endpoints. Beyond their quirks
>> acknowledged here, here are a few considerations for troubleshooting:
>> (snip)
>> Given these, a benevolent, troubleshooting-minded passive midpoint will
>> clearly vote for the square. Now the obvious question is: is this
>> acceptable, or deemed too easy for a Murphy, Inc. active middlebox to see
>> upstream losses and benevolently wreak havoc by delaying packets ?
> 
> Thank you for raising the question.
> 
> While I think that using square wave is a neat idea, I am not so sure
> if the wavelength is correct, or if it would continue to be correct
> for the lifetime of the transport protocol. I assume that other
> patterns that have been proposed (e.g., PI, random) share the same
> weakness.
> 
> Therefore, I have written a proposal of a very different approach,
> which is the following I-D.
> 
>    Performance Metrics Subprotocol for QUIC
>    https://datatracker.ietf.org/doc/draft-kazuho-quic-perf-metrics/
> 
> The I-D proposes to add a subprotocol that is used between an on-path
> observer and the QUIC server to obtain the performance metrics. At the
> latency of 1 RTT, the subprotocol can observe accurate upstream
> loss/reorder rate, as well as SRTT / RTTVAR.
> 
> I believe that it is not difficult to implement on the server-side
> (please refer to section 4). Client needs no change.
> 
> Since the proposed approach does not hard-code any information for
> observation on the wire, the hard part of the design issue goes away.
> We can adjust what (and how) to observe independently from the QUIC
> transport. I think that this is not only a win in terms of design but
> also might have positive effect on moving the standardization process
> forward, since we would no longer be constrained by the discussion of
> what should be observable "on-the-wire."
> 
> Privacy concern regarding observation becomes minor, since observation
> becomes "observable" and deniable by an endpoint.
> 
> Although SRTT / RTTVAR is observable, I am not sure if it can be used
> to replace the Spin Bit proposal. It depends on how often and how fast
> an observer needs to see the metrics. Primary target of my proposal is
> to help diagnosing issues.
> 
> Please let me know what you think.
> 
> ---------- Forwarded message ----------
> From:  <internet-drafts@ietf.org>
> Date: 2018-02-12 1:43 GMT+09:00
> Subject: New Version Notification for draft-kazuho-quic-perf-metrics-00.txt
> To: Kazuho Oku <kazuhooku@gmail.com>
> 
> 
> 
> A new version of I-D, draft-kazuho-quic-perf-metrics-00.txt
> has been successfully submitted by Kazuho Oku and posted to the
> IETF repository.
> 
> Name:           draft-kazuho-quic-perf-metrics
> Revision:       00
> Title:          Performance Metrics Subprotocol for QUIC
> Document date:  2018-02-12
> Group:          Individual Submission
> Pages:          8
> URL:
> https://www.ietf.org/internet-drafts/draft-kazuho-quic-perf-metrics-00.txt
> Status:         https://datatracker.ietf.org/doc/draft-kazuho-quic-perf-metrics/
> Htmlized:       https://tools.ietf.org/html/draft-kazuho-quic-perf-metrics-00
> Htmlized:
> https://datatracker.ietf.org/doc/html/draft-kazuho-quic-perf-metrics-00
> 
> 
> Abstract:
>   This memo proposes a subprotocol that can be used to query the
>   performance metrics of a QUIC path.
> 
> 
> 
> 
> Please note that it may take a couple of minutes from the time of submission
> until the htmlized version and diff are available at tools.ietf.org.
> 
> The IETF Secretariat
> 
> 
> 
> -- 
> Kazuho Oku
>