Slow-Start
Slow-Start (de l'anglès, arrencada lenta) és part de l'estratègia de control de congestió utilitzada per TCP, el protocol de transmissió de dades fet servir per moltes aplicacions d'Internet, com HTTP i Secure Shell. Slow-Start es fa servir juntament amb altres algorismes per a evitar enviar més dades de les que la xarxa és capaç de transmetre, és a dir, evitar la congestió de xarxa.
Algorisme
[modifica]Un algorisme de Slow-Start consisteix en dues fases diferents: la fase de creixement exponencial, i la fase de creixement lineal. Durant la fase de creixement exponencial, Slow-Start treballa incrementant la finestra de congestió TCP en un segment per cada confirmació (o ACK per l'anglès acknowledgment) rebuda. Això passa fins que una confirmació no és rebuda per a algun segment o un valor llindar predeterminat per a la finestra és assolit. Si ocorre un succés de pèrdua, TCP assumeix que és degut a la congestió de la xarxa i pren mesures per reduir la càrrega que li dona. Un cop un succés de pèrdua s'ha donat o el llindar ha estat assolit, TCP entra en la fase de creixement lineal (o “evitació de la congestió” per l'anglès congestion avoidance). En aquest punt, la finestra és incrementada en 1 segment per a cada RTT (de l'anglès Round Trip Time, o temps d'anada i tornada). Això passa fins que es dona un succés de pèrdua.
Tot i que l'estratègia és coneguda com a "Slow-Start", el seu creixement de la finestra de congestió és bastant agressiu.[1]
Slow-Start
[modifica]L'algorisme comença en la fase de creixement exponencial inicialment amb 1 o 2 segments (depenent de la variant) com a valor de la finestra de congestió (o cwnd per l'anglès congestion window), i incrementa la seva mida exponencialment (cwnd = cwnd * 2) fins que un llindar de Slow-Start predefinit és assolit. Un cop el llindar és assolit, la mida de la finestra de congestió és incrementada linealment (cwnd = cwnd + (1/cwnd)). Quan les confirmacions de segment no són rebudes, el llindar de slow-start passa a ser la meitat de la finestra de congestió, i l'algorisme es reinicia.
Fast Recovery
[modifica]Hi ha una variació de l'algorisme slow-start coneguda com a fast recovery (de l'anglès, recuperació ràpida). En l'algorisme fast recovery, quan els paquets no són rebuts (detectat mitjançant 3 ACKs duplicats), la mida de la finestra de congestió és reduïda al llindar de slow-start, en comptes de fer-ho al valor inicial (menor).
Problemes
[modifica]Slow-Start assumeix que els segments no confirmats són deguts a la congestió de la xarxa. Mentre que aquesta és una assumpció acceptable per a moltes xarxes, els segments es poden perdre per altres raons, com a la baixa qualitat de la transmissió de la capa d'enllaç de dades. Així, slow-start pot donar un baix rendiment en situacions amb recepció pobre, com en les xarxes sense fils.
Referències
[modifica]- ↑ Jacobson, Van L. Congestion avoidance and control (en anglès). SIGCOMM '88 Symposium proceedings on Communications architectures and protocols, 1988.
Enllaços externs
[modifica]- TCP Diagrama de seqüència de Slow Start Arxivat 2007-09-30 a Wayback Machine. (anglès)