The Shadow Network Simulator

What is Shadow?

Shadow is a scientific experimentation tool that simplifies research, development, testing, and evaluation of real networked applications by connecting them through an internally simulated distributed network.

Rapid Prototyping

Quickly develop your network research prototypes (e.g., a performance enhancing algorithm or protocol) without committing the time and effort that would be required to produce production-quality code.

Testing and Debugging

Run large and diverse test networks to exercise complex corner cases and improve test coverage. Run multiple versions of your code to test interoperability. Shadow simulations are deterministic, so bugs are identically reproduced by re-running the simulation.

Flexible Evaluations

Immediately deploy thousands of network application processes using a customizable network topology. Evaluate network performance, tune parameters, and gain confidence in your experiments, results, and code before deploying to a live network.

Safety and Privacy

Shadow simulations are completely private and segregated from the Internet, providing an environment in which you can safely run network experiments with absolutely no privacy risks.