Changes between Version 4 and Version 5 of Tutorials/qNSE/aNgSgEmulator


Ignore:
Timestamp:
May 5, 2018, 5:37:19 PM (7 years ago)
Author:
mita
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Tutorials/qNSE/aNgSgEmulator

    v4 v5  
    1010
    1111=== Prerequisites ===
     12VM that will be used in ORBIT environment should be pre-configured and we suggest using Ubuntu 14.04. There are two approaches for running the SG network emulation:
     13[[CollapsibleStart(1. Configure VM manually)]]
     14Following items should be installed and configured:
     151. Git, distributed version controll system. Installed by executing: `sudo apt-get install git`
     162. Mininet with POX, available at [https://github.com/mininet/mininet this GitHub page]. In short it can be installed with: `./install.sh -a`.
     173. Python package management system, [https://packaging.python.org/tutorials/installing-packages/ pip].Installed by executing: `sudo apt-get install python-pip`.
     183. [https://github.com/jsonpickle/jsonpickle jsonpickle], used for JSON configuration deserialization. Installed using pip: `pip install jsonpickle`.
     194. [https://github.com/phaag/nfdump nfdump], needed for Net Flow results parsing. It can be installed using: `sudo apt-get install nfdump`.
     205. emulator, provided at following link
     215. Configure ssh to allow tunneling by adding following line to `/etc/ssh/sshd_config`:
     22   `PermitTunnel yes`
    1223
    13 VM that will be used in ORBIT environment should be Ubuntu 14.04 with following installed:
    14 1. Mininet with POX, available at [https://github.com/mininet/mininet this GitHub page]. In short it can be installed with: `./install.sh -a`.
    15 2. [https://github.com/jsonpickle/jsonpickle jsonpickle], used for JSON configuration deserialization. It can be installed using pip: `pip install jsonpickle`.
    16 3. [https://github.com/phaag/nfdump nfdump], needed for Net Flow results parsing. It can be installed using: `sudo apt-get install nfdump`.
    17 4. emulator, provided at following link
    18 
    19 These steps can be simplified if prepared VM is saved and reused.
     24VM that can be used as base and is already available at ORBIT catalog is `ubuntu-14-04-64bit-2017-06-09.ndz`. These steps can be simplified if prepared VM is saved and reused.
     25[[CollapsibleEnd]]
     26[[CollapsibleStart(1. Use prepared VM)]]
     27Use already prepared VM that should be the quickest way. The VM is named `sg-comm-emulation.ndz`.
     28[[CollapsibleEnd]]
    2029
    2130=== Setting up the environment ===
    2231
    23 Setting up environment is mostly automated. First, time slot at ORBIT should be scheduled. This is explained [http://www.orbit-lab.org/wiki/Documentation/CGettingStarted Getting Started Wiki page]. Once the registrations has been approved via email, prepared VM can be loaded onto the SB9 test bed and the machines can be started. Ubuntu 14.04 VM image is available at ORBIT VM catalog.
    24 1. Load Ubuntu 14.04 image: `omf load -i ubuntu-14-04-64bit-2017-06-09.ndz -t all`.
     32Setting up the environment is mostly automated. First, time slot at ORBIT should be scheduled. This is explained [http://www.orbit-lab.org/wiki/Documentation/CGettingStarted Getting Started Wiki page]. Once the registrations has been approved via email, prepared VM can be loaded onto the SB9 test bed and the machines can be started. Ubuntu 14.04 VM image is available at ORBIT VM catalog.
     331. Load VM image: `omf load -i <IMAGE NAME> -t all`.
    25342. Start SB9 nodes: `omf tell -a on -t all`.
    26 Once the VM image has been loaded and the nodes are up and running, the only thing left is to exchange ssh authorized keys. This is done by executing following script `./setup_ssh.sh ~/nodes.`
    27 Provided nodes file contains the list of ORBIT nodes that are up and running. File is provided in attached archive.
     35Once the VM image has been loaded and the nodes are up and running, the only thing left is to exchange ssh authorization keys. This is done by executing following script `~/emulator/environment//setup_ssh.sh ~/nodes.`
     36Provided nodes file contains the list of ORBIT nodes that are up and running and will be used for running mininet nodes. File is provided in attached archive.
    2837
    2938=== Running the experiment ===
    3039
    31 Test is run by executing `SG-CommTestBed.py` script, locally or remotely using SSH.
     40Sample experiment is described in JSON files:
     41`emulator/execution/sample_parameters.json`
     42`emulator/execution/sample_topology.json`
     43
     44Test is run by executing `SG-CommTestBed.py` script on node1-1: `sudo -E ~/emulator/execution/SG-CommTestBed.py`.
    3245
    3346=== Results analysis ===
    3447
    3548Results are grouped by node name and there are two types of results:
    36 1.      Traffic generators
    37 2.      Netflow data
    38 Results are collected by calling a script `collect_results.sh` on ORBIT gateway box. It will collect all the results and copy it locally.
     491. Traffic generators,
     502. Net Flow data.
     51Results are collected by calling a script `copy_results.sh` on ORBIT gateway box. It will collect all the results and copy it locally.
    3952Once the results are collected they can be analyzed. Traffic generators can be opened using any text editor while Net Flow can be opened using excel.