https://github.com/canndrew/netsim
Rust library for network simulation
+--------+
| Server |
+--------+
^
|
|
V
+------+ +--------+ +------+
| NAT1 |<-------->| Router |<--------------> | NAT2 |
+------+ +--------+ +------+
^ ^
| |
| |
V V
+---------+ +---------+
| Client1 | | Client2 |
+---------+ +---------+
+--------+
+----------------->| Router |<---------------------+
| +--------+ |
| |
V V
+--------+ +--------+
| Client | | Server |
+--------+ +--------+
let node = node::ipv4::machine(move |ip| {
// do smth
}).latency(Duration::from_secs(2), Duration::from_millis(100));
let node = node::ipv4::machine(move |ip| {
// do smth
}).latency(Duration::from_secs(2), Duration::from_millis(100))
.packet_loss(0.25, Duration::from_millis(500));
- Latency
- Packet loss
- NAT
- IPv6
- pcap support
- Packet filtering