Protocolo de Transporte TCP: Funcionamiento, Control de Congestión y Servicios

Enviado por Comunidad Xuletas y clasificado en Electricidad y Electrónica

Escrito el en español con un tamaño de 2,98 KB

TEMA 6. Protocolo de Transporte y Comunicación Lógica

Un protocolo de transporte proporciona comunicación lógica entre procesos ejecutándose en diferentes máquinas. TCP, además de multiplexación y demultiplexación, ofrece los siguientes servicios a las aplicaciones:

  • Transferencia fiable de datos: asegura la entrega de datos de forma correcta y ordenada (utiliza para ello control de flujo, números de secuencia, reconocimientos y temporizadores).
  • Control de la congestión: se consigue regulando la tasa a la que puede enviar tráfico en la red el lado TCP emisor.

Retransmisión Rápida

Cuando se reciben 3 ACK repetidos, TCP realiza una retransmisión rápida, retransmitiendo el segmento ausente antes de que expire el temporizador.

Causas de la Congestión en la Red

  • Se experimentan grandes retardos en las colas según la tasa de llegada de paquetes se acerca a la capacidad del enlace.
  • Las retransmisiones innecesarias realizadas por el emisor en presencia de grandes retardos pueden hacer que el ancho de banda (BW) del enlace se utilice para reencaminar copias innecesarias de un paquete.

Incremento Aditivo, Decremento Multiplicativo (AIMD)

Cuando se produce congestión, la tasa de transmisión ($R$), y por tanto la ventana de congestión ($W$), se reduce a la mitad. Si aún así no se sale de la congestión se vuelve a reducir a la mitad y así sucesivamente (decremento multiplicativo).

Una vez que nos hemos recuperado de la situación de congestión, puede ser que no estemos aprovechando toda la capacidad del canal. Así, lo que hacemos es un incremento moderado de la tasa de transmisión ($R$) incrementando el tamaño de la ventana ($W$) en una unidad cada vez que se recibe un ACK (incremento aditivo).

Arranque Lento

Cuando comienza una conexión TCP, el valor de $W$ es inicialmente 1 (valor mínimo de $R$). Así, lo que hacemos al principio es, comenzando a transmitir desde una tasa lenta, ir doblando el valor de $W$ en cada ACK recibido hasta que lleguemos a un evento de pérdida (congestión) que, como dijimos antes, $R$ se reduce a la mitad (y por tanto $W$ también), volviendo a la situación AIMD.

Soluciones para Detectar la Congestión

  • TCP Vegas: Detecta si los routers se están cargando en exceso, pero antes de que se pierdan paquetes. Esto lo hace viendo el aumento del RTT. Es más eficiente que TCP Reno (no se pierden paquetes), pero no se utiliza porque plantea una serie de problemas que aún no se han resuelto.
  • TCP Reno: Es la utilizada actualmente. Detecta la congestión por la pérdida de paquetes. Esta se detecta por:
    • Vencimiento del temporizador: No llega asentimiento de un paquete ni de los siguientes => CONGESTIÓN MUY SEVERA.
    • Recepción de 3 asentimientos duplicados: CONGESTIÓN MODERADA.