Re: Exercising Version Negotiation
Ted Hardie <ted.ietf@gmail.com> Mon, 26 March 2018 20:30 UTC
Return-Path: <ted.ietf@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 D74C91276AF for <quic@ietfa.amsl.com>; Mon, 26 Mar 2018 13:30:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.699
X-Spam-Level:
X-Spam-Status: No, score=-2.699 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_LOW=-0.7, 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 semJXTPRrMPT for <quic@ietfa.amsl.com>; Mon, 26 Mar 2018 13:30:37 -0700 (PDT)
Received: from mail-oi0-x22f.google.com (mail-oi0-x22f.google.com [IPv6:2607:f8b0:4003:c06::22f]) (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 2489B126CC4 for <quic@ietf.org>; Mon, 26 Mar 2018 13:30:37 -0700 (PDT)
Received: by mail-oi0-x22f.google.com with SMTP id x20-v6so17008422oie.2 for <quic@ietf.org>; Mon, 26 Mar 2018 13:30:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=9PHLvV/FSk1ML1PmfVeiQJjq4kRAVOArnj8lja9EfJo=; b=qJJkQnd+kXxjqAJyYUN54RlS9h4Es5dLr6y6t901A0lZe7w7qbX862oH97kCtUOAdm ANY62jaFdGWxUYQaKONOieMD0Yk1mwg8+A4zhDvpGnEYP1kxcmpbnHmODFrJkVT3kEkB mvSi/zSXKvvKCZXXLJak9tKedKyWFrLmKbHbshroP35wwdigHZS2CHY6S6q+iVugqNaY Glp7bdB8yWC/E6vE84/ZlFO6iVM5uiWM1afzRIA63iJo6eTJHGQZNm0BixmXs1Q+U//N oVxzLyib+srumP+UmKiviGSfd39jPGstKDSpLrVfqnlefqPByuxlSIe6wPsKWS6r+nXD eydQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=9PHLvV/FSk1ML1PmfVeiQJjq4kRAVOArnj8lja9EfJo=; b=FPQt+nIRFQWI4fBlKyA9Sjx435IFNhrzANcpmPHD6u+Nqj5gclEwWx9sZHwTK9eIR6 X4mKo0lONAVzBYaUjzhFU61HCRnVh23MSmfWRcHSxl6a/KLG1i2qs+CDvlGbBugnloaG 6AlnsiIva6SVKjZ01PTFeL7IIOcWPpE8NX0CtMZyjnw6DlFt7DHDoqEJl51IcmjnnoKz A+Q4Bn0gHGsN9Qf2wd6zPBofv4P+VCoDl8dGxqngpZMJz/zmk7w4AxCsVaGkIayZjIaE j99+ryg5lt9uTnKD2BhN9fMM/6anyM7FZAfMDTcY1D5Jktcx59nNTdWsbsSg+2/ty9Ex j6aA==
X-Gm-Message-State: AElRT7FiYrfuYXeQ8+VTafMEByscQN82HtCCcI273CDYc0sANcXVJP/v cFH53L/2KjNsbGF+aX1rvN8/T46KQIUvXvkJUW0=
X-Google-Smtp-Source: AIpwx4/oZ2oH17VO57RBHVuw9hzddHIJwTdAJ9L2Cp4MWmF7L9zk3r9iZ+gpXZJT2XzN3y4GUlALlOSW/29fpFRoXiA=
X-Received: by 10.202.71.198 with SMTP id u189mr726230oia.45.1522096236150; Mon, 26 Mar 2018 13:30:36 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.74.7.27 with HTTP; Mon, 26 Mar 2018 13:30:05 -0700 (PDT)
In-Reply-To: <8ed89135-e878-473a-9c44-d3f1b9ce16b1@huitema.net>
References: <CABcZeBMv5BqZOtgVA2wfqaaGCd94gcNPB9bTXkrvNXXRveU8wA@mail.gmail.com> <CAJ_4DfQ6zqVeUUF7XcoT110kVcP1BJFEtqVR-+FN5XD2UuRMMA@mail.gmail.com> <CABcZeBMVNy151rFntLutSPtctPsd2Ei3Qy-ChuEXVMVpz4pgdQ@mail.gmail.com> <SN1PR08MB1854DD71FDCB9FBA48DD26E9DAA90@SN1PR08MB1854.namprd08.prod.outlook.com> <CAJ_4DfQxcxNGNP9CW3poPqnFgUsrNy269dO2Lf0dvWBFKKsSHg@mail.gmail.com> <CABcZeBNfw6MjjgeqQct11g6Kf=4xy+zVZiBRMwwzhtKB2rWHZg@mail.gmail.com> <CAJ_4DfRCNRHajNfFdedg6O54mjydWt+ooRESJZQ5L0sZmcwmXg@mail.gmail.com> <9A92D490-1F4F-457D-9209-C19E154E4881@fb.com> <CAJ_4DfSNA0wMnvzxSy1bHU5VTdKujP6oZAtwn8DUNwnX97yLDQ@mail.gmail.com> <8ed89135-e878-473a-9c44-d3f1b9ce16b1@huitema.net>
From: Ted Hardie <ted.ietf@gmail.com>
Date: Mon, 26 Mar 2018 21:30:05 +0100
Message-ID: <CA+9kkMDHQ94e2SBZ_kSEW2vnFy99V6zp7w9OPOXtGtxuODtFFQ@mail.gmail.com>
Subject: Re: Exercising Version Negotiation
To: Christian Huitema <huitema@huitema.net>
Cc: IETF QUIC WG <quic@ietf.org>
Content-Type: multipart/alternative; boundary="001a113e51c67845e6056856a5ec"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/9WcqLB2zocZFZJrv7zK7bpAbn4I>
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, 26 Mar 2018 20:30:39 -0000
On Sat, Mar 24, 2018 at 11:30 AM, Christian Huitema <huitema@huitema.net> wrote: > > Perhaps we should look at it differently. What do we really want to > teach to the middle-boxes? I think the message should really be, "do not > try to lock on a specific version number". And doing that with just two > versions will not work. The middle boxes will just learn those two > versions, and we will not be able to introduce a third one. We want to > see plenty of mostly unpredictable versions proposed by clients, and we > want these unpredictable version numbers to result in successful > connections most of the time. So, the key second part to this question is "what am I willing to pay to teach the middleboxes this?" Everyone in the thread agrees that the basic currency is round trips, but we seem to be divided on what the going rate is (in percentage of flows that should pay). I have a terrible idea about that, but it does shift the currency from "round trips" to "additional connections". The precis is: exercise version negotiation by opening additional connections that use the functionality. In this model, a client with a successful open connection to server $foo knows what versions it supports and can construct a flow that will incur version negotiation. Periodically, it will open such a flow, successfully negotiate a version after paying the RTT, then ask for a small set of resources which it already has. It can throw them out at the end, as they will not impact application functionality (since this is all on the main flow). If it is in a constrained environment (low available bandwidth, battery, etc.), it can skip the whole thing. Middleboxes will thus see some number of flows that exercise version negotiations, but the impact to the application running QUIC is small. The impact on the network is variable to the tuning of the rate. Some potential objections: The middlebox operators will read the spec and decide they can ignore these flows entirely. While this is possible, nat variability will mean middleboxes at later stages of the path may not see these as on the same 5-tuple, and so ignoring them will be hard. This is too expensive in client and server resources, since the data will be tossed. This is subject to tuning, so the expense can be managed. You could also decide to use the second connection to retrieve newly needed resources, if the application is appropriate to that, but deciding when that is appropriate is fairly difficult. What connection id do you use for this? Personally, I'd use a new one, but if we start looking at connection replacement strategies more generally, we can throw this into the mix. As I said this is a bad idea, given the potentially wastefulness, but hopefully it will unstick a better one. Ted
- Exercising Version Negotiation Eric Rescorla
- Re: Exercising Version Negotiation Ryan Hamilton
- Re: Exercising Version Negotiation Eric Rescorla
- RE: Exercising Version Negotiation Mike Bishop
- Re: Exercising Version Negotiation Spencer Dawkins at IETF
- Re: Exercising Version Negotiation Roberto Peon
- Re: Exercising Version Negotiation Eric Rescorla
- Re: Exercising Version Negotiation Subodh Iyengar
- Re: Exercising Version Negotiation Subodh Iyengar
- Re: Exercising Version Negotiation Subodh Iyengar
- Re: Exercising Version Negotiation Ian Swett
- Re: Exercising Version Negotiation Subodh Iyengar
- RE: Exercising Version Negotiation Lubashev, Igor
- Re: Exercising Version Negotiation Ryan Hamilton
- Re: Exercising Version Negotiation Ryan Hamilton
- RE: Exercising Version Negotiation Lubashev, Igor
- Re: Exercising Version Negotiation Eric Rescorla
- Re: Exercising Version Negotiation Ryan Hamilton
- Re: Exercising Version Negotiation Roberto Peon
- Re: Exercising Version Negotiation Ryan Hamilton
- Re: Exercising Version Negotiation Roberto Peon
- Re: Exercising Version Negotiation Christian Huitema
- RE: Exercising Version Negotiation Mike Bishop
- Re: Exercising Version Negotiation Ryan Hamilton
- Re: Exercising Version Negotiation Roberto Peon
- Re: Exercising Version Negotiation Roberto Peon
- Re: Exercising Version Negotiation Ryan Hamilton
- Re: Exercising Version Negotiation Ted Hardie
- Re: Exercising Version Negotiation Roberto Peon
- Re: Exercising Version Negotiation Ryan Hamilton
- Re: Exercising Version Negotiation Roberto Peon
- Re: Exercising Version Negotiation Philipp S. Tiesel
- Re: Exercising Version Negotiation Christian Huitema