Skip to content

AndreaCrotti/nomadic-communications

Repository files navigation

DESCRIPTION

This project is about testing network performances with different wireless devices and configurations.
Using wireless devices is not mandatory of course, in this configuration we analyze the output of iperf , so any kind of network testing can be automated.

Results are then statistically analyzed and there will be 2 relations (written in latex) explaining the results.

The main idea behind the program is the concept of configuration, which is basically an ini file containing different sections and values for each of them.
Values can be:

  • lists (speed = 1M, 2M)
  • constants (host = server)
  • ranges (rts_threshold = 256..1000)

Configurations are kind of complex dictionaries built parsing the ini files where a basic arithmetic is defined.
You can merge them together (+) or get their difference (-) obtaining new configurations (both or them are NOT commutative).

For every test there is basically a three step merge:
default.ini + user.ini + test.ini

After this merge we have the full configuration which is then executed and which results are further analyzed.

USAGE

To run the program check that the file tester.py is executable and simply run.
./tester.py
where user is represents a user configuration contained in the directory userconfs.

Batch mode

So in order to use this program you need to

  • Configure correcly default.ini for your setup
  • run ./tester.py (you may need to run chmod u+x tester.py before to make it executable)
  • follow the instructions

Manual mode

Another possible way to use the program is to pass all the config files as arguments, running

./tester.py [conf1] [conf2] …
will load all the configuration files and start the test.

When the actual test is started (iperf being executed) if you think you made something wrong you can send a SIGKILL (ctrl-c) signal to the program.
It will ask you if you want to skip that test quit everything or redo it, by default it restarts from the last test, it’s the best behaviour because the last test is useless once stopped

Simulation

The program doesn’t show all the useless parameters (but they are still stored for every test) like ssid, ip or driver for that card