Nsclick: Bridging Network Simulation and Deploymen

Micheal Neufeld, Ashish Jain, Dirk Grunwald
Department of Computer Science, University of Colorado, Boulder, Colorado

Bibtex citation

@inproceedings{nsclick-mswim,
  author = {Michael Neufeld and Ashish Jain and Dirk Grunwald},
  title = {Nsclick:: bridging network simulation and deployment},
  booktitle = {Proceedings of the 5th ACM international workshop on 
Modeling analysis and simulation of wireless and mobile systems},
  year = {2002},
  isbn = {1-58113-610-2},
  pages = {74--81},
  location = {Atlanta, Georgia, USA},
  doi = {http://doi.acm.org/10.1145/570758.570772},
  publisher = {ACM Press},
  }

Abstract

Ad hoc network protocols are often developed, tested and evalu­ated using simulators. However, when the time comes to deploy those protocols for use or testing on real systems the protocol must be reimplemented for the target platform. This usually re­sults in two, completely separate code­bases that must be main­tained. Bugs which are found and fixed under simulated condi­tions must also be fixed separately in the deployed implemen­tation, and vice versa. There is ample opportunity for the two implementations to drift apart, possibly to the point where the deployed and simulated version have little actual resemblance to each other. Testing the deployed version may also require con­struction of a testbed, a potentially time­consuming and expen­sive endeavor. Even if constructing an actual testbed is feasible, simulators are very useful for running large, repeatable scenar­ios for tasks such as protocol evaluation and regression testing. Furthermore, since the implementation may require modification of the kernel network stack, there\'s a good chance that a particu­lar implementation may only run on specific versions of specific operating systems. To address these issues, we constructed the nsclick simulation environment by embedding the Click Modu­lar Router inside of the popular ns­2 network simulator. Rout­ing protocols may be implemented as Click graphs and easily moved between simulation and any operating system supported by Click. This paper describes the design, use, validation and performance of nsclick.