Skip to main content
QUIC

QUIC

Active

General-purpose transport protocol built on UDP providing multiplexed streams, built-in TLS 1.3 encryption, and 0-RTT connection resumption.

Transport LayerRFC 90002021Internet Standard

In one line

QUIC is a modern transport protocol standardized in RFC 9000 that runs over UDP and provides all TCP guarantees plus TLS encryption at the transport layer. It eliminates head-of-line blocking through multiplexed streams, achieves 0-RTT connection resumption, and enables connection migration across network changes. QUIC is the underlying transport for HTTP/3.

Quick Reference

FieldSizeDescription
Header Form1 bitLong (1) or Short (0) header
Version4 bytesQUIC version negotiation
DCID Length1 byteDestination Connection ID length
Destination CID0–20 BIdentifies the connection on the receiver side
Packet Number1–4 BPer-packet number for ACK and loss detection
PayloadVariableEncrypted QUIC frames (STREAM, ACK, CRYPTO, etc.)

Key Characteristics

0-RTT Resumption

Resumed connections skip handshake – data in first packet.

Built-in Encryption

TLS 1.3 is mandatory, not optional. All packets are encrypted.

No Head-of-Line Blocking

Stream multiplexing – one lost packet doesn't block others.

Connection Migration

Connections survive IP/port changes (roaming between WiFi and cellular).

Implementations

linuxsince via libquic, msquicavailable
macossince macOS 14built-in
windowssince Windows 11built-in
androidsince Android 11built-in
iossince iOS 15built-in
freebsdavailable

Edge cases

  • UDP blocking by firewalls or middleboxes forces fallback to TCP.
  • 0-RTT data is vulnerable to replay attacks if not handled carefully.
  • Connection IDs must be kept secret to prevent tracking.
  • Many enterprise networks rate-limit UDP, degrading QUIC performance.

History

QUIC originated at Google in 2012 as an experiment to reduce latency for Chrome. Google deployed it across all their services. The IETF standardized it in 2021 as RFC 9000, diverging somewhat from Google's original design. HTTP/3 (RFC 9114) mandates QUIC as its transport.