Skip to Main Content
In this paper, we present the design and implementation of The Distributed Open Network Emulator (dONE), a scalable hybrid network emulation/simulation environment. It has several novel contributions. First, a new model of time called relativistic time that combines the controllability of virtual time with the naturally flowing characteristics of wall-clock time. This enables a hybrid environment in which direct code execution can be mixed with simulation models. Second, dONE uses a new transparent object based framework called Weaves, which enables the composition of unmodified network applications and protocol stacks to create large-scale simulations. Finally, it implements a novel parallelization strategy that minimizes the number of independent timelines and offers an efficient mechanism to progress the event timeline. Our prototype implementation incorporates the complete TCP/IP stack from the Linux 2.4 kernel family and executes any application code written for the BSD sockets interface. The prototype runs on 16 processors and produces super-linear speedup in a simulation of hundred infinite-source to infinite-sink pairs.