Skip to content
This repository has been archived by the owner on Mar 24, 2021. It is now read-only.

Astrarog/hse-ns3-dce

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NS3 DCE Laboratory using Vagrant Environment

The ojective of this laboratory is to launch NS3 network simulator with DCE support and to research dependency between TCP window size and TCP transfer speed.

1. Setup Vagrant

Download from https://www.vagrantup.com/downloads.html and install

2. Clone current directory

We will suppose that it is cloned into <lab_dir>

git clone https://github.com/Astrarog/hse-ns3-dce.git <lab_dir>

3. Setup environment

cd <lab_dir>
vagrant up

This will create a VM with needed environment. Shared folder <lab_dir>/share is also created and conntected to ~/share in guest VM.

4. Connect to VM and launch perfomance scrtipt

vagrant ssh
$./run-perf.sh
$exit

run-perf.sh is a scrtipt based on iperf test that measure network perfomance. Parameters changed as follows.

Changed parametr Begin value End value Step
TCP window size (Kb) 1 301 5
Link delay (ms) 1 1026 5

Resulted bandwidth data is saved in ~/share/data.csv file.

5. Destroy VM and visualise data

VM image can be destroyed via the command:

vagrant destroy

After this done data can be represented as 3D plot. JupyterNotebook scrtipt for this task is provided in <lab_dir>/visualisation/BandwithVisualisation.ipynb

6. Make graphics and Interpret the results

Bandwidth graphics 1 Bandwidth graphics 2

The growth of link delay can be resisted with moderate increase of window size, as can be seen in graphics. Nevertheless, a massive increase of window size is frequenlty followed by a drop in bandwidth regardless of link delay mostly.

As a result, with increase of link delay the window size impact on the bandwidth goes up.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 95.6%
  • C++ 2.7%
  • Shell 1.7%