Re: Proposal Towards Universal HTTP/3, with a polyfill of QUIC for TCP (Fwd: New Version Notification for draft-kazuho-httpbis-http3-on-streams-00.txt)

Roberto Peon <fenix@meta.com> Mon, 26 February 2024 16:38 UTC

Return-Path: <prvs=7786c2a51e=fenix@meta.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 6BC2FC151547 for <quic@ietfa.amsl.com>; Mon, 26 Feb 2024 08:38:27 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.693
X-Spam-Level:
X-Spam-Status: No, score=-2.693 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_FONT_LOW_CONTRAST=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, TRACKER_ID=0.1, T_KAM_HTML_FONT_INVALID=0.01, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=meta.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wQbJli6k17wr for <quic@ietfa.amsl.com>; Mon, 26 Feb 2024 08:38:23 -0800 (PST)
Received: from mx0b-00082601.pphosted.com (mx0b-00082601.pphosted.com [67.231.153.30]) (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 EA803C151553 for <quic@ietf.org>; Mon, 26 Feb 2024 08:38:22 -0800 (PST)
Received: from pps.filterd (m0109332.ppops.net [127.0.0.1]) by mx0a-00082601.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 41QBkDXl023225; Mon, 26 Feb 2024 08:38:21 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=meta.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : mime-version; s=s2048-2021-q4; bh=BGZ45r9cQ6M98C5tCLqNM5rSo4t4m7oQP61EbwAgctc=; b=dHI9tzaWyFBj+nBWuIX829nzXX2txDXwh7GY6k/cULV78dqByrWNe9aaBpxX/l7D0NBo +Y8koqsiDsZXsFAdSSV787EWtX8RpYP2vySj1hirQ8rwqpRjVv3bPpMK9nTLK+bLggag 83ACKalBQv4BSJno447115mXxYgBJDV8xZQBVozOMLVfwWfAjHpiL1LpvqC/rTyjV0OP uCf1/gF606yYT93qix9jN3WtjQ1gIwm2W6lRaXP5J1HbXKkAI88L8OeuvGEGCWpAtTCl M4b1g4Bb+74NN0H9FXPPkTTNZfZeAL0VeP454WEfwRtdgbn9Dzxq0wGC6c55CngP7TBl BQ==
Received: from nam04-dm6-obe.outbound.protection.outlook.com (mail-dm6nam04lp2040.outbound.protection.outlook.com [104.47.73.40]) by mx0a-00082601.pphosted.com (PPS) with ESMTPS id 3wgt1usk34-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 26 Feb 2024 08:38:20 -0800
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HTNbIyvm7C+ArYItdvHIFXCewQun3yIeF2R4gM+Sh17P5x9ZmSDCBOwKQAf/Bdi5GRDIwIZ7Ba8WMXgTyexc63KBfIKhsshvT7nm2soDvvCKzCdrS5mGHS1GqLxHQq+9RDAo3tkEfNg/bp4/DV/tYsBE2lnyCz8j1ZGMqYoZxq1DtzNRXv+biqpKZKhR5RpK8hLjmh+XaCzRcIslf/ZnEW9P0lCyaApQiwqk1Tee6wosaKlQtbrdiNtAXHatIab5zzZQmVeaTKsyL0x863Xw550pFQaNmwTJeAwkyMyCWB9p8Mpdu/8Ubk8MNxiYIipi5Jgeqm99XFOsJpzpHLohpg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=cVx2O3B7WGEk4WvisGk1Qb/NTFBBUAVrat+jCRXxgyk=; b=RnzGq4R0hDAizpK53Qu/PMqmOztVZQvY/qA4lb/Pd79PEELqxw1XN7Al3/UladRUo4IFcDhXlgQlNTiZNAeW2cmJ/Eb//nBkRKo4BwJlbokEWO+JXoAtVjB+IX7dMMUKEyoDR/u/1S+Rqg5fZzMVWMF9sOTZMxB1Z1GnUAOaZblBJQ8kxKOkd1vbhFJCcUIYtj0D2f/YgxPa6cuYfk1bKKyzhEjeT4L5px5x5swCU3k5DPtsXjSS6atz90DuZ0Yb8iQ6Pt8lvjoJqfC0iNtjsm88iyLkkUwsBB1oFPlTo04S1HXVawGonnxL9xgSKqMIg11VB8hjDz9AmfUgM9Dwzg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=meta.com; dmarc=pass action=none header.from=meta.com; dkim=pass header.d=meta.com; arc=none
Received: from SJ0PR15MB4693.namprd15.prod.outlook.com (2603:10b6:a03:37a::21) by CY5PR15MB5463.namprd15.prod.outlook.com (2603:10b6:930:35::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7316.34; Mon, 26 Feb 2024 16:38:18 +0000
Received: from SJ0PR15MB4693.namprd15.prod.outlook.com ([fe80::10ed:9938:d5ef:a064]) by SJ0PR15MB4693.namprd15.prod.outlook.com ([fe80::10ed:9938:d5ef:a064%4]) with mapi id 15.20.7316.034; Mon, 26 Feb 2024 16:38:18 +0000
From: Roberto Peon <fenix@meta.com>
To: Lucas Pardue <lucas@lucaspardue.com>, Stefan Eissing <stefan=40eissing.org@dmarc.ietf.org>, Kazuho Oku <kazuhooku@gmail.com>
CC: IETF QUIC WG <quic@ietf.org>, HTTP Working Group <ietf-http-wg@w3.org>
Subject: Re: Proposal Towards Universal HTTP/3, with a polyfill of QUIC for TCP (Fwd: New Version Notification for draft-kazuho-httpbis-http3-on-streams-00.txt)
Thread-Topic: Proposal Towards Universal HTTP/3, with a polyfill of QUIC for TCP (Fwd: New Version Notification for draft-kazuho-httpbis-http3-on-streams-00.txt)
Thread-Index: AQHaYLlndEouqYy8/ESdjjV47JgEdbEc2O08gAAEMwCAAAJAAA==
Date: Mon, 26 Feb 2024 16:38:18 +0000
Message-ID: <SJ0PR15MB4693CB50BAF995140FDA8200D45A2@SJ0PR15MB4693.namprd15.prod.outlook.com>
References: <170807134367.25372.9131938145722079298@ietfa.amsl.com> <CANatvzyLJnZH9UHaSoMWbv20VhEtAzY7HqRHCSWt-O65f24uwQ@mail.gmail.com> <93FF52D7-53DD-4B72-A54F-EF952F7B5054@eissing.org> <SJ0PR15MB46935068A5E9F9B4288FAB57D45A2@SJ0PR15MB4693.namprd15.prod.outlook.com> <63c9787e-3e76-4a47-80e3-ba4d7f3a9d2f@app.fastmail.com>
In-Reply-To: <63c9787e-3e76-4a47-80e3-ba4d7f3a9d2f@app.fastmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SJ0PR15MB4693:EE_|CY5PR15MB5463:EE_
x-ms-office365-filtering-correlation-id: 25c8c788-91f1-4f08-b7f9-08dc36e9566d
x-fb-source: Internal
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: GA7L5F3sPcGdMh4cL28NK1SKIFBWQ40+fDofAlT3GKpI8ez83pR7K+j1Bd11Ue8NNSdRoiT+MArIwD2gtT0a3qxKeHNW6ZkM0WHHGPAKDEVpJP0r5fPyOj5/IqytE57QQaon4vMI8gjY0qbllCgvIgPUadV5iD3jsVzxlhSD+1bs63usDf9l4tXBgjQUAiF4rrVhIHj7ERlsqXeHzTeu8HDKuZr8J9uowBHk6jXPo55sjVnO2Qt14MSkY1sjnKqDAWxJCYjdoHkUT3SERqq/CCJ9qA5qEtLO99NOo9tONUfhdr6pw4RYPbEUtvTddImQYTVwyrmAX9TH6SW/4QUjjE5GHpR66NJMGV8Bp6MLztHEtPgXPMaT7oWgp6Ud4sDn6tXdu7Xdsi/jwgDr2SlT+l3fY5JNWr3IZ/6lj/Tx/tCoGe/fHDY5ovpqPu6DVPvTknFBp/SP1wF0dxnCiW5dNhSA9AUO0RZYRnwHaUprzeY8wJWa92pVanlz5lgnseVK4tfx9K7pw3vBqYAPaYThEeiOf5xQimMtbalu6mOwUFvWCX80HOb8RatT9QzmqCACC6ddHeI0q/pepndANIvhgOmNRg4h4z7XYeWLIZe1T7kqHGoTp5hEW4kQGA5xP3VR+tn1/MFJHOTKiGvOIxSGuHOPzgBsoVtjWqxiSBuDwm8q7iVK++yaZV4cnC9U+0WbXTJTaBgcxwFr8fMV/yKGRkPJUWJ6uU/jMmHjwk4JOfs=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR15MB4693.namprd15.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(230273577357003)(3613699003)(38070700009); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: qbB6f0llQOzbF8DQoQ96hLS7njOt3Gu3dAbJJ/lzjuWl0Dq0pwYlmsh9ZbLIVb1fh26y7c/hDaxry2nVVmoIU0QDKpnmtDLAjLRyGyCuToVMC5xOk9lKC7EtcUYDQaPwvNyTq89aqGZQBNJ1I4syQfh7mxdSkpXnf/Cp+YzHOrc+wF6xaadguOqu6tqMIASyo3gIRWc1yH/pCPZdCJfWdzPEPJCNHRBzfOIZStdpkXOQfNbiSaIP8o6M9VcFM7l0wS3Ypyp2Hz1TFZxyfT92zGZxVSfcKzz4nwdtNpR1rzBAVYjQqwtjxeLApzmj4Q6Jsqfz4sEIVn1jYuo+ANP1D3rNkHrbcZuDk1SkVvlTtRnYVEzh43aY2eyDmX/1MaX+Lsurez6pDTS26pqNla3bMJRnT33NP0Cj+XOQCQN8j2xrMZTZditzqDYOgGgNLziWE/fXLW5l9f7VpHkx00U/UNqQT+wKGUqCpUJUXzBad5CYtb4giOXO7v2ccatZmCyFEWhCOWmXXxZwYyf0q5ZasUDDNC/0oH6VPjNzb2C6Hur5qXkGH4fSEF9k+cjG35kXobBeXNxOTeMDlqwTnqR3EJo5GKLwJC7hA3x7Y8/7IfS8L1Whben5tqQSmqKjETJFap1j5wLudLVEk/5QvxJkfq/S0erPhAGg0Z9d6PGklTqoxZm84Stv1S6XIEHPavFV3ofvEwD4Sg7HtPFijaEzb0w0kueu4fvJYBZYYVQKjquuvCQOiPyTppLm5A3zKvN57axLTeIWJ9LbzPpXKQFHLkGfvk7CQzNM6j2VxKnA3tLzrbbyqZkOngEr7OV1F46GOZnbntb+V4zXhPS2H0XSr3UsF1HxGAS3KfSCbmAVgE7URSzAkdnCScmrK11dmh/2BBvCSHBpKZ0Mnkb7ZeM9nr49cq8pFQxkk7SRYmAitOWTw0uHycYFMm2z6WSFgXP+FcmKNErqUCpCwnA/ESDOWUmc0Q/wWjPFOqh080U3DMYZ9st/zOsKiuyoBre+RIYw3wSbr8A2e3fdHxI5PENQNEXsWnQD/dcXmmzGkzsxLlxTGncD+CSUnoPtkQJjSb096b86IS1ayEimsELPowO6ZuDWLq0UTGwoNdB+rkA5aw3Bq+xX3zuhRPOFFlYEbZWIY0NZ0JNE+eIVtdPC0dJRnCo2QVsyjeezx4kabf4/h05J3yElVk230fMpMLiMEEju6aby288IX+cBNClbi0t/1jk/jKKM3FAH4zf6pBwMX+4AI7Lah/btdR5GaAqcB91+Cm/3geybOCSsd0qbbArbjsMJHaxOEYyboa8czhfEzalfMwVpJQ75/nLOIidC1H56Z9xToxVGoNcX6Jroo0Ys2by4tB219pHjbk2mjCci7dXHgOwQ2dDT4APlzuSYCK7+OftPyZpU9tyLRqbihu1VM3Ofols40J5TcCh5rBmYpELU055uBFMnn9OV026y3fZcP0PU8Gsh9v0/rbqsJfeV4opYdYzkOXeYDtaBe6CkHUjfDoaJnzzozRTfG++zEnDBRWiLPgGT28WQXg3nEWPMOMUmd4NvKgrMl08t2vHCg/LDxqGM4m5FBotlZSY2zXwH
Content-Type: multipart/alternative; boundary="_000_SJ0PR15MB4693CB50BAF995140FDA8200D45A2SJ0PR15MB4693namp_"
X-OriginatorOrg: meta.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR15MB4693.namprd15.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 25c8c788-91f1-4f08-b7f9-08dc36e9566d
X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Feb 2024 16:38:18.4925 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 8ae927fe-1255-47a7-a2af-5f3a069daaa2
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Fa9ljW3WMmKok6ZXR+OPKanwBK9ZbX7k78e59Tj8o9HoNU7umm2RdkGABaO6oujZ
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR15MB5463
X-Proofpoint-GUID: r3NMRCXNLsfW6-LluQIIfaFj6fWWXbHU
X-Proofpoint-ORIG-GUID: r3NMRCXNLsfW6-LluQIIfaFj6fWWXbHU
X-Proofpoint-UnRewURL: 6 URL's were un-rewritten
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-02-26_11,2024-02-26_01,2023-05-22_02
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/K4BnHfcChNG1bW2ja4cvpjuxj1k>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.39
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 Feb 2024 16:38:27 -0000

To avoid deadlock with TCP or TCP-like things, we’d have to guarantee we could always read (what is for QUIC and H3 async) control stuff from the socket, which would require always reading all bytes/frames sent on the socket, always.

I’m unsure if that same text is sufficient (haven’t thought about the conflicting congestion control stuff), but it is certainly a good start. I believe it might be sufficient for effectively tunneling H3 over TCP… probably. Certainly it wouldn’t work without said text.

-=R

From: QUIC <quic-bounces@ietf.org> on behalf of Lucas Pardue <lucas@lucaspardue.com>
Date: Monday, February 26, 2024 at 08:18
To: Roberto Peon <fenix@meta.com>, Stefan Eissing <stefan=40eissing.org@dmarc.ietf.org>, Kazuho Oku <kazuhooku@gmail.com>
Cc: IETF QUIC WG <quic@ietf.org>, HTTP Working Group <ietf-http-wg@w3.org>
Subject: Re: Proposal Towards Universal HTTP/3, with a polyfill of QUIC for TCP (Fwd: New Version Notification for draft-kazuho-httpbis-http3-on-streams-00.txt)
Hi Roberto, On Mon, Feb 26, 2024, at 16: 04, Roberto Peon wrote: From a functional point of view, when doing a mapping of H3 to any TCP (or TCP-like) thing, we need to answer the question: How do we deal with the potential of deadlock because
ZjQcmQRYFpfptBannerStart
This Message Is From an External Sender

ZjQcmQRYFpfptBannerEnd
Hi Roberto,

On Mon, Feb 26, 2024, at 16:04, Roberto Peon wrote:

From a functional point of view, when doing a mapping of H3 to any TCP (or TCP-like) thing, we need to answer the question:

How do we deal with the potential of deadlock because of TCP’s flow control conflicting with the “higher level” protocol’s without also allowing for OOMs?

Seems like it could be possible, but I don’t see an explanation.

Good point. Seems like HTTP/2 has the same problem, and gives some consideration text in Section 5.2.2 [1]. Do you think adding similar text to QUIC on streams covers it?

Cheers
Lucas

[1] - https://www.rfc-editor.org/rfc/rfc9113.html#name-appropriate-use-of-flow-con<https://www.rfc-editor.org/rfc/rfc9113.html#name-appropriate-use-of-flow-con>


-=R



From: QUIC <quic-bounces@ietf.org> on behalf of Stefan Eissing <stefan=40eissing.org@dmarc.ietf.org>
Date: Friday, February 16, 2024 at 01:20
To: Kazuho Oku <kazuhooku@gmail.com>
Cc: IETF QUIC WG <quic@ietf.org>, HTTP Working Group <ietf-http-wg@w3.org>, Lucas Pardue <lucas@lucaspardue.com>
Subject: Re: Proposal Towards Universal HTTP/3, with a polyfill of QUIC for TCP (Fwd: New Version Notification for draft-kazuho-httpbis-http3-on-streams-00.txt)

!-------------------------------------------------------------------|
  This Message Is From an External Sender

|-------------------------------------------------------------------!



> Am 16.02.2024 um 09:24 schrieb Kazuho Oku <kazuhooku@gmail.com>:
>
> Hello QUIC and HTTP enthusiasts,
>
> We, Lucas and I, have submitted two drafts aimed at broadening the reach of HTTP/3 - yes, making it available over TCP as well. We are eager to hear your thoughts on these:
>
> QUIC on Streams: A polyfill for operating QUIC on top of TCP.
> https://datatracker.ietf.org/doc/html/draft-kazuho-quic-quic-on-streams<https://datatracker.ietf.org/doc/html/draft-kazuho-quic-quic-on-streams>
>
> HTTP/3 on Streams: How to run HTTP/3 unmodified over TCP, utilizing QUIC on Streams.
> https://datatracker.ietf.org/doc/html/draft-kazuho-httpbis-http3-on-streams<https://datatracker.ietf.org/doc/html/draft-kazuho-httpbis-http3-on-streams>
>
> As the co-author of the two drafts, let me explain why we have submitted these.
>
> The rationale behind our proposal is the complexity of having two major HTTP versions (HTTP/2 and HTTP/3), both actively used and extended. This might not be the situation that we want to be in.
>
> HTTP/2 is showing its age. We discussed its challenges at the IETF 118 side meeting in Prague.
>
> Despite these challenges, we are still trying to extend HTTP/2, as seen with WebTransport. WebTransport extends both HTTP/3 and HTTP/2, but it does so differently for each, due to the inherent differences between the HTTP versions.
>
> Why are we doing this?
>
> Because HTTP/3 works only on QUIC. Given that UDP is not as universally accessible as TCP, we find ourselves in a position where we need to maintain and extend not only HTTP/3 but also HTTP/2 as a backstop protocol.
>
> This effort comes with its costs, which we have been attempting to manage.
>
> However, if we could create a polyfill for QUIC that operates on top of TCP, and then use it to run HTTP/3 over TCP, do we still need to invest in HTTP/2?
>
> Of course, HTTP/2 won’t disappear overnight.
>
> Yet, by making HTTP/3 more universally usable, we can at least stop extending HTTP/2.

Interesting. This gives a much easier deployment path for HTTP/3 and extensions.

I have been reluctant to bring HTTP/3 to Apache httpd because the cost/benefit aspect is so unfavourable. I see no problem in bringing HTTP/3 over TLS into our server.

Cheers,
Stefan

PS. We should probably not call this "TCP3".