Skip to content

An exemplifying demo

AltraMayor edited this page Oct 22, 2014 · 34 revisions

The long-term view behind Linux XIA is to crowdsource the future Internet. Accomplishing this view means (1) embracing old and new technologies, (2) lowering developing and deployment costs, and (3) nurturing a level-playing field for anyone to experiment with their ideas. The demo described in this page leverages a diverse set of technologies to substantiate this view of the future.

Our exemplifying demo show how zFilter, Digital fountain, and TCP/IP can interoperate to distribute content over XIA. zFilter is a multicast fabric developed for the PURSUIT FIA; read more about it on page zFilter principal. Digital fountain is a 15-year-old coding technology that adds reliability to open-loop multicast transmissions; see page Digital fountain. Any viable future Internet must interoperate with TCP/IP to lever all the infrastructure already deployed. To this end, our demo uses U4ID principal; see more about it on page 4ID principals.

Table of Contents

Requirements

This demo requires three machines, each with one network card, and one machine with three network cards. The former machines will be hosts, whereas the latter a router. The machines should be put together following the following topology: One can adapt this demo to run on virtual machines, but given that the intention is to present this demo in public, we have chosen to do it on real machines.

All machines must run a Linux XIA kernel, and have xiaconf package installed; see page How to install. The server and clients will need the Digital Fountain application; see page Digital fountain. The demo requires that Wireshark with XIA extensions is installed on one of the machines to inspect the traffic that the demo produces; see page Debugging the Linux kernel. The experimenter may prefer to have this Wireshark yet on a fifth machine to keep the demo isolated. The demo also requires tcpdump(8) on the router, but it is a good idea to have it installed on all machines to help with troubleshooting. On Ubuntu, tcpdump can be installed with the command:

 $ sudo apt-get install tcpdump

Setting the machines up

Once the machines are connected together, and all the software is in place, one has to assign HIDs to each machine, and enumerate the HID associated to each machine as shown below:

 ### On the server
 # xip hid new server
 # xip hid getpub server
 hid-675597dac83a795358aeb92c96ec4a8c39908b72
 
 -----BEGIN PUBLIC KEY-----
 OMMITED
 -----END PUBLIC KEY-----
 
 ### On the router
 # xip hid new router
 # xip hid getpub router
 hid-eefa98af7649d454b9f2b704012c307ced00f87a 
 
 -----BEGIN PUBLIC KEY-----
 OMMITED
 -----END PUBLIC KEY-----
 
 ### On client A
 # xip hid new client-a
 # xip hid getpub client-a
 hid-4a17e52f5dcc9dbadf15497a52b6f3a214616cff
 
 -----BEGIN PUBLIC KEY-----
 OMMITED
 -----END PUBLIC KEY-----
 
 ### On client B
 # xip hid new client-b
 # xip hid getpub client-b
 hid-897f3aa1bb04ad9fd4022ce33678ba9accc83f3e
 
 -----BEGIN PUBLIC KEY-----
 OMMITED
 -----END PUBLIC KEY-----
 

One only needs to execute the steps above once, whereas the steps below are supposed to be executed after a machine is rebooted.

Server

Router

Client A

Client B

Performing the demo