track

Networking

Sockets, packets, NAT, and the kernel’s network stack. How bytes leave your process and arrive in another one, on another machine.

13 lessons
beginner → advanced
~3.5 hours
start track
where this track leads

Build a mesh VPN project course

A hands-on project course: a Tailscale-style overlay network in C. TUN device, UDP transport, NAT traversal, authenticated encryption, a coordination server. Every piece is a lesson in this track applied for real.

open the project course
lesson 01

Bytes on a wire

lesson 02

A socket is a file descriptor

lesson 03

Addresses, ports & byte order

lesson 04

UDP: datagrams

lesson 05

TCP: the handshake

lesson 06

TCP is a stream

lesson 07

HTTP by hand

lesson 08

poll() & event loops

lesson 09

Routing

lesson 10

NAT

lesson 11

NAT traversal

lesson 12

TUN devices

lesson 13

What encryption hides