Re: [Masque] HTTP DATA frames for HTTP CONNECT?

Mirja Kuehlewind <mirja.kuehlewind@ericsson.com> Fri, 16 October 2020 08:42 UTC

Return-Path: <mirja.kuehlewind@ericsson.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 7CEC43A0DEE; Fri, 16 Oct 2020 01:42:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.3
X-Spam-Level:
X-Spam-Status: No, score=-3.3 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-1.2, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=ericsson.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 QCSbQkPCl1Wq; Fri, 16 Oct 2020 01:42:57 -0700 (PDT)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2089.outbound.protection.outlook.com [40.107.21.89]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C76C83A0DEB; Fri, 16 Oct 2020 01:42:56 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aL4Kf+c1hLQNFYU7tMrotJSwuVXq0M0uo8IDit8pSvZxsS4/U05BExAHjUCzYbGMuGWI4M1+VQcP+h68B6eqyT9MuLhHrTknyKJv91hvDOeKNp72V3nGUW/gideKi8arUDIfb7PEw61bmW5QRrzdxfZj1VN3tquAwFepkhlskpRVQLYXMuNCW0wBRuZKtcT6Uze86VCtHC3O0ImVhrg+FHXFfzcycXdoAUlJBW6F5a3zYtIDY9yj6YSERRz/wKf5HIRiVxNJb/v7VPzHMsBAmv4q03qzqpH+mKblmyeVic107qgG0EUvrnl56Sn1LJ7FIyYx1hOidb/MJSVRO+Sffw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=J+KA8PeEnVBtZW/Gy5lLjhr5T3iPHb57fAXLgV0jpzA=; b=lijB5BpRHflxid51gXAt9jWmTAFG5pTrY9p/4W06YWL0pmXblrQJIwAwffcisauM8Un8gCWCvNG42Ni3XS/Li0RmqtPWWYIQIhSPd5oaDS/LbVfJrpoYQhAlF7mopkyuss+eaqODoJnDKqSxSCdO80zPn1KkgacireXKNmAYTLoEguynICdQfxcStJ7NQOT0lehfez/re2hNemQiHHn4/YuE0O+vtcIX+rMCHNAOryXEBh+vcc9NMhkVcOI4x4hgoxm7hZhVwhZkIXi82JiwQcsk0m3+3UTjFMu7/JkFiZwpAFce6dtXF5UYUUWogK6Z0W0EoJ7EtjxJ7RuscFHPgw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ericsson.com; dmarc=pass action=none header.from=ericsson.com; dkim=pass header.d=ericsson.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=J+KA8PeEnVBtZW/Gy5lLjhr5T3iPHb57fAXLgV0jpzA=; b=nxEafDOdHXVkiF0rjrxn4slzhyV2f+YuYQ92Il/d4mq3QOUXkc5lJQxPycMTy+WRAOcjVij1AmwviPYKGLbWTRhkf5m5C/vo2gTGolxWak4d8YXozBHcEWg/q+ibPSFCI2+MF6waFi8P0wTkPS6XLJBxMvILA9MhnFG27L1E9g0=
Received: from AM0PR0702MB3713.eurprd07.prod.outlook.com (2603:10a6:208:19::10) by AM0PR07MB6115.eurprd07.prod.outlook.com (2603:10a6:208:110::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3499.8; Fri, 16 Oct 2020 08:42:52 +0000
Received: from AM0PR0702MB3713.eurprd07.prod.outlook.com ([fe80::9820:af8a:cdbc:73b0]) by AM0PR0702MB3713.eurprd07.prod.outlook.com ([fe80::9820:af8a:cdbc:73b0%7]) with mapi id 15.20.3499.009; Fri, 16 Oct 2020 08:42:52 +0000
From: Mirja Kuehlewind <mirja.kuehlewind@ericsson.com>
To: Lucas Pardue <lucaspardue.24.7@gmail.com>
CC: Mirja Kuehlewind <mirja.kuehlewind=40ericsson.com@dmarc.ietf.org>, Alex Chernyakhovsky <achernya@google.com>, "quic@ietf.org" <quic@ietf.org>, "masque@ietf.org" <masque@ietf.org>
Subject: Re: [Masque] HTTP DATA frames for HTTP CONNECT?
Thread-Topic: [Masque] HTTP DATA frames for HTTP CONNECT?
Thread-Index: AQHWoxCDA3i4eNYU6UycrV+M0Q16L6mY6MqAgAAEMYCAAIiYAIAAAf4A///o2ICAAKumgA==
Date: Fri, 16 Oct 2020 08:42:52 +0000
Message-ID: <F228E5E3-D189-4FC7-9584-7D3A1DD2C0A8@ericsson.com>
References: <A92255DF-F477-4DE6-9AA2-33373959E792@ericsson.com> <CAHbWFkRvGKpHRfBrstVpHdfDZLkQyks77O2sc-j0uV8tCWyS2Q@mail.gmail.com> <CALGR9oYC6o8BYgO5Sxb0yMFibzFn241OpWTh3njnMh3KQK8ejQ@mail.gmail.com> <72706E88-C329-4E8B-A09F-CAE27D223DC8@ericsson.com> <6918A78D-E2F1-42D9-BFE6-BA1285D67333@ericsson.com> <CALGR9oYTA0RgBtQV66XmgQ6utz_sn6Bzkws2M-80Aah2B4B8pw@mail.gmail.com>
In-Reply-To: <CALGR9oYTA0RgBtQV66XmgQ6utz_sn6Bzkws2M-80Aah2B4B8pw@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/16.41.20091302
authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=ericsson.com;
x-originating-ip: [2003:de:e713:1b00:7c4b:3dc8:29f8:9da3]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 966a0ffb-1af9-4c3b-65d6-08d871af782c
x-ms-traffictypediagnostic: AM0PR07MB6115:
x-microsoft-antispam-prvs: <AM0PR07MB6115F20AEAB7345106AC9EA3F4030@AM0PR07MB6115.eurprd07.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:8882;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: CSR6Tsdf/FRkjFwNkjotwHLXI85Wc1AN9aukJ7GCQFasO1yTNhkDy8DD8xM7ujGX4A29D5L+uJ4zjTnqezxLrIkJMo9M7OB/OCvQgvVJD2mMHVKN5feGxx+oIaZ3TKRX5G+rd/z2cHTdC4kg+9fo1zXbiRS3ddaUZQSqjd4yO/uL+K8JdCbIXE6Pes324jc2XSMlwgM4zKvnTWSk65tTl6BTVClCnGUt5mrjFnAjw6PW5utvmmHN5PRDdTdSd3IdD1xs/8izX2DB7uPfzSkCrh5ebNQ4L8RyNF3VlZuK4nIn18d3kNdsJGemAzbwuBPpu8AUT2+Qx1IuI0dE/maIqA==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR0702MB3713.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(376002)(136003)(346002)(396003)(39860400002)(6486002)(54906003)(4326008)(5660300002)(316002)(186003)(36756003)(66556008)(66476007)(6512007)(66446008)(64756008)(6916009)(66946007)(478600001)(44832011)(91956017)(76116006)(8676002)(8936002)(2906002)(86362001)(2616005)(33656002)(6506007)(53546011)(71200400001)(83380400001); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata: o39Zo7RL/CiSy9P2yIVVckYKgBl6mpzXbhkK3cShv0OEZMW639IKyPBKzi8K/qBaNj1L5SAFjUQPQt3elpKFoRrmN4r67qbuk/CFY389oooTD8h5DdEYfmmSJjOp+LORAM2q8/KYOwmi8pArXHtbdTsdVGSTFSjkUJTzc5OGwNdOYflLjDd4b1SZyILL1BHMiSs+uEZ9u0ojXqZRTEchWRChnvl5YgOvPFd13CWLG/8SWsShcUgzH0StNF50wMwpHN0TZ9kg1D7RvtPjpDOXnz1BqYMWNwLY4KShcVZWX0jNWmMQJoyh+niUfVTTpFZM4hhoO28zH3a5RmxSvylR1H26+jl5V7lMTJd3HKKIsc67833ruZWgsvOZ4kofhNmqvn27YkwhyDMS2pB+pSAzQin0PwOjsWgrAH3tN2zRBIxjjMKzagpA7ZPG2W3r1vvklBEhBpXvDpg3wuX1TvaRsQUGP+azF5YJma5h4Y5YD5QkFEf/qt8N+9m3sdF0BYqHwMxhwg3c5zKg3tcRqL0xBO48Chme3gpO3UlI5aBJhKpMLEtmWOa2PjRwQk3syq1jeizgUwZ03smD7R9OyF1LXDAYR1F0OrTwXRT5yumdfmDuMZ8tu/pyXjPR2Naq8JfUtq9zR1NGwwN3zgtRhDKtHADLNb/OGmjrr9b766wyQe4US5u5Jxq39Z0D+DbwF1pG+Jr4bxfZQK1cq/XSX3rvZg==
x-ms-exchange-transport-forked: True
Content-Type: multipart/alternative; boundary="_000_F228E5E3D1894FC795847D3A1DD2C0A8ericssoncom_"
MIME-Version: 1.0
X-OriginatorOrg: ericsson.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AM0PR0702MB3713.eurprd07.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 966a0ffb-1af9-4c3b-65d6-08d871af782c
X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Oct 2020 08:42:52.1036 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: iE4e63ceV+IBkMIm3+cBZEXdQDmhKzbWMRtYx2YZP0NLo/rGovXPPqdyzG+alxgbJ19Xcgy/ssIj1arkQWALpufQUxDZ+ePGUnx7se/GwwI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR07MB6115
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/ZVLOjgYVUMohLr7bvGXPEKE-pzs>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.29
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: Fri, 16 Oct 2020 08:43:00 -0000

It’s not that much the bit overhead but it a) seems just unnecessary, so why not remove it, and b) it’s more the added complexity when the a proxy server that only provides forwarding but no other HTTP servers has to support further HTTP semantics (or even potential future extensions).

Mirja


From: Lucas Pardue <lucaspardue.24.7@gmail.com>
Date: Friday, 16. October 2020 at 02:28
To: Mirja Kuehlewind <mirja.kuehlewind@ericsson.com>
Cc: Mirja Kuehlewind <mirja.kuehlewind=40ericsson.com@dmarc.ietf.org>, Alex Chernyakhovsky <achernya@google.com>, "quic@ietf.org" <quic@ietf.org>, "masque@ietf.org" <masque@ietf.org>
Subject: Re: [Masque] HTTP DATA frames for HTTP CONNECT?

Is the overhead really that bad though?

A common case for CONNECT will be to tunnel TLS, so if you assume 16Kbyte records the frame overhead of 3 bytes comes out at ~0.02%.

If you have TCP quarks that are smaller than DATA frames it's a different story. But the solution there is to have a large DATA frame and write into it several times. I'd hope that HTTP/3 implementations can offer streaming frame consumption. Buffering is going to cause all sorts of issues.

Extension frames seem like a solid alternative. I know of at least one other proposal for a tighter coupling of DATA-like frame to STREAM.

Cheers
Lucas

Cheers


On Fri, 16 Oct 2020, 00:51 Mirja Kuehlewind, <mirja.kuehlewind@ericsson.com<mailto:mirja.kuehlewind@ericsson.com>> wrote:
Damn, missing „not“ below… meant to say that you need the HTTP framing for multiplexing in h2 but you don’t need it for that purpose in h3..

From: Masque <masque-bounces@ietf.org<mailto:masque-bounces@ietf.org>> on behalf of Mirja Kuehlewind <mirja.kuehlewind=40ericsson.com@dmarc.ietf.org<mailto:40ericsson.com@dmarc.ietf.org>>
Date: Friday, 16. October 2020 at 01:44
To: Lucas Pardue <lucaspardue.24.7@gmail.com<mailto:lucaspardue.24.7@gmail.com>>, Alex Chernyakhovsky <achernya@google.com<mailto:achernya@google.com>>
Cc: "quic@ietf.org<mailto:quic@ietf.org>" <quic@ietf.org<mailto:quic@ietf.org>>, "masque@ietf.org<mailto:masque@ietf.org>" <masque@ietf.org<mailto:masque@ietf.org>>
Subject: Re: [Masque] HTTP DATA frames for HTTP CONNECT?

HI Lucas,

RFC7231 defines CONNECT originally like this:

“The CONNECT method requests that the recipient establish a tunnel to
   the destination origin server identified by the request-target and,
   if successful, thereafter restrict its behavior to blind forwarding
   of packets, in both directions, until the tunnel is closed.”

So I would interpret that the connection is not really a HTTP connection anymore after it has concluded the CONNECT. Again in HTTP/2 this did work because of multiplexing but in HTTP/3 is would work again and effectively maybe be the more flexible solution.

Mirja


From: Lucas Pardue <lucaspardue.24.7@gmail.com<mailto:lucaspardue.24.7@gmail.com>>
Date: Thursday, 15. October 2020 at 19:35
To: Alex Chernyakhovsky <achernya@google.com<mailto:achernya@google.com>>
Cc: Mirja Kuehlewind <mirja.kuehlewind@ericsson.com<mailto:mirja.kuehlewind@ericsson.com>>, "masque@ietf.org<mailto:masque@ietf.org>" <masque@ietf.org<mailto:masque@ietf.org>>
Subject: Re: [Masque] HTTP DATA frames for HTTP CONNECT?

Hey Mirja,

I'm against allowing unframed bytes on request streams. It limits extensibility (as pointed out by Alex) and introduces complexity to conventional HTTP/3 server implementations. HTTP desync attacks are something that framing protects against, let's not introduce risk for the sake of optimization.

The good news is that DATA frames can span QUIC packets. So if you're ok to take the hit once, you can send a very-long DATA frame and just keep appending data to it.

Cheers
Lucas