incubator-nuttx/net/tcp
chao.an c2b0006dcd net/tcp: implement the fast retransmit
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 <anchao@xiaomi.com>
2020-12-01 11:36:10 -06:00
..
Kconfig net/tcp: implement the fast retransmit 2020-12-01 11:36:10 -06:00
Make.defs
tcp.h net/tcp: implement the fast retransmit 2020-12-01 11:36:10 -06:00
tcp_accept.c
tcp_appsend.c
tcp_backlog.c
tcp_callback.c net/tcp: fix nxstyle warnings 2020-11-28 00:03:47 -06:00
tcp_close.c
tcp_conn.c
tcp_connect.c
tcp_devpoll.c
tcp_finddev.c
tcp_getsockopt.c
tcp_input.c
tcp_ipselect.c
tcp_listen.c
tcp_monitor.c
tcp_netpoll.c
tcp_notifier.c
tcp_recvfrom.c
tcp_recvwindow.c net/tcp: correct the available iobs count if throttle is enabled 2020-11-28 23:24:44 -06:00
tcp_send.c net/tcp: fallback to unthrottle pool to avoid deadlock 2020-11-28 00:03:47 -06:00
tcp_send_buffered.c net/tcp: implement the fast retransmit 2020-12-01 11:36:10 -06:00
tcp_send_unbuffered.c
tcp_sendfile.c
tcp_seqno.c
tcp_setsockopt.c
tcp_timer.c
tcp_txdrain.c
tcp_wrbuffer.c net/tcp: implement the fast retransmit 2020-12-01 11:36:10 -06:00
tcp_wrbuffer_dump.c