tech-net archive

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

Re: Increase tcp initial window



In article <B79017F6-3A40-4E22-96CD-EF41C3865E37%3am-software.com@localhost>,
Matt Thomas  <matt%3am-software.com@localhost> wrote:
>
>On Mar 29, 2013, at 11:23 AM, Loganaden Velvindron 
><loganaden%devio.us@localhost> wrote:
>
>> 
>> From: draft-ietf-tcpm-initcwnd-08.txt
>> 
>> http://www.ietf.org/id/draft-ietf-tcpm-initcwnd-08.txt
>> 
>> This document proposes to raise the upper bound on TCP's initial
>>   window (IW) to 10 segments (maximum 14600B). It is patterned after
>>   and borrows heavily from RFC 3390 [RFC3390] and earlier work in this
>>   area. Due to lingering concerns about possible side effects to other
>>   flows sharing the same network bottleneck, some of the
>>   recommendations are conditional on additional monitoring and
>>   evaluation.
>> 
>>   The primary argument in favor of raising IW follows from the evolving
>>   scale of the Internet. Ten segments are likely to fit into queue
>>   space available at any broadband access link, even when there are a
>>   reasonable number of concurrent connections.
>> 
>> My attempt on netbsd box:
>> 
>> --- /root/src/sys/netinet/tcp_var.h  2013-03-22 21:44:12.000000000 +0000
>> +++ /usr/src/sys/netinet/tcp_var.h   2013-03-22 21:57:39.000000000 +0000
>> @@ -613,7 +613,7 @@ struct syn_cache_head {
>>  * Compute the initial window for slow start.
>>  */
>> #define      TCP_INITIAL_WINDOW(iw, segsz) \
>> -    (((iw) == 0) ? (min(4 * (segsz), max(2 * (segsz), 4380))) : \
>> +    (((iw) == 0) ? (min(10 * (segsz), max(2 * (segsz), 14600))) : \
>>       ((segsz) * (iw)))
>
>Why not make the 4 or 10 a tuneable via sysctl?
>net.inet.tcp.initseg ?
>
>       (((iw) == 0) ? (min(tcp_initset * (segsz), max(2 * (segsz), 
> tcp_initseg*1460)))

4380 == 3 * 1460 ...

So if you want to be compatible, you need to provide initseg=ninit,nmss
with 4,3:

        (((iw) == 0) ? (min(ninit * (segsz), max(2 * (segsz), nmss*1460)))

christos




Home | Main Index | Thread Index | Old Index