Vince Lehman | d367dbb | 2015-07-14 15:59:29 -0500 | [diff] [blame] | 1 | Getting Started |
| 2 | =============== |
| 3 | |
| 4 | ## Installation |
| 5 | Please see [INSTALL.md](../INSTALL.md) for instructions on installing Mini-NDN and its dependencies. |
| 6 | |
| 7 | ## Running Mini-NDN |
| 8 | |
Ashlesh Gawande | e626b63 | 2016-08-12 16:50:14 -0500 | [diff] [blame] | 9 | To run Mini-NDN with the default topology, `ndn_utils/topologies/default-topology.conf`, type: |
Vince Lehman | d367dbb | 2015-07-14 15:59:29 -0500 | [diff] [blame] | 10 | |
| 11 | sudo minindn |
| 12 | |
Ashlesh Gawande | e626b63 | 2016-08-12 16:50:14 -0500 | [diff] [blame] | 13 | A full list of options can be printed by using: |
| 14 | |
| 15 | sudo minindn --help |
| 16 | |
Vince Lehman | d367dbb | 2015-07-14 15:59:29 -0500 | [diff] [blame] | 17 | To run Mini-NDN with a topology file, provide the filename as the first argument: |
| 18 | |
| 19 | sudo minindn my-topology.conf |
| 20 | |
| 21 | During set up, the list of nodes in the network will be listed as they are initialized: |
| 22 | |
| 23 | *** Adding hosts: |
| 24 | a b c d |
| 25 | |
| 26 | After set up, the command-line interface (CLI) will display a prompt. |
| 27 | |
Ashlesh Gawande | 95789cc | 2017-02-27 12:38:04 -0600 | [diff] [blame] | 28 | mini-ndn> |
Vince Lehman | d367dbb | 2015-07-14 15:59:29 -0500 | [diff] [blame] | 29 | |
| 30 | To interact with a node, first type the node's name and then the command to be executed: |
| 31 | |
Ashlesh Gawande | 95789cc | 2017-02-27 12:38:04 -0600 | [diff] [blame] | 32 | mini-ndn> a echo "Hello, world!" |
Vince Lehman | d367dbb | 2015-07-14 15:59:29 -0500 | [diff] [blame] | 33 | Hello, world! |
| 34 | |
| 35 | To see the status of the forwarder on the node: |
| 36 | |
Ashlesh Gawande | 95789cc | 2017-02-27 12:38:04 -0600 | [diff] [blame] | 37 | mini-ndn> a nfdc status report |
Vince Lehman | d367dbb | 2015-07-14 15:59:29 -0500 | [diff] [blame] | 38 | |
| 39 | To see the status of routing on the node: |
| 40 | |
Ashlesh Gawande | 95789cc | 2017-02-27 12:38:04 -0600 | [diff] [blame] | 41 | mini-ndn> a nlsrc status |
Vince Lehman | d367dbb | 2015-07-14 15:59:29 -0500 | [diff] [blame] | 42 | |
Ashlesh Gawande | e626b63 | 2016-08-12 16:50:14 -0500 | [diff] [blame] | 43 | To exit Mini-NDN, type `quit` in the CLI: |
Vince Lehman | d367dbb | 2015-07-14 15:59:29 -0500 | [diff] [blame] | 44 | |
Ashlesh Gawande | 95789cc | 2017-02-27 12:38:04 -0600 | [diff] [blame] | 45 | mini-ndn> quit |
Vince Lehman | d367dbb | 2015-07-14 15:59:29 -0500 | [diff] [blame] | 46 | |
| 47 | For a more in depth explanation of the CLI, please see the |
| 48 | [Mininet Walkthrough](http://mininet.org/walkthrough/). |
| 49 | |
| 50 | ## Command-line options |
| 51 | |
Ashlesh Gawande | e626b63 | 2016-08-12 16:50:14 -0500 | [diff] [blame] | 52 | To run Mini-NDN with a replica of the NDN testbed, use the `--testbed` parameter: |
Vince Lehman | d367dbb | 2015-07-14 15:59:29 -0500 | [diff] [blame] | 53 | |
Ashlesh Gawande | e626b63 | 2016-08-12 16:50:14 -0500 | [diff] [blame] | 54 | sudo minindn --testbed |
| 55 | |
| 56 | To change the working directory from default `/tmp` following option can be used: |
| 57 | |
| 58 | sudo minindn --work-dir /home/mydir/test |
Vince Lehman | d367dbb | 2015-07-14 15:59:29 -0500 | [diff] [blame] | 59 | |
| 60 | #### Routing options |
| 61 | |
dmcoomes | 7adc7f7 | 2017-10-06 12:01:28 -0500 | [diff] [blame^] | 62 | To run NLSR with hyperbolic routing enabled, use the `--routing` parameter: |
Vince Lehman | d367dbb | 2015-07-14 15:59:29 -0500 | [diff] [blame] | 63 | |
dmcoomes | 7adc7f7 | 2017-10-06 12:01:28 -0500 | [diff] [blame^] | 64 | sudo minindn --routing hr |
Vince Lehman | d367dbb | 2015-07-14 15:59:29 -0500 | [diff] [blame] | 65 | |
dmcoomes | 7adc7f7 | 2017-10-06 12:01:28 -0500 | [diff] [blame^] | 66 | Topology files given under ndn_utils/topologies/minindn* have hyperbolic coordinates configured |
| 67 | and can be used with this option. |
| 68 | |
| 69 | To run NLSR in dry-run mode, use the `--routing` parameter: |
| 70 | |
| 71 | sudo minindn --routing dry |
Ashlesh Gawande | e626b63 | 2016-08-12 16:50:14 -0500 | [diff] [blame] | 72 | |
| 73 | To configure the max number of faces added by NLSR to reach each name prefix, use the `--faces` |
Vince Lehman | d367dbb | 2015-07-14 15:59:29 -0500 | [diff] [blame] | 74 | parameter: |
| 75 | |
Ashlesh Gawande | e626b63 | 2016-08-12 16:50:14 -0500 | [diff] [blame] | 76 | sudo minindn --faces 3 |
Vince Lehman | d367dbb | 2015-07-14 15:59:29 -0500 | [diff] [blame] | 77 | |
Ashlesh Gawande | e626b63 | 2016-08-12 16:50:14 -0500 | [diff] [blame] | 78 | `--faces` can be an integer from 0 to 60; 0 indicates NLSR can add all available faces. |
Vince Lehman | d367dbb | 2015-07-14 15:59:29 -0500 | [diff] [blame] | 79 | |
Ashlesh Gawande | e626b63 | 2016-08-12 16:50:14 -0500 | [diff] [blame] | 80 | To run Mini-NDN with NLSR security configured |
Vince Lehman | d367dbb | 2015-07-14 15:59:29 -0500 | [diff] [blame] | 81 | |
Ashlesh Gawande | e626b63 | 2016-08-12 16:50:14 -0500 | [diff] [blame] | 82 | sudo minindn --nlsr-security |
| 83 | |
| 84 | ## Working Directory Structure |
| 85 | |
| 86 | Currently Mini-NDN uses /tmp as the working directory if not specified otherwise by using the option --work-dir. |
| 87 | |
| 88 | Each node is given a HOME directory under /tmp/node-name |
| 89 | where node-name is the name of the node specified in the [nodes] section of the conf file. |
| 90 | |
| 91 | ### NFD |
| 92 | NFD conf file is stored at `/tmp/node-name/node-name.conf` |
| 93 | |
| 94 | NFD log file is stored at `/tmp/node-name/node-name.log` |
| 95 | |
| 96 | `.ndn` folder is stored at `/tmp/node-name/.ndn` |
| 97 | |
| 98 | ### NLSR |
| 99 | NLSR conf file is stored at `/tmp/node-name/nlsr.conf` |
| 100 | |
| 101 | NLSR log file is stored at `/tmp/node-name/log/nlsr.log` |
| 102 | |
| 103 | When security is enabled, NLSR security certificates are stored in: `/tmp/node-name/security` |
| 104 | Note that no NLSR publishes the root certificate, Mini-NDN installs root.cert in security folder for each NLSR. |