Control de congestió TCP

Il·lustració de la congestió de TCP basada en aquesta imatge. El tipus de lletra és Ubuntu Condensed

El protocol de control de transmissió (TCP) utilitza un algorisme de control de congestió que inclou diversos aspectes d'un esquema d'augment additiu/disminució multiplicativa (AIMD), juntament amb altres esquemes, com ara l'inici lent i la finestra de congestió (CWND), per aconseguir evitar la congestió. L'algoritme TCP per evitar la congestió és la base principal per al control de la congestió a Internet.[1] Segons el principi d'extrem a extrem, el control de la congestió és en gran manera una funció dels amfitrions d'Internet, no de la xarxa en si. Hi ha diverses variacions i versions de l'algorisme implementades en les piles de protocols dels sistemes operatius d'ordinadors que es connecten a Internet.

Algoritmes de congestió TCP de Linux

Per evitar el col·lapse congestiu, TCP utilitza una estratègia de control de congestió multifacètica. Per a cada connexió, TCP manté un CWND, limitant el nombre total de paquets no reconeguts que poden estar en trànsit d'extrem a extrem. Això és una mica anàleg a la finestra lliscant de TCP utilitzada per al control de flux.

Augment additiu/disminució multiplicativa

[modifica]

L'algorisme d'augment additiu/disminució multiplicativa (AIMD) és un algorisme de control de bucle tancat. AIMD combina el creixement lineal de la finestra de congestió amb una reducció exponencial quan es produeix una congestió. Múltiples fluxos que utilitzen el control de congestió AIMD eventualment convergiran per utilitzar quantitats iguals d'un enllaç disputat.

Aquest és l'algorisme que es descriu a per a l'estat "evitació de congestió".

Finestra de congestió

[modifica]

A TCP, la finestra de congestió (CWND) és un dels factors que determina el nombre de bytes que es poden enviar en qualsevol moment. La finestra de congestió la manté l'emissor i és un mitjà per evitar que un enllaç entre l'emissor i el receptor es sobrecarregui amb massa trànsit. Això no s'ha de confondre amb la finestra lliscant que manté l'emissor que existeix per evitar que el receptor es sobrecarregui. La finestra de congestió es calcula estimant quanta congestió hi ha a l'enllaç.

Quan es configura una connexió, la finestra de congestió, un valor que es manté independentment a cada host, s'estableix en un petit múltiple de la mida màxima del segment (MSS) permesa en aquesta connexió. Una variació addicional en la finestra de congestió està dictada per un enfocament d'augment additiu/disminució multiplicativa (AIMD). Això vol dir que si es reben tots els segments i els reconeixements arriben al remitent a temps, s'afegeix alguna constant a la mida de la finestra. Seguirà diferents algorismes.


Un administrador del sistema pot ajustar el límit màxim de mida de la finestra o ajustar la constant afegida durant l'augment additiu, com a part de l'ajust de TCP.

El flux de dades a través d'una connexió TCP també es controla mitjançant l'ús de la finestra de recepció anunciada pel receptor. Un remitent pot enviar dades menys que la seva pròpia finestra de congestió i la finestra de recepció.

Inici lent

[modifica]

Inici lent, definit per Inici lent, definit per RFC 5681,[2] forma part de l'estratègia de control de congestió que utilitza TCP juntament amb altres algorismes per evitar l'enviament de més dades de les que la xarxa és capaç de reenviar, és a dir, per evitar provocar congestió de la xarxa,[3] forma part de l'estratègia de control de congestió que utilitza TCP juntament amb altres algorismes per evitar l'enviament de més dades de les que la xarxa és capaç de reenviar, és a dir, per evitar provocar congestió de la xarxa.

Retransmissió ràpida

[modifica]

La retransmissió ràpida és una millora de TCP que redueix el temps que un remitent espera abans de retransmetre un segment perdut. Un remitent TCP normalment utilitza un temporitzador simple per reconèixer els segments perduts. Si no es rep un reconeixement per a un segment concret dins d'un temps especificat (en funció del temps de retard d'anada i tornada estimat), l'emissor assumirà que el segment s'ha perdut a la xarxa i retransmetrà el segment.

Algorismes

[modifica]

La convenció de nomenclatura per als algorismes de control de congestió (CCA) pot haver-se originat en un article de 1996 de Kevin Fall i Sally Floyd.

La següent és una classificació possible segons les propietats següents:

  1. el tipus i la quantitat de comentaris rebuts de la xarxa.
  2. desplegabilitat incremental a Internet actual.
  3. l'aspecte de rendiment que pretén millorar: xarxes de productes amb gran ample de banda amb retard (B); enllaços amb pèrdua (L); equitat (F); avantatge als cabals curts (S); enllaços de taxa variable (V); velocitat de convergència (C)
  4. el criteri d'equitat que utilitza.

Alguns mecanismes d'evitació de congestió coneguts es classifiquen per aquest esquema de la següent manera:

Variant Feedback Canvis necessaris Beneficis Imparcialitat
(Nou) Reno Pèrdua Retard
Vegas Retard Remitent Menys pèrdues Proporcional
Alta velocitat Pèrdua Remitent Gran amplada de banda
BIC Pèrdua Remitent Gran amplada de banda
CÚBIC Pèrdua Remitent Gran amplada de banda
C2TCP Pèrdua/Retard Remitent Latència molt baixa i amplada de banda alta
NATCP[4] Senyal multibit Remitent Rendiment gairebé òptim
Elàstic-TCP Pèrdua/Retard Remitent Gran amplada de banda / curta i llarga distància
Àgil-TCP Pèrdua Remitent Gran amplada de banda/ curta distància
H-TCP Pèrdua Remitent Gran amplada de banda
RÀPID Retard Remitent Gran amplada de banda Proporcional
TCP compost Pèrdua/Retard Remitent Gran amplada de banda Proporcional
Westwood Pèrdua/Retard Remitent Enllaços amb pèrdua
Jersey Pèrdua/Retard Remitent Enllaços amb pèrdua
BBR [5] Retard Remitent BLVC, Bufferbloat
PINÇA Senyal multibit Receptor, encaminador Enllaços de tarifa variable Màxim-mín
TFRC Pèrdua Emissor, receptor Sense retransmissió Retard mínim
XCP Senyal multibit Emissor, receptor, encaminador BLFC Màxim-mín
VCP senyal de 2 bits Emissor, receptor, encaminador BLF Proporcional
MaxNet Senyal multibit Emissor, receptor, encaminador BLFSC Màxim-mín
JetMax Senyal multibit Emissor, receptor, encaminador Gran amplada de banda Màxim-mín
VERMELL Pèrdua Encaminador Reducció de retard
ECN Senyal d'un sol bit Emissor, receptor, encaminador Pèrdua reduïda

Referències

[modifica]
  1. «TCP Congestion Avoidance Explained via a Sequence Diagram» (en anglès). eventhelix.com. Arxivat de l'original el 2010-11-22. [Consulta: 11 novembre 2023].
  2. Blanton, Ethan; Paxson, Vern; Allman, Mark "TCP Congestion Control", 9-2009.
  3. Blanton, Ethan; Paxson, Vern; Allman, Mark "TCP Congestion Control", 9-2009.
  4. Abbasloo et al., 2019.
  5. Cardwell, Neal; Cheng, Yuchung; Gunn, C. Stephen; Yeganeh, Soheil Hassas; Jacobson, Van Queue, 14, 5, 2016, pàg. 20–53. DOI: 10.1145/3012426.3022184 [Consulta: free].