c2b0006dcd
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> |
||
---|---|---|
.. | ||
Kconfig | ||
Make.defs | ||
tcp_accept.c | ||
tcp_appsend.c | ||
tcp_backlog.c | ||
tcp_callback.c | ||
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 | ||
tcp_send_buffered.c | ||
tcp_send_unbuffered.c | ||
tcp_send.c | ||
tcp_sendfile.c | ||
tcp_seqno.c | ||
tcp_setsockopt.c | ||
tcp_timer.c | ||
tcp_txdrain.c | ||
tcp_wrbuffer_dump.c | ||
tcp_wrbuffer.c | ||
tcp.h |