Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 6 Jan 2005 23:03:07 +0100
From:      "Heinz Knocke" <knockefreebsd@o2.pl>
To:        <freebsd-net@freebsd.org>
Subject:   What will do the TCP stack in the described scenario?
Message-ID:  <004a01c4f43c$521af510$df5561d9@ALFA>

next in thread | raw e-mail | index | archive | help
Hi!

I'm writing here because I'm solving a strange performance problem (
http://docs.freebsd.org/cgi/getmsg.cgi?fetch=3420+0+current/freebsd-net )
and wonder is this and OS or aplication side's bottleneck.

Imagine the situation (S /C - TCP sender / client respectively).

S: 0:10
C: ack 10
S: 10:20 (10)
S: 20:30 (10)
S: 30:40 (10)
S: 40:50 (10)
C: ack 30
... <server waits RTO, time passes, cwnd and speed drops>
S: 40:50 (10) - retransmission.

C doesn't send duplicate ACKs to let the S know he don't have
everything yet .. because he doesn't know that 40:50 were ever to be
sent, am I right?
Does it mean that 40:50 was the last from window / allowed by sender's
cwnd?
If he had, lets say, 30:40, 50:60 than he'd send multiple ack 30
segments and start recovery procedure, right?

Is there any way to avoid serious speed drop in this scenario? Can
disabling delayed acks / enabling SACKS on client/ server help??


I'll be very grateful for your comments as usual :))

hk




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?004a01c4f43c$521af510$df5561d9>