Task
Use the ns3 simulator (version 3.31) to make a comparison of the three TCP variations DCTCP, TCP CUBIC and TCP New Reno.
Simulation setup and simulation state
Compare how the three TCP variations perform using the classical "dumbbell" topology. The topology is illustrated in the figure below.
// links: (1) (2) (3) (4) (5) (6) // ---- ---- ---- ---- ---- // servers ---| WR |---| M1 |---| M2 |---| M3 |---| LR |--- clients // ---- ---- ---- ---- ---- // ns-3 node IDs: // nodes 0-2 3 4 5 6 7 8-10
In this topology, clients (on the right side) are requesting data from the server (on the left side), which will then be delivered over 5 intermediate nodes.
To set up the simulation and learn about the scripts that are used to execute the study with each individual parameter, you should follow in as much detail as possible the instruction here.
The page describes how to run the simulation with a wide variety of parameters, and derive data. The scripts that are provided are even plotting PDF representations of various metrics plotted over time.
It is your task to present the data that is generated by these simulation runs differently, to give your audience a more global view. That means that you should remove the heads and tails of the simulation data, and represent the data that you can derive from the stable part of the simulation.
You should apply the statistics shown in the first lecture to provide a higher-level description of the differences between these 3 TCP variations.
These are just a few that are very frequently used:
- sending rate of a TCP sender
- packet loss ratios
- throughput of the TCP connection ((bytes received)/second)
- goodput of a TCP connection ((bytes received only once)/second)
- fairness between different TCP connections (Jain's fairness index)
- RTT - a TCP sender's estimation of the round-trip-time from S to R, which should change with the queue length at X
- CWND - a TCP sender's congestion window, which is the computed number of bytes that the sender is allowed to send in the next RTT
Presentation
- Make a visual classroom representation, in the spirit of a short lecture. Select a tool such as Powerpoint or Google Slides which allows you do download and hand in complete assignments. Tools to present results more interactively (Matlab, Jupyter Notebook) are great in many contexts but not for delivery as a homework. Deliver a PDF version of your presentation as well.
- The presentation must:
- explain the goals of your simulation
- explain which state variable you have used to answer that question, and which derived variables you computed
- present your results visually using plots (there are many examples in the intro lecture)
- explain the results
- explain how the plots assist you in explaining these results
- Present in the classroom.
- The presentation that you deliver is not a report. It should be very brief (using bullets) for each requested explanation. The oral presentation in the classroom should be more detailed.
- It is important to select state variables that are relevant for the question.
- It is important to plot either raw data or data that has been processed using statistical tools in a way that supports your explanation.
Deadline
The presentation must be submitted on September 15 at 12:00 (before the course starts).