About the project
Testbeds
activities
Resources
About the project
Testbeds
activities
Resources
This document describes the procedures on how to make experiments on OneLab. The experiment we do here is on 6 PlanetLab nodes. We tried this experiment twice using UDP and TCP. The purpose of this experiment is to observe how the experimentation in the OneLab environment works to go some insight about it.
You should do these steps before implementing your experiment on OneLab.
1- Make request to create a slice and wait for taking a permission from your site PI to do that.
2- Request any number of nodes that you want for your experiment. While choosing, you have to select nodes from the available ones and make sure that they are not down. To know this, change the settings from the icon labeled by “…” to make the boot state available.
3- If you tried to access the reserved nodes and an error message “permission denied (public key)” appears:
a) Make sure that you downloaded the public key.
b) You will be allowed “only once” to generate new key pair or even upload one after generating it from the terminal.
c) Make sure that your ssh command follow this form: ssh sliceName@nodeName
Note: sliceName should have the following format (for example): onelab8au_helloworld while slice name on the site has the following format: onelab.au.helloworld
4- After gaining access on two nodes (at least), to make sure of their connection, use ping IP remote host (you can get the real IP of any host using that command: wget –q0-http://ipecho.net/plain; echo
)
5- To ensure that the real hosts are connected to each other (not such their gateways), use python to implement a server on one node and telnet it from the other node.
6- After making sure that your nodes are up and connected to each other, it is the time for your first experiment :)
6 nodes are used with 2 transmitter, 2 receivers and 2 relay nodes.
Goal: the two traffic flows in the experiment passes by the 2 bottleneck nodes and 1 bottleneck link
Note that: the topology that will be drawn here is a logical one which means that this drawing doesn't reflect the position of nodes physically. However, all nodes are chosen to be in the same country to maintain the lowest possible delay.
n1 sends traffic to n5 (through n3 and n4)
n2 sends traffic to n6 (through n3 and n4)
n1 and n2 are very simple clients (no more than one telnet command line).
n3 is a simple server which sends any received message as it is to n4.
n4 does processing on the received message and sends this message to n5 or n6 according to the message itself.
n5 and n6 are simple servers which receive the message and just print it.
The whole experiment is written in python since it's supported by default machines of PlanetLab Europe (which run linux). From the reserved nodes: planetlab-2.ing.unimo.it and planetlab2.polito.it
It is important to note that no routing is done in this experiment but the paths (including destinations) and the forwarding rules are determined inside the code
To make this part easy, client sends their names in the message so, if the message starts with “n1”, this should go to n5 and if the message starts with “n2”, this should go to n6
Last note: The whole experiment works on a fixed port-Number (let it be 5005).