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
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.
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
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
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