Líneas de comando de Linux para variables TCP

En este artículo, discutiremos las líneas de comando de Linux para variables TCP.

Encuentre el TCP predeterminado utilizado en Linux

  • Comprobación del TCP predeterminado en el kernel de Linux
$ sysctl net.ipv4.tcp_congestion_control

Producción:

$ net.ipv4.tcp_congestion_control = cubic
  • Cambiar el TCP predeterminado en el Kernel de Linux a Reno
$ sudo sysctl -w net.ipv4.tcp_congestion_control=reno

Producción:

$net.ipv4.tcp_congestion_control = reno tcp_congestion_control

Cambiar de nuevo a CUBIC como el TCP predeterminado en el kernel de Linux

$sudo sysctl -w net.ipv4.tcp_congestion_control=cúbico

Producción:

$ net.ipv4.tcp_congestion_control = cubic

Habilitar apertura rápida de TCP

  • Comprobación de la configuración predeterminada de TFO en el kernel de Linux
$ sysctl net.ipv4.tcp_fastopen

Producción

$ net.ipv4.tcp_fastopen = 1
  • Habilitación de TFO si su máquina es un servidor
$ sudo sysctl -w net.ipv4.tcp_fastopen=2

Producción:

$ net.ipv4.tcp_fastopen = 2
  • Habilitación de TFO si su máquina es tanto un Cliente como un Servidor
$ sudo sysctl -w net.ipv4.tcp_fastopen=3

Producción

$ net.ipv4.tcp_fastopen = 3
  • Deshabilitar TFO
$ sudo sysctl -w net.ipv4.tcp_fastopen=0

Producción

$ net.ipv4.tcp_fastopen = 0 

Habilitar el algoritmo de control de congestión de reinicio de inicio lento

  • Comprobación de la configuración predeterminada de SSR en el kernel de Linux
$ sysctl net.ipv4.tcp_slow_start_after_idle

Producción

$ net.ipv4.tcp_slow_start_after_idle = 1
  • Deshabilite el reinicio de inicio lento (importante para servidores, no tanto para clientes)
$ sudo sysctl -w net.ipv4.tcp_slow_start_after_idle=0

Producción:

$ net.ipv4.tcp_slow_start_after_idle = 0

Habilitar escala de ventana

  • Comprobación de la configuración predeterminada de TCP Window Scaling en el kernel de Linux
$ sysctl net.ipv4.tcp_window_scaling

Producción

$ net.ipv4.tcp_window_scaling = 1
  • Deshabilite TCP Window Scaling (no recomendado, pero pruébelo para aprender y volver a habilitarlo)
$ sudo sysctl -w net.ipv4.tcp_window_scaling=0

Producción:

$ net.ipv4.tcp_window_scaling = 0

Cómo encontrar la escala de ventana predeterminada en el kernel de Linux

Comprobación del valor predeterminado del factor de escala de ventana en el kernel de Linux

$ sysctl net.ipv4.tcp_adv_win_scale

Producción

net.ipv4.tcp_adv_win_scale = 1 

Esto es shift.cnt=1, factor de escala=2 shift.cnt = 2

tcp_adv_win_escala

Habilitar la opción SACK

  • Comprobación de la configuración predeterminada de SACK en el kernel de Linux
$ sysctl net.ipv4.tcp_sack

Producción:

net.ipv4.tcp_sack=1
  • Deshabilitar la configuración predeterminada de SACK en el kernel de Linux
$ sudo sysctl -w net.ipv4.

Producción:

net.ipv4.tcp_sack=0 tcp_sack

Verifique la configuración de la marca de tiempo

  • Compruebe la configuración predeterminada de TIMESTAMPS en el kernel de Linux
$ sysctl net.ipv4.tcp_timestamps

Producción

net.ipv4.tcp_timestamps=1
  • Deshabilite las TIMESTAMPS en el kernel de Linux
$ sudo sysctl -w net.ipv4.tcp_timestamps=0

Producción

net.ipv4.tcp_timestamps=0 

Compruebe la configuración de baja latencia:

  • Compruebe la configuración predeterminada de baja latencia en el kernel de Linux
$ sysctl net.ipv4.tcp_low_latency

Producción

net.ipv4.tcp_low_latency=1
  • Deshabilitar baja latencia en el kernel de Linux
$ sudo sysctl -w net.ipv4.tcp_low_latency=0

Producción

net.ipv4.tcp_low_latency=0 

Compruebe el tamaño de búfer predeterminado

  • Verifique la configuración predeterminada de Tamaño de búfer en el kernel de Linux
$ sysctl net.ipv4.tcp_rmem

Producción

net.ipv4.tcp_rmem=4096    131072    6291456 

Los valores están en el orden: min por defecto max. 131072 Bytes = 128 KB, es el tamaño de búfer predeterminado.

tamaño de búfer predeterminado

Compruebe el TCP disponible y permitido en el kernel de Linux:

  • Para ver los TCP disponibles:
sysctl net.ipv4.tcp_available_congestion_control 

Producción

net.ipv4.tcp_allowed_congestion_control= reno cubic
  • Para ver los TCP permitidos:
sysctl net.ipv4.tcp_allowed_congestion_control 

Producción

net.ipv4.tcp_allowed_congestion_control= reno cubic 

Compruebe el MSS base predeterminado en el kernel de Linux

  • Para ver el valor MSS base predeterminado:
sysctl net.ipv4.tcp_base_mss

Producción

net.ipv4.tcp_base_mss = 1024 

tcp_base_mss

Verifique el valor predeterminado de DUP-ACK para una retransmisión rápida del paquete perdido

  • Para ver el valor predeterminado de DUP-ACK:
sysctl net.ipv4.tcp_early_retrans

Producción

net.ipv4.tcp_early_retrans = 3 

Ver el tiempo de espera predeterminado para bloquear el TFO

  • Tiempo de espera de agujero negro para TFO:
sysctl net.ipv4.tcp_fastopen_blackhole_timeout_sec 

Producción

net.ipv4.tcp_fastopen_blackhole_timeout_sec = 3600

tcp_fastopen_blackhole_timeout_sec

Número de retransmisiones

  • El número de retransmisiones de paquetes sin involucrar la capa de red:
sysctl net.ipv4.tcp_retries1

Producción

net.ipv4.tcp_retries1 = 3
  • El número máximo de retransmisiones de un paquete perdido antes de abandonar:
sysctl net.ipv4.tcp_retries2

Producción

sysctl net.ipv4.tcp_retries2 = 15 

Parámetros predeterminados de KeepAlive en el kernel de Linux

  • Valor predeterminado de tiempo de espera de actividad:
sysctl net.ipv4.tcp_keepalive_time

Producción

net.ipv4.tcp_keepalive_time=7200

Cuando un cliente no envía activamente la solicitud al servidor, el servidor espera 7200 segundos. Si no llega ninguna respuesta del cliente, envía los paquetes de confirmación al cliente. Durante 7200 segundos, el servidor solo espera y no desconecta la conexión. 

  • La frecuencia predeterminada de las sondas keepalive:
sysctl net.ipv4.tcp_keepalive_probes

Producción

net.ipv4.tcp_keepalive_probes=9

Cuando pasan 7200 segundos, el servidor envía el primer mensaje de sondeo para ver si el cliente todavía está conectado o no. Si no llega ninguna respuesta antes de que se envíe el segundo sondeo, el servidor vuelve a enviar el mensaje del sondeo. Cuando se envían las 9 sondas y no se recibe confirmación del cliente. Luego, el servidor desconecta al cliente y el socket está disponible para que lo usen otros clientes.

  • El intervalo de tiempo predeterminado de cada sonda keepalive:
sysctl net.ipv4.tcp_keepalive_intvl

Producción

net.ipv4.tcp_keepalive_intvl=75 

El servidor enviará la siguiente sonda después de un intervalo de 75 segundos. Así, el tiempo total de inactividad para desconectar la conexión por parte del servidor es:- 7200+9*75 = 7875 segundos.

Publicación traducida automáticamente

Artículo escrito por pintusaini 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 *