Quickstart Guide: Evaluating NDN using ndnSIM and Mini-NDN

This quickstart guide provides step-by-step instructions to help you get started with evaluating Named Data Networking (NDN) using ndnSIM and Mini-NDN. These tools offer a simulation environment for testing, experimentation, and research on the NDN platform. Follow the instructions below to begin your evaluation.

Install ndnSIM

  1. Visit the official ndnSIM website for the latest version of ndnSIM.
  2. Use the provided website as a guide to install ndnSIM.
  3. If you plan to use NS-3 Python, ensure you have the necessary dependencies for NS-3 Python bindings.
  4. Compile and install the ndn-cxx library by following the instructions provided on the website.

Note: The instructions assume Ubuntu Linux 12.04 as the default environment. However, it is recommended to use Ubuntu Linux 20.04 for ndnSIM 2.8 version installation. You can find the installation process for Ubuntu Linux 20.04 on YouTube here.

Getting Started with ndnSIM

  1. Familiarize yourself with the basic setup and operations of ndnSIM. The "ndn-simple.cpp" example provides a fundamental understanding of the simulated topology, featuring three nodes connected with point-to-point links. Refer to this page for more details.
  2. Connect to one or more trace sources provided by ndnSIM classes to obtain simulation results. Existing trace sources can be utilized for this purpose. Visit this page for additional information.
  3. Use the ndn::AppDelayTracer to gather data on the delays between issuing an Interest and receiving the corresponding Data packet. This metric is crucial for evaluating the performance of NDN. Refer to this page for guidance.

Mini-NDN: Lightweight Networking Emulation Tool

Mini-NDN is a lightweight networking emulation tool designed for testing, experimentation, and research on the NDN platform. It is based on Mininet, a network emulator, and was originally derived from Mini-CCNx.

  1. Mini-NDN provides a quick and easy environment for testing and experimentation. It allows you to run a full NDN network on a single system, such as a laptop or server, with each node in the network capable of running forwarding, routing, and NDN applications.
  2. To further understand Mini-NDN, refer to the GitHub page for more details.

Additional Resources and Tutorials

To enhance your knowledge and gain hands-on experience with ndnSIM and Mini-NDN, explore the following additional resources and tutorials: