Lab: Congestion Control Part 2

In this lab, you will experiment with congestion control using your TCP implementation. You will use the simulator to examine the correctness, performance and fairness of your implementation.


Create scripts that can produce the following types of graphs:

Basic Experiments

Use the simulator to set up a simple network consisting of two nodes and and one bidirectional link:


Using this network, run the following experiments:

Write a separate Python script for each of these tests. The script should output traces from your TCP implementation demonstrating that it works well, and it should run a diff to ensure the file is transferred correctly. Use the script as an example.

You may want to log some data required for the graphs to separate output files, for easier parsing and graphing.

Advanced Experiments

Using the same network as above, run the following experiments to examine TCP's behavior:


Write a formal, scientific report that includes the following:

Write using a formal, scientific report style. Your report should be written as if you are explaining your work to another CS student, and they need all of the details of what you did so that they can replicate your experiments.

Your report can be any length, as long as you thoroughly describe your project and results. The paper must use 11 point type, single spacing, and one column per page.

You must use LaTex to write your report. You can use this template for your report. To help you learn LaTeX, I suggest using the WikiBooks LaTex reference.


Your code should be located in a directory called lab4 in the top level:


Turn in a tarball that includes all of your code (for the simulator, experiments, graphing, etc), and a PDF of your report:

tar -czvf bene.tgz bene

using Learning Suite.


This lab is worth 150 points, and will be graded using the following rubric:

To get full points, all experiments must work well and the report must be complete and written with a scientific style.