Re: TCP Retransmission timers ?

Neil Spring <nspring@cs.washington.edu> Wed, 18 September 2002 19:14 UTC

Date: Wed, 18 Sep 2002 12:14:41 -0700
From: Neil Spring <nspring@cs.washington.edu>
To: sebastiano elia <sebastiano.elia@unile.it>
Cc: tcp-impl@grc.nasa.gov
Subject: Re: TCP Retransmission timers ?
Message-ID: <20020918191434.GB28234@cs.washington.edu>
References: <200209181854.23359.sebastiano.elia@unile.it>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <200209181854.23359.sebastiano.elia@unile.it>
User-Agent: Mutt/1.3.28i
Sender: owner-tcp-impl@grc.nasa.gov
Precedence: bulk
Status: RO
Content-Length: 779
Lines: 22

Hello,

On Wed, Sep 18, 2002 at 06:54:23PM +0200, sebastiano elia wrote:
> please, can someone tell me what kind of retransmit policy is used,
> in current
> implementations of TCP ?
> a)"First only"  with only one retrasmission timer for entire queue;
> b)"Batch" with only one retrasmission timer for entire queue;
> c)"Individual" with one timer for each segment in queue.

> Which of these is the standard ?

It seems to me that only one of these three makes sense,
given that basic TCP uses cumulative acknowledgements and
you'd like to avoid unnecessary retransmissions during times
of congestion (causes loss causes timeout).

see: http://lxr.linux.no/source/net/ipv4/tcp_timer.c#L316
hint: also look at the definition of tcp_retransmit_skb,
as called on line 377.

-neil