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>