Subject: Re: tcp window update frequency
To: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
From: Bill Studenmund <wrstuden@netbsd.org>
List: tech-net
Date: 08/05/2005 15:26:25
--ZGiS0Q5IWpPtfppv
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sun, Jul 31, 2005 at 10:35:19PM +0900, YAMAMOTO Takashi wrote:
> hi,
>=20
> when doing unidirectional tcp bulk transfer,
> i observed more than 2 acks per 3 segments.
> it was more than i expected (1 ack per 2 segment).
>=20
> it seems that additional acks are for window updates.
> tcp_output sends a window update whenever it opens the window
> by more than 2 segments.
>=20
> a question is: what's a rationale of this?
> it looks too frequent to me, given that
> "an ack for at least every second segment" is
> already achieved by TCP_SETUP_ACK.

I'm not sure. I however would LOVE it if we or someone could answer this=20
question. I am interested in near-unidirectional bulk transfers, and am=20
very puzzled by the amount of ACKs we send.

I think we send an ack each time userland reads something, in the hopes of=
=20
keeping the window as open as possible. That's kinda good. However it'd be=
=20
nice to meter them somehow.

The problem is that to delay sending them means we need some sort of=20
timeout.

Take care,

Bill

--ZGiS0Q5IWpPtfppv
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (NetBSD)

iD8DBQFC8+eRWz+3JHUci9cRAoeoAJwI+DneL5Gow7gv7uDAX5qrXxdepwCfYGPg
KKqUKdQ1deq0Vvirm60FrHo=
=wMHR
-----END PGP SIGNATURE-----

--ZGiS0Q5IWpPtfppv--