Simul. Model. Pract. Theory | 2019

Improving ns-3 emulation performance for fast prototyping of routing and SDN protocols: Moving data plane operations to outside of ns-3

 
 
 
 

Abstract


Abstract A common problem in networking research and development is the duplicate effort of writing simulation and implementation code of routing protocols. This can be avoided by reusing simulation code in real prototyping and in production environments. In ns-3, emulation mode can be used to run simulation models of routing and Software Defined Networking (SDN) protocols on top of real L2 interfaces such as Ethernet and Wi-Fi. Although this feature is already available, the additional packet processing involved degrades the performance of the nodes and limits the amount of network traffic that can be processed. Our proposal to overcome this performance bottleneck consists in moving the data plane processing operations to outside of the ns-3 process, running such operations natively in the host Operating System (OS). Two approaches are proposed: (a) running the data plane in user space (DPU); (b) running the data plane in kernel space (DPK). Both approaches support the emulation of one or multiple nodes per emulation host machine. The experimental results show that the DPU and DPK approaches significantly improve the throughput by respectively 4.9 and 19 times when compared against traditional ns-3 emulation of a single node. For multiple nodes, the DPK approach further improves the throughput by as much as 23 times. The amount of code reuse is high – e.g., for the routing protocols used in this paper, only 1.4% and 11% of extra code is required to benefit from the performance improvements achieved respectively by the DPK and DPU approaches.

Volume 96
Pages None
DOI 10.1016/J.SIMPAT.2019.101931
Language English
Journal Simul. Model. Pract. Theory

Full Text