Episode 1 — Fundamentals / 1.3 — Internet Protocols
1.3 — Internet Protocols: Quick Revision
Compact cheat sheet. Print-friendly.
How to use this material (instructions)
- Skim top-to-bottom in one pass before quizzes or interviews.
- If a row feels fuzzy — open the matching lesson:
README.md→1.3.a…1.3.e. - Deep practice —
1.3-Exercise-Questions.md. - Polish phrasing —
1.3-Interview-Questions.md.
TCP vs UDP (master table)
| TCP | UDP | |
|---|---|---|
| Connection | Yes (handshake) | No |
| Reliability | Retransmit + order | Best-effort |
| Flow control | Yes | No |
| Congestion control | Yes | No (apps may add) |
| Header (typical min) | 20+ bytes | 8 bytes |
| Common uses | HTTP/1.1–2, SSH, SMTP | DNS (small), QUIC base, VoIP, games |
TCP 3-way handshake
Client Server
|-- SYN ---------------------->|
|<-- SYN-ACK ------------------|
|-- ACK ---------------------->|
| ESTABLISHED |
Key terms (one-liners)
| Term | One-liner |
|---|---|
| ISN | Initial sequence number; starting point for byte tracking |
| ACK | Acknowledges bytes received; drives retransmissions |
| RTT | Round-trip time; drives timeouts and CC behavior |
| SYN flood | Half-open connection exhaustion attack |
| SYN cookies | Avoid storing full state until ACK proves legitimacy |
| QUIC | UDP-based transport with TLS 1.3 + streams (HTTP/3) |
| HOL blocking | Later work blocked waiting on an earlier lost segment |
“Which protocol?” quick picks
| Need | Pick |
|---|---|
| Must not lose bytes / strict order | TCP (or QUIC streams with app semantics) |
| Minimize setup latency for tiny messages | Often UDP (DNS) |
| Web at scale with modern stacks | HTTP/3 / QUIC |
| Stealth / anonymity | Not TCP/UDP lesson — wrong tool; VPN/Tor are different layers |
← Back to 1.3 — Internet Protocols (README)