Redes

Solo disponible en BuenasTareas
  • Páginas : 6 (1458 palabras )
  • Descarga(s) : 0
  • Publicado : 27 de enero de 2012
Leer documento completo
Vista previa del texto
Redes de Ordenadores

Control de congestión en TCP

Mikel Izal Azcárate (mikel.izal@unavarra.es)

En clases anteriores
‣ ‣

TCP y UDP TCP
> > >

Transporte fiable Control de flujo Manejo de conexiones

El problema de la congestión en redes Hoy ‣ Control de congestión en TCP


7 noviembre 2005

Transporte-7

2

/20

TCP: Control de congestión


Usa control decongestión extremo a extremo
> >

> >

La ventana deslizante de transporte fiable tenia un limite máximo impuesto por el control de flujo igual a la ventana anunciada por el receptor Se utiliza otra ventana de congestión que limita los datos que se pueden enviar a la red dependiendo de la percepción que tiene TCP de la congestión La ventana anunciada depende del receptor La ventana de congestión sereduce ante la congestión limitando la tasa a la que enviamos

Ventana = min { ventana anunciada, ventana de congestión }

CongWin v= RT T

confirmados
7 noviembre 2005

enviados

Transporte-7

se pueden enviar

no se pueden enviar

3

/20

TCP: Control de congestión


¿Cómo percibe TCP la congestión?
>

Perdida de paquetes = congestión
+ +

Evento de timeout 3 ACKsduplicados (Fast retransmit)



Ajustando la ventana de congestión
> > > >

Congestion avoidance (evitación de congestion) Slow start Fast recovery Timeout Aun cuando TCP utiliza secuencias y ACKs por bytes individuales cuando tiene mucho que enviar utiliza un máximo tamaño de segmento, que llamaremos MSS En la siguiente clase veremos como se elige el MSS
Transporte-7 4 /20



MSS:maximun segment size
> >

7 noviembre 2005

TCP: Congestion avoidance


Tras detectar congestión TCP entra en una fase de evitación de congestión (congestion avoidance)
> > >

Si la ventana de congestión tiene un valor de N MSS En congestion avoidance se abre 1 MSS cada vez que enviamos con exito toda la ventana CongWin=4 MSS La ventana sube linealmente Buscando encontrar el punto deequilibrio sin aumentar demasiado la congestión CongWin=5 MSS

Enviado por RTT

tiempo
7 noviembre 2005 Transporte-7 5 /20

TCP: Congestion avoidance


Si en esta situación se produce una pérdida
> >

De un sólo paquete, lo que provoca 3 ACKs duplicados. Se interpreta como congestión ligera La ventana se reduce inmediatamente a la mitad A la vez que se hace fast retrasmit del paqueteperdido Esto se conoce como fast recovery (originalmente se reducía a 1MSS) CongWin=8 MSS Buscando reducir notablemente la tasa de transmisión y colaborar en que la congestión no crezca Si se siguen recibiendo ACKs la ventana sigue creciendo linealmente

>

>

Enviado por RTT

CongWin=4 MSS

tiempo
7 noviembre 2005 Transporte-7 6 /20

TCP: Congestion avoidance


Se puede ver quela tasa se va ajustando alrededor del punto de congestión
> > >

si hay muchos errores la tasa baja y se tarda más en recuperarla si hay pocos errores el crecimiento lineal es capaz de llegar mas a mas velocidad Este mecanismo se suele llamar AIMD Additive Increase Multiplicative Decrease Con CongWin = 1 MSS 1 pérdida 1 pérdida 1 pérdida



Y cómo empieza la conexión??
>

Enviado porRTT

tiempo
7 noviembre 2005 Transporte-7 7 /20

TCP: Slow Start


En el principio CongWin=1 MSS pero... > Crecer linealmente es demasiado precavido, no tenemos motivos para pensar que hay congestión > Se utiliza un enfoque más agresivo, crecimiento exponencial > Slow Start: cada vez que transmitimos una ventana con éxito la ventana se dobla

CongWin =1 MSS

CongWin =2 MSS

CongWin=4 MSS

CongWin =8 MSS

tiempo
7 noviembre 2005 Transporte-7 8 /20

TCP: Slow Start


El slow start se mantiene hasta que se produce una pérdida (o bien se alcanza la ventan de control de flujo) haciendo entrar en congestion avoidance
>

Si la perdida se detecta por ACKs duplicados...
+

Fast retransmit + fast recovery

CongWin = CongWin/2



Y si se produce un timeout?...
tracking img