Re: [QUIC] Why not be explicit about Stream 3 flow control exception?

Jana Iyengar <jri@google.com> Wed, 30 November 2016 01:18 UTC

Return-Path: <jri@google.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 5E143129D18 for <quic@ietfa.amsl.com>; Tue, 29 Nov 2016 17:18:04 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.497
X-Spam-Level:
X-Spam-Status: No, score=-3.497 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RP_MATCHES_RCVD=-1.497, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.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 V_9lU2XwQPkL for <quic@ietfa.amsl.com>; Tue, 29 Nov 2016 17:18:02 -0800 (PST)
Received: from mail-ua0-x22e.google.com (mail-ua0-x22e.google.com [IPv6:2607:f8b0:400c:c08::22e]) (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 619C6129D1D for <quic@ietf.org>; Tue, 29 Nov 2016 17:17:49 -0800 (PST)
Received: by mail-ua0-x22e.google.com with SMTP id 20so197861997uak.0 for <quic@ietf.org>; Tue, 29 Nov 2016 17:17:49 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=pVJJjHuLh+8c8FmeAQAmg3XZxGsghYyEgjphfPhR1JY=; b=I2gPWmEIuc+VggixraA8CYKhwNHQ/zpgJPmc1YTnjrAGH1dbYoUIWalSviEdA69JaM NgwUu3UPawAFHMxb22CePPpBHeSM+CsNxL9vsuEtd5eJjoATUDnTj6ibs07qbtPm3CyK eU1VpLhiu3M/1gwtfpXjK5bHs9b/TMsRZRGuqGKbUykRiOySFQyaTAY76Yx60Dup8vVT qC0KA+ehdUbJpxeZNiLLxxjUH7fHYeurFD4/DHHQrBAFs3ulpYR4tnEyc8Z+N102ha+I Q8vr6YypIHcCCI8olMDZpTXocmAYkcvPU2tnraJ6RD0buP3yaMYGfwVuyQGkljPbglXN +hcQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=pVJJjHuLh+8c8FmeAQAmg3XZxGsghYyEgjphfPhR1JY=; b=WFJ08q71SuKV51tvzubY6Bzmv5Yrb5gDBb/cL/+WzzI/UPNM5p98clwRbuqPYONIXN c/rTeQZwUqMPCoy9bDeg2vwNwRiFDo2QXsSU1+QW+s03RQWhN9ozOo8xfrenf8xFelnd 8csutakyAAu5dUEX27lR6PZga5lEwDrMqfFrMM6h7ANboAH4frHZ2e8w6N55qhD37LPF UbAsAYqdqgtQFfcYU/Cv54cHW75nTLjJX3m424zjEGQ86/sIQB9QH+xCRKStNyrDjaO9 WvNNQwi7WhIFxpeIPnPVCPb22vVV5fi/IDE5R4GoK53sUa+HfavbC8iwrkb6o5RRbICu Jkmw==
X-Gm-Message-State: AKaTC01H9ZyZ1XmuX6ACraft5gBfxvUlRERBjtMBt80/DXkW+Al6MUGCC1ZZ9zLIJF1vNXjjr2Nn9E87uiAagBUI
X-Received: by 10.176.1.112 with SMTP id 103mr18624928uak.154.1480468668423; Tue, 29 Nov 2016 17:17:48 -0800 (PST)
MIME-Version: 1.0
Received: by 10.103.51.132 with HTTP; Tue, 29 Nov 2016 17:17:47 -0800 (PST)
In-Reply-To: <BN6PR03MB2708B678CB998FD85E8F070D878D0@BN6PR03MB2708.namprd03.prod.outlook.com>
References: <CAGudDpPfgQCWKXVv0v2B2MT8kkPnis2monE1ZGWRfHjyd_Tqmg@mail.gmail.com> <CAGD1bZYj3nTweFmBy4-XbvUkhhnqbwscb=q0HHtZkPrYrw0kVQ@mail.gmail.com> <CAGudDpMvccsPn7vJx9fM=hXgdCu93QUavzWZGMjE_0CrYK1cTQ@mail.gmail.com> <BN6PR03MB2708B678CB998FD85E8F070D878D0@BN6PR03MB2708.namprd03.prod.outlook.com>
From: Jana Iyengar <jri@google.com>
Date: Tue, 29 Nov 2016 17:17:47 -0800
Message-ID: <CAGD1bZYz_UhCoaNnyREsGg8foMAyOET5xaxrVh7VXvH37QA8Qg@mail.gmail.com>
Subject: Re: [QUIC] Why not be explicit about Stream 3 flow control exception?
To: Mike Bishop <Michael.Bishop@microsoft.com>
Content-Type: multipart/alternative; boundary="001a113e2b5815937705427a7979"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/TLsx2H6mX0BIy-zFBeiwUykKjo0>
Cc: IETF QUIC WG <quic@ietf.org>, "Aron ." <aron.schats@gmail.com>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.17
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: Wed, 30 Nov 2016 01:18:04 -0000

Right, agreed.

On Tue, Nov 29, 2016 at 3:08 PM, Mike Bishop <Michael.Bishop@microsoft.com>
wrote:

> Protocol negotiation (like many areas) needs to be ironed out.  I see some
> obvious paths here:
>
>    - Use ALPN in the TLS handshake
>       - Implies a general requirement on the crypto handshake to support
>       app-layer protocol agreement
>    - Use port numbers, like TCP/UDP already do
>       - QUIC is a new transport that shares the UDP port space; same
>       rules for interpreting incoming messages can apply
>
>
>
> I tend toward a combination of the two, since we’ve already seen HTTP/2
> get into the pickle that I still need to do version negotiation even once I
> know it’s some flavor of HTTP.
>
>
>
> *From:* QUIC [mailto:quic-bounces@ietf.org] *On Behalf Of *Aron .
> *Sent:* Tuesday, November 29, 2016 10:51 AM
> *To:* Jana Iyengar <jri@google.com>
> *Cc:* IETF QUIC WG <quic@ietf.org>
> *Subject:* Re: [QUIC] Why not be explicit about Stream 3 flow control
> exception?
>
>
>
> This is interesting.  Is there a way for QUIC peer to tell which protocol
> over QUIC is used?  In other words, at which point do I realize that it's
> not HTTP/QUIC I am talking to?  Is it for upper-level code to figure out?
>
>
>
> On Tue, Nov 29, 2016 at 1:45 PM, Jana Iyengar <jri@google.com> wrote:
>
> Hi Aron,
>
>
>
> Apologies for getting to this late -- the IETF kept me busy.
>
>
>
> [draft-hamilton-quic-transport-protocol-01] states (p. 35):
>
>
>
> o The crypto handshake stream, Stream 1, MUST NOT be subject to
> congestion control or connection-level flow control, but MUST be
> subject to stream-level flow control.
> o An application MAY exclude specific stream IDs from connection-level
> flow control. If so, these streams MUST NOT be subject to
> connection-level flow control.
>
>
>
> The second bullet point is obviously about Stream 3.  Seeing that there is
> no way(?) to negotiate which streams are to be excluded, why not spell out
> that Streams 1 and 3 are not subject to connection-level congestion control?
>
>
>
> The second bullet point is about any application-chosen stream. An
> application may choose to not exempt any stream if there are no special
> streams.
>
>
>
> This need not be negotiated on the wire, but can be known for any given
> application. Specifically, the http-mapping draft is the document which, in
> the current design, should say that stream 3 should be excluded from
> connection-level flow control.
>
>
>
> - jana
>
>
>
>
>