[1502] in linux-net channel archive

home help back first fref pref prev next nref lref last post

Re: double acks?

daemon@ATHENA.MIT.EDU (Rob Janssen reading Linux mailingl)
Thu Dec 7 20:06:09 1995

From: linux@pe1chl.ampr.org (Rob Janssen reading Linux mailinglist)
To: erb@inss1.etec.uni-karlsruhe.de
Date: Thu, 7 Dec 1995 11:42:18 +0100 (MET)
Cc: linux-net@vger.rutgers.edu
In-Reply-To: <199512062132.WAA07062@insl2.etec.uni-karlsruhe.de> from "Olaf Erb" at Dec 6, 95 10:32:25 pm
Reply-To: linux-vger@wab-tis.rabobank.nl

According to Olaf Erb:
> I'm wondering if anyone hasn't noticed that Linux always sends double
> acks on tcp sessions. Just a little example:
> 
> 44.130.41.11.1186 > 44.130.29.32.79: P 1:3(2) ack 1 win 432
>         Data (2): ^M^J (DF)
> 44.130.29.32.79 > 44.130.41.11.1186: . ack 3 win 1024
> 44.130.29.32.79 > 44.130.41.11.1186: . ack 3 win 1024
> 
> This is on a very slow radio link. The same happens on slip, and
> on other slow links (100ms rtt is enough to get 2 acks).
> (tested on 1.2.13, 1.3.45).
> 
> On slow links every packet is important, so maybe someone already has a
> solution? Or is it a bug in my config, since nobody mentioned it here or
> in the newsgroups?

Yes it has been noticed before.
Linux sends one ack immediately, and another when the receiving
process reads the data.  Normally you will see a larger "win" value
on the second ACK.  Strange...  I don't see this in your example.  But
maybe that was just a reconstruction from memory, and not an actual
trace.

Anyway, there was a patch posted on the linux-net list a few weeks ago, which
sends the second ACK only when the first one had sent a very small window.
This is the same as the KA9Q code does.  (it only sends the second ACK
when the first one had sent window 0)

Rob

-- 
+------------------------------------+--------------------------------------+
| Rob Janssen         rob@knoware.nl | BBS: +31-302870036 (2300-0730 local) |
| AMPRnet:       rob@pe1chl.ampr.org | AX.25 BBS: PE1CHL@PI8WNO.#UTR.NLD.EU |
+------------------------------------+--------------------------------------+

home help back first fref pref prev next nref lref last post