Re: TCP, congestion window & retransmission

David S. Miller (davem@dm.cobaltmicro.com)
Wed, 11 Nov 1998 16:42:23 -0800


Date: Wed, 11 Nov 1998 17:31:37 +0100 (CET)
From: Andrea Arcangeli <andrea@e-mind.com>

According to the RFC2001 in case of duplicate acks or timeout TCP
has to do slow-start until TCP has not the congestion window open
to the value of sstresh (set to max(cwnd/2,1) before -> at timeout
time). When the congestion window is >= sstrash, TCP must go in
congestion avoidance incrementing cwnd of segsize*segsize/cwnd and
at most incrementing of 1 unit every RTT (this way cwnd increase
liner and not exponential).

rfc2001.bis draft clarifies the issue here, and states that our
current behavior is in spec. The idea is that if you don't increase
the congestion windows at all during timeout based retransmissions,
this is being concervative and is OK. A copy of this draft is
available from:

ftp://ftp.ietf.org/internet-drafts/draft-ietf-tcpimpl-cong-control-01.txt

In any event, it's bad for performance not to do the congestion window
increases, so I've made the "fix" in tcp_input.c which I'll send to
Linus shortly.

Later,
David S. Miller
davem@dm.cobaltmicro.com

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/