PUSH_HEADERS frame

Mike Bishop <mbishop@evequefou.be> Wed, 20 June 2018 16:37 UTC

Return-Path: <mbishop@evequefou.be>
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 B9159131059 for <quic@ietfa.amsl.com>; Wed, 20 Jun 2018 09:37:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.911
X-Spam-Level:
X-Spam-Status: No, score=-1.911 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, SPF_PASS=-0.001, T_DKIMWL_WL_MED=-0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=evequefou.onmicrosoft.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 d8OBL005Trkf for <quic@ietfa.amsl.com>; Wed, 20 Jun 2018 09:37:37 -0700 (PDT)
Received: from NAM03-CO1-obe.outbound.protection.outlook.com (mail-co1nam03on0711.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe48::711]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6980A1310EC for <quic@ietf.org>; Wed, 20 Jun 2018 09:37:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=evequefou.onmicrosoft.com; s=selector1-evequefou-be; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WJnSagMwz3wnS+lGfIMcUyGMKx/IXhjynBQooJFhtEI=; b=LUfQD+gRP8D9tXbCuy/hm0mwjvZWYL8VkHIy0gN9RjiVob/NfUuD9ezMtgOh8rpL9u2qEPlkxINq+A6TMHNhxIdtcyk05wdqi+rxM67gjLmZZL2yhU+v4ZoAnQGLFkDyYqV/QIMJoSl26t45ziBkuYed4AP4vNZUSga8jSOMdq4=
Received: from BYAPR08MB3944.namprd08.prod.outlook.com (52.135.194.30) by BYAPR08MB4965.namprd08.prod.outlook.com (20.176.255.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.863.6; Wed, 20 Jun 2018 16:37:33 +0000
Received: from BYAPR08MB3944.namprd08.prod.outlook.com ([fe80::6093:5ef9:46a3:ca1f]) by BYAPR08MB3944.namprd08.prod.outlook.com ([fe80::6093:5ef9:46a3:ca1f%4]) with mapi id 15.20.0863.016; Wed, 20 Jun 2018 16:37:33 +0000
From: Mike Bishop <mbishop@evequefou.be>
To: Lucas Pardue <Lucas.Pardue@bbc.co.uk>, Martin Thomson <martin.thomson@gmail.com>, Roberto Peon <fenix@fb.com>
CC: QUIC WG <quic@ietf.org>
Subject: PUSH_HEADERS frame
Thread-Topic: PUSH_HEADERS frame
Thread-Index: AdQItM9/wr2FRkmcSU6cCT2bnOJHwA==
Date: Wed, 20 Jun 2018 16:37:32 +0000
Message-ID: <BYAPR08MB3944A37B3230FAAA5448E16EDA770@BYAPR08MB3944.namprd08.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=mbishop@evequefou.be;
x-originating-ip: [38.134.241.6]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; BYAPR08MB4965; 7:bIADoi6kur6GpbH/YDLvhwEpRBN4MBnVUCvnUW4po8Mxc/7msRJunr08y6IzJXCa8rCYW3ynsE6BzUss9rIXDZwn+y36GdJdjl7tBuZoLejYUwMoWSDY1IcOyMvTYK/0Kjl9G6pLQmSE7bVEZuIqF9G8z653BNTyvPrx5AAQkRbQUHn4ucHVs1steLQTUqpf3xLwCwnsNT7Fq97OgL07/Yk4uJNwtp8KCJk6YOY8XEWhWqmxNspoAAcN1X8IZb9o
x-ms-exchange-antispam-srfa-diagnostics: SOS;
x-ms-office365-filtering-correlation-id: 0a74fd56-4d67-4118-ba2e-08d5d6cc1f74
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(7021125)(4534165)(7022125)(4603075)(4627221)(201702281549075)(7048125)(7024125)(7027125)(7028125)(7023125)(5600026)(711020)(2017052603328)(7153060)(7193020); SRVR:BYAPR08MB4965;
x-ms-traffictypediagnostic: BYAPR08MB4965:
x-microsoft-antispam-prvs: <BYAPR08MB4965C4B1AB7DBD79221B8F16DA770@BYAPR08MB4965.namprd08.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(158342451672863)(204407124797145)(85827821059158)(67672495146484)(127952516941037);
x-ms-exchange-senderadcheck: 1
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(8121501046)(5005006)(10201501046)(3231254)(944501410)(52105095)(3002001)(93006095)(93001095)(149027)(150027)(6041310)(20161123560045)(2016111802025)(20161123562045)(20161123558120)(20161123564045)(6043046)(6072148)(201708071742011)(7699016); SRVR:BYAPR08MB4965; BCL:0; PCL:0; RULEID:; SRVR:BYAPR08MB4965;
x-forefront-prvs: 070912876F
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(39830400003)(39380400002)(396003)(346002)(366004)(376002)(13464003)(199004)(189003)(53546011)(55016002)(6306002)(53936002)(9686003)(74482002)(486006)(25786009)(6116002)(3846002)(39060400002)(2906002)(53386004)(4326008)(14454004)(26005)(99286004)(33656002)(6436002)(316002)(186003)(478600001)(476003)(7696005)(6506007)(110136005)(966005)(102836004)(59450400001)(74316002)(97736004)(5660300001)(7116003)(66066001)(305945005)(106356001)(561944003)(5250100002)(5890100001)(68736007)(3660700001)(3280700002)(81156014)(7736002)(105586002)(2900100001)(8676002)(81166006)(8936002)(86362001); DIR:OUT; SFP:1102; SCL:1; SRVR:BYAPR08MB4965; H:BYAPR08MB3944.namprd08.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:0; MX:1;
received-spf: None (protection.outlook.com: evequefou.be does not designate permitted sender hosts)
x-microsoft-antispam-message-info: +ojzey+l4rqG48ou9TX4kl2NEO4W7tx3U9SG3jUshPWr91V4RN7tNua10SzFdDsZJAJyFcvJWNZGpZwFP/AxOSRGOi3J1Lre2l3au4+lYr1MQ4NbPKwHJj+5jketIjL17yHuRGNxT5d5raUwd9H+pWDJRk/z1mRZgg9v1f18b8oipA3rev0n4g2ypW5xWZO4lqUQ969nfWkMUAvYdIkyuwtGqiF6sQ0wibG6aFpwfRzfmoXSfG2oUYvZ54vzOCsC+b4nOyEXAyp5VrWqZhoWTB5MCMynRAeOjawkoqc1loHnUiBz0Oji3PGauGM1vc1CGKAQZIUAtomxVPkcRG8Zng==
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: evequefou.be
X-MS-Exchange-CrossTenant-Network-Message-Id: 0a74fd56-4d67-4118-ba2e-08d5d6cc1f74
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Jun 2018 16:37:32.9957 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 41eaf50b-882d-47eb-8c4c-0b5b76a9da8f
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR08MB4965
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/ieF_D44gDAU7_LUvLn3UWDqOPVM>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.26
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, 20 Jun 2018 16:37:51 -0000

Separating threads, because I think this is really a separate topic.

Perhaps I'm missing something, but I don't see how that change substantively changes anything for the better.  Unidirectional streams aren't required to use HTTP/QUIC frames; the QPACK stream certainly don't.  (It actually might make sense to have separate frame type spaces between request streams and control streams, but that's a separate conversation.)  The push stream uses the same frames because it's fundamentally the same thing as a response to a request, so it's encoded the same way.  It's a convenience -- defining a new frame type to support it seems like the wrong direction.

Your proposal would move the Push ID slightly later in the stream, but not otherwise change anything.  While the odds of having intermediate responses on a push are vanishingly low, it's not illegal and neither are trailers.  So now the Push ID is a property of each header block rather than of the stream, and I don't know how to make sense of a stream where they differ between frames.

-----Original Message-----
From: Lucas Pardue [mailto:Lucas.Pardue@bbc.co.uk] 
Sent: Wednesday, June 20, 2018 2:26 AM
To: Martin Thomson <martin.thomson@gmail.com>; Roberto Peon <fenix@fb.com>
Cc: QUIC WG <quic@ietf.org>; Mike Bishop <mbishop@evequefou.be>
Subject: RE: Path forward with stream headers

I agree with Martin. However, to think around the topic a little, the telling problem is that we want two things: a stream with meaning other than bidirectional request/response, and to reuse the frames (HEADERS and DATA) associated with request/response. This leads to having to add the push ID to the unidirectional stream header.

So here's a candidate proposal:

Remove the push ID from the stream header and put it a new PUSH_HEADERS frame (notice the similarity to PUSH_PROMISE):

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Push ID (i)                        ...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Header Block (*)                      ...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                   Figure 8: PUSH_HEADERS frame payload

   The payload consists of:

   Push ID:  A variable-length integer that identifies the server push
      that this is a response to.

   Header Block:  QPACK-compressed response headers.
     See [QPACK] for more details.

This shifts the problem of reordering from stream byte position more towards the HTTP Message Exchange sequence defined in 3.2.

Lucas

>-----Original Message-----
>From: QUIC [mailto:quic-bounces@ietf.org] On Behalf Of Martin Thomson
>Sent: 20 June 2018 01:29
>To: Roberto Peon <fenix@fb.com>
>Cc: QUIC WG <quic@ietf.org>; Mike Bishop <mbishop@evequefou.be>
>Subject: Re: Path forward with stream headers
>
>On Wed, Jun 20, 2018 at 10:21 AM Roberto Peon <fenix@fb.com> wrote:
>> However, if one must receive the first packet of each stream, 
>> additional HoL
>blocking (which prevents playback/interpretation) is induced.
>
>This is the bit I'm pushing back on.  The first byte isn't privileged.
>There's a push ID, a HEADERS frame, and the start of the first DATA 
>frame before you can start into random access.  Without that, you can't 
>know what you are reading.  I fail to see how one additional octet is a problem here.



-----------------------------
http://www.bbc.co.uk
This e-mail (and any attachments) is confidential and may contain personal views which are not the views of the BBC unless specifically stated.
If you have received it in
error, please delete it from your system.
Do not use, copy or disclose the
information in any way nor act in reliance on it and notify the sender immediately.
Please note that the BBC monitors e-mails sent or received.
Further communication will signify your consent to this.
-----------------------------