Build the network stack — bits, frames, packets, TCP, TLS, kernel modules, eBPF, DDS — from raw bytes, in C and Python. Free, open source, MIT-licensed.
Every lesson starts with a concrete problem, walks through the theory and the relevant RFC, then builds the solution from scratch in C or Python. You write the code, run the tests, and verify against real traffic. No frameworks until you've built a minimal version yourself.
The curriculum is ordered but not rigid. Phases 1–4 build the foundation (bits through TCP). Phases 5–7 add sockets, application protocols, and TLS. Phase 8 is the capstone: a userspace TCP/IP stack that can curl a real HTTPS site. Phases 9–14 go deep into the Linux kernel, eBPF, routing, and container networking. Phase 15 is a bonus on DDS and robotics middleware.
git clone https://github.com/TanayK07/networking-from-scratch.git
Then run make -C phases/01-bits-and-wires/02-bits-bytes-endianness test to verify your first lesson builds.