Skip to content

Commit

Permalink
Create README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
crachor committed Apr 10, 2014
1 parent e657b1a commit 3e100c9
Showing 1 changed file with 144 additions and 0 deletions.
144 changes: 144 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
#OFCProbe


We present the platform-independent and flexible OpenFlow Controller Analysis Tool OFCProbe on this website. It features
a scalable and modular architecture that allows a granular and deep analysis of the controllers behaviors and
characteristics. OpenFlow controllers can be pushed to their limit and the bottle-necks can be investigated.
The tool allows the emulation of virtual switches that each provide sophisticated statistics about the controller
behavior.

## Tutorial


###Requirements:

- Java
- OpenFlow Controller
- Preferably a Linux System (Shell Scripts + Screen Usage in Scripts provided)
- Passwordless SSH-Connection between OF Controller Host and OFCProbe Host for User openflow
- OFCProbe.zip


###Preperations On OFCProbe Host


1. Copy OFCProbe.java and your configurations files to a directory
2. Copy On OFCProbe Host\ssh_redirector.sh to home dir of user openflow
3. Open ssh_redirector.sh and change the path in Line#3 to directory of 1. (and change config-file name in Line4)

###Preperations On OF Controller Host


1. Install Controller(s) according to their installation instructions
2. Copy Contents of On Controller Host to directory of your choosing on OF Controller Host
3. You will Find Folders for each Controller, For each Controller you want to operate, do the following:

I. Go to Directory according to your Controller (e.g. Floodlight->>On Controller Host\flood)

II. Open start.sh

III. Change Directory in Line#2
4. Open launch_config.sh
5. Change IP(s) at the beginning

###Simulation Sequence


#### Best Effort Testing


> 1 Host
On OFCProbe Host

1. Use provided config.be.ini (dont forget renaming config file to config.ini)

On OF Controller Host

1. Ensure that NO controller is running
2. Go To Directory of launch_config.sh
3. Start Testing:

./launch_config.sh 5 flood_be

This will start Best Effort Testing with 5 Runs on 1 OFCProbe Host emulating [1,5:5:100] Switches with 8 Threads.
After the Simlation has finished, you will find a directory on < OFCProbeDirectory>\flood_be\.
All statistics Files are found there.

> Multiple Hosts
On OFCProbe Host

1. Use provided config.be.ini (dont forget renaming config file to config.ini)
2. Do not Forget to Change config.startDpid --> Over all OFCProbeHosts, the DPIDs must not overlap
3. Example Scenario with 4 Hosts:
* 100 Switches in Total --> 25 Switches in Total per Host
* Host1: config.startDpid = 1
* Host2: config.startDpid = 100
* Host3: config.startDpid = 200
* Host4: config.startDpid = 300

On OF Controller Host

1. Ensure that NO controller is running.
2. Go To Directory of launch_config.sh.
3. Check IPs and that none of the IPs is commented.
4. Start Testing:

./launch_config.sh 5 flood_mh_be

This will start Best Effort Testing with 5 Runs on Multiple OFCProbe Host emulating [1,5:5:100] Switches with 8 Threads.
After the Simlation has finished, you will find a directory on < OFCProbeDirectory>\flood_mh_be\.
All statistics Files are found there.

####One Host - Topology Testing
On OFCProbe Host

1. Use provided config.top.ini (dont forget renaming config file to config.ini)
2. Ensure that topology.ini file is in OFCProbe Directory (This File Emulates a FatTree Topology with 20 Switches)

On OF Controller Host

1. Ensure that NO controller is running
2. Go To Directory of launch_config.sh and change the Following:
* maxswitchnum=100 --> maxswitchnum=20 (for the example topology.ini)
3. Start Testing:

./launch_config_top.sh 5 flood_top

This will start Topology with 5 Runs on 1 OFCProbe Host emulating 20 Switches with 8 Threads (in case you are using provided topology.ini).
After the Simlation has finished, you will find a directory on < OFCProbeDirectory>\flood_top\.
All statistics Files are found there.

####GraphML Import
OFCProbe offers the option to import a network topology in the GraphML format. GraphML is a XML-based file format which describes the structural properties of a graph. A lot of GraphML files of real-world network topologies can be found on the [website](http://www.topology-zoo.org/index.html) of the Internet Topology Zoo project,which has collected data of over 250 networks.

On OFCProbe Host
1. Use provided config.top.ini (dont forget renaming config file to config.ini)
2. Copy the GraphML file of the desired network topology into the OFCProbe Directory
3. Ensure that the parameters config.hasTopolgy and config.hasGraphml are set true
4. Enter the name of the GraphML file for the parameter config.graphml, e.g.
config.grapml = Aarnet.graphml

On OF Controller Host

1. Ensure that NO controller is running
2. Start Testing:
./launch_config_top.sh 5 flood_aarnet

This will start a topology emulation of the choosen GraphlML file. The nodes and edges are imported and a corresponding topology.ini file is automatically created. After the Simlation has finished, you will find a directory on < OFCProbeDirectory>\flood_aarnet\.
All statistics Files are found there.

####Random IAT Values after Distribution

Example for NormalDistribution, mean = 10, stdev=5:

* trafficGenConfig.iatType = 1
* trafficGenConfig.iatDistribution = Normal
* trafficGenConfig.iatDistributionParamter1 = 10
* trafficGenConfig.iatDistributionParamter2 = 5

Individual Settings for Switches

* Set config.checkForIndividualSwitchSettings = true in config.ini on OFCProbeHost
* Check ofSwitch.ini and change it

0 comments on commit 3e100c9

Please sign in to comment.