What This Course Is About
Welcome!
This course is a hands-on journey where you'll build the internet from the inside out — specifically a TCP/IP stack in C.
Rather than just reading about how packets flow, I think that watching real Ethernet frames enter your program, move up the layers, and eventually deliver data to an HTTP server you wrote yourself is much more cool and fun. Every step will be visible, testable, and will run safely in a Docker container so if you ever fuck up your network stack you won't break the nice laptop you bought at $2400 to play GTA6.
The Guiding Idea
If you can trace a single packet from the wire to the web page, you truly understand networking.
Each module adds a small, working layer. You'll start with ARP and climb up through IP, ICMP, UDP, and TCP, and finally HTTP with a simple web server we will build. But this could be extended to any application-level protocol — and even better, your own application protocol (maybe if you're lucky we will try to implement our own protocol).
Along the way you'll practice packet parsing, checksums, routing, and state machines—the same building blocks used inside real operating systems.
By the End
You won't just "know" networking — you'll own a functioning stack that you can instrument, break, and rebuild as you please.