Mini-NDN uses a configuration file describing the topology and its parameters to setup a network. It can be generated by the GUI or written by hand or scripts.
At the bare minimum, the node section describes the nodes present in the topology.
[nodes] a: _ b: _
Additionally each node can take the following parameters:
app : Default application(s) to be started on a node (specify '_' if no app needs to be started - required). The app is the only parameter which needs double quotes (see example below).
cpu : Amount of cpu available to a node (0.00 - 1.00), optional
mem : Amount of memory available to a node in KB
cache : Amount of cache memory available to a node in KB
e.g.)
[nodes] a: _ cpu=0.3 b: app="sample app 1; sampleapp2.sh" cpu=0.3
The links section describes the links in the topology.
e.g.) [links] a:b delay=10ms
This would create a link between a and b. 'b:a' would also result in the same. The following parameters can be configured for a node:
delay : Delay parameter is a required parameter which defines the delay of the link (1-1000ms)
bw : Bandwidth of a link (<1-1000> Mbps)
loss : Percentage of packet loss (<1-100>)
[nodes] a: _ cpu=0.3 b: app="sampleApp1; ./sampleApp2.sh" cpu=0.3 [links] a:b delay=10ms bw=100
Note that sampleApp1
and sampleApp2
must be either installed in the system (ex: /usr/bin) or an absolute path needs to be given.
See ndn_utils/topologies
for more sample files