Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Consider the start of a data transfer from a sender to a receiver using the TCP

ID: 3763623 • Letter: C

Question

Consider the start of a data transfer from a sender to a receiver using the TCP protocol using a segment size of 1 Kbyte. The receiver advertised window size is 64 Kbytes and the round-trip time is 20 msec. Suppose the TCP congestion window (cnwd) is initialized to 1 kbyte and the slow start threshold (ssthresh) is set at 64 Kbytes.

(a) If there were no packet losses, how long will it take for the window to grow to the receiver advertised window size?

(b) Suppose there is a packet loss when the window size is 32 Kbytes. How long will it take for the window to grow back to the receiver advertised window size if there were no further losses?

(c) Assume that there was another loss when the window size grew to 24 Kbytes. Compute the average throughput of the data transfer until this last packet loss.

What will the maximum throughput be if the network had infinite bandwidth?

Explanation / Answer

a)
In the slow start phase the cwnd will start from 1 (MSS) which is 1 Kbyte and double every round trip time (RTT). For window will grow to 64 Kbytes, it will take log 2 64 × RTT which is 6*20 = 120 ms
b)
We assume TCP Tahoe. This implies that ssthresh will be set to 16 Kbytes. For the window to grow to 64 Kbytes, the cwnd will rst go through a slow-start phase upto 16 Kbytes and then congestion avoidance phase.
The total time T is given by
T = log 2 16 × RTT + (64-16) × RTT (3)
= 52 × RTT
c)
>To nd the throughput we will nd out how much data was sent until the loss when the window size is 24 Kbytes and divide that by the total time.
>The total number of bytes N is the sum of number of bytes sent out per RTT and can be enumerated as follows
N = 1 + 2 + 4 + 8 + 16 + 32 + 1 + 2 + 4 + 8 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 = 278 Kbyes
This is sent over 19 × RTT . Thus, the throughput is given by
= 278 Kbytes/ 19 RTT