Tigran Kostandyan

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

  1. Link Layer (Part 1) - Capturing raw Ethernet frames using BPF

Stay tuned for more posts!

#Networking #Nim #Tcp/Ip