Date: Mon, 9 Feb 1998 13:05:47 +0100 From: Igor.Alekseev@kjeller.fou.telenor.no To: freebsd-hackers@FreeBSD.ORG Subject: TCP slow start problem Message-ID: <"1658 98/02/09 13:05*/G=Igor/S=Alekseev/OU=kjeller/O=fou/PRMD=telenor/ADMD=TELEMAX/C=no/"@MHS>
next in thread | raw e-mail | index | archive | help
Hi, FreeBSD 2.2.5 seems not to be following Slow start procedure (when connection is set up)! Could someone, please shed some light on this problem? The /sys/netinet/tcp_subr.c file contains a function tcp_newtcpcb() which initialises the control block structure. This function initialises congerstion window (CWND) tp->snd_cwnd to the maximum possible window size (evwn with window scale option). tcp_subr.c line 280: tp->snd_cwnd = TCP_MAXWIN << TCP_MAX_WINSHIFT; Should not the slow start congestion window tp->snd_cwnd be initialised to 1 MSS and be increased by one MSS per each ACK received, (until it reaches ssthresh). Please, tell me if I got the spec wrong, but this is what is specified by RFC 2001 (TCP Slow Start, Congestion Avoidance, Fast Retransmit, and Fast Recovery Algorithms). Tcpdump output from netperf runs with my FreeBSD 2.2.5 shows that the amount of segments initially injected into the network is limited only by the receiver's advertised window, regardless of whether the other host is on the same network segment or on a different subnetwork. Is this a bug or a feature? If a trnasmission timeout occures, TCP goes through slow start as it should. Thanks, Igor V. Alekseev Visiting researcher, Telenor, Norway To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?"1658 98/02/09 13:05*/G=Igor/S=Alekseev/OU=kjeller/O=fou/PRMD=telenor/ADMD=TELEMAX/C=no/">