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.
Development