tech-net archive

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

Re: RFC 6926



In article 
<CAOp4FwTfHY4r07rwzdFWJW+EJN8cXBCeZsQqsdxSVmBzPonAow%mail.gmail.com@localhost>,
Loganaden Velvindron  <loganaden%gmail.com@localhost> wrote:
>On Fri, Nov 15, 2013 at 5:16 PM, Matthias Scheler 
><tron%zhadum.org.uk@localhost> wrote:
>> On Fri, Nov 15, 2013 at 07:21:08AM -0500, Greg Troxel wrote:
>>> >> it seems that NetBSD's TCP implementation still follows RFC 3390
>>> >> and uses 4 as the initial TCP congestion window size.
>>> >>
>>> >> RFC 6928 increased the the initial size to 10. Is there any reason
>>> >> not to change NetBSD's default accordingly?
>>> >
>>> > That's EXPERIMENTAL, not PROPOSED STANDARD.  What do the standards
>>> > track congestion control documents say about actually doing it (vs an
>>> > experimental RFC)?
>>>
>>> Also, what do other BSDs and Solaris do?
>>
>> I don't know. But Linux uses 10 in kernel 3.2 and newer. And Google
>> and a lot of other web companies heavily advertise this feature e.g.
>> during the Velocity 2013 in Londing.
>>
>

You can compile a custom kernel:

tcp_subr.c:#ifndef TCP_INIT_WIN
tcp_subr.c:#define      TCP_INIT_WIN    4       /* initial slow start window */
tcp_subr.c:#ifndef TCP_INIT_WIN_LOCAL
tcp_subr.c:#define      TCP_INIT_WIN_LOCAL 4    /* initial slow start window 
for local nets */

Or use sysctl to tune it dynamically:

$ sysctl -a | grep init_win
net.inet.tcp.init_win = 4
net.inet.tcp.init_win_local = 4
net.inet6.tcp6.init_win = 4
net.inet6.tcp6.init_win_local = 4

We ship by default with 4 because this is what the current recommendation is
(still). The local variations affect only connections with destinations on
the local subnet.

christos



Home | Main Index | Thread Index | Old Index