Control de congestión TCP

Requisitos previos: conocimientos básicos de control de congestión

TCP utiliza una ventana de congestión y una política de congestión que evita la congestión. Anteriormente, asumimos que solo el receptor puede dictar el tamaño de la ventana del remitente. Ignoramos otra entidad aquí, la red. Si la red no puede entregar los datos tan rápido como los crea el remitente, debe indicarle que disminuya la velocidad. En otras palabras, además del receptor, la red es una segunda entidad que determina el tamaño de la ventana del emisor.

Política de congestión en TCP –

  1. Fase de inicio lento: comienza lentamente, el incremento es exponencial al umbral
  2. Fase de evitación de congestión: después de alcanzar el umbral, el incremento es de 1
  3. Fase de detección de congestión: el remitente vuelve a la fase de inicio lento o a la fase de evitación de congestión.

Fase de inicio lento: incremento exponencial: en esta fase, después de cada RTT, el tamaño de la ventana de congestión aumenta exponencialmente.

Initially cwnd = 1
After 1 RTT, cwnd = 2^(1) = 2
2 RTT, cwnd = 2^(2) = 4
3 RTT, cwnd = 2^(3) = 8

Fase para evitar la congestión: incremento aditivo: esta fase comienza después del valor de umbral, también indicado como ssthresh . El tamaño de cwnd (ventana de congestión) aumenta aditivo. Después de cada RTT cwnd = cwnd + 1.

Initially cwnd = i
After 1 RTT, cwnd = i+1
2 RTT, cwnd = i+2
3 RTT, cwnd = i+3

Fase de detección de congestión: decremento multiplicativo: si se produce una congestión, se reduce el tamaño de la ventana de congestión. La única forma en que un remitente puede adivinar que se ha producido una congestión es la necesidad de retransmitir un segmento. La retransmisión es necesaria para recuperar un paquete faltante que se supone que un enrutador ha descartado debido a la congestión. La retransmisión puede ocurrir en uno de dos casos: cuando el temporizador RTO se agota o cuando se reciben tres ACK duplicados.

  • Caso 1: Retransmisión por Timeout – En este caso la posibilidad de congestión es alta.

    (a) ssthresh se reduce a la mitad del tamaño de la ventana actual.
    (b) establezca cwnd = 1
    (c) comience con la fase de inicio lento nuevamente.

  • Caso 2: Retransmisión debido a 3 Reconocimientos Duplicados – En este caso la posibilidad de congestión es menor.

    (a) El valor de ssthresh se reduce a la mitad del tamaño de la ventana actual.
    (b) establecer cwnd= ssthresh
    (c) comenzar con la fase de evitación de congestión

  • Ejemplo: suponga que un protocolo TCP experimenta un comportamiento de inicio lento. En la quinta ronda de transmisión con un valor de umbral (ssthresh) de 32, pasa a la fase de evitación de congestión y continúa hasta la décima transmisión. En la décima ronda de transmisión, el receptor recibe 3 ACK duplicados y entra en el modo de aumento aditivo. El tiempo de espera se produce en la 16ª ronda de transmisión. Trazar la ronda de transmisión (tiempo) frente al tamaño de la ventana de congestión de los segmentos TCP.

    Preguntas de GATE CS Corner –

    Practicar las siguientes preguntas te ayudará a poner a prueba tus conocimientos. Todas las preguntas se han hecho en GATE en años anteriores o en pruebas simuladas de GATE. Es muy recomendable que los practiques.

  1. GATE CS 2008, Pregunta 56
  2. GATE CS 2012, Pregunta 65
  3. GATE CS 2014 (Conjunto 1), Pregunta 65
  4. GATE IT 2005, Pregunta 73

Este artículo es una contribución de SHAURYA UPPAL . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *