Homework 3

Due April 14, 2010

Note that homeworks should be entirely individual effort. You should not discuss them with anybody, other than the TA or the instructor. The answers should be succinct and not long-winded (say, about 1-2 paras per problem/sub-problem is usually sufficient). Examples/figures will work well, where applicable. All sources that you got substantial help from must be cited.

  1. TCP over wireless links: What is the major difference between M-TCP and Freeze-TCP? [Freeze-TCP is here. M-TCP is a part of readings.]

  2. Study the Fast Recovery algorithm in TCP Reno carefully, particularly how the congestion window is adjusted. Assume that one single packet is lost and dupacks will arrive at the sender as expected. Assume that right before the 3rd dupack, the window size is W. What will be the window size at the 4th and 5 dupack?  Suppose, now the ack due to the retransmitted packet comes back. What will be the window size?

    Can new data be sent at all before the retransmitted packet is acked? Explain.

  3. As a follow up to the previous question, it turns out that TCP Reno works well when there is a single packet loss inside a window. But with multiple losses within the same window, it is not quite as effective. Argue why? A modification TCP NewReno has been proposed to counter this and is implemented in many modern TCP stacks. Study the NewReno modification. Argue why it could be effective with multiple losses within the same window.

  4. Solve P33 from Chapter 3 of Textbook. Copied below.

In Section 3.5.4, we saw that TCP waits until it has received three duplicate ACKs before performing a fast retransmit. Why do you think the TCP designers chose not to perform a fast retransmit after the first duplicate ACK for a segment is received?

  1. Solve P49 from Chapter 3 of Textbook. Copied below.

Consider a modification to TCP’s congestion control algorithm. Instead of additive increase, we can use multiplicative increase. A TCP sender increases its window size by a small positive constant a ( 0 < a < 1) whenever receives a valid ACK. Find the functional relationship between loss rate L and maximum congestion window W. Argue that for this modified TCP, regardless TCP’s average throughput, a TCP connection always spends the same amount of time to increase its congestion window size from W/2 to W.

  1. Solve P51 from Chapter 3 of  Textbook. Copied below.

    In our discussion of TCP congestion control in Section 3.7, we implicitly assumed that the TCP sender always had data to send. Consider now the case that the TCP sender sends a large amount of data and then goes idle ( since it has no more data to send) at t1 . TCP remains idle for a relatively long period of time and then wants to send more data at t2 . What are the advantages and disadvantages of having TCP use the cwnd and ssthresh values from t1 when starting to send data at t2 ? What alternative would you recommend? Why?