GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo puedo ajustar el tiempo de espera de retransmisión de TCP inicial?

Solución 1:

No, no puedes; está codificado en el núcleo. Así que cambie el núcleo y vuelva a compilar.

#define TCP_TIMEOUT_INIT ((unsigned)(3*HZ))     /* RFC 1122 initial RTO value   */

Esto es lo que debe obtener en su include/net/tcp.h.

Pero veo que alguien proporcionó un parche, aunque nunca lo probé

Solución 2:

La configuración inicial no debería afectar mucho su rendimiento general, ya que el RTO se ajusta automáticamente a las condiciones de la red. Si cambia el RTO, puede establecerlo en 1 segundo (pero no menos).

Hay una discusión sobre esto en RFC 1122:

        The following values SHOULD be used to initialize the
        estimation parameters for a new connection:
        (a)  RTT = 0 seconds.

        (b)  RTO = 3 seconds.  (The smoothed variance is to be
             initialized to the value that will result in this RTO).

        The recommended upper and lower bounds on the RTO are known
        to be inadequate on large internets.  The lower bound SHOULD
        be measured in fractions of a second (to accommodate high
        speed LANs) and the upper bound should be 2*MSL, i.e., 240
        seconds.

        DISCUSSION:
             Experience has shown that these initialization values
             are reasonable, and that in any case the Karn and
             Jacobson algorithms make TCP behavior reasonably
             insensitive to the initial parameter choices.

RFC 6298 es una actualización propuesta (publicada en junio de 2011) que dice que RTO se puede inicializar a un valor inferior (pero no inferior a 1 segundo) y contiene un Apéndice que contiene datos que justifican 1 segundo como un valor inicial razonable.


Linux
  1. ¿Cómo puedo obtener el estado del teclado en Linux?

  2. ¿Cómo puedo saber la ruta absoluta de un proceso en ejecución?

  3. ¿Cómo puedo editar $ PATH en Linux?

  4. ¿Cómo puedo asignar una contraseña inicial/predeterminada a un usuario en Linux?

  5. 8G RAM y SSD:¿qué tan grande debe ser el intercambio?

¿Cómo ajustar NGINX para el próximo 2022?

¿Cómo puedo encontrar el archivo más antiguo en un árbol de directorios?

¿Cómo debo determinar la utilización actual de la red?

¿Cómo puedo rasterizar todo el texto en un PDF?

¿Qué tan grande debe ser la partición de intercambio?

¿Cómo puedo portar hacia adelante con iptables?