ASAysha Shafiq
NETWORK SYSTEMS · PROTOCOL ENGINEERING

Userspace TCP/IP Stack

I built a dependency-free TCP/IP stack in Rust, then drove it through Linux TUN/TAP to prove Ethernet, ARP, IPv4, ICMP, UDP, and TCP interoperability end to end.

7.6 Gbps read · 4.6 Gbps write through Linux TAP
1,024 concurrent TCP connections
28 protocol + Linux interoperability checks

Building the network stack, layer by layer

I built each layer in Rust, from reading Ethernet frames and answering ARP requests to validating IPv4 and ICMP packets. UDP checks each datagram before routing it by port. TCP keeps state for every connection, completes the handshake, tracks which bytes were sent and acknowledged, respects the receiver's available window, retries lost data with backoff, handles duplicates and resets, and closes connections cleanly.

Measured through the full Linux path

The benchmarks cross real Linux TCP sockets and the TAP boundary, so the results measure the complete integration rather than the protocol engine in isolation.

TinyKV Distributed StoreSmolLM Alignment LabSecond Time Around