A Simple Instance of ION
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:
Now is the script for host configure. If you have no idea on what is the “host.rc” or “ionstart” means, I suggest you should review the documentation(ION.pdf) again intensely. If you have seen them but not be familiar with, let us go ahead. A standard configuration include some parts like: ionadmin, bpadmin, ipnadmin…
Question: What works did ionadmin, bpadmin… do?!
Configuration for host1, the meaning of every command can be found in tutorial.html located in the directory of ION source code.
Configuration for host2.
We can run the host1.rc and host2.rc in two hosts separately by :
We can send some messages in host1, see the result in host2. And disconnect the connection between two hosts, and send the message again from host1, connect the host2 afterwards, we can see the result again. This is DTN！
What next I wonder to know: What happened when ION transmit bundles/messages between hosts. For details, what protocols ION used as its lower communication layer. And how is the calls relationship on the source code sense?