Lably
Skip to content

QUIC

Transport layer computer network protocol

  • 12 min read
  • 5 chapters

Related on Lably

Through Google, Web application and Bandwidth (computing)

QUIC improves performance of connection-oriented web applications that previously relied on Transmission Control Protocol (TCP). It does this by establishing a number of multiplexed connections between two endpoints using User Datagram Protocol (UDP), and it is designed to obsolete TCP at the transport layer for many applications. Although its name was initially proposed as an acronym for Quick UDP Internet Connections, in IETF's use of the word QUIC is not an acronym; it is simply the name of the protocol.

QUIC works hand-in-hand with HTTP/3's multiplexed connections, allowing multiple streams of data to reach all the endpoints independently, and hence independent of packet losses involving other streams. In contrast, HTTP/2, which is carried over TCP, can suffer head-of-line-blocking delays if multiple streams are multiplexed on a TCP connection and any of the TCP packets on that connection are delayed or lost.

QUIC's secondary goals include reduced connection and transport latency, and bandwidth estimation in each direction to avoid congestion. It also moves congestion control algorithms into the user space at both endpoints, rather than the kernel space, which is claimed to allow these algorithms to improve more rapidly. Additionally, the protocol can be extended with forward error correction (FEC) to further improve performance when errors are expected. It is designed with the intention of avoiding protocol ossification.

In June 2015, an Internet Draft of a specification for QUIC was submitted to the IETF for standardization. A QUIC working group was established in 2016. In October 2018, the IETF's HTTP and QUIC Working Groups jointly decided to call the HTTP mapping over QUIC "HTTP/3" in advance of making it a worldwide standard. In May 2021, the IETF standardized QUIC in RFC 9000, supported by RFC 8999, 9001 and 9002. DNS-over-QUIC is another application.

Background

Transmission Control Protocol, or TCP, aims to provide an interface for sending streams of data between two endpoints. Data is sent to the TCP system, which ensures it reaches the other end in the exact same form; if any discrepancies occur, the connection will signal an error condition.

To do this, TCP breaks up the data into network packets and adds small amounts of data to each packet. This additional data includes a sequence number that is used to detect packets that are lost or arrive out of order, and a checksum that allows the errors within packet data to be detected. When either problem occurs, TCP uses automatic repeat request (ARQ) to ask the sender to re-send the lost or damaged packet.

In most implementations, TCP will see any error on a connection as a blocking operation, stopping further transfers until the error is resolved or the connection is considered failed. If a single connection is being used to send multiple streams of data, as is the case in the HTTP/2 protocol, all of these streams are blocked although only one of them might have a problem. For instance, if a single error occurs while downloading a GIF image used for a favicon, the entire rest of the page will wait while that problem is resolved. This phenomenon is known as head-of-line blocking.

As the TCP system is designed to look like a "data pipe", or stream, it deliberately has little information regarding the data it transmits. If that data has additional requirements, like encryption using TLS, this must be set up by systems running on top of TCP, using TCP to communicate with similar software on the other end of the connection. Each of these sorts of setup tasks requires its own handshake process. This often requires several round-trips of requests and responses until the connection is established. Due to the inherent latency of long-distance communications, this can add significant delay to the overall transmission.

TCP has suffered from protocol ossification, due to its wire image being in cleartext and hence visible to and malleable by middleboxes. One measurement found that a third of paths across the Internet encounter at least one intermediary that modifies TCP metadata, and 6.5% of paths encounter harmful ossifying effects from intermediaries. Extensions to TCP have been affected: the design of Multipath TCP (MPTCP) was constrained by middlebox behaviour, and the deployment of TCP Fast Open has been likewise hindered.

Sign in to keep reading

4 more chapters are free with a Lably account.

More in Computing and communication

Source and licence. Adapted from the Wikipedia article “QUIC” (this version, 2026-09-09) by its contributors, shared under CC BY-SA 4.0. Lablypedia has left out its tables, references and most pictures, and linked it to other Lablypedia articles.