In this assignment, you will build another custom topology and learn about TCP congestion control. You’ll also learn about the TCP sawtooth and see how TCP works to share bandwidth across multiple flows .
Over 80% of peak traffic on the Internet is transmitted via TCP . Therefore, its important to understand how TCP’s congestion control enables networks to function without congestion collapse. Collapse occurs when packets use bandwidth in one section of the network but are dropped at a downstream link, such that the flow is nonfunctional. TCP’s congestion control responds to packet drops, enabling a congested section of the network to recover.
To explore congestion control, you will create the following topology for N = 1, 2, 3, 4, 5 at a link speed of 10 Mbps per link and a delay of 1 ms (note the 10 Mbps speed differs from the lecture video to ensure the topology runs smoothly on a virtual machine). Then you will generate simultaneous TCP Reno flows using
iperf from each of the sender hosts to the lone receiver and measure the achieved throughput. A provided script will plot the time series of throughput vs time for each sender, for each experiment (N = 1, 2, 3, 4, 5).