Question 2 [ 16 marks]
Consider two hosts A and B that communicate via a router R. The linl<"(A, R) has infinite
bandwidth: packets experience no delay on this link. The link (R, B) has finite ban.dwidth:
the packet transmission rate on the link (R,B) is 1 packet per second. However,
acknowledgements from B to Rare sent instantaneously, as are ACKs from R to A. Host A
sends data to host B over a TCP connection using slow start but with an arbitrarily large
window size. Router R has a queue size of 1 packet in addition to the packet that router R
is transmitting on the outbound link (R, B). Consider the timeline illustrated in Figure 1.
Time advances in units of 1 second. At each second the sender first processes any arriving
ACl(s and then responds to any timeouts. Assume that the timeout period Tis 2 seconds.
Figure 1 shows the items sent and received during the period T = 1, 2... 7 seconds.
Note that in Figure 1, it is assumed that when TCP encounters a timeout it reverts to stop-
and-wait as the outstanding lost packets in the existing window are re-transmitted one at
a time, and that the slow start phase will begin again only when the existing window is fully
acknowledged. Note also that once a timeout and re-transmission is pending, subsequent
timeouts of later packets are ignored until their earlier acknowledgment is received.
Answer the following questions concerning the timeline illustrated in Figure 1.
Time A receives
T
A sends
R
sends
cwnd
0
dataO (slow start)
dataO 1
1
ackO
2
ackl
3
ack2
4
ack3 (timeout data4)
datal, data2
datal 2
data3, data4 (data4 dropped) data2 3
dataS, data6 (data6 dropped) data3 4
data4
dataS 1
5
ack3 (timeout dataS, data6)
data4 1
6
ackS
data6
data6 1
7
ack6
data 7, data8 (slow start)
data7 2
Figure 1. TCPTimeline
a)
At time T = 2: why is packet data4 dropped?
2 Marks
b)
At time T = 2: why are only 2 packets data3 and data4 sent even though 2 Marks
cwnd=3?
c)
At time T = 3: why are only 2 packets data5 and data6 sent even though 2 Marks
cwnd=4?
d)
At time T = 3: why is data6 dropped?
2 Marks
e)
At time T = 4: why does a timeout occur?
2 Marks
f)
At time T = 5: why does A receive ack3 even though data5 was received 2 Marks
at Bat the previous step?
g)
At time T = 5: why do 2 timeouts occur?
2 Marks
h)
At time T = 6: why does A receive ack5 even though data4 was received 2 Marks
at Bat the previous step?
3