TCP-Illinois

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

TCP-Illinois is a variant of TCP congestion control protocol, developed at the University of Illinois at Urbana-Champaign. It is especially targeted at high-speed, long-distance networks. A sender side modification to the standard TCP congestion control algorithm, it achieves a higher average throughput than the standard TCP, allocates the network resource fairly as the standard TCP, is compatible with the standard TCP, and provides incentives for TCP users to switch.


Principles of operation

TCP-Illinois is a loss-delay based algorithm, which uses packet loss as the primary congestion signal to determine the direction of window size change, and uses queuing delay as the secondary congestion signal to adjust the pace of window size change. Similarly to the standard TCP, TCP-Illinois increases the window size W by \alpha/W for each acknowledgment, and decreases W by \beta W for each loss event. Unlike the standard TCP, \alpha and \beta are not constants. Instead, they are functions of average queuing delay d_a: \alpha=f_1(d_a), \beta=f_2(d_a), where f_1(\cdot) is decreasing and f_2(\cdot) is increasing.

There are numerous choices of f_1(\cdot) and f_2(\cdot). One such class is:


\alpha=f_1(d_a)= \left\{ \begin{array}{ll}
\alpha_{max} & \mbox{if } d_a \leq d_1 \\
\frac{\kappa_1}{\kappa_2+d_a} & \mbox{otherwise.}
\end{array} \right.


\beta=f_2(d_a)= \left\{ \begin{array}{ll}
\beta_{min} & \mbox{if } d_a \leq d_2 \\
\kappa_3+\kappa_4 d_a & \mbox{if } d_2 < d_a < d_3 \\
\beta_{max} & \mbox{otherwise.}
\end{array}\right.

We let f_1(\cdot) and f_2(\cdot) be continuous functions and thus \frac{\kappa_1}{\kappa_2+d_1} = \alpha_{max}, \beta_{min}=\kappa_3+\kappa_4 d_2 and \beta_{max}=\kappa_3+\kappa_4 d_3. Suppose d_m is the maximum average queuing delay and we denote \alpha_{min}=f_1(d_m), then we also have \frac{\kappa_1}{\kappa_2+d_m} = \alpha_{min}. From these conditions, we have


\begin{array}{lcl}
\kappa_1 = \frac{ (d_m-d_1) \alpha_{min} \alpha_{max} }{\alpha_{max}-\alpha_{min}} & \mbox{and} &
\kappa_2 = \frac{(d_m-d_1) \alpha_{min} }{\alpha_{max}-\alpha_{min}} - d_1 \,, \\
\kappa_3 = \frac{ \beta_{min} d_3- \beta_{max} d_2}{d_3-d_2} & \mbox{and} & \kappa_4 = \frac{\beta_{max}-\beta_{min}}{d_3-d_2} \,. \end{array}
This specific choice is demonstrated in Figure 1.

File:Tcpillinois1.jpg

Properties and Performance

TCP-Illinois increases the throughput much more quickly than TCP when congestion is far and increases the throughput very slowly when congestion is imminent. As a result, the window curve is concave and the average throughput achieved is much larger than the standard TCP, see Figure 2.

File:Tcpillinois2.jpg

It also has many other desirable features, like fairness, compatibility with the standard TCP, providing incentive for TCP users to switch, robust against inaccurate delay measurement.


References

  • Lua error in package.lua at line 80: module 'strict' not found.

See also

External links