Simulating Delay Tolerant Networking with ns-3
Abstract
Space-based networks are extremely expensive to test, as they require physical hardware to be available in space that can be reconfigured easily, and accurate measurements of network tests need to be done before a comprehensive network can be deployed. This raises a fundamental need of designing simulators that allow the testing of these space-based networks. Delay-Tolerant and Disruption-Tolerant Networks (DTNs) are a suite of networking ideas that enable networks with intermittent and disrupted links to function with the existing protocols of terrestrial networks. However, there are only a few implementations of these networks in the public domain, and fewer simulators that allow rapid testing of these networks. In this paper, we look at ns-3, a widely used network simulator that does not have a dedicated way of testing DTNs. We improve upon previous implementations to provide a suite of protocols that enable the testing of DTNs in ns-3. We introduce classes that utilize DTN-specific transport protocols such as LTP to relay bundles from an application, while providing a scalable and extensible infrastructure that allows the testing of new protocols. We also provide an infrastructure for a Contact Graph Routing engine that can be used to simulate deep space networks and provide realistic testing results of different protocol changes on such networks. Our implementation is available on the ns-3 GitLab, with documentation to enable easy setup and analysis of DTN-based networks.