Problems faced and solutions - Kushagram/wireless-testbed GitHub Wiki

Setting up the network

Load the wifi-experiment.ndz image onto the 8 nodes that you will use in your experiment-in my case:

omf load -i wifi-experiment.ndz -t node1-1.outdoor.orbit-lab.org,node1-2.outdoor.orbit-lab.org,node1-3.outdoor.orbit-lab.org,node1-4.outdoor.orbit-lab.org

After this process is finished, turn your nodes on:

omf tell -a on -t node1-1.outdoor.orbit-lab.org,node1-2.outdoor.orbit-lab.org,node1-3.outdoor.orbit-lab.org,node1-4.outdoor.orbit-lab.org

In this experiment we have reserved 2 terminals for each of the client nodes hence in all 6 terminals are there plus 3 terminals for the Access Point. Then open eight terminals, SSH into the outdoor testbed console with your GENI wireless username and keys, and SSH from there into each of the four nodes (using the username "root").

Next ssh into each of the nodes on two terminals each. For example to ssh into node 1-3 run the following commands in each of the two terminals that you want to assign as node1-3

ssh root@node1-1

Similarly repeat for node1-2,node1-3,node1-4 as well.

Note: We would be making node1-1 the Access Point and node1-2,node1-3 and node1-4 the clients.

Configure the wireless access points

SH into one node from outdoor console and set it as a AP .We take that node as node1-1.On this node bring up the wifi interface with the following command:

ifconfig wlan0 up

Then, run the following command to set up a WiFi AP with ESSID "wireless1" and password "secretpassword" and the IP address that you want to assign to the AP(here we have assigned it 10.10.10.1):

create_ap -c 1 -n -g 10.10.10.1 wlan0 wireless1 secretpassword

In the output you should see :

ap0: AP-ENABLED

After you are done with setting up the Access Point on node1-1 and assigning the IP address to the gateway you need not separately use ifconfig command to assign the IP address to the AP on its other terminal.

The IP address that has been assigned using the -g flag would set it on the ap0 interface.

Now let us connect each of the clients to this Access Point.

On each of the clients' terminal run the following commands:

First set up a Wifi configuration file :

wpa_passphrase wireless1 secretpassword > wpa.conf

The wpa_passphrase utility turns your human-readable password ("secretpassword") into a preshared key (psk) format, and the results are redirected to a file. (You can see this file with cat wpa.conf.)

Then bring up the wlan0 interface on this node by running the following command:

ifconfig wlan0 up (remember to do this step)

Finally connect to the network from each of the two stations with:

wpa_supplicant -iwlan0 -cwpa.conf -B

Thereafter in order to assign the IP address to this node run :

ifconfig wlan0 10.10.10.X

where X is the number to the right of the hyphen in node1-X. e.g.: for node1-4 it would X would be 4

In order to check that all the client nodes have indeed got connected to the Access Point run the following command(say we run for 10.10.10.2 i.e. node1-2's sending terminal):

ping -c 1 10.10.10.1

Note: Since multiple terminals are there for each node don't enter the wpa_passphrase wireless1 secretpassword > wpa.conf and the wpa_supplicant -iwlan0 -cwpa.conf -B on each of the terminals of a particular node.If we run on each of the terminals there would be a lot of processes running in the background and it might lead to the failure of the wireless link.

Hence I was able to ping from the node to the AP and the output that I obtained was following:

PING 10.10.10.1 (10.10.10.1) 56(84) bytes of data.

64 bytes from 10.10.10.1: icmp_seq=1 ttl=64 time=3.22 ms

--- 10.10.10.1 ping statistics ---

1 packets transmitted, 1 received, 0% packet loss, time 0ms

rtt min/avg/max/mdev = 3.228/3.228/3.228/0.000 ms

Similarly I was able to ping from the AP to clients as well.

Next I ran the ifconfig and iwconfig commands on both the AP and node1-2 terminal just for the verification purpose.

Thereafter I followed usual instructions for generating traffic using D-ITG as mentioned in the Presentation wiki page.

But again the uplink and downlink values that I was getting for each node were similar to the ones that I had obtained when I had used node name instead of the IP address.

I have given below the output for DOWNRATE=600 and UPRATE=200:

On node1-2 on running the command ITGDec "$UPRATE-$DOWNRATE-$TRIAL-$NODE-tx.log"

Number of flows          =             1

Total time               =     59.996859 s

Total packets            =          4736

Minimum delay            =      0.000000 s

Maximum delay            =      0.000000 s

Average delay            =      0.000000 s

Average jitter           =      0.000000 s

Delay standard deviation =      0.000000 s

Bytes received           =       4736000

Average bitrate          =    631.499726 Kbit/s

Average packet rate      =     78.937466 pkt/s

Packets dropped          =             0 (0.00 %)

Average loss-burst size  =             0 pkt

Error lines              =             0

ON node1-3 on running the command ITGDec "$UPRATE-$DOWNRATE-$TRIAL-$NODE-tx.log"

Number of flows          =             1

Total time               =     59.991478 s

Total packets            =          2229

Minimum delay            =      0.000000 s

Maximum delay            =      0.000000 s

Average delay            =      0.000000 s

Average jitter           =      0.000000 s

Delay standard deviation =      0.000000 s

Bytes received           =       2229000

Average bitrate          =    297.242218 Kbit/s

Average packet rate      =     37.155277 pkt/s

Packets dropped          =             0 (0.00 %)

Average loss-burst size  =             0 pkt

Error lines              =             0
----------------------------------------

ON node1-3 on running the command ITGDec "$UPRATE-$DOWNRATE-$TRIAL-$NODE-tx.log" output was:

Number of flows          =             1

Total time               =     59.995251 s

Total packets            =          6184

Minimum delay            =      0.000000 s

Maximum delay            =      0.000000 s

Average delay            =      0.000000 s

Average jitter           =      0.000000 s

Delay standard deviation =      0.000000 s

Bytes received           =       6184000

Average bitrate          =    824.598600 Kbit/s

Average packet rate      =    103.074825 pkt/s

Packets dropped          =             0 (0.00 %)

Average loss-burst size  =             0 pkt

Error lines              =             0

On node1-1 on running the command ITGDec "$UPRATE-$DOWNRATE-$TRIAL-$NODE-tx.log" output was:

Flow number: 1

From 10.10.10.1:33220

To    10.10.10.2:8999

----------------------------------------------------------

Total time               =     59.345538 s

Total packets            =          4279

Minimum delay            =      0.000000 s

Maximum delay            =      0.000000 s

Average delay            =      0.000000 s

Average jitter           =      0.000000 s

Delay standard deviation =      0.000000 s

Bytes received           =       4279000

Average bitrate          =    576.825169 Kbit/s

Average packet rate      =     72.103146 pkt/s

Packets dropped          =             0 (0.00 %)

Average loss-burst size  =      0.000000 pkt

----------------------------------------------------------

----------------------------------------------------------

Flow number: 3

From 10.10.10.1:60744

To    10.10.10.4:8999

----------------------------------------------------------

Total time               =     59.245708 s

Total packets            =          3937

Minimum delay            =      0.000000 s

Maximum delay            =      0.000000 s

Average delay            =      0.000000 s

Average jitter           =      0.000000 s

Delay standard deviation =      0.000000 s

Bytes received           =       3937000

Average bitrate          =    531.616569 Kbit/s

Average packet rate      =     66.452071 pkt/s

Packets dropped          =             0 (0.00 %)

Average loss-burst size  =      0.000000 pkt

----------------------------------------------------------

----------------------------------------------------------

Flow number: 2

From 10.10.10.1:44037

To    10.10.10.3:8999

----------------------------------------------------------

Total time               =     59.109273 s

Total packets            =          4103

Minimum delay            =      0.000000 s

Maximum delay            =      0.000000 s

Average delay            =      0.000000 s

Average jitter           =      0.000000 s

Delay standard deviation =      0.000000 s

Bytes received           =       4103000

Average bitrate          =    555.310501 Kbit/s

Average packet rate      =     69.413813 pkt/s

Packets dropped          =             0 (0.00 %)

Average loss-burst size  =      0.000000 pkt

----------------------------------------------------------

__________________________________________________________

****************  TOTAL RESULTS   ******************

__________________________________________________________

Number of flows          =             3

Total time               =     59.345538 s

Total packets            =         12319

Minimum delay            =      0.000000 s

Maximum delay            =      0.000000 s

Average delay            =      0.000000 s

Average jitter           =      0.000000 s

Delay standard deviation =      0.000000 s

Bytes received           =      12319000

Average bitrate          =   1660.647175 Kbit/s

Average packet rate      =    207.580897 pkt/s

Packets dropped          =             0 (0.00 %)

Average loss-burst size  =             0 pkt

Error lines              =             0

----------------------------------------

CLearly the uplink to downlink ratio is not going to be somewhere around 3(as we expect it to be) rather it would be greater than one but close to it.

I am not able to figure out why is it happening so?