This repository exposes source code to reproduce experiments as presented in the paper: "The Need for a Name to MAC Address Mapping in NDN: Towards Quantifying the Resource Gain".
Our experiments base on different Open Source software a hardware platforms:
Thereby we use the M3 nodes (iotlab-m3
in RIOT). For prerequisites of the software platforms, please refer to the particular community. To deploy
the scenarios on the testbed you need an account which can be requested here.
Furthermore we use python2 scripts which involde a couple of standard libraries.
This repository contains submodules. To get all contents, please clone with
git clone --recursive https://github.com/inetrg/ACM-ICN-2017.git
. The command will clone and checkout
a dedicated RIOT version (see source code). RIOT itself
includes CCN-lite as an external software package. When CCN-lite gets build, a dedicated version will be
cloned and checked out (see source code. Besides
of that, the repository contains RIOT applications which will run on IoT nodes, a couple of helper scripts to automate testing and a collection of text files that provide information
about (i) nodes hardware addresses on different IoT-LAB sites and (ii) a static topology for
multi-hop measurements. This topology was discovered beforehand by using an algorithm as described in
the draft: draft-gundogan-icnrg-pub-iot-01.
The script automate_calls.py can be used to configure different measurement setups (e.g. different network sizes, numbers of content items per producer, single-hop or multi-hop). For further documentation refer to the comments in the file.
Once an experiment runs, the aggregated serial output of all nodes will be logged in a file that will be stored in the root directory of your repository clone. To identify different dumps, a couple of experiment information as well as the unique experiment ID are part of the file name. These files can be incorporated for further post processing.
The provided test application provides two special modes which can be enabled by CFLAGS
. Proper dummies can be found in the
applications Makefile.
USE_DUP_CHECK
enables a duplicate nonce check which drops packets (i.e. Interests) that have already
been sent/forwarded.
ALLOW_DATA_BCAST
enforces data packets to be send via broadcast MAC address.