Joining the NDN Testbed

Should I Join the NDN Testbed

Every member of the NDN project team is expected to be part of the testbed. Currently there is substantial project discussion over NDN chat applications and we are moving toward holding all NDN confernce calls over the testbed. Everyone working on the project is expected to have NDN working on your desktop or laptop.

At this time, only NDN participant institutions are part of the testbed. We are working on basic routing, forwarding, and network management. This requires frequent code changes, the need for controlled tests, and updates to the topology. As a result, the testbed is currently limited to NDN participating institution. We hope to open the testbed to anyone in the near future.

Step 1: Install the NDN Testbed Software

Fedora users can skip to these instructions to install CCNx via yum.

We recommend first installing Apache Ant if you don't already have it. This is not strictly part of the testbed, but is necessary for several NDN applications and will simplify later operations. Once you have Apache Ant, you need to install the CCNX software, the heart of the testbed code base.

  1. Install Apache Ant
    1. Download the Apache Ant binary distribution
    2. Unpack and note the directory name.
    3. Set and export environment variable ANT_HOME="<path-to-apache-ant-directory>"

      For example, if you are using .profile your would add
      ANT_HOME="<path-to-apache-ant-directory>"
      export ANT_HOME

    4. Add $ANT_HOME/bin to your PATH

      For example, if you are using .profile your would add
      export PATH=$PATH:$ANT_HOME/bin
      (make sure this line is after you set and export ANT_HOME)

  2. Install CCNx
    1. Download CCNx
    2. configure
    3. make
    4. sudo make install
      This will install the relevant code in locations such as /usr/local/bin. You must run make install as root (or add opions configure to install in other locations).
  3. You are now ready to run the software and join the testbed.

  1. Instructions for Fedora Users

    1. $ su -
    2. # cd /etc/yum.repos.d
    3. # wget http://www.named-data.net/ccnx/ccnx.repo
    4. # yum -y install ccnx
    5. If yum complains about the package not being signed, try running yum with gpgcheck disabled, like so
    6. yum -y install ccnx --nogpgcheck

  2. The repository is for the i686 architecture only. We will try to provide the x86_64 bit version soon. Also, the RPMs provided are experimental. If you encounter any errors, please contact Kaustubh Gadkari.

Step 2: Run CCNX and Connect to the Testbed

Each site runs an NDN hub and you will connect to the NDN hub at your site. For example, students at Colorado State will connect to the Colorado State hub, students at UCLA will connect to the UCLA hub, and so forth. You should also let the testbed operators at your site know that you are joining the testbed. A list of hubs and contacts can be found at Testbed Site Status.

  1. Start the testbed deamon on your laptop:
    ccndstart
    (if ccnx is already running, this command will kill the old instance and start a new one)
  2. Configure a static default route that directs all interest and data packets to your local hub:
    ccndc add / udp <local-ccnx-hub>
  3. Verify your setup.
    Open the page localhost:9695
  4. You should see a list of faces and one face should list the IP address of your local hub.

Step 3: Run an NDN Application

At this point, you should be connected to your NDN hub and can communicate with any node on the NDN Testbed. There are a number of applications that you can now run. A few of the most common are listed below:

  1. Running NDN Chat
    1. The chat application comes with the main package installed in Step 1. No additional packages need to be installed.
    2. You can start a new chat by simply picking the chat name or join an existing chat such as /ndn/opschat.
    3. CCNX_NAMESPACE=chatname CCNX_USER_NAME=<email@domain.ext> ccnchat chatname
    4. For example, you might want to chat with your local testbed operator to confirm your setup is working:
      CCNX_NAMESPACE=/ndn/opschat CCNX_USER_NAME=<email@domain.ext> ccnchat /ndn/opschat
    5. Note that the chat team is working on a code improvement so you will be able to simply say ccnchat chatname without having to set the CCNX_NAMED and CCNS_USER_NAME variables. We will update this page when that fix is in place)
  2. Running NDN Audio Conferencing
    1. Contact the UCLA Testbed Operator. UCLA plans to release the audio conference tool in early 2011.