-
Notifications
You must be signed in to change notification settings - Fork 0
renandemelo/navigation-analysis
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
How to simulate a LAN using a wireshark file (pcapng) ------------------------------------------------------ Instalation: -------------- - Install Mininet (We highly recommend the Ubuntu VirtualBox VM install!) - Instructions: http://mininet.org/walkthrough/ - Update Ubuntu packages in your vm: sudo apt-get update - Install java package: sudo apt-get install openjdk-7-jdk - Install maven2 package: sudo apt-get install maven2 - Install git - sudo apt-get install git - Download this complete source code if you have not done it yet: git clone https://github.com/renandemelo/navigation-analysis.git Prepare simulation: --------------------------- - Copy your Wireshark files to your VM (if you are using a VM). SCP might be the easiest way of doing it. - Download dependencies and compile Java code by using in the navigation-analysis directory the following command : mvn clean install (it might take a few minutes) - In the main folder (navigation-analysis), define an ID for each navigation and the numbers of simultaneous clients that you want to simulate in the file 'config.py'. In this file you need to configure a python dictionary named 'sites' having a navigation ID as a key and a wireshark file as a value. The number of clients for each experiment need to be configured in an array named 'num_clients'. An example of a configured file is described as following: sites = { 'Kernel':'entrega-aps/eduardo/Kernel/kernel3.pcapng', 'Facebook':'entrega-aps/eduardo/Facebook/facebook1.pcapng', 'Terra':'entrega-aps/daniel/WireShark/Terra250913-0004/Terra250913-0004.pcapng', 'YouTube':'entrega-aps/willian/wireshark/dia25.09/Youtube25.09/Youtube25.09.pcapng' } num_clients = [1,5,10,15] Running the simulation: ---------------------- - To run the simulation execute the following command: sudo python run-simulation.py - This command will run a simulation of each navigation with each specified number of clients, as defined in the config.py file. - Each simulation will replicate traffic based on data chunks sent/received to the server, using the same data chunk size and relative time to as collected in the wireshark file. Checking and analyzing results: ------------------------------- - Results will be available at 'experiments' directory, having one subdirectory for each experiment run with navigation ID + simultaneous clients (ie. Youtube-10). - In each subdirectory, all data chunks send and receive timestamps will be available in a text file, one per connection. Each connection is represented by the name {IP-local}-{IP-remote}.txt - Based on the timestamps, it is possible to compare send and receive delay of data chunks. Collecting average delay automatically -------------------------------------- - After a successful execution of 'run-simulation.py', it is possible to analyze average delay values automatically - For doing that, just execute the command: python run-analysis.py - As a result, the script will print average delay values for upload an download data chunks for each experiment, separated by a "Tab". Example: Site Number of Clients Upload Delay Download Delay Terra 1 439 880 Terra 5 438 932 Kernel 1 392 635 Kernel 5 463 529 Facebook 1 448 1032 Facebook 5 445 1079 YouTube 1 626 1285 YouTube 5 606 1352 Reproducing the experiments described in the paper -------------------------------------------------- To perform the experiment described in the paper, we used a few navigation wireshark traces provided by students. These traces are available at: https://www.dropbox.com/sh/2hld8oy1a7w3zb2/9taOAQt8hl To reproduce the experiment, you only have to: - download and extract the zip file. - perform configuration in 'config.py' as described in the previous steps.
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published