KyoMel / Yogyakarta, Indonesia

Term 093093 / 344

QUIC Protocol

Month
October 2025
Day
23
Source
2025/october-term.md

Definition:

QUIC (Quick UDP Internet Connections) is a modern transport protocol developed by Google that combines the speed of UDP with the reliability of TCP, while providing built-in encryption and improved performance for web applications. It’s designed to reduce connection establishment time, eliminate head-of-line blocking, and provide better performance over unreliable networks.

Key Properties:

  • UDP-based: Built on top of UDP for speed
  • Built-in encryption: TLS 1.3 integrated into the protocol
  • Multiplexing: Multiple streams without head-of-line blocking
  • Fast connection: 0-RTT and 1-RTT connection establishment
  • Connection migration: Survives network changes (WiFi to cellular)

QUIC vs TCP+TLS:

Feature TCP + TLS QUIC
Connection setup 3-4 round trips 0-1 round trips
Head-of-line blocking Yes No
Built-in encryption Separate layer Integrated
Stream multiplexing No Yes
Connection migration No Yes

Example:

Problem: Website loading is slow due to multiple round trips and connection setup overhead

Traditional HTTP/2 over TCP+TLS (slow):

Client ────────────────────────── Server
   │                                │
   │ TCP SYN                        │
   ├───────────────────────────────▶│ Round Trip 1
   │                      TCP SYN+ACK│
   │◀───────────────────────────────┤
   │ TCP ACK                        │
   ├───────────────────────────────▶│ Round Trip 2
   │                                │
   │ TLS ClientHello                │
   ├───────────────────────────────▶│ Round Trip 3
   │              TLS ServerHello   │
   │◀───────────────────────────────┤
   │ TLS Finished                   │
   ├───────────────────────────────▶│ Round Trip 4
   │                                │
   │ HTTP Request                   │
   ├───────────────────────────────▶│ Round Trip 5
   │               HTTP Response    │
   │◀───────────────────────────────┤

Total: 5 round trips before data transfer

HTTP/3 over QUIC (fast):

Client ────────────────────────── Server
   │                                │
   │ QUIC Initial (ClientHello +    │
   │ Connection setup + HTTP Request)│
   ├───────────────────────────────▶│ Round Trip 1
   │         QUIC Response +        │
   │         HTTP Response          │
   │◀───────────────────────────────┤

Total: 1 round trip (or 0 with connection resumption)

Keep reading