Question: Two tasks: Design and Description. Design your own connection-oriented transport protocol congestion control. The following is an example of a real TCP protocol impl. Try
Two tasks: Design and Description. Design your own connection-oriented transport protocol congestion control. The following is an example of a real TCP protocol impl. Try to modify something (hinted in the example) and build your own design. Please explain why you want to make such changes.
Here is the example. TCP phases are shown as in fig. 1. Assume we start from time 0.
-
(a) Cwnd=1,wesend1MSSbetweentime01so1MSSdataissentattime1;
-
(b) Cwnd=2,wesend2MSSbetweentime12-so3MSSdataissentattime2(1
MSS data sent between 0 1 plus 2 MSS data is sent between 1 2) ;
-
(c) Cwnd=4,wesend4MSSbetweentime23-so7MSSdataissentattime3;
-
(d) Cwnd=8,wesend8MSSbetween34-so15MSSdataissentattime4;
-
(e) And . as shown in fig. 1.
18
16
14
12
10
8 6 4 2 0
Timeout
Cwnd(MSS)
fast recovery
ssthreshold
congestion avoidance
fast retransmission
slow start
RTT 1
2 3
4 5
6 7 8 9
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Figure 1: TCP phases with slow-start, congestion avoidance, fast recovery and fast retransmission
2 Spring 2019
Zhen Zhao Dept. of ECE Temple University
Assume every data in the Cwnd is successfully transferred until there is a timeout. When there is timeout, all data in the TCP window failed to be transferred.
For example, when the Cwnd size=8 MSS, all the 8 MSS data are transferred successfully in time 3 4. When the Cwnd increases to 16 and there is a timeout, all the 16 MSS data failed to be transferred in time 4 5. That is, at time 4, totally there are 15 MSS data sent and at time 5, totally there are still only 15 MSS data sent since there are no successful transmission between 5 6.
The ssthreshold is dynamically updated. When there is a timeout, the new ssthreshold is the half of Cwnd size at the timeout. (Hint: in your design, you could change this new ssthreshold setting). And the Cwnd is set back to 1 MSS (Hint: you can set Cwnd size other than 1)
In the fig. 1, when the duplicated ACKs are received, the Cwnd cuts half of its size. TCP enters the fast recovery phase. Then Cwnd increases linearly after that and TCP enters retransmission phases. (Hint: you could change the Cwnd size to another value)
(a) Design Select either one design challenge in the following (only one design, not both). What does your TCP phases look like? Please draw a plot of the TCP phases similar to fig. 1.
-
Either You could design your TCP using the hints in the above (with bonus points) if you could follow the examples and hints without questions. If you have, you should try the below choice.
-
Or you could design a simplified TCP no fast recovery, no fast retransmission. When there is timeout, your Cwnd will always to reduced to 1 (instead of to the half size) that is, at time 14, your window size=1 instead of 6; and have exponential increasing rate of the window size between 1 and the new threshold that is, at time 15, your window size=2, at time 16, your window size=4 and at time 17, your window size=5 (since double the windows size 4 would be greater than the ssthreshold).
(b) Description After you finish your TCP design, describe how your TCP works when there are multiple clients in a one-link network. Use an example to describe. You can assume the single-line network capacity is 20 (make up your own number) and there are 2 clients (make up your own client numbers) using your TCP protocols. Draw the picture similar to the above example showing for one client in your example and show Cwnd and ssthreshold for each phase in your design.
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
