Named Data Networking (NDN) is a future Internet architecture designed as a distribution network. To access NDN network from a Linux or OSX machine, one can install NDN Platform, a collection of software packages including the protocol stack and critical applications. NDN Forwarding Daemon (NFD), a core component of the architecture, serves as a software router and runs both on network routers as well as on end hosts to communicate with routers.
NDN Platform has new version releases periodically, and binary packages are provided with each platform release. However, the development of NDN software, including NFD, happens much faster than platform releases. If one wants to run bleeding edge software, those packages must be built from source code available on GitHub.
As a geeky low end box user, I'm thinking: can I run NDN platform on a Linux box with a small amount of memory?
The box I'm talking about is an OpenVZ container from LowEndSpirit UK location, with only 128MB memory and no swap space.
To make the challenge more interesting, I want to avoid
apt-get, and run bleeding edge version built from source code.
Building on the Box
I quickly installed compilers and dependencies (such as
libboost-all-dev which takes several minutes to download) with
apt-get, and cloned the git repositories for NFD and other essential NDN Platform packages.
Given that the box has small memory and slow CPU, I can expect the compilation process to take a few hours, just like 8 years ago when I was compiling Apache on a library computer.