- From: Kazuho Oku <kazuhooku@gmail.com>
- Date: Sat, 17 Feb 2024 09:37:17 +0900
- To: Watson Ladd <watsonbladd@gmail.com>
- Cc: IETF QUIC WG <quic@ietf.org>, HTTP Working Group <ietf-http-wg@w3.org>, Lucas Pardue <lucas@lucaspardue.com>
- Message-ID: <CANatvzw4Miz6fESxzQaNMu7QFfz1MNhTL1mazN6truFCHk2QTQ@mail.gmail.com>
2024年2月17日(土) 7:59 Watson Ladd <watsonbladd@gmail.com>: > > On Fri, Feb 16, 2024 at 12:29 AM Kazuho Oku <kazuhooku@gmail.com> wrote: > > > > 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: > > > > > Some might argue that implementing a polyfill of QUIC comes with its own set of costs. However, it is my understanding that many QUIC stacks already have the capability to read QUIC frames other than from QUIC packets, primarily for testing purposes. This suggests that the effort would be more about leveraging existing code paths rather than writing new code from scratch. Furthermore, a QUIC polyfill would extend its benefits beyond just HTTP, by aiding other application protocols that aim to be built on top of QUIC, providing them accessibility over TCP. > > I have some mild skepticism about this design. Each QUIC extension now > has to consider TCP transport, vs. each HTTP extension considering H2 > or H3. However I think the necessary change isn't that much for QUIC > over TCP vs. H2/H3, unless the extension does a lot of the prohibited > things. You don't however get much improvement: H2's TCP related > limitations remain. > > Is this need for a choice supposed to also apply to non-HTTP QUIC applications? Thank you for your comments! Regarding the complexity of integrating QUIC on Streams support into QUIC extensions, I concur that it's unlikely to be a significant burden. Among QUIC extensions, there are one RFC and one WG-adopted draft related to how data is being sent. RFC 9297 defines how datagrams can be sent. Its port is already defined in QUIC on Streams draft Section 8.1 <https://kazuho.github.io/draft-kazuho-quic-quic-on-streams/draft-kazuho-quic-quic-on-streams.html#name-unreliable-datagram-extensi>. The only change there is the inference of frame length when utilizing the length-omitting variant of the DATAGRAM frame. It is changed the same way as the STREAM frame of QUIC v1 has been changed. draft-ietf-quic-reliable-stream-reset defines how streams can be reset while delivering stream data up to a specified offset. I believe no alterations are necessary for its compatibility with QUIC on Streams. It is definitely true that all the TCP-related limitations will persist. The idea here is to define a polyfill of QUIC beneath application protocols so that all of them (i.e., H3, WebTransport over H2, and new protocols developed on top of QUIC) can operate on top of TCP without (or with minimal) modification. > > Sincerely, > Watson -- Kazuho Oku
Received on Saturday, 17 February 2024 00:37:34 UTC