tech-net archive

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

Re: Increase tcp initial window



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)))



Home | Main Index | Thread Index | Old Index