Build a TCP/IP Stack from Scratch · Module 00

Who Is This Course For?

Who Is This Course For?

Before we start, maybe some of you got lost and are here but don't really know if this is for you. Before you waste the following days/weeks of your life, here's a little hint for who might want to take the course.

Target Audience

It's mainly for curious programmers who want to understand how the internet works under the hood, not by memorizing some diagram or lecture material but by building the moving parts themselves.

You'll Enjoy This Course If:

  • You have previous knowledge of C syntax
  • Have written small command-line tools before
  • Are comfortable using a terminal and simple build tools like make or gcc
  • Are willing to learn by experimenting and breaking things

You Do NOT Need To:

  • Be a network engineer
  • Know every OSI layer by heart
  • Have used raw sockets, libpcap, or kernel drivers before
  • Understand the math behind congestion control or checksums — we'll cover all of that step by step

Note: This course is not about high-performance networking or production-grade stacks; it's a learning project. We focus on clarity, visibility, and correct behavior at small scale, not speed or kernel integration.

If you like learning by doing, seeing real packets, and debugging your own code to watch bytes move across layers — you're in exactly the right place.