ndnSIM: Named-Data Networking (NDN) Simulator.
ndnSIM is an ns-3 module to enable experimentation with Named-Data Networking (NDN). It is an open-source ns-3 module that enables experimentation with the Named-Data Networking (NDN) architecture in wireless and wired networks[1]. ndnSIM project is maintained by the UCLA Computer Science Department’s Internet Research Lab (IRL).
This article explains the way of installing ns-3 with ndnSIM on chroot jail. The procedure that we describe here will closely follow the steps explained in[2].
About Setting up Chroot Jail
One may follow the following article to learn about the benefits of using a chroot jail and how to set it up under Debian Linux.
Installing ns3.35 in Debian 10 chroot Jail Under Debian 11 Host OS or any Version of Linux Host
Further, one may read the following article also to understand the use of chroot jail.
https://www.projectguideline.com/installing-ns3-35-in-debian-11-bullseye/
In this ndnSIM demonstration, we use a Debin 10 chroot jail which was setup on Debin 11 Native Host operating system.
Features of ndnSIM[1]
- It is fully integrated with the real-world NDN prototypes, the ndn-cxx library and the NDN Forwarding Daemon (NFD).
- The integration with ndn-cxx and NFD ensures that the simulations are maximally realistic and can be reproduced in real environments with virtually no changes to the source code.
- Any experiment with NDN forwarding (e.g., custom forwarding strategies, cache replacement policies) inside ndnSIM can be directly used within the real NFD implementation. Real-world applications written based on the ndn-cxx library can be ported to ndnSIM with minimal changes.
- ndnSIM also provides an extensive collection of interfaces and helpers to perform detailed tracing of the behavior of each component, as well as of the NDN traffic flow.
For detailed installation procedure for installing ndnSIM on some other Mac and Ubuntu, one may refer[2]
Core dependencies
The following are the core dependencies that should be installed before installing ndnSIM.
- python >= 3.5
- libsqlite3
- pkg-config
- openssl
- Boost libraries >= 1.54
Installation
The following diagram explains this example scenario :
For example, if you want to run the example ndn-grid.cpp scenario with visualizer, you can do the following :
The following gif animation shows the output of the Grid Network simulation.
References
- https://apps.nsnam.org/app/ndnsim/
- https://ndnsim.net/current/getting-started.html
- https://ndnsim.net/current/examples.html
- S. Mastorakis, A. Afanasyev, and L. Zhang, “On the Evolution of ndnSIM: an Open-Source Simulator for NDN Experimentation,” ACM SIGCOMM Computer Communication Review (CCR), July 2017
- A. Afanasyev, I. Moiseenko, and L. Zhang, “ndnSIM: NDN simulator for NS-3,” NDN, Technical Report NDN-0005, 2012