anchao opened a new pull request #2414:
URL: https://github.com/apache/incubator-nuttx/pull/2414


   
   ## Summary
   
   net/tcp: implement the fast retransmit
   
   https://tools.ietf.org/html/rfc2001#section-3
   
   ```
   RFC2001: TCP Slow Start, Congestion Avoidance, Fast Retransmit,
            and Fast Recovery Algorithms
   
   ...
   
   3.  Fast Retransmit
     Modifications to the congestion avoidance algorithm were proposed in
     1990 [3].  Before describing the change, realize that TCP may
     generate an immediate acknowledgment (a duplicate ACK) when an out-
     of-order segment is received (Section 4.2.2.21 of [1], with a note
     that one reason for doing so was for the experimental fast-
     retransmit algorithm).  This duplicate ACK should not be delayed.
     The purpose of this duplicate ACK is to let the other end know that a
     segment was received out of order, and to tell it what sequence
     number is expected.
   
     Since TCP does not know whether a duplicate ACK is caused by a lost
     segment or just a reordering of segments, it waits for a small number
     of duplicate ACKs to be received.  It is assumed that if there is
     just a reordering of the segments, there will be only one or two
     duplicate ACKs before the reordered segment is processed, which will
     then generate a new ACK.  If three or more duplicate ACKs are
     received in a row, it is a strong indication that a segment has been
     lost.  TCP then performs a retransmission of what appears to be the
     missing segment, without waiting for a retransmission timer to
     expire.
   
   ```
   Change-Id: Ie2cbcecab507c3d831f74390a6a85e0c5c8e0652
   Signed-off-by: chao.an <anc...@xiaomi.com>
   
   
   ## Impact
   
   TCP retransmit
   
   ## Testing
   
   iperf test


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to