Add some form of congestion control to your implementation of TCP. You may use either Jacobson's algorithm, the Vegas algorithm, or some combination of the two. This assignment also gives you a chance to improve the performance and robustness of your code.
We will evaluate your implementation by re-running the test programs for the earlier assignments. We will also trace the behavior of your congestion control mechanism.
As part (or all) of this assignment, you may document how you improved your design or the performance of your code over the course of the semester. If you improved your design, include a discussion of the problems with your old design and how your design changes addressed these problems. If you enhanced your code's performance, discuss the performance bottlenecks in your original code and how you identified and eliminated them. Also include a comparative graph of your code's performance before and after your enhancements.
Turn in a written report (postscript or PDF) that briefly describes
your congestion control algorithm, including a trace of the congestion
window over time. Also turn in the source code for your
implementation.