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