Building Your Own Userspace TCP/IP Stack: From Ethernet Frames to ARP
2025-03-04

This blog post, the first in a series, details building a minimal TCP/IP stack in Linux userspace. The goal is hands-on learning of network and system programming. It covers using TUN/TAP devices for intercepting network traffic, a deep dive into Ethernet frame format and parsing (MAC addresses, ethertype, CRC), and a thorough explanation of the Address Resolution Protocol (ARP), including packet format and the resolution algorithm. The post culminates in verifying the custom stack's ARP reply functionality using arping.
Read more
Development