SummaryWhen dealing with TCP Window Sizes on network devices, it is not necessary to change settings on the Exinda.
OverviewTCP Window Sizes are an integral part of the TCP protocol. The window size of a TCP packet indicates how much data will be sent with it. In typical scenarios, a window size is dynamic, defined by a "sliding window" algorithm, in order to more efficiently use bandwidth and processing ability. With the sliding window algorithm, if the client (the host receiving data) can process more data than it is being sent, it will request to increase the window. If the window size is too large, that is the information coming cannot be processed or is being dropped, the window size is decreased. That way, the host gets the information at a speed it can handle without wasting time by providing idle processing power.
Many networking devices can change the TCP default window size. This is typically seen on layer 3 devices such as routers and L3 switches, as TCP has a strong correlation with IP. This will change the starting size of the window to be greater than 64KB to avoid needing to scale up from base values.
On the Exinda, this value cannot be changed for general shaping. If TCP acceleration is enabled on the device, it is possible to increase the 'scaling factor' - that is, how much the window changes when it is increased or decreased - as the Exinda will terminate TCP connections and reestablish them in order to get the file for acceleration purposes. This can be done through the Configuration > System > Optimization, under the "TCP Acceleration" tab. There is a TCP Window Scaling option which will show various amounts in megabytes to increase the window size when the requests come through.
In situations where acceleration is not applied, the Exinda will not modify anything regarding TCP settings, and behaviour. The Exinda will simply reallocate the bandwidth. As a result, items like the TCP Window Size and the Window Scaling Factor are not touched; traffic issues in these cases, if the Exinda is not accelerating traffic, point to other network devices or the client-server negotiations.
The equation to calculate the ideal window size (and whether or not the window size / scaling factor on the Exinda is large enough) is the following:
Bandwidth (bps) * latency (s) / 8
This will yield a result in Bytes, which is the ideal window size. Any value greater than this is an acceptable limit for window size. This is also known as the 'Bandwidth Delay Product', a common calculation in network design and architecture.