# TCP-Illinois

TCP-Illinois és una variant del protocol de control de congestió TCP, desenvolupat a la Universitat d'Illinois a Urbana–Champaign. Està especialment adreçat a xarxes d'alta velocitat i llarga distància. Una modificació del remitent a l'algorisme de control de congestió TCP estàndard, aconsegueix un rendiment mitjà més alt que el TCP estàndard, assigna el recurs de xarxa de manera justa com el TCP estàndard, és compatible amb el TCP estàndard i proporciona incentius als usuaris de TCP per canviar.

## Principis de funcionament

TCP-Illinois és un algorisme basat en la pèrdua de retard, que utilitza la pèrdua de paquets com a senyal de congestió principal per determinar la direcció del canvi de mida de la finestra i utilitza el retard de la cua com a senyal de congestió secundari per ajustar el ritme del canvi de mida de la finestra. De manera similar al TCP estàndard, TCP-Illinois augmenta la mida de la finestra W en $\alpha /W$ per cada reconeixement, i disminueix $W$ per $\beta W$ per a cada esdeveniment de pèrdua. A diferència del TCP estàndard, $\alpha$ i $\beta$ no són constants. En canvi, són funcions de retard mitjà de cua $d_{a}$ : $\alpha =f_{1}(d_{a}),\beta =f_{2}(d_{a})$, on $f_{1}(\cdot )$ està disminuint i $f_{2}(\cdot )$ està augmentant.
Hi ha nombroses opcions de $f_{1}(\cdot )$ i $f_{2}(\cdot )$. Una d'aquestes classes és:
$\alpha =f_{1}(d_{a})=\left\{{\begin{array}{ll}\alpha _{max}&{\mbox{si }}d_{a}\leq d_{1}\\{\frac {\kappa _{1}}{\kappa _{2}+d_{a}}}&{\mbox{altrament.}}\end{array}}\right.$
$\beta =f_{2}(d_{a})=\left\{{\begin{array}{ll}\beta _{min}&{\mbox{si }}d_{a}\leq d_{2}\\\kappa _{3}+\kappa _{4}d_{a}&{\mbox{si }}d_{2}<d_{a}<d_{3}\\\beta _{max}&{\mbox{altrament.}}\end{array}}\right.$
Ho deixem $f_{1}(\cdot )$ i $f_{2}(\cdot )$ ser funcions contínues i, per tant, ${\frac {\kappa _{1}}{\kappa _{2}+d_{1}}}=\alpha _{max}$, $\beta _{min}=\kappa _{3}+\kappa _{4}d_{2}$ i $\beta _{max}=\kappa _{3}+\kappa _{4}d_{3}$. Suposem $d_{m}$ és el retard mitjà màxim de cua i denotem $\alpha _{min}=f_{1}(d_{m})$, llavors també tenim ${\frac {\kappa _{1}}{\kappa _{2}+d_{m}}}=\alpha _{min}$. D'aquestes condicions, tenim
${\begin{array}{lcl}\kappa _{1}={\frac {(d_{m}-d_{1})\alpha _{min}\alpha _{max}}{\alpha _{max}-\alpha _{min}}}&{\mbox{ i }}&\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{i}}&\kappa _{4}={\frac {\beta _{max}-\beta _{min}}{d_{3}-d_{2}}}\,.\end{array}}$.

## Propietats i rendiment

TCP-Illinois augmenta el rendiment molt més ràpidament que el TCP quan la congestió és llunyana i augmenta el rendiment molt lentament quan la congestió és imminent. Com a resultat, la corba de la finestra és còncava i el rendiment mitjà aconseguit és molt més gran que el TCP estàndard.
També té moltes altres característiques desitjables, com l'equitat, la compatibilitat amb el TCP estàndard, proporcionant incentius als usuaris de TCP per canviar, robust contra la mesura de retard inexacte.

## Referències

* ↑ Liu, Shao; Başar, Tamer; Srikant, R. «TCP-Illinois: A loss- and delay-based congestion control algorithm for high-speed networks». Performance Evaluation, 65, 6, 01-06-2008, pàg. 417–440. DOI: 10.1016/j.peva.2007.12.007. ISSN: 0166-5316.
* ↑ «[https://people.computing.clemson.edu/~jmarty/projects/lowLatencyNetworking/papers/TransportProtocols/LowLatencyTCP-MPTCP/TCP/TCPIllinois.pdf TCP-Illinois: A loss- and delay-based congestion control algorithm for high-speed networks]» (en anglès). [Consulta: 22 novembre 2023].
* ↑ Liu, Shao; Başar, Tamer; Srikant, R. «TCP-Illinois: a loss and delay-based congestion control algorithm for high-speed networks». ACM DIgital Library. Association for Computing Machinery [New York, NY, USA], 11-10-2006, pàg. 55–es. DOI: 10.1145/1190095.1190166.
* ↑ Liu, Shao; Başar, Tamer; Srikant, R. «TCP-Illinois: VALUETOOLS: 1st International Conference on Performance Evaluation Methodologies and Tools». Proceedings of VALUETOOLS, 2006. DOI: 10.1145/1190095.1190166.