Building a TCP/IP Stack from Scratch in Nim
Welcome!
This is a series of posts documenting my journey in building a toy version of the TCP/IP stack from scratch using Nim.
I was always kinda curious about Nim. Coming from a Python background, the idea of writing code that looks like Python but gives you the safety and performance of a statically typed language just sounded pretty appealing to me. The solid C interop and flexible memory management model also make Nim a great fit for something low-level like building a TCP/IP.
We’ll start from raw Ethernet frames and work our way up through IP, TCP/UDP, and possibly application protocols.
Disclaimer: I’m by no means an expert in this field, but I’d say I’m curious enough to dive deep, break things, but hopefully learn something new to share with you :)
Series Posts
- Link Layer (Part 1) - Capturing raw Ethernet frames using BPF
Stay tuned for more posts!