Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Apr 2001 12:11:25 +0300 (EET DST)
From:      Andrei Gurtov <gurtov@cs.Helsinki.FI>
To:        Jonathan Lemon <jlemon@flugsvamp.com>
Cc:        <net@freebsd.org>, <Reiner.Ludwig@ericsson.com>
Subject:   Re: initial congestion window
Message-ID:  <Pine.LNX.4.30.0104191203470.5636-100000@saviletto.cs.Helsinki.FI>
In-Reply-To: <200104181443.f3IEh9X09002@prism.flugsvamp.com>

next in thread | previous in thread | raw e-mail | index | archive | help

I think the default initial window of two segments both for local and
non-local connections is the best option now. Larger initial windows of
three and four segments are still in experimental stage and should not be
widely deployed yet (although it is nice to play with them in different
environments to see what effect does it have).

Andrei

On Wed, 18 Apr 2001, Jonathan Lemon wrote:

> Actually, you could argue that both should be changed to
> 2-3 segments, see http://www.aciri.org/floyd/tcp_init_win.html
> --
> Jonathan
>
> In article <local.mail.freebsd-net/Pine.LNX.4.30.0104181348350.9048-100000@melkki.cs.Helsinki.FI> you write:
> >
> >If there are no strong opinions supporting this feature, should we then
> >ask the developers to set the default inital window to two segments when
> >talking to local IPs? It would help to keep the image of FreeBSD as a
> >'conformant system' with regard to TCP specs.
> >
> >rgds,
> >Andrei
> >
> >On Wed, 18 Apr 2001, Luigi Rizzo wrote:
> >
> >> 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
> >> >
> >>
> >
> >Andrei
> >
> >
> >To Unsubscribe: send mail to majordomo@FreeBSD.org
> >with "unsubscribe freebsd-net" in the body of the message
> >
>
>

Andrei


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.LNX.4.30.0104191203470.5636-100000>