From owner-freebsd-net Tue Apr 17 23:34:54 2001 Delivered-To: freebsd-net@freebsd.org Received: from info.iet.unipi.it (info.iet.unipi.it [131.114.9.184]) by hub.freebsd.org (Postfix) with ESMTP id C9D2537B424 for ; Tue, 17 Apr 2001 23:34:49 -0700 (PDT) (envelope-from luigi@info.iet.unipi.it) Received: (from luigi@localhost) by info.iet.unipi.it (8.9.3/8.9.3) id IAA41452; Wed, 18 Apr 2001 08:33:18 +0200 (CEST) (envelope-from luigi) From: Luigi Rizzo Message-Id: <200104180633.IAA41452@info.iet.unipi.it> Subject: Re: initial congestion window In-Reply-To: from Andrei Gurtov at "Apr 17, 2001 06:04:38 pm" To: Andrei Gurtov Date: Wed, 18 Apr 2001 08:33:18 +0200 (CEST) Cc: freebsd-net@FreeBSD.ORG, Reiner.Ludwig@Ericsson.com X-Mailer: ELM [version 2.4ME+ PL61 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Hi, yes, FreeBSD is blasting the full socket buffer onto the net when the destination is "local". I think it was introduced when the T/TCP changes were committed, it kind-of makes sense with T/TCP, but other than that it is a very bad idea to have it on by default. For one, in many nets including a 100/10 switch, or slow receivers, it tends to cause an immediate loss on the first window of data because of the overload at the switch or the receiver. cheers luigi > > Hi folks, > > At the last IETF meeting there were some debates around FreeBSD using a > 16-KB initial congestion window in TCP when destination IP address is from > the local subnet. Does anybody remember when it was introduced into the > code and what kind of ideas were behind? > > Some reasons were given why it may not be a good idea: > > -the benefit of not having slow start on LANs is very small, i.e. some > milliseconds > > -it is not a conformant TCP feature, i.e. not allowed by TCP Congestion > Control (RFC2581) and is explicitly given in Known TCP Implementation > Problems (RFC2525) "2.1 No initial slow start" and "2.3 Uninitialized > CWND" > > -people may have the same subnet mask also over a slow PPP link. In this > case the effect of the huge initial window is quite bad, see for example > http://www.cs.Helsinki.FI/u/gurtov/papers/effect_of_delays_on_tcp_performance.pdf > > -in case of congestion on Ethernet, packets queues build up at the > network interfaces in hosts and agressive TCP start-up behaviour can > further increase congestion losses > > What are your thoughts on this? > > Andrei > > tcp_output.c: > > int ss_fltsz = 1; > SYSCTL_INT(_net_inet_tcp, OID_AUTO, slowstart_flightsize, CTLFLAG_RW, > &ss_fltsz, 1, "Slow start flight size"); > > int ss_fltsz_local = TCP_MAXWIN; /* something large */ > SYSCTL_INT(_net_inet_tcp, OID_AUTO, local_slowstart_flightsize, > CTLFLAG_RW, > &ss_fltsz_local, 1, "Slow start flight size for local networks"); > > [...] > if ( > in_localaddr(tp->t_inpcb->inp_faddr) > ) > tp->snd_cwnd = tp->t_maxseg * ss_fltsz_local; > else > tp->snd_cwnd = tp->t_maxseg * ss_fltsz; > > > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-net" in the body of the message > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message