📜 ⬆️ ⬇️

TCP Models

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.htm

And 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.

Source: https://habr.com/ru/post/161499/


All Articles