11
Retransmisión y Congestión

Congestión TCP

Embed Size (px)

DESCRIPTION

Congestion TCP - Redes y transmision de datos

Citation preview

Page 1: Congestión TCP

Retransmisión y Congestión

Page 2: Congestión TCP

Acuses de recibo y retransmisión El acuse de recibo ó ack en TCP, especifica

el número de secuencia del siguiente byte que el receptor espera recibir.

Como los segmentos viajan en datagramas IP, se pueden perder ó llegar en desorden, el receptor usa el número de secuencia para reordenar los segmentos.

El receptor envía el ack con un número de secuencia mayor en una unidad que el último byte reconocido.

Page 3: Congestión TCP

Tiempo límite y retransmisión Cada vez que TCP envía un segmento

arranca un temporizador y espera un ack. Si se termina el tiempo antes de que llegue el ack, hay retransmisión.

Un segmento TCP puede viajar a través de varias redes y routers de velocidad intermedia ó por redes de alta velocidad (LAN).

El tiempo de retransmisión se ajusta dinámicamente, adaptándose al retardo de la red.

Page 4: Congestión TCP

RTT: Tiempo de viaje en redondo (Round-Trip Time) TCP deberá medir el tiempo entre la transmisión de

un byte con un número de secuencia y la recepción del ack del correspondiente número de secuencia.

RTT puede ser medido entre la transmisión de 1-1024 bytes y el ACK llega 2048 (1024 bytes adicionales).

Si llamamos M a la medida de RTT

Donde α=0.9 (valor recomendado). Este valor es actualizado con cada medida. 90% del

valor anterior y 10% del nuevo valor medido.

ManteriorRTTRTT )1()(

Page 5: Congestión TCP

El tiempo de retransmisión (timeout) recomendado es

Con β=2. Se hace un estimado de la desviación

(probabilidades)

y finalmente MRTTDD )1(

RTTRTT

DRTTióntemporizacdenTerminació *4

Page 6: Congestión TCP

Otros temporizadores Persistencia Temporizador de seguir con vida

(keepalive timer).

Page 7: Congestión TCP

Control de congestionamiento con TCP Cuando la carga ofrecida a la red es mayor que

la que puede manejar, se genera congestionamiento.

El primer paso es tratar de detectarla. Los medios de comunicación han avanzado

mucho (fibras), hoy en día la mayoría de finalizaciones de temporización es por congestionamiento.

Probabilidad muy baja que sea por otra causa. Todas las implementaciones de TCP suponen que

los timeout son debido a congestionamiento.

Page 8: Congestión TCP

Manejo del congestionamiento en TCP Hay dos problemas potenciales: la

capacidad de la red y la capacidad del receptor. Se manejan por separado.

El transmisor mantiene dos ventanas: la informada por el receptor y otra de congestionamiento. Cada una refleja la cantidad de bytes que pueden transmitirse.

El transmisor usa como ventana la mínima de las dos anteriores

Page 9: Congestión TCP

¿Cómo comienza? Al establecer la conexión se fija la ventana

de congestionamiento a un segmento. Se envía un segmento y si llega el ack se

aumenta la ventana en uno. Si llega el ack de los dos segmentos y se aumenta la ventana en dos segmentos y así siguiendo hasta llegar a un final de temporización ó alcanzar el tamaño de la ventana receptora.

Esto se llama arranque lento.

Page 10: Congestión TCP

Ejemplo

Page 11: Congestión TCP

Ejemplo Inicialmente ventana receptora y

congestionamiento= 64k. Se produce un timeout y se fija la ventana de

congestión en 1k (tamaño del segmento) para la transmisión 0 y un umbral de 32k.

La ventana crece exponencialmente hasta alcanzar 32k y ahí sigue creciendo linealmente.

En la transmisión 13 se produce un vencimiento de temporización y el umbral baja a la mitad (20k), en ese momento 40k y ventana de congestionamiento 1k y se produce el arraque lento.