Upload
lucia-loto
View
217
Download
0
Embed Size (px)
DESCRIPTION
Congestion TCP - Redes y transmision de datos
Citation preview
Retransmisión y Congestión
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.
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.
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()(
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
Otros temporizadores Persistencia Temporizador de seguir con vida
(keepalive timer).
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.
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
¿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.
Ejemplo
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.