diff --git a/content/concepts/multiplex/quic.md b/content/concepts/multiplex/quic.md deleted file mode 100644 index 8ff96c73..00000000 --- a/content/concepts/multiplex/quic.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "QUIC" -description: QUIC is a transport protocol that contains a native stream multiplexer. -weight: 181 ---- - -QUIC is a [transport](../../transport/overview) protocol that contains a "native" stream multiplexer. -libp2p will automatically use the native multiplexer for streams using a QUIC transport. View the -[QUIC section](../../transports/quic/) to learn about QUIC. - -{{< alert icon="💡" context="note">}} -This section is incomplete, and many of the articles are stubs. To help fill in -the gaps, please see the issues linked in each article to add your input and -help us prioritize the outstanding work. -{{< /alert >}} diff --git a/content/concepts/transports/quic.md b/content/concepts/transports/quic.md index cf651cc4..b4e95258 100644 --- a/content/concepts/transports/quic.md +++ b/content/concepts/transports/quic.md @@ -82,6 +82,13 @@ In addition, a client can make use of QUIC's 0 RTT feature for subsequent connec when it has already communicated with a certain server. The client can then send (encrypted) application data even before the QUIC handshake has finished. +### QUIC native multiplexing + +A single QUIC packet can carry frames containing stream data from one or more +streams. Since QUIC packets can be decrypted even when they're received out of order, this solves the problem of [HoL blocking](/#key-challenges-with-tcp) that multiplexers applied on top of a TCP connection suffer from: If a packet that contains +stream data for one stream is lost, this only blocks progress on this one stream. All +other streams can still make progress. + ## QUIC in libp2p libp2p only supports bidirectional streams and uses TLS 1.3 by default.