Transport Layer Problem Set 6 Solutions: Demux, Reliable Transfer, Slow Start, Fairness, Assignments of Organizational Communication

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

Pre 2010

Uploaded on 03/16/2009

koofers-user-vhz-1
koofers-user-vhz-1 🇺🇸

10 documents

1 / 7

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
CS/ECE 438: Communication Networks Fall 2006
Problem Set 6 Solutions
Transport Layer
1. Demultiplexing
Out of the packets below, show which ones will be delivered to the same socket.
# Source IP Source Port Dest IP Dest Port Protocol
1 1.2.3.4 1234 5.6.7.8 5678 UDP
2 1.2.3.4 4321 5.6.7.8 5678 UDP
3 1.2.3.4 1234 5.6.7.8 8765 UDP
4 1.2.3.4 1234 5.6.7.8 5678 TCP
5 1.2.3.4 4321 5.6.7.8 5678 TCP
6 1.2.3.4 4321 5.6.7.8 8765 TCP
7 1.2.3.5 4321 5.6.7.8 8765 TCP
Packets 1 and 2 will be delivered to the same socket, since UDP demultiplexing is based only on desti-
nation port number. All other packets will be delivered to different sockets.
2. Reliable Data Transfer
(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.16
(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.
1
pf3
pf4
pf5

Partial preview of the text

Download Transport Layer Problem Set 6 Solutions: Demux, Reliable Transfer, Slow Start, Fairness and more Assignments Organizational Communication in PDF only on Docsity!

CS/ECE 438: Communication Networks Fall 2006

Problem Set 6 Solutions

Transport Layer

  1. Demultiplexing Out of the packets below, show which ones will be delivered to the same socket. # Source IP Source Port Dest IP Dest Port Protocol 1 1.2.3.4 1234 5.6.7.8 5678 UDP 2 1.2.3.4 4321 5.6.7.8 5678 UDP 3 1.2.3.4 1234 5.6.7.8 8765 UDP 4 1.2.3.4 1234 5.6.7.8 5678 TCP 5 1.2.3.4 4321 5.6.7.8 5678 TCP 6 1.2.3.4 4321 5.6.7.8 8765 TCP 7 1.2.3.5 4321 5.6.7.8 8765 TCP Packets 1 and 2 will be delivered to the same socket, since UDP demultiplexing is based only on desti- nation port number. All other packets will be delivered to different sockets.
  2. Reliable Data Transfer

(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.

send 0

timeout

(re)send 0

ack 0

send 1

ack 1

ack 0

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.

  1. Fairness

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:

  • 1 MSS = 1000 bits
  • the two connections increase their window sizes by 1 MSS per RTT, in lock-step, whenever their aggregate bandwidth is less than or equal to 10 Kbits
  • when the aggregate bandwidth is greater than 10 Kbits, both connections simultaneously decrease their window size to 1/2 of the previous size. The window is rounded up to the next MSS size.

(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