About the project
Testbeds
activities
Resources
About the project
Testbeds
activities
Resources
This is an old revision of the document!
This document describes the procedure 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.
You should do these steps before implementing your experiment on OneLab. 1- Make request to create a slice and wait for taking permission from your site PI to do that. 2- Requested any number of nodes that you want for your experiment. While choosing nodes, you have to choose nodes from 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 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 them from the terminal. c) Make sure that your ssh command follow this form: ssh sliceName@nodeName Note: sliceName should have the following format: onelab8au_helloworld while slice name on the site has the following fotmat: onelab.au.helloworld 4- After gaining access on two nodes (at least), to make sure of their connection, use ping IPremote host (you can get the real IP of 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 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 2 bottleneck nodes and 1 bottleneck link Note that: the topology will be drawn here is logical one which mens 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 send this message to n5 or n6 according to the message itself n5 and n6 are simple servers which receive message and simply prints it The whole experiment is written on python since it's supported by default machines of PlanetLab Europe (which run linux) It is importnat to note that no routing is done in this experiment but the paths (including destinations) and forwarding rules are determined inside the code To make this part easy, clinet sends their names in the message so, if message=“n1”, this should go to n5 and if message=“n2”, this should go to n6 Last note: The whole experiment works on a fixed port-Number, let it be 5005
1- clients (n1 and n2) command: telnet IP(of n3) 5005 2- n3 runs n3server.py 3- n4 runs n4server.py 4- receivers (n5 and n6) run receivers.py