ashu | 8bf379e | 2015-05-04 09:54:06 -0500 | [diff] [blame] | 1 | Mini-NDN Installing Instructions |
| 2 | ================================ |
| 3 | |
dmcoomes | a013686 | 2017-10-12 11:42:45 -0500 | [diff] [blame] | 4 | ### What equipment will I need? |
ashu | 8bf379e | 2015-05-04 09:54:06 -0500 | [diff] [blame] | 5 | |
| 6 | Basically, you'll need a laptop/desktop with a recent Linux distro (Ubuntu, Fedora). |
| 7 | We recommend Ubuntu. For this guide, the _Ubuntu 14.04 LTS_ was used. |
| 8 | Also, note that you'll need administrative privileges in order to download and install |
| 9 | extra packages and also to execute **Mini-NDN**. |
| 10 | |
Ashlesh Gawande | 95789cc | 2017-02-27 12:38:04 -0600 | [diff] [blame] | 11 | ### Installing **Mini-NDN** |
| 12 | |
| 13 | If you have all the dependencies (see sections below) installed simply clone this repository and run: |
| 14 | |
| 15 | sudo ./install.sh -i |
| 16 | |
| 17 | else if you don't have the dependencies, the following command will install them along with Mini-NDN: |
| 18 | |
Saurab Dulal | 5d9ba60 | 2017-11-29 21:31:13 +0000 | [diff] [blame] | 19 | sudo ./install.sh -emrfti |
Ashlesh Gawande | 95789cc | 2017-02-27 12:38:04 -0600 | [diff] [blame] | 20 | |
dmcoomes | a013686 | 2017-10-12 11:42:45 -0500 | [diff] [blame] | 21 | else if you want to install the dependencies manually, follow the instructions below: |
| 22 | |
ashu | 8bf379e | 2015-05-04 09:54:06 -0500 | [diff] [blame] | 23 | ### Installing NDN |
| 24 | |
ashu | 2ad32e2 | 2015-05-29 13:37:40 -0500 | [diff] [blame] | 25 | Each node in **Mini-NDN** will run the official implementation of NDN. The following dependencies are needed: |
ashu | 8bf379e | 2015-05-04 09:54:06 -0500 | [diff] [blame] | 26 | |
Ashlesh Gawande | 95789cc | 2017-02-27 12:38:04 -0600 | [diff] [blame] | 27 | Mini-NDN uses NFD, NLSR, and ndn-tools. |
ashu | 8bf379e | 2015-05-04 09:54:06 -0500 | [diff] [blame] | 28 | |
| 29 | To install NFD: |
| 30 | http://named-data.net/doc/NFD/current/INSTALL.html |
| 31 | |
| 32 | To install NLSR: |
| 33 | http://named-data.net/doc/NLSR/current/INSTALL.html |
| 34 | |
ashu | 2ad32e2 | 2015-05-29 13:37:40 -0500 | [diff] [blame] | 35 | To install ndn-tools: |
| 36 | https://github.com/named-data/ndn-tools |
ashu | 8bf379e | 2015-05-04 09:54:06 -0500 | [diff] [blame] | 37 | |
ashu | 2ad32e2 | 2015-05-29 13:37:40 -0500 | [diff] [blame] | 38 | ### Installing Mininet |
ashu | 8bf379e | 2015-05-04 09:54:06 -0500 | [diff] [blame] | 39 | |
ashu | 2ad32e2 | 2015-05-29 13:37:40 -0500 | [diff] [blame] | 40 | **Mini-NDN** is based on Mininet. To install Mininet: |
dmcoomes | a013686 | 2017-10-12 11:42:45 -0500 | [diff] [blame] | 41 | |
| 42 | First, clone Mininet from github: |
| 43 | |
| 44 | git clone --depth 1 https://github.com/mininet/mininet.git |
| 45 | |
| 46 | After Mininet source is on your system, run the following command to install |
| 47 | Mininet core dependencies and Open vSwitch: |
| 48 | |
| 49 | ./util/install.sh -nv |
| 50 | |
| 51 | To check if Mininet is working correctly, run this test: |
| 52 | |
| 53 | sudo mn --test pingall |
| 54 | |
| 55 | This will print out a series of statements that show the test setup and the results of the test. Look |
| 56 | for `Results:` two-thirds of the way down where it will indicate the percentage of dropped packets. |
| 57 | Your results should show "0% dropped (2/2 received)". |
ashu | 8bf379e | 2015-05-04 09:54:06 -0500 | [diff] [blame] | 58 | |
Saurab Dulal | 5d9ba60 | 2017-11-29 21:31:13 +0000 | [diff] [blame] | 59 | ### Installing Infoedit |
| 60 | |
| 61 | Infoedit is used to edit configuration files such as NFD configuration file. |
| 62 | |
| 63 | To install infoedit: |
| 64 | https://github.com/NDN-Routing/infoedit |
| 65 | |
ashu | 8bf379e | 2015-05-04 09:54:06 -0500 | [diff] [blame] | 66 | ### Verification |
| 67 | |
Yucheng Zhang | 008387d | 2016-03-15 17:03:41 -0500 | [diff] [blame] | 68 | You can use these steps to verify your installation: |
ashu | 8bf379e | 2015-05-04 09:54:06 -0500 | [diff] [blame] | 69 | |
Yucheng Zhang | 008387d | 2016-03-15 17:03:41 -0500 | [diff] [blame] | 70 | 1. Issue the command: `sudo minindn --experiment=pingall --nPings=50` |
Ashlesh Gawande | 95789cc | 2017-02-27 12:38:04 -0600 | [diff] [blame] | 71 | 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. |
dmcoomes | 80eeea1 | 2017-10-27 12:49:10 -0500 | [diff] [blame] | 72 | 3. Issue the command: `grep -c content /tmp/minindn/*/ping-data/*.txt`. Each file should report a count of 50. |
| 73 | 4. Issue the command: `grep -c timeout /tmp/minindn/*/ping-data/*.txt`. Each file should report a count of 0. |