In this paper, we present a component-based network simulation environment that provides a systematic way to simulate, with high fidelity, protocol operations in a variety of target network architectures. We take a four-step approach to developing such a composable network simulation environment with reusable components. First, we lay a component-based software architecture, called the autonomous component architecture (ACA). Second, we propose a new real-time, process-driven simulation technique that fits naturally in ACA and simulates the real system realistically. Third, we devise a packet-based network simulation framework, called extensible internetworking framework (INET), on top of ACA. Fourth, we implement in Java both ACA and INET, and several representative suites of protocol components in a variety of network architectures. The resulting codes, along with a scripting framework, constitute a network simulation environment called J-Sim. By virtue of the many desirable features inherited from ACA, the J-Sim environment meets the flexibility, composability, reusability, extensibility and diagnosability requirements. The price J-Sim pays for the many desirable features is, however, the inter-component communication overhead. In this paper, we show (via experimentation) that this overhead is not significant (in the range of 0.2—0.6 μs), and J-Sim achieves better scalability than two other network simulators in the public domains, ns-2 and Scalable Simulation Framework Network Models (SSFNET), in terms of both the experiment setup time and the simulation completion time.
Read full abstract