More recently, several times in a short period of time in conversations with colleagues, I came across a fundamental misunderstanding of the simple fact that tuning TCP parameters is
not all that can be done for optimal utilization of channels. I'm sorry, what? Any other TCP models? What for? Everything can be adjusted by playing around with Maximum Window Size, timings and so on. This is of course all great and is extremely necessary, but not everything is amenable to tuning through proc or the registry. Namely, and for example? This can be compared with the situation, as if we had a certain formula and achieved results by “twisting” certain variables and coefficients in it. But is it possible to change the formula itself?
Yes. That is why different models of TCP protocol behavior have been developed and are being developed for this.
The
TCP Vegas model, controlling the window size, also focuses on RTT, making conclusions about the channel approaching overload with increasing RTT.
')
The
Westwood TCP model, when calculating cwin and ssthresh, evaluates the data flow (RE - Rate Estimation) and the bandwidth (BE - Bandwidth Estimation). Based on these estimates, it is possible to more finely manage the window. Effective in case of high bandwith * rtt.
Model
TCP Hybla - designed for wide channels with high RTT. Maximum channel utilization can be achieved through an analytical assessment of the dynamics of the overload window.
The
CUBIC TCP model is also sharpened for long broadband networks (LFN). Uses the cubic window growth function, which in particular involves the time elapsed since the last overload event.
The
Illinois TCP model flexibly adjusts window zoom and zoom ratios during the window zoom phase to prevent overloading.
The
TCP Veno model is a mixture of TCP NewReno and TCP Vegas, trying to isolate losses that are not related to overload, so as not to include combating overload where it is not needed (relevant for WLAN).
More details and with the formulas:
book.itep.ru/4/44/tcp.htmAnd this is not a complete list of models. At the moment, the linux kernel supports more than a dozen algorithms. There is something to play besides the kernel parameters.
Shl. By the way, Microsoft has its own
Compound TCP algorithm, which is embodied in the TCP / IP stack of Vista / 7/2008. Whoever has to deal with polissers has seen that compared to XP / 2003 (even twisted), channel utilization is much better in the case of Tcp Next Generation.