4.3.26 · HinglishComputer Networks

HTTP - 3 — QUIC, UDP-based, why

1,927 words9 min readRead in English

4.3.26 · Coding › Computer Networks


HTTP/3 KYA hai?

Toh layering badal gayi:

Layer HTTP/2 HTTP/3
Application HTTP/2 HTTP/3
Security TLS over TCP TLS 1.3 baked into QUIC
Transport TCP QUIC (over UDP)
Network IP IP

Unhone TCP kyun chhodha? (core motivation)

Problem 1: TCP head-of-line (HOL) blocking

QUIC isko independent streams se fix karta hai: har HTTP request/response ko apni khud ki stream milti hai apni khud ki ordering ke saath. Stream A par ek loss sirf stream A ko hi rokta hai. Streams B, C, D chalte rehte hain.

Problem 2: Connection setup mein deri

Problem 3: TCP evolve nahi kar sakta

Problem 4: Connection network change pe survive karta hai


UDP specifically kyun? (choice ko support karte hue)

Aap pooch sakte ho: "IP layer par ek bilkul naya transport protocol number kyun nahi banaya?" Kyunki internet ke middleboxes unknown protocols ko drop kar dete hain. UDP pehle se universally allowed hai (ye DNS carry karta hai!). Toh QUIC UDP ko ek "delivery truck" ki tarah use karta hai aur TCP ke saare achhe features encrypted user space mein rebuild karta hai. UDP aapko ports + checksum deta hai; QUIC upar se reliability, ordering, flow control, aur congestion control add karta hai.

Figure — HTTP - 3 — QUIC, UDP-based, why

"Ye faster kyun hai" ka MATH kaise kaam karta hai

Connection setup latency

HOL blocking: expected stall


Common mistakes


Recall Feynman: ek 12-saal ke bacche ko samjhao

Socho tum ek delivery truck se ek dost ke ghar 50 khilone bhej rahe ho, aur rule ye hai "inhe strictly order mein unload karo." Agar khilona #1 gir jaata hai aur use dobara laana padta hai, toh driver khilone #2–#50 bhi nahi utaarega — sab khilone #1 ka wait karte hain. Ye hai TCP. Ab socho har khilona apni choti go-kart mein usi raaste par aata hai. Agar ek go-kart kharab ho jaati hai, baaki 49 aati rehti hain. Ye hai QUIC/HTTP3. Aur ye go-karts woh ordinary raasta (UDP) use karti hain jo har jagah khula hai, na ki koi fancy special raasta jise guards block karte rehte hain. Iske alawa, aap beech mein apni bike se car mein switch kar sakte ho (Wi-Fi se mobile data) aur go-karts phir bhi aapko dhoondh leti hain.


Connections

  • HTTP-2 — multiplexing and HPACK
  • TCP — three-way handshake and reliability
  • UDP — connectionless transport
  • TLS 1.3 — handshake and 0-RTT
  • Head-of-line blocking
  • Congestion control — slow start, AIMD
  • Middlebox ossification and protocol evolution

Flashcards

HTTP/3 kis transport protocol par run karta hai?
QUIC, jo khud UDP ke upar run karta hai.
QUIC ko ek brand-new transport protocol ki jagah UDP par kyun banaya gaya?
Middleboxes unknown IP protocols drop kar dete hain, lekin UDP universally allowed hai; QUIC, UDP ke upar encrypted user space mein TCP-jaisi features rebuild karta hai.
TCP head-of-line blocking kya hai?
Ek lost TCP segment baad ke saare pehle-se-receive ho chuke bytes ki delivery rok deta hai, kyunki TCP ek single byte stream ki strictly in-order delivery guarantee karta hai.
QUIC transport-level HOL blocking kaise khatam karta hai?
Ye independent streams use karta hai, har ek apni ordering ke saath, toh ek stream mein loss baaki streams ko block nahi karta.
QUIC ko data bhejne ke liye kitne RTTs chahiye (fresh vs resumed)?
Fresh ke liye 1-RTT, resumed connections par 0-RTT.
HTTP/3 mein TLS optional kyun nahi hai?
QUIC mein encryption (TLS 1.3) transport mein hi baked-in hai; unencrypted QUIC hota hi nahi.
Wi-Fi→mobile IP change par QUIC connection survive kaise karta hai?
Connection ID ki wajah se, jo connection ko IP/port 4-tuple se independent ho kar identify karta hai.
Kya HTTP/3 ne HTTP request/response semantics badal diye?
Nahi — methods, headers, status codes same hain; sirf transport badla (aur QPACK ne HPACK replace kiya).
TCP internet par easily evolve kyun nahi kar sakta?
Ye kernel mein rehta hai aur middleboxes ise inspect/modify karte hain, toh changes block ho jaate hain (ossification).
Setup time: TCP+TLS1.3 vs QUIC fresh, RTT=60ms ke saath?
120 ms vs 60 ms (aur QUIC 0-RTT ke liye 0 ms).

Concept Map

keeps semantics from

runs over

runs over

runs over

provides

merges handshakes

bakes in

single ordered stream causes

fixes

fixes

lives in user space, avoids

hides payload from

HTTP/3

HTTP/2

QUIC

UDP

TCP

Independent streams

1-RTT and 0-RTT setup

TLS 1.3 encryption

HOL blocking

Slow TCP handshake

Middlebox ossification