Installation Instructions

What equipment will I need?

For this guide, you will need a laptop/desktop with a recent version of a Linux distro such as Ubuntu or any of its variants. Fedora is not officially supported but has also been reported to work for some users. For this guide, the Ubuntu 18.04 LTS release was used. Also, note that you’ll need administrative privileges in order to download and install extra packages and also to execute Mini-NDN.

Installing Mini-NDN

NOTE: Mini-NDN, while providing a high level of emulation of hosts, requires programs to be installed onto your computer. It will not work if they are not installed. If you do not want NDN software installed onto your computer, you can use a virtual machine, which can be quite simply set up with the provided vagrantfile.

If you have all the dependencies (see sections below) installed simply clone this repository and run:

./install.sh -i

else if you don’t have the dependencies, the following command will install them from source along with Mini-NDN:

./install.sh -a

If you want to install the dependencies manually or from the Named Data PPA, follow the instructions below:

Installing NDN

Each node in Mini-NDN will run the official implementation of NDN installed on your system. The following dependencies are needed:

Mini-NDN uses NFD, NLSR, and ndn-tools.

To install NFD: https://named-data.net/doc/NFD/current/INSTALL.html

To install NLSR: https://named-data.net/doc/NLSR/current/INSTALL.html

To install ndn-tools: https://github.com/named-data/ndn-tools

Note that all three of these can be installed from the Named Data PPA. Instructions for setting it up can be found in the NFD insallation instructions. Note that PPA and installs from source cannot be mixed.

Special Instructions for PPA Installs

If you are using a custom nfd.conf file in an experiment, you should place it in /usr/local/etc/ndn/ rather than /etc/ndn/. This is to avoid a bug from the default configuration file for the PPA, which is incompatiable with Mini-NDN.

Installing Mininet

Mini-NDN is based on Mininet. To install Mininet:

First, clone Mininet from github:

git clone --depth 1 https://github.com/mininet/mininet.git

After Mininet source is on your system, run the following command to install Mininet core dependencies and Open vSwitch:

./util/install.sh -nv

To check if Mininet is working correctly, run this test:

sudo mn --test pingall

This will print out a series of statements that show the test setup and the results of the test. Look for Results: two-thirds of the way down where it will indicate the percentage of dropped packets. Your results should show “0% dropped (2/2 received)”.

Installing Infoedit

Infoedit is used to edit configuration files such as NFD configuration file.

To install infoedit: https://github.com/NDN-Routing/infoedit

Verification

You can use these steps to verify your installation:

  1. Issue the command: sudo minindn --experiment=pingall --nPings=50
  2. When the mini-ndn> CLI prompt appears, the experiment has finished. On the Mini-NDN CLI, issue the command exit to exit the experiment.
  3. Issue the command: grep -c content /tmp/minindn/*/ping-data/*.txt. Each file should report a count of 50.
  4. Issue the command: grep -c timeout /tmp/minindn/*/ping-data/*.txt. Each file should report a count of 0.