Episode 1 — Fundamentals / 1.3 — Internet Protocols

1.3 — Internet Protocols: Quick Revision

Compact cheat sheet. Print-friendly.

How to use this material (instructions)

  1. Skim top-to-bottom in one pass before quizzes or interviews.
  2. If a row feels fuzzy — open the matching lesson: README.md1.3.a1.3.e.
  3. Deep practice1.3-Exercise-Questions.md.
  4. Polish phrasing1.3-Interview-Questions.md.

TCP vs UDP (master table)

TCPUDP
ConnectionYes (handshake)No
ReliabilityRetransmit + orderBest-effort
Flow controlYesNo
Congestion controlYesNo (apps may add)
Header (typical min)20+ bytes8 bytes
Common usesHTTP/1.1–2, SSH, SMTPDNS (small), QUIC base, VoIP, games

TCP 3-way handshake

Client                         Server
  |-- SYN ---------------------->|
  |<-- SYN-ACK ------------------|
  |-- ACK ---------------------->|
  |        ESTABLISHED            |

Key terms (one-liners)

TermOne-liner
ISNInitial sequence number; starting point for byte tracking
ACKAcknowledges bytes received; drives retransmissions
RTTRound-trip time; drives timeouts and CC behavior
SYN floodHalf-open connection exhaustion attack
SYN cookiesAvoid storing full state until ACK proves legitimacy
QUICUDP-based transport with TLS 1.3 + streams (HTTP/3)
HOL blockingLater work blocked waiting on an earlier lost segment

“Which protocol?” quick picks

NeedPick
Must not lose bytes / strict orderTCP (or QUIC streams with app semantics)
Minimize setup latency for tiny messagesOften UDP (DNS)
Web at scale with modern stacksHTTP/3 / QUIC
Stealth / anonymityNot TCP/UDP lesson — wrong tool; VPN/Tor are different layers

← Back to 1.3 — Internet Protocols (README)