tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Increase tcp initial window



On Sat, Mar 30, 2013 at 07:28:53AM -0400, John Hawkinson wrote:
> Loganaden Velvindron <loganaden%wolfman.devio.us@localhost> wrote on Sat, 30 
> Mar 2013
> at 01:44:00 -0400 in <20130330054400.GA26793%wolfman.devio.us@localhost>:
> 
> > It seems to be getting a lot of revisions. Other BSDs have also
> > implemented it.
> 
> Loganaden, Greg's criticism is of making the parameter entirely tunable.
> In a fashion that would allow an ignorant user to set an initial
> window of not just 10, but also 20, 40, 50, 100.
> 
> Are you saying that other BSDs permit that?

None of them allows use to set it to an arbitary value.

OpenBSD implements the draft and sets it as a default:
http://www.freshbsd.org/commit/openbsd/fbe66f35aec02197673ca6889e55bc629e198fdd

FreeBSD implements it as a sysctl:
http://www.freshbsd.org/commit/freebsd/r242266/diff.txt

dflybsd:
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/bf522a910724004644c81f18dd228361fdb88b74

Linux has implemented it since 3.0.

What I propose is that we add it as a sysctl, similar to how OpenBSD does.
rfc_3390 = 1 (default behaviour)
rfc_3390 = 2 (draft-ietf-tcpm-initcwnd)

OR create a new sysctl
initcwnd10 = 0 (default behaviour)
initcwdnd1 = 1 (draft-ietf-tcpm-initcwnd)

We also amend the man pages to explain to end-users the risks involved
by pointing them to:
http://tools.ietf.org/html/draft-gettys-iw10-considered-harmful-00


> 
> > > [1] Yes, I get it that users can rebuild their kernels to do arbitrary
> > > things.  Partly this is about not helping people without adequate
> > > technical skill to violate internet norms, and partly it's about setting
> > > expectations.
> > Maybe we should try to do the some empirical measurements to see if it has
> > too many side effects.
> 
> The problem is what happens when large numbers of people in the
> Internet do this. This is why the research community has been very
> careful to propose changes to this parameter quite slowly.
> 
> > What about putting this as a sysctl and document it properly as christos and
> > matt suggested ?
> 
> That misses Greg's point -- that allowing users this flexibility is
> not generally regarded as safe, and is indeed quite scary.
> 
> We could allow tunability within some restricted range, as a
> compromise, but even that, I think is unwise. Those with the requisite
> skill to understand this parameter in the context of its effect on the
> broader Internet also have the requisite skill to rebuild their kernels
> (or patch them live!).
> 
> --jhawk%mit.edu@localhost
>   John Hawkinson


Home | Main Index | Thread Index | Old Index