Temporizadores TCP

TCP utiliza varios temporizadores para garantizar que no se produzcan retrasos excesivos durante las comunicaciones. Varios de estos temporizadores son elegantes y manejan problemas que no son inmediatamente obvios en un primer análisis. Cada uno de los temporizadores utilizados por TCP se examina en las siguientes secciones, que revelan su función para garantizar que los datos se envíen correctamente de una conexión a otra. 

La implementación de TCP utiliza cuatro temporizadores: 

  • Temporizador de retransmisión: para retransmitir segmentos perdidos, TCP utiliza el tiempo de espera de retransmisión (RTO). Cuando TCP envía un segmento, el temporizador se inicia y se detiene cuando se recibe el reconocimiento. Si el temporizador expira, se produce un tiempo de espera y el segmento se retransmite. RTO (el tiempo de espera de retransmisión es para 1 RTT) para calcular el tiempo de espera de retransmisión, primero debemos calcular el RTT (tiempo de ida y vuelta). 
    RTT tres tipos – 
    • RTT medido (RTTm): el tiempo de ida y vuelta medido para un segmento es el tiempo necesario para que el segmento llegue al destino y se reconozca, aunque el reconocimiento puede incluir otros segmentos.
    • RTT suavizado (RTT): es el promedio ponderado de RTTm. Es probable que RTTm cambie y su fluctuación es tan alta que no se puede usar una sola medición para calcular el RTO. 
       
Initially -> No value
After the first measurement -> RTTs=RTTm
After each measurement -> RTTs= (1-t)*RTTs + t*RTTm
Note: t=1/8 (default if not given)
  • RTT desviado (RTTd): la mayoría de las implementaciones no usan solo RTT, por lo que el RTT desviado también se calcula para averiguar el RTO. 
     
Initially -> No value
After the first measurement -> RTTd=RTTm/2
After each measurement -> RTTd= (1-k)*RTTd + k*(RTTm-RTTs)
Note: k=1/4 (default if not given)
  • Temporizador persistente: para hacer frente a una situación de interbloqueo de tamaño de ventana cero, TCP utiliza un temporizador persistente. Cuando el TCP de envío recibe un reconocimiento con un tamaño de ventana de cero, inicia un temporizador de persistencia. Cuando el temporizador de persistencia se apaga, el TCP emisor envía un segmento especial llamado sonda. Este segmento contiene solo 1 byte de datos nuevos. Tiene un número de secuencia, pero su número de secuencia nunca se reconoce; incluso se ignora al calcular el número de secuencia para el resto de los datos. La sonda hace que el TCP receptor vuelva a enviar la confirmación que se perdió.
  • Temporizador de mantenimiento de actividad: se utiliza un temporizador de mantenimiento de actividad para evitar una conexión inactiva prolongada entre dos TCP. Si un cliente abre una conexión TCP a un servidor que transfiere algunos datos y se vuelve silencioso, el cliente se bloqueará. En este caso, la conexión permanece abierta para siempre. Por lo tanto, se utiliza un temporizador de actividad. Cada vez que el servidor recibe noticias de un cliente, restablece este temporizador. El tiempo de espera suele ser de 2 horas. Si el servidor no recibe noticias del cliente después de 2 horas, envía un segmento de sondeo. Si no hay respuesta después de 10 sondeos, cada uno de los cuales tiene una diferencia de 75 s, se supone que el cliente está inactivo y finaliza la conexión.
  • Temporizador de tiempo de espera: este temporizador se utiliza durante la finalización de la conexión tcp . El temporizador comienza después de enviar el último Ack para 2nd FIN y cerrar la conexión.

    Después de que se cierra una conexión TCP, es posible que los datagramas que aún se están abriendo camino a través de la red intenten acceder al puerto cerrado. El temporizador de silencio está destinado a evitar que el puerto recién cerrado se vuelva a abrir rápidamente y reciba estos últimos datagramas.

    El temporizador silencioso generalmente se establece en el doble de la vida útil máxima del segmento (el mismo valor que el campo Tiempo de vida en un encabezado IP), lo que garantiza que todos los segmentos que aún se dirijan al puerto se hayan descartado.

Referencia –  
Temporizadores TCP – Que10 

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 *