Changes between Version 4 and Version 5 of Tutorials/qNSE/aNgSgEmulator
- Timestamp:
- May 5, 2018, 5:37:19 PM (7 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Tutorials/qNSE/aNgSgEmulator
v4 v5 10 10 11 11 === Prerequisites === 12 VM 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)]] 14 Following items should be installed and configured: 15 1. Git, distributed version controll system. Installed by executing: `sudo apt-get install git` 16 2. Mininet with POX, available at [https://github.com/mininet/mininet this GitHub page]. In short it can be installed with: `./install.sh -a`. 17 3. Python package management system, [https://packaging.python.org/tutorials/installing-packages/ pip].Installed by executing: `sudo apt-get install python-pip`. 18 3. [https://github.com/jsonpickle/jsonpickle jsonpickle], used for JSON configuration deserialization. Installed using pip: `pip install jsonpickle`. 19 4. [https://github.com/phaag/nfdump nfdump], needed for Net Flow results parsing. It can be installed using: `sudo apt-get install nfdump`. 20 5. emulator, provided at following link 21 5. Configure ssh to allow tunneling by adding following line to `/etc/ssh/sshd_config`: 22 `PermitTunnel yes` 12 23 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. 24 VM 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)]] 27 Use already prepared VM that should be the quickest way. The VM is named `sg-comm-emulation.ndz`. 28 [[CollapsibleEnd]] 20 29 21 30 === Setting up the environment === 22 31 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`.32 Setting 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. 33 1. Load VM image: `omf load -i <IMAGE NAME> -t all`. 25 34 2. 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 authoriz ed 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.35 Once 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.` 36 Provided 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. 28 37 29 38 === Running the experiment === 30 39 31 Test is run by executing `SG-CommTestBed.py` script, locally or remotely using SSH. 40 Sample experiment is described in JSON files: 41 `emulator/execution/sample_parameters.json` 42 `emulator/execution/sample_topology.json` 43 44 Test is run by executing `SG-CommTestBed.py` script on node1-1: `sudo -E ~/emulator/execution/SG-CommTestBed.py`. 32 45 33 46 === Results analysis === 34 47 35 48 Results are grouped by node name and there are two types of results: 36 1. Traffic generators37 2. Netflow data38 Results are collected by calling a script `co llect_results.sh` on ORBIT gateway box. It will collect all the results and copy it locally.49 1. Traffic generators, 50 2. Net Flow data. 51 Results are collected by calling a script `copy_results.sh` on ORBIT gateway box. It will collect all the results and copy it locally. 39 52 Once 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.