ION is short for Interplanetary Overlay Network, which is an implementation of Delay-Tolerant Networking (DTN) architecture as described in Internet RFC 4838. We can download the source code from SourceForge, our laboratory will do some research on interplanetary communication, so I got a new assignment recently : exploring ION code.
After glancing over the documentation and README.txt included in the source code, there is still no clear framework graph coming up in my mind. Although some tests give me some hints, however they always include Bundle Authentication or Bundle Security Protocol, and these are out of my scope. The tutorial.html is something wrong with code version, so I just want to know how is ION working basically, for example send/receive bundles two hosts in local area network.
Prepared two hosts: Gentoo 3.14 (ip: 192.168.1.187) and Ubuntu 14.04 (ip: 192.168.1.184) for me; Downloading ION and building it as following:
1 2 3 4 5 6 7 8 9
# configure environment, install tools like gcc and make if need ./configure
# for running ion commands and using dynamic libraries # outside the ion source code directory ./sudo make install ./sudo ldconfig
There is a classic sample for processing two asynchronous functions concurrently before combining their return value. The most basic way is using nested callbacks, like: