Small userspace TCP/IP stack based on TUN devices, implements:
- Handshake
- Sliding window
- Out-of-order packet reassembly
- Retransmissions (including RTO calculation)
- Socket close & reset
- Respect MSS
- Nagle's algorithm
- SWS avoidance
- Zero-Window probes
- Congestion control
- SACK
- Timestamps
Build the project using cargo, setup iptables rules to allow the TUN interface to handle traffic, and run it!
$ cargo build
# ./scripts/iptables_rules.sh
# ./target/debug/tunstack