4.3.26 · D1 · HinglishComputer Networks

FoundationsHTTP - 3 — QUIC, UDP-based, why

1,998 words9 min read↑ Read in English

4.3.26 · D1 · Coding › Computer Networks › HTTP - 3 — QUIC, UDP-based, why

Isse pehle ki aap appreciate kar sako kyun HTTP/3 exist karta hai, aapko parent note ki vocabulary mein fluent hona chahiye: packets, RTT, streams, handshakes, the 4-tuple, probabilities like . Yeh page unhe sab kuch zero se build karta hai. Top se bottom padho — har idea agle ke liye ek brick hai.


1. "Packet" kya hota hai?

Apne dimag mein yeh picture rakho: ek giant crate mail karne ki jagah, aap numbered postcards ka ek stack mail karte ho. Har postcard apna raasta khud dhundti hai aur out of order aa sakti hai — ya bilkul nahi bhi aa sakti.

Yeh topic iske liye kyun zaroori hai: HTTP/3 ke baare mein sab kuch — loss, retransmission, head-of-line blocking — yeh sab individual packets ke aane, kho jaane, ya stuck ho jaane ki kahani hai. Agar aap ek web page ko ek solid file samajhte ho, toh koi bhi argument sense nahi karta.


2. Round-trip time:


3. Ek "handshake" (aur TCP ko ek kyun chahiye)

TCP ka handshake ek 3-way exchange hai: SYN → SYN-ACK → ACK. Arrows count karo: aap bhejte ho, woh reply karte hain, aap confirm karte ho. Woh confirming message aapka pehla data carry kar sakta hai, isliye effective waiting cost ek round-trip hai. Poori walkthrough ke liye TCP — three-way handshake and reliability dekho.

HTTP/3 ke liye key takeaway: yeh handshake pure overhead hai — aap abhi page load nahi kar rahe, aap sirf apna introduction de rahe ho. QUIC ka poora setup argument inhi introductions ko kam karne ke baare mein hai.


4. Reliability, ordering, aur "single ordered stream"

Yeh do alag-alag promises hain, aur inhe confuse karna classic trap hai. UDP ke paas koi bhi nahi hai; TCP ke paas dono hain; QUIC dono ko UDP ke upar rebuild karta hai lekin ordering ko per stream apply karta hai poore connection par nahi.


5. Streams aur multiplexing

HTTP/2-vs-HTTP/3 ka poora drama is figure mein rehta hai. HTTP/2 kaafi streams ko multiplex karta hai lekin phir unhe ek ordered TCP pipe se squeeze karta hai — isliye ek lost packet shared pipe ko jam kar deta hai aur har stream wait karta hai (yeh hai Head-of-line blocking). QUIC streams ko genuinely independent rakhta hai: ek lost packet sirf apni lane ko jam karta hai. Dekho HTTP-2 — multiplexing and HPACK yeh samajhne ke liye ki HTTP/2 ne kya fix kiya aur kya broken chhoda.


6. The 4-tuple (connection kaise identify hoti hai)


7. Probability symbols: , , aur

Parent note ka "HOL stall" section probability use karta hai. Aao har symbol earn karein.

Ab formula , step by step build karte hain:


8. Layer stack (har piece kahan baithta hai)

HTTP/3 ne jo ek cheez change ki woh transport layer hai: TCP ko QUIC-over-UDP se swap kiya, aur encryption (TLS 1.3 — handshake and 0-RTT) ko directly us transport mein fold kiya. Upar sab kuch (GET, headers, 200 OK) unchanged hai. Dekho bhi Congestion control — slow start, AIMD us "network ko flood mat karo" service ke liye jo QUIC bhi rebuild karta hai, aur Middlebox ossification and protocol evolution iske liye ki kyun ise ek fresh protocol ki jagah UDP par banana pada.


Prerequisite map

Packet - a labelled data chunk

RTT - one round trip

Reliability - detect loss and retransmit

In-order delivery

Streams and multiplexing

Handshake - setup cost in RTT

Loss model p and N

Head-of-line blocking

4-tuple connection identity

Connection migration

HTTP-3 over QUIC-UDP

Protocol layers


Equipment checklist

Packet hai...
data ka ek chota labelled chunk jo network par apne aap travel karta hai aur out of order aa sakta hai ya lost ho sakta hai.
ka matlab hai...
round-trip time — ek packet server tak bahar aur uska reply wapas.
Setup ko round-trips mein kyun count karte hain?
kyunki har "poochho aur reply ka wait karo" ek ki pure waiting cost karta hai real data flow hone se pehle; .
Handshake hai...
woh opening back-and-forth jo do computers karte hain yeh agree karne ke liye ki dono ready hain, real data bhejne se pehle.
Reliability vs in-order delivery
reliability = lost packets retransmit ho jaate hain; in-order = bytes sirf original order mein release hote hain. Yeh independent promises hain.
Stream hai...
ek independent byte-sequence jiska apna ordering hai; ek HTTP request/response ek stream mein rehta hai.
Multiplexing hai...
ek hi connection par ek saath kaafi streams ko interleave karna.
4-tuple hai...
(tumhara IP, tumhara port, server IP, server port) — woh char numbers jo ek TCP connection ko name karte hain; ek badlo aur TCP ek nayi connection dekhta hai.
aur ka matlab hai...
= per-packet loss probability (0 se 1 tak); = bheje gaye objects/streams ki count.
compute karta hai...
woh probability ki packets mein se at least ek lost ho.
ke liye yeh lagbhag hai...
(at least ek loss ka 92% chance).