CS 725/825 Computer Networks, IT 725 Network Technology
Final Exam
Due: Friday, December 13, 2024, 11:59 pm
Paper:
TCP congestion control mechanism has evolved in a significant way over the decades the protocol has been in use. For this part of the final exam, write a paper that outlines the evolution and critically evaluates the key ideas of the major TCP congestion control mechanism.
You are free to organize the paper in whichever way you see fit and to pick the congestion control methods that you want to cover. However, the paper must touch upon Reno, CUBIC, and BBR. You can write a broad paper or you can focus on a specific area - I will be happy to discuss your ideas for a narrower focus paper.
There are many resources on the internet on the subject that may help writing the paper. Unfortunately, many present misunderstanding or oversimplification of how the protocols work. As these resources are used to train AI tools, these tools will produce text that is questionable at best. The following papers written by the mechanism designers provide a good starting points for your investigation:
- Congestion Avoidance and Control, a classic paper on TCP congestion control by Van Jacobson and Michael J. Karels,
- CUBIC: a new TCP-friendly high-speed TCP variant, a 2008 paper by Sangtae Ha, Injong Rhee, and Lisong Xu,
- BBR: Congestion-Based Congestion Control: Measuring bottleneck bandwidth and round-trip propagation time, 2016 ACM Queue paper by Neal Cardwell, Yuchung Cheng, C. Stephen Gunn, Soheil Hassas Yeganeh, and Van Jacobson.
Besides describing the mechanisms, make sure that you focus on:
- problems that the mechanism is trying to address,
- goals of the design,
- motivation for the design choices,
- shortcomings of the mechanism.
You may include a brief general introduction to TCP but the main focus should be on core ideas of the congestion control mechanisms. The paper should read like a white paper and must have a clear structure. Include technical details. Illustrations are encouraged, dividing paper in sections is a must. A stream of consciousness in the form of a single paragraph stretching over many pages is not acceptable.
You are expected to cite your sources. Use IEEE citation style. The paper will be machine checked against the documents available on the internet. While using external resources and rephrasing what they say is expected, copying, especially without an attribution, will get you into trouble. If in doubt, ask!
There is no minimum page count for the paper. Shorter, well-written and edited papers are preferred over ones artificially-inflated for the sake of making a page count. However, very short papers are unlikely to hit all the key points and will receive lower marks.
Questions:
(20 points) Consider a user at home powering up a computer and starting to watch a movie using a major streaming service. List, as many as you can, network protocols and technologies that you can get utilized in this scenario. Focus on all the involved components, not just the in-home piece. Consider all layers.
For each protocol or technology, briefly outline what service it provides and briefly describe how it works. If there are alternatives (e.g., wired vs wireless local network), pick one for a more detailed description and list the other(s).
- (10 points) Pick a networking protocol or technology discussed in class and outline an idea of how it could be improved. The improvement can be minor and you do not have to be concerned with how it would be deployed. The proposed idea should not rely on something that is clearly not feasible but you do not have to be concerned with implementation details.
- (10 points) Outline the main difficulties associated with the deployment of multicast protocols.
- (10 points) Propose two questions that could be asked on future in-class exams and provide answers. Each question should take about 5 minutes of the exam time and should not be directly answered on a lecture slide.
Submission instructions:
Upload your submission as two PDF files using myCourses (mycourses.unh.edu), one for each part of the assignment.