Sunday, November 29, 2015

Homework


On a TCP connection that has just starter, where initial Threshold value is 32000bytes and MSS=1000 bytes:
  1. What is the Congestion Window value after 16 RTT if we assume there is an endless data supply from the application layer, sender's window is unlimitted and flow control is allowing any possible segment transmission.
  2. Same as 1 but where first segment of 8th RTT is lost.
  3. Same as 1 but there is a time out event of the first segment of 10th RTT.
Exercises are due by December 11th lecture.

Note on Fast Recovery: Due to some of your questions let me clarify the scope of the exercise. Fast Recovery was not mentioned in the lectures trying to make things simpler, as Fast Recovery is an optional part of congestion control. For the sake of simplicity we can do without it, but if you want to provide a more accurate response, here you have the explanation about it (borrowed from RFC 2581).

 The fast retransmit and fast recovery algorithms are usually
   implemented together as follows.

   1.  When the third duplicate ACK is received, set ssthresh to no more
       than the value given in equation 3.

       ssthresh = max (FlightSize / 2, 2*SMSS)            (3)
   2.  Retransmit the lost segment and set cwnd to ssthresh plus 3*SMSS.
       This artificially "inflates" the congestion window by the number
       of segments (three) that have left the network and which the
       receiver has buffered.

   3.  For each additional duplicate ACK received, increment cwnd by
       SMSS.  This artificially inflates the congestion window in order
       to reflect the additional segment that has left the network.

   4.  Transmit a segment, if allowed by the new value of cwnd and the
       receiver's advertised window.

   5.  When the next ACK arrives that acknowledges new data, set cwnd to
       ssthresh (the value set in step 1).  This is termed "deflating"
       the window.

       This ACK should be the acknowledgment elicited by the
       retransmission from step 1, one RTT after the retransmission
       (though it may arrive sooner in the presence of significant out-
       of-order delivery of data segments at the receiver).
       Additionally, this ACK should acknowledge all the intermediate
       segments sent between the lost segment and the receipt of the
       third duplicate ACK, if none of these were lost.

Please note the use of FlightSize/2 and and not cwnd/2 after a loss event. The purpose of it all is to consider only the effectively used part of the congestion window instead of its total size. FlightSize represents the amount of data already transmitted but pending of acknowledgment. 

Friday, November 13, 2015

Thursday, November 12, 2015

Tuesday, November 3, 2015

Next lecture: Principles of reliable data transfer

Next Friday, November 6th Reliable Data Transfer [section 3.4] from the book will be presented. Additionally, a short written test on Chapter 2 (Application Layer) will be conducted during the class too.