



Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Solutions to problem set 6 of the communication networks (cs/ece 438) course, focusing on transport layer concepts such as demultiplexing, reliable data transfer using rdt3.0, slow start, and fairness. It also covers rtt estimation.
Typology: Assignments
1 / 7
This page cannot be seen from the preview
Don't miss anything!




(a) Show how rdt3.0 can become unreliable if the network reorders packets. In particular, show a sequence of messages, states, and network loss / delay events in a diagram similar to Figure 3. (p213) of the textbook. Refer to the diagram. The first data packet is delayed so that it arrives after a successful exchange of two data packets, at which point it is treated as new data.
reordered
(b) Notice that when the sender of rdt3.0 receives a “duplicate ACK” for the last packet, this ACK is ignored. Suppose that instead, rdt3.0 implemented a version of Fast Retransmit and resent the packet whenever it received such an ACK. I.e. it would include the following transition rule in state ”Wait for ACK0”: rdtrcv(rcvpkt) && notcorrupt(rcvpkt) && isACK(rcvpkt,1) udtsend(sendpkt), start timer
Show how with this modification, a single delayed ACK from the receiver can result in unnecessary retransmissions of subsequent packets.
Window number Window size Total Transfer 1 1460 1460 2 2920 4380 3 4380 8760 4 5840 14600 5 7300 21900 6 8760 30660 7 10220 40880 8 11680 52560 9 13140 65700 10 14600 80300 11 16060 96360 12 17520 113880 13 18980 132860 14 20440 153300 15 21900 175200 16 23360 198560 17 24820 223380 18 26280 249660 19 27740 277400 20 29200 306600 21 30660 337260 22 32120 369380 23 33580 402960 24 35040 438000 25 36500 474500 26 37960 512460 The transfer time is 26 windows, or 2.6s. The total throughput is 500KB / 2.6s = 192 KBps = 1.6 Mbps.
Suppose there are two connections, A and B, sharing a 10 Kbit link. Let us simplify the TCP congestion control protocol to include the following assumptions:
(a) Suppose A’s window is currently 9000 bits and B’s window is 1000 bits, and both their RTTs are 1s. Show how the window sizes change after 20s
Time A’s window B’s window 0 9000 1000 1 10000 2000 2 5000 1000 3 6000 2000 4 7000 3000 5 8000 4000 6 4000 2000 7 5000 3000 8 6000 4000 9 7000 5000 10 4000 3000 11 5000 4000 12 6000 5000 13 3000 3000 14 4000 4000 15 5000 5000 16 6000 6000 17 3000 3000 18 4000 4000 19 5000 5000 20 6000 6000
(b) Suppose A and B both have a window of 1000 bits, A has RTT of 1s and B has RTT of 2s. Show how the window sizes change after 20s. (Assume that whenever the aggregate bandwidth exceeds 10 Kbit, the next window of each of the connection will be cut in half.) Note that now the bandwidth used by both connections is A’s window + (B’s window / 2) per second.
with β = 0.25. What will the timeout value be after N measurements of 200ms, using the value of N from the previous question? (Assume that DeviationEstimate is 0 before the RTT drops to 200ms.)
Timeout = 534ms