Homework 3 50 points 1. Computing TCP's RTT and timeout values (10 points) Suppose that TCP's current estimated values for the round trip time (estimatedrtt) and deviation in the RTT (DevRTT) are 400 msec and 37 msec, respectively (see Section 3.5.3 for a discussion of these variables). Suppose that the next three measured values of the RTT are 210, 220, and 250 respectively. Compute TCP's new value of estimatedrtt, DevRTT, and the TCP timeout value after each of these three measured RTT values is obtained.use the values of α = 0.125 and β = 0.25. After the first RTT estimate is made: estimatedrtt = 0.875*400 + 0.125*210 = 376.25 msecs DevRTT = 0.75*37 + 0.25*(abs(210-376.25)) = 69.3125 msecs TimeoutInterval = 376.25 + 4*69.3125 = 653.5 msecs After the second RTT estimate is made: estimatedrtt = 0.875*376.25 + 0.125*220 = 356.71875 msecs DevRTT = 0.75*69.3125 + 0.25*(abs(220-356.71875)) = 86.1640625 msecs TimeoutInterval = 356.71875 + 4*86.1640625 = 701.375 msecs After the third RTT estimate is made: estimatedrtt = 0.875*356.71875 + 0.125*220 = 343.37890625 msecs DevRTT = 0.75*86.1640625 + 0.25*(abs(250-343.37890625)) = 86.1640625 msecs TimeoutInterval = 343.37890625 + 4*87.9677734375 = 695.25 msecs 2. TCP sequence and ACK numbers with segment loss (10 points) Consider the figure below in which TCP a sender and receiver communicate over a connection in which the sender-to-receiver segments may be lost. The TCP sender sends initial window of four segments at t=1,2,3,4, respectively. Suppose the initial value of the sender-to-receiver sequence number is 95 and the first four segments each contain 538 bytes. The delay between the sender and the receiver is 7 time units, and so the first segment arrives at the receiver at t=8. As shown in the figure, two of the four segment(s) are lost between the sender and the receiver.
Answer the following questions: Give the sequence numbers associated with each of the four segments sent by the sender List the sequence of acknowledgements transmitted by the TCP receiver in response to the receipt of the segments actually received. In particular, give the value in the acknowledgement field of each receiver-to-sender acknowledgement, and give a brief explanation as to why that particular acknowledgement number value is being used The sequence numbers for each of the four segments sent by the sender are: Sender-to-Receiver Time segment sent Sender-to-receiver segment sequence number field value Time segment received, and ACK segment sent Receiver-to-sender ACK field value Segment 1 1 95 8 633 (95+538) Segment 2 2 633 9 1171 (633 + 538) Segment 3 3 1171 Segment 4 4 1709 No ACK is sent, since this segment was lost No ACK is sent, since this segment was lost 3. TCP in action: slow start, congestion avoidance, and fast retransmit. (10 Points) Consider the figure below, which plots the evolution of TCP's congestion window at the beginning of each time unit (where the unit of time is equal to the RTT); see Figure 3.53 in the text. In the abstract model for this problem, TCP sends a "flight" of packets of size cwnd at the beginning of each time unit. The result of sending that flight of packets is that either (i) all packets are ACKed at the end of the time
unit, (ii) there is a timeout for the first packet, or (iii) there is a triple duplicate ACK for the first packet. In this problem, you are asked to reconstruct the sequence of events (ACKs, losses) that resulted in the evolution of TCP's cwnd shown below. + Consider the evolution of TCP's congestion window in the example above and answer the following questions. The initial value of cwnd is 1 and the initial value of ssthresh (shown as a red +) is 8. a) Give the times at which TCP is in slow start, congestion avoidance and fast recovery at the start of a time slot, when the flight of packets is sent. b) Give the times at which the first packet in the sent flight of packets is lost and indicate whether that packet loss is detected via timeout, or by triple duplicate ACKs. c) Give the times at which the value of ssthresh changes and give the new value of ssthresh. The solution is shown in the figure below. For intervals of time when TCP is in slow start, the plotted value of cwnd is shown as a green square. For intervals of time when TCP is in congestion avoidance, the plotted value of cwnd is shown as a yellow square. For intervals of time when TCP is in fast reccovery, the plotted value of cwnd is shown as an orange square. The values for ssthresh are shown following a change, as a red plus sign. A flight of packets experiencing a loss has the loss type (which determines the next value of cwnd labeled above.
4. Consider the following network router (10 points) Packets arrive at a router at 500 pps and the average time in the router is 1.5 ms a) What is the average number of packets in the router? Assuming an M/M/1 model, b) What is the probability of buffer overflow if the router had only 5 buffers? c) How many buffers are needed to keep packet loss below one packet per million? Solution Arrival rate = 500 pps Service Rate μ = 1/.0015 667 pps Utilization r = /μ = 500/ 667 =.75 a) N = T = 500 pps * 1 5* 10^-3 =.75 packets b) P(n>5) = 6 = (0.75) 6 =.178 = 17.8% c) r n < 10-6 or n <= 6/.75 = 48 or 49 buffers
5. Dijkstra's Link State Algorithm (for computing least cost paths) (10 points) Consider the 6-node network shown below, with the given link costs. Using Dijkstra's algorithm, find the least cost path from source node u to all other destinations. Show your work in tabular format. M D(u),p(u) D(v),p(v) D(w),p(w) D(x),p(x) D(y),p(y) D(z),p(z) M D(u),p(u) D(v),p(v) D(w),p(w) D(x),p(x) D(y),p(y) D(z),p(z) u - 3,u 2,u 1,u u v - 2,x 2,u - 9,x u v x - - 2,u - 9,x u v x w y - - - - 4,w 9,w u v x w y z - - - - 9,w u v x w y z - - - - - The links in the least cost routing tree from node u to all destinations are: x-to-v, u-to-w, u-to-x, w-to-y, w-to-z.