ADC

Configuraciones TCP

Las configuraciones TCP de un dispositivo NetScaler se pueden especificar en una entidad denominada perfil TCP, que es un conjunto de valores de configuración TCP. El perfil TCP se puede asociar a los servicios o servidores virtuales que quieran utilizar estas configuraciones TCP.

Se puede configurar un perfil TCP predeterminado para establecer las configuraciones TCP que se aplicarán de forma predeterminada, globalmente a todos los servicios y servidores virtuales.

Nota:

Cuando un parámetro TCP tiene valores diferentes para el servicio, el servidor virtual y globalmente, el valor de la entidad más específica (el servicio) tiene la prioridad más alta. El dispositivo NetScaler también proporciona otros enfoques para configurar TCP.

Configuración TCP admitida

El dispositivo NetScaler admite las siguientes capacidades TCP:

Defensa del TCP contra los ataques de suplantación de identidad según el RFC 5961

NetScaler admite los métodos de atenuación de ventanas RST y protección contra la suplantación SYN para defender el TCP contra los ataques de suplantación de identidad y cumple con la RFC 4953.

A partir de la versión 14.1-4.x de NetScaler, NetScaler cumple con la RFC 5961, que proporciona una protección mejorada contra los ataques de suplantación de TCP. Con conformidad con la RFC 5961, NetScaler ofrece las siguientes funciones, además de la atenuación de ventanas RST y la protección contra la suplantación de SYN:

  • Reduce la probabilidad de una inyección de datos no válida.
  • Permite imponer un límite a la cantidad de respuestas ACK de desafío por segundo enviadas por NetScaler.

De forma predeterminada, la conformidad con la RFC 5961 está inhabilitada. Puede habilitarlo mediante la CLI o la GUI. Para obtener más información, consulte Defender el TCP contra los ataques de suplantación de identidad.

Notificación explícita de congestión (ECN)

El dispositivo envía una notificación del estado de congestión de la red al remitente de los datos y toma medidas correctivas para la congestión de datos o la corrupción de datos. La implementación de ECN de NetScaler cumple con RFC 3168.

Medición del tiempo de ida y vuelta (RTTM) mediante la opción de marca de tiempo

Para que funcione la opción TimeStamp, al menos un lado de la conexión (cliente o servidor) debe admitirla. La implementación de NetScaler de la opción TimeStamp cumple con RFC 1323.

Detección de retransmisiones falsas

Esta detección se puede realizar mediante el reconocimiento selectivo duplicado de TCP (D-SACK) y la recuperación de RTO hacia adelante (F-RTO). Si hay retransmisiones falsas, las configuraciones de control de congestión se vuelven a su estado original. La implementación de NetScaler de D-SACK cumple con RFC 2883 y F-RTO cumple con RFC 5682.

Control de congestión

Esta funcionalidad utiliza los algoritmos New-Reno, BIC, CUBIC, Nile, TCP Westwood y BBR.

  • BBR: funciona supervisando el tiempo de ida y vuelta (RTT) y el ancho de banda en lugar de reaccionar ante la pérdida de paquetes. Este enfoque permite a BBR regular el tráfico de manera eficaz, lo que se traduce en una mejora del rendimiento y la latencia.
  • BIC: optimizado para redes de alta velocidad con alta latencia (redes largas y gruesas). Para estas redes, BIC tiene una ventaja significativa sobre otros algoritmos de control de congestión a la hora de corregir el ancho de banda gravemente infrautilizado.
  • CUBIC: logra conexiones de gran ancho de banda a través de redes de manera más rápida y confiable durante una latencia alta. Ayuda a optimizar las redes largas y grasas.
  • Default/New Reno: evita la pérdida de demasiados paquetes debido a la congestión y mantiene la equidad con otros flujos.
  • Nile: NetScaler ha desarrollado este algoritmo de optimización de TCP para redes de alta velocidad como LTE, LTE advanced y 3G. Nile aborda los desafíos únicos causados por la atenuación, las pérdidas aleatorias o congestivas, las retransmisiones de la capa de enlace y la agregación de portadoras. Para obtener más información, consulte Algoritmo NILE. Para obtener más información, consulte Algoritmo NILE.
  • Westwood: El algoritmo TCP Westwood (TCPW) es una modificación del lado del remitente del algoritmo de ventana de congestión de TCP que mejora el rendimiento en redes cableadas e inalámbricas.

Configurar el algoritmo BBR:

A partir de la versión 14.1-21.x, NetScaler admite el algoritmo Bottleneck Bandwidth y Round Propagation Time (BBR) para TCP. Al usar este algoritmo, NetScaler proporciona un rendimiento de red mejorado y un sistema de administración del tráfico más eficiente.

Para configurar la compatibilidad con BBR mediante la CLI, ejecute el siguiente comando:

set ns tcpprofile <tcpprofile> -SACK [enable|disable] -flavor [ BBR| BIC |  CUBIC | Default | Nile | Westwood ]
<!--NeedCopy-->

Nota:

Para que el algoritmo de control de congestión de BBR funcione de manera óptima, la función de reconocimiento selectivo (SACK) debe estar habilitada en el perfil TCP.

Ejemplo:

set ns tcpprofile <tcpprofilename> -SACK enable -flavor BBR
<!--NeedCopy-->

Para configurar la compatibilidad con BBR mediante la GUI:

  1. Vaya a Sistema > Perfiles > Perfiles TCP y haga clic en Agregar.
  2. En la página Crear perfil TCP, para el campo TCP Flavor, seleccione BBR.

Escalado de ventanas

Esto aumenta el tamaño de la ventana de recepción de TCP por encima de su valor máximo de 65.535 bytes.

Puntos a tener en cuenta antes de configurar el escalado de ventanas

  • No se establece un valor alto para el factor de escala, ya que esto podría tener efectos adversos en el dispositivo y en la red.
  • No configura el escalado de ventana a menos que sepa claramente por qué quiere cambiar el tamaño de la ventana.
  • Ambos hosts de la conexión TCP envían una opción de escalado de ventana durante el establecimiento de la conexión. Si solo un lado de una conexión establece esta opción, no se utiliza la escala de la ventana para la conexión.
  • Cada conexión de la misma sesión es una sesión de escalado de ventanas independiente. Por ejemplo, cuando la solicitud de un cliente y la respuesta del servidor fluyen a través del dispositivo, es posible tener escalado de ventana entre el cliente y el dispositivo sin escalarlo entre el dispositivo y el servidor.

Ventana Congestión máxima de TCP

El tamaño de la ventana es configurable por el usuario. El valor predeterminado es de 8190 bytes.

Reconocimiento selectivo (SACK)

Utiliza el receptor de datos (ya sea un dispositivo NetScaler o un cliente) que notifica al remitente todos los segmentos que se han recibido correctamente.

Reconocimiento directo (FACK)

Esta funcionalidad evita la congestión de TCP midiendo explícitamente el número total de bytes de datos pendientes en la red y ayudando al remitente (ya sea un NetScaler o un cliente) a controlar la cantidad de datos inyectados en la red durante los tiempos de espera de retransmisión.

Multiplexación de conexiones TCP

Esta funcionalidad permite reutilizar las conexiones TCP existentes. El dispositivo NetScaler almacena conexiones TCP establecidas al grupo de reutilización. Cada vez que se recibe una solicitud de cliente, el dispositivo comprueba si hay una conexión disponible en el grupo de reutilización y sirve al nuevo cliente si la conexión está disponible. Si no está disponible, el dispositivo crea una conexión para la solicitud del cliente y almacena la conexión en el grupo de reutilización. NetScaler admite la multiplexación de conexiones para los tipos de conexión HTTP, SSL y DataStream.

Almacenamiento en búfer de recepción dinámico

Esto permite que el búfer de recepción se ajuste dinámicamente en función de las condiciones de la memoria y de la red.

Conexión MPTCP

Conexiones MPTCP entre el cliente y NetScaler. Las conexiones MPTCP no se admiten entre NetScaler y el servidor back-end. La implementación de NetScaler de MPTCP cumple con RFC 6824.

Puede ver las estadísticas MPTCP, como las conexiones MPTCP activas y las conexiones de subflujo activas, mediante la interfaz de línea de comandos.

En el símbolo del sistema, escriba uno de los siguientes comandos para mostrar un resumen o un resumen detallado de las estadísticas MPTCP, o para borrar la visualización de estadísticas:

  1. Stat MPTCP
  2. Stat mptcp –detail
  3. Clearstats basic

Nota:

Para establecer una conexión MPTCP, tanto el cliente como el dispositivo NetScaler deben admitir la misma versión MPTCP. Si utiliza el dispositivo NetScaler como puerta de enlace MPTCP para sus servidores, los servidores no tienen por qué ser compatibles con MPTCP. Cuando el cliente inicia una nueva conexión MPTCP, el dispositivo identifica la versión MPTPC del cliente en la opción MP_CAPABALE del paquete SYN. Si la versión del cliente es superior a la admitida en el dispositivo, el dispositivo indica su versión más alta en la opción MP_CAPABALE del paquete SYN-ACK. A continuación, el cliente vuelve a una versión inferior y envía el número de versión en la opción MP_CAPABALE del paquete ACK. Si esa versión es compatible, el dispositivo continúa con la conexión MPTCP. De lo contrario, el dispositivo recurriese a un TCP normal. El dispositivo NetScaler no inicia subflujos (MP_JOIN). El dispositivo espera que el cliente inicie subflujos.

Compatibilidad con anuncios de direcciones adicionales (ADD_ADDR) en MPTCP

En una implementación MPTCP, si tiene un servidor virtual vinculado con un conjunto de IP que tiene direcciones IP de servidor virtual adicionales, la funcionalidad de anuncio de direcciones adicional (ADD_ADDR) anuncia la dirección IP de los servidores virtuales enlazados al conjunto de IP. Los clientes pueden iniciar subflujos MP-JOIN adicionales a las direcciones IP anunciadas.

Puntos que debe recordar acerca de la funcionalidad MPTCP ADD_ADDR

  • Puede enviar un máximo de 10 direcciones IP como parte de la opción ADD_ADDR. Si hay más de 10 direcciones IP con el parámetro mptcpAdvertise habilitado, después de anunciar la dirección IP 10, el dispositivo ignora el resto de las direcciones IP.
  • Si el subflujo MP-CAPABLE se realiza en una de las direcciones IP del conjunto de IP en lugar de la dirección IP del servidor virtual principal, la dirección IP del servidor virtual se anuncia si el parámetro mptcpAdvertise está habilitado para la dirección IP del servidor virtual.

Configurar más publicidad de direcciones (ADD_ADDR) para anunciar direcciones VIP adicionales mediante la CLI

Puede configurar la funcionalidad MPTCP ADD_ADDR para los tipos de direcciones IPv4 e IPv6. En general, se pueden conectar varias IP IPv4 e IPv6 a un único conjunto de IP y el parámetro se puede habilitar en cualquier subconjunto de direcciones IP. En la función ADD_ADDR, solo se anuncian las direcciones IP que tienen activada la opción “mptcpAdvertise” y se ignoran las direcciones IP restantes del conjunto de IP. Siga los siguientes pasos para configurar la función ADD_ADDR:

  1. Agregue un conjunto de IP.
  2. Agregue una dirección IP de tipo IP de servidor virtual (VIP) con la publicidad MPTCP habilitada.
  3. Vincule la dirección IP con el conjunto de IP.
  4. Configure el conjunto de IP con el servidor virtual de equilibrio de carga.

Agregar un conjunto de IP

En la línea de comandos, escriba:

add ipset <name> [-td <positive_integer>]
<!--NeedCopy-->

Ejemplo:

add ipset ipset_1
<!--NeedCopy-->

Agregar una dirección IP de tipo IP de servidor virtual (VIP) con la publicidad MPTCP habilitada

En el tipo de comando:

add ns ip <IPAddress>@ <netmask> [-mptcpAdvertise ( YES | NO )] -type <type>
<!--NeedCopy-->

Ejemplo:

add ns ip 10.10.10.10 255.255.255.255 -mptcpAdvertise YES -type VIP

Vincular direcciones IP al conjunto de IP

En la línea de comandos, escriba:

bind ipset <name> <IPAddress>
<!--NeedCopy-->

Ejemplo:

bind ipset ipset_1 10.10.10.10

Configurar el conjunto de IP para servidor virtual de equilibrio de carga

En la línea de comandos, escriba:

set lb vserver <name> [-ipset  <string>]
<!--NeedCopy-->

Ejemplo:

set lb vserver lb1 -ipset ipset_1
<!--NeedCopy-->

Ejemplo de configuración:

Add ipset ipset_1
add ns ip 10.10.10.10 255.255.255.255 -mptcpAdvertise YES -type VIP
bind ipset ipset_1 10.10.10.10
set lb vserver lb1 -ipset ipset_1
<!--NeedCopy-->

Configurar la dirección IP externa de publicidad mediante la funcionalidad ADD_ADDR

Si la dirección IP anunciada es propiedad de la entidad externa y el dispositivo NetScaler necesita anunciar la dirección IP, el parámetro “MPTCPAdvertise” debe habilitarse con los parámetros de estado y ARP inhabilitados.

Siga los siguientes pasos para configurar ADD_ADDR para publicitar la dirección IP externa.

  1. Agregue una dirección IP de tipo IP de servidor virtual (VIP) con la publicidad MPTCP habilitada.
  2. Vincule la dirección IP con el conjunto de IP.
  3. Vincular conjunto de IP con el servidor virtual de equilibrio de carga

Agregar una dirección IP externa de tipo IP de servidor virtual (VIP) con la publicidad MPTCP habilitada

En la línea de comandos, escriba:

add ns ip <IPAddress>@ <External-IP-mask -type VIP> [-mptcpAdvertise ( YES | NO )] -type <type> -state DISABLED -arp DISABLED
<!--NeedCopy-->

Ejemplo:

add ns ip 10.10.10.10 255.255.255.255 -mptcpAdvertise YES -type VIP -state DISABLED -arp DISABLED

Vincular direcciones IP al conjunto de IP

En la línea de comandos, escriba:

bind ipset <name> <IPAddress>
<!--NeedCopy-->

Ejemplo:

bind ipset ipset_1 10.10.10.10

Configurar el conjunto de IP para servidor virtual de equilibrio de carga

En la línea de comandos, escriba:

set lb vserver <name> [-ipset  <string>]
<!--NeedCopy-->

Ejemplo:

set lb vserver lb1 -ipset ipset_1

Ejemplo de configuración:

add ns ip 10.10.10.10 255.255.255.255 -mptcpAdvertise YES -type VIP state DISABLED -arp DISABLED
bind ipset ipset_1 10.10.10.10
set lb vserver lb1 -ipset ipset_1
<!--NeedCopy-->

Anunciar una dirección IP a los clientes habilitados para MPTCP mediante la GUI de NetScaler

Complete el siguiente paso para anunciar la dirección IP a los clientes habilitados para MPTCP:

  1. Navegue hasta Sistema > Red > IP.
  2. En el panel de detalles, haga clic en Agregar.
  3. En la página Crear dirección IP, active la casilla de verificación Publicidad MPTCP para establecer el parámetro. De forma predeterminada, está inhabilitada.

Extracción de la opción de superposición de ruta TCP/IP e inserción del encabezado HTTP Client-IP

Extracción de superposición de ruta TCP/IP e inserción de encabezado HTTP Client-IP. El transporte de datos a través de redes superpuestas suele utilizar la terminación de la conexión o la traducción de direcciones de red (NAT), en las que se pierde la dirección IP del cliente de origen. Para evitarlo, el dispositivo NetScaler extrae la opción de superposición de rutas TCP/IP e inserta la dirección IP del cliente de origen en el encabezado HTTP. Con la dirección IP en el encabezado, el servidor web puede identificar el cliente de origen que realizó la conexión. Los datos extraídos son válidos durante toda la vida de la conexión TCP y, por lo tanto, evita que el host de salto siguiente tenga que interpretar la opción de nuevo. Esta opción solo se aplica a los servicios web que tienen habilitada la opción de inserción de IP de cliente.

Descarga de segmentación TCP

Descarga la segmentación TCP a la NIC. Si establece la opción como “AUTOMÁTICO”, la segmentación TCP se descarga en la NIC, si se admite la NIC.

Esto se utiliza para resistir ataques de inundación SYN. Puede habilitar o inhabilitar el mecanismo SYNCOOKIE para el intercambio de manos TCP con los clientes. La desactivación de SYNCOOKIE evita la protección contra ataques SYN en el dispositivo NetScaler.

Aprendizaje de MSS para habilitar el aprendizaje de MSS para todos los servidores virtuales configurados en el dispositivo

Parámetros TCP compatibles

La siguiente tabla proporciona una lista de los parámetros TCP y sus valores predeterminados:

Parámetro Valor predeterminado Descripción
Gestión de ventanas    
Temporizador TCP demora-ACK 100 milisegundos Tiempo de espera para TCP retrasado ACK, en milisegundos.
Tiempo de espera mínimo de retransmisión (RTO) TCP en millones de segundos 1000 millones seg Tiempo de espera mínimo de retransmisión, en milisegundos, especificado en incrementos de 10 milisegundos (el valor debe generar un número entero si se divide por 10)
Tiempo de inactividad de la conexión antes de iniciar las sondas keep-alive 900 segundos Desconecte silenciosamente las conexiones establecidas por TCP en tiempos de espera inactivos, conexiones establecidas en tiempo de espera por inactividad
Opción de marca de hora TCP INHABILITADO La opción de marca de tiempo permite una medición RTT precisa. Habilitar o inhabilitar la opción Marca de tiempo TCP.
Tiempo de espera de sesión TCP multiruta 0 segundos Tiempo de espera de la sesión MPTCP en segundos. Si este valor no está establecido, inactivo. Las sesiones MPTCP se vacían después del tiempo de espera por inactividad del cliente del servidor virtual.
Suelte silenciosamente las conexiones semicerradas en tiempo de espera inactivo 0 segundos Desconecte silenciosamente las conexiones TCP semicerradas en el tiempo de espera inactivo.
Suelta silenciosamente las conexiones establecidas en el tiempo de espera inactivo INHABILITADO Se eliminan silenciosamente las conexiones establecidas por TCP en el tiempo de espera inactivo
Administración de la memoria    
Tamaño del búfer TCP
131072 octetos
El tamaño del búfer TCP es el tamaño del búfer de recepción en NetScaler. Este tamaño de búfer se anuncia a clientes y servidores desde NetScaler y controla su capacidad para enviar datos a NetScaler. El tamaño predeterminado del búfer es 131072 y, por lo general, es seguro incrementarlo cuando se habla con conjuntos de servidores internos. El tamaño del búfer también se ve afectado por la capa de aplicación real de NetScaler. Para los casos de dispositivos de punto final SSL, el tamaño del búfer se establece en 40 K y para la compresión, en 96 K.
Nota: El argumento del tamaño del búfer debe estar establecido para que se realicen los ajustes dinámicos.
Tamaño del búfer de envío TCP 131072 octetos Tamaño del búfer de envío TCP
Búfer de recepción dinámica TCP INHABILITADO Habilita o inhabilita el búfer de recepción dinámica. Cuando está habilitado, permite que el búfer de recepción se ajuste dinámicamente en función de las condiciones de la memoria y de la red. Nota: El argumento de tamaño del búfer debe establecerse para que se realicen ajustes dinámicos
Ventana de congestión TCP Max (CWND) 524288 bytes Ventana Congestión máxima de TCP
Estado de escalado de ventana HABILITADO Habilita o inhabilita el escalado de ventanas.
Factor de escala de ventana 8 Factor utilizado para calcular el tamaño de la nueva ventana. Este argumento solo es necesario cuando el escalado de ventana está habilitado.
Configuración de conexión    
Sondas Keep-alive INHABILITADO Envía sondeos de mantenimiento (KA) TCP periódicos para comprobar si el par sigue activo.
Tiempo de inactividad de la conexión antes de iniciar las sondas keep-alive 900 segundos Duración, en segundos, para que la conexión esté inactiva, antes de enviar una sonda keep-alive (KA).
Intervalo de sonda Keep-alive 75 segundos Intervalo de tiempo, en segundos, antes de la siguiente sonda keep-alive (KA), si el par no responde.
Sondeos keep-alive máximos que se deben omitir antes de interrumpir la conexión. 3 Número de sondeos keep-alive (KA) que se enviarán cuando no se reconozcan, antes de suponer que el par está inactivo.
Cumplimiento con la RFC 5961 INHABILITADO Habilite el cumplimiento de la RFC 5961 para protegerse contra la suplantación de identidad. Cuando está habilitado, proporciona atenuación de ventanas RST y protección contra la suplantación de SYN y también le permite controlar la cantidad de ACK de desafío que envía el NetScaler. Tenga en cuenta que para que funcione la función de conformidad con la RFC 5961, debe inhabilitar tanto la atenuación de la ventana RST como la protección contra la suplantación SYN.
Atenuación de ventana RST (protección contra falsificación). INHABILITADO Habilite o inhabilite la atenuación de la ventana de RST para protegerse contra la suplantación de identidad. Cuando está habilitada, la respuesta es con ACK correctivo cuando un número de secuencia no es válido.
Acepte RST con el último número de secuencia reconocido. HABILITADO  
Transferencia de datos    
ACK inmediato en el paquete PUSH HABILITADO Envíe acuse de recibo positivo inmediato (ACK) al recibir paquetes TCP con el indicador PUSH.
Paquetes máximos por MSS 0 Número máximo de octetos permitidos en un segmento de datos TCP
Algoritmo de Nagle INHABILITADO El algoritmo de Nagle combate el problema de los paquetes pequeños en la transmisión TCP. Aplicaciones como Telnet y otros motores en tiempo real que requieren que cada pulsación de tecla se pase al otro lado suelen crear paquetes pequeños. Con el algoritmo de Nagle, NetScaler puede almacenar en búfer esos paquetes pequeños y enviarlos juntos para aumentar la eficiencia de la conexión. Este algoritmo debe funcionar junto con otras técnicas de optimización TCP en NetScaler.
Máximo de segmentos TCP permitidos en una ráfaga 10 MSS Número máximo de segmentos TCP permitidos en una ráfaga
Paquetes máximos fuera de servicio para poner en cola 300 Tamaño máximo de la cola de paquetes fuera de servicio. Un valor de 0 significa que no hay límite
Control de congestión    
Tipo de TCP CUBIC  
Configuración de la ventana de congestión inicial (cwnd) 4 MSS Límite superior máximo inicial del número de paquetes TCP que pueden quedar pendientes en el enlace TCP al servidor
Notificación de congestión explícita de TCP (ECN) INHABILITADO La notificación explícita de congestión (ECN) proporciona una notificación de extremo a extremo de la congestión de la red sin perder paquetes.
Ventana de congestión TCP Max (CWND) 524288 bytes TCP mantiene una ventana de congestión (CWND), lo que limita el número total de paquetes no reconocidos que pueden estar en tránsito de extremo a extremo. En TCP, la ventana de congestión es uno de los factores que determina el número de bytes que pueden estar pendientes en cualquier momento. La ventana de congestión es un medio para evitar que un enlace entre el remitente y el receptor se sobrecargue con demasiado tráfico. Se calcula calculando cuánta congestión hay en el enlace.
Inicio híbrido TCP (HyStart) 8 bytes  
Tiempo de espera mínimo de retransmisión (RTO) TCP en millones de segundos 1000 Tiempo de espera mínimo de retransmisión, en milisegundos, especificado en incrementos de 10 milisegundos (el valor debe producir un número entero si se divide por 10).
Umbral de dupack TCP INHABILITADO  
Control de velocidad de ráfaga 3 Control de velocidad de ráfaga TCP DESACTIVADO/FIJO/DINÁMICO. FIJO requiere que se establezca una tasa TCP
Tasa TCP INHABILITADO Velocidad de envío de carga útil de conexión TCP en KB/s
Cola máxima de velocidad TCP 0 Tamaño máximo de cola de conexión en bytes, cuando se utiliza BurstRateControl.
MPTCP    
TCP multitrayecto INHABILITADO TCP multirruta (MPTCP) es un conjunto de extensiones a TCP normal para proporcionar un servicio TCP multirruta, que permite que una conexión de transporte funcione a través de múltiples rutas simultáneamente.
Datos de caída de TCP multiruta en un subflujo preestablecido INHABILITADO Habilite o inhabilite la supresión silenciosa de los datos en el subflujo preestablecido. Cuando se habilita, los paquetes de datos DSS se descartan de forma silenciosa en lugar de interrumpir la conexión cuando se reciben datos en un subflujo preestablecido.
TCP multirruta de apertura rápida INHABILITADO Habilite o inhabilite la apertura rápida de TCP multiruta. Cuando se habilita, los paquetes de datos DSS se aceptan antes de recibir el tercer paquete de protocolo de enlace SYN.
Tiempo de espera de sesión TCP multiruta 0 segundos Tiempo de espera de la sesión MPTCP en segundos. Si no se establece este valor, las sesiones MPTCP inactivas se vacían después del tiempo de espera por inactividad del cliente del servidor virtual.
Seguridad    
Protección contra la suplantación SYN INHABILITADO Habilite o inhabilite la suplantación de paquetes SYN no válidos para protegerse contra la suplantación de identidad. Cuando se inhabilita, las conexiones establecidas se restablecen cuando se recibe un paquete SYN.
Syncookie TCP INHABILITADO Esto se utiliza para resistir ataques de inundación SYN. Habilita o inhabilita el mecanismo SYNCOOKIE para el enlace TCP con los clientes. La desactivación de SYNCOOKIE impide la protección contra ataques SYN en el dispositivo NetScaler.
Detección y recuperación de pérdidas    
Reconocimiento selectivo duplicado (DSACK) HABILITADO Un dispositivo NetScaler utiliza el reconocimiento selectivo duplicado (DSACK) para determinar si una retransmisión se envió por error.
Recuperación de RTO hacia adelante (FRTO) HABILITADO Detecta tiempos de espera de retransmisión TCP falsos. Después de retransmitir el primer segmento no reconocido desencadenado por un tiempo de espera, el algoritmo del remitente TCP supervisa los acuses de recibo entrantes para determinar si el tiempo de espera fue falso. A continuación, decide si quiere enviar nuevos segmentos o retransmitir segmentos no confirmados. El algoritmo ayuda eficazmente a evitar otras retransmisiones innecesarias y, por lo tanto, mejora el rendimiento de TCP en caso de un tiempo de espera fúrico.
Reconocimiento de reenvío TCP (FACK) HABILITADO Activa o desactiva FACK (Forward ACK).
Estado de reconocimiento selectivo (SACK) HABILITADO TCP SACK soluciona el problema de pérdidas de varios paquetes, lo que reduce la capacidad de rendimiento general. Con un acuse de recibo selectivo, el receptor puede informar al remitente sobre todos los segmentos que se han recibido correctamente, lo que permite al remitente solo retransmitir los segmentos que se han perdido. Esta técnica ayuda a NetScaler a mejorar el rendimiento general y reducir la latencia de conexión.
Paquetes máximos por retransmisión 1 Permite a NetScaler controlar cuántos paquetes se retransmitirán en un intento. Cuando NetScaler recibe una ACK parcial y tiene que realizar una retransmisión, se tiene en cuenta esta configuración. Esto no afecta a las retransmisiones basadas en RTO.
Temporizador TCP demora-ACK 100 milisegundos Tiempo de espera para ACK retrasado de TCP, en milisegundos
Optimización del TCO    
Modo de optimización TCP TRANSPARENT Modos de optimización TCP TRANSPARENT/ENDPOINT
Aplicar optimizaciones TCP adaptativas INHABILITADO Aplicar optimizaciones TCP adaptativas
Descarga de segmentación TCP AUTOMÁTICO Descargue la segmentación TCP a la NIC. Si se establece en AUTOMATIC, la segmentación TCP se descarga a la NIC, si la NIC lo admite.
Agregación ACK INHABILITADO Habilitar o inhabilitar la agregación ACK
Tiempo de espera TCP (o Time_wait) 40 segundos Tiempo transcurrido antes de liberar una conexión TCP cerrada
Desvincular cliente y servidor en RST INHABILITADO Desvincule la conexión del cliente y el servidor, cuando haya datos pendientes que se enviarán al otro lado.

Nota:

Cuando HTTP/2 está habilitado, Citrix recomienda inhabilitar el parámetro TCP Dynamic Receive Buffering en el perfil TCP.

Configuración de parámetros TCP globales

El dispositivo NetScaler permite especificar valores para los parámetros TCP aplicables a todos los servicios y servidores virtuales de NetScaler. Esto se puede hacer mediante:

  • Perfil TCP predeterminado
  • Comando TCP global
  • Función de almacenamiento en búfer TCP

Notas:

  • El parámetro recvBuffSize del comando set ns tcpParam se retira a partir de la versión 9.2. En versiones posteriores, establezca el tamaño del búfer mediante el parámetro bufferSize del comando set ns tcpProfile. Si actualiza a una versión en la que el parámetro recvBuffSize está obsoleto, el parámetro bufferSize se establece en su valor predeterminado.

  • Al configurar el perfil TCP, asegúrese de que el parámetro buffersize TCP sea menor o igual al parámetro httppipelinebuffersize. Si el parámetro buffersize del perfil TCP es mayor que el parámetro httppipelinebuffersize del perfil HTTP, es posible que la carga de TCP se acumule y supere el tamaño del búfer del proceso HTTP. Esto hace que el dispositivo NetScaler restablezca la conexión TCP.

Perfil TCP predeterminado

Un perfil TCP, denominado como nstcp_default_profile, se utiliza para especificar las configuraciones TCP que se utilizan si no se proporcionan configuraciones TCP a nivel de servicio o servidor virtual.

Notas:

  • No todos los parámetros TCP se pueden configurar mediante el perfil TCP predeterminado. Algunas configuraciones deben realizarse mediante el comando TCP global (consulte la sección siguiente).

  • El perfil predeterminado no tiene que estar vinculado explícitamente a un servicio o servidor virtual.

Para configurar el perfil TCP predeterminado

  • Mediante la interfaz de línea de comando, en la solicitud de comando escriba:

     set ns tcpProfile nstcp_default_profile...
     <!--NeedCopy-->
    
  • En la GUI, vaya a Sistema > Perfiles, haga clic en Perfiles TCP y actualice nstcp_default_profile.

Comando TCP global

Otro enfoque que puede utilizar para configurar los parámetros TCP globales es el comando TCP global. Además de algunos parámetros únicos, este comando duplica algunos parámetros que se pueden establecer mediante un perfil TCP. Cualquier actualización realizada en estos parámetros duplicados se refleja en el parámetro correspondiente del perfil TCP predeterminado.

Por ejemplo, si el parámetro SACK se actualiza con este enfoque, el valor se refleja en el parámetro SACK del perfil TCP predeterminado (nstcp_default_profile).

Nota:

Citrix recomienda utilizar este enfoque solo para los parámetros TCP que no están disponibles en el perfil TCP predeterminado.

Para configurar el comando TCP global

  • Mediante la interfaz de línea de comando, en la solicitud de comando escriba:

     set ns tcpParam …
     <!--NeedCopy-->
    
  • En la GUI, vaya a Sistema > Configuración, haga clic en Cambiar parámetros TCP y, a continuación, actualice los parámetros TCP necesarios.

Función de almacenamiento en búfer TCP

NetScaler proporciona una función denominada búfer TCP que puede utilizar para especificar el tamaño del búfer TCP. La función se puede habilitar globalmente o a nivel de servicio.

Nota:

El tamaño del búfer también se puede configurar en el perfil TCP predeterminado. Si el tamaño del búfer tiene valores diferentes en la función de almacenamiento en búfer TCP y en el perfil TCP predeterminado, se aplica el valor mayor.

Configurar la función de almacenamiento en búfer TCP globalmente

  • En la solicitud de comando escriba:

    habilitar el modo ns TCPB

    set ns tcpbufParam -size <positiveInteger> -memLimit <positiveInteger>

  • En la GUI, vaya a Sistema > Configuración, haga clic en Configurar modos y, a continuación, seleccione Almacenamiento en búfer TCP.

    Además, vaya a Sistema > Configuración, haga clic en Cambiar parámetros TCP, especifique valores para Tamaño de búfer y Límite de uso de memoria.

Configuración de parámetros TCP específicos del servicio o del servidor virtual

Mediante los perfiles TCP, puede especificar parámetros TCP para servicios y servidores virtuales. Debe definir un perfil TCP (o utilizar un perfil TCP integrado) y asociarlo con el servicio y el servidor virtual adecuados.

Nota:

También puede modificar los parámetros TCP de los perfiles predeterminados según sus necesidades.

Puede especificar el tamaño del búfer TCP a nivel de servicio mediante los parámetros especificados por la función de almacenamiento en búfer TCP.

Para especificar configuraciones TCP a nivel de servicio o servidor virtual mediante la interfaz de línea de comandos

En el símbolo del sistema, realice lo siguiente:

  1. Configure el perfil TCP.

    set ns tcpProfile <profile-name>...
    <!--NeedCopy-->
    
  2. Enlazar el perfil TCP al servicio o al servidor virtual.

   set service <name> ....
   <!--NeedCopy-->

Ejemplo:

> set service service1 -tcpProfileName profile1

Para enlazar el perfil TCP al servidor virtual:

set lb vserver <name> ....
<!--NeedCopy-->

Ejemplo:

> set lb vserver lbvserver1 -tcpProfileName profile1
<!--NeedCopy-->

Para especificar configuraciones TCP de nivel de servidor virtual o de servicio mediante la interfaz gráfica de usuario

En la GUI, realice lo siguiente:

  1. Configure el perfil TCP.

    Vaya a Sistema > Perfiles > Perfiles TCPy cree el perfil TCP.

  2. Enlazar el perfil TCP al servicio o al servidor virtual.

    Vaya a Administración del tráfico > Equilibrio de carga > Servicios/Servidores virtualesy cree el perfil TCP, que debe estar vinculado al servicio o al servidor virtual.

Perfiles TCP incorporados

Para facilitar la configuración, NetScaler proporciona algunos perfiles TCP integrados. Revise los perfiles integrados que aparecen en la lista siguiente y seleccione un perfil y utilícelo tal como está o modifíquelo para cumplir con sus requisitos. Puede vincular estos perfiles a los servicios o servidores virtuales requeridos.

Perfil incorporado Descripción
nstcp_default_profile Representa la configuración TCP global predeterminada del dispositivo.
nstcp_default_tcp_lan Útil para conexiones de servidor back-end, donde estos servidores residen en la misma LAN que el dispositivo.
nstcp_default_WAN Útil para implementaciones WAN.
nstcp_default_tcp_lan_thin_stream Similar al perfil nstcp_default_tcp_lan. Sin embargo, la configuración se ajusta a flujos de paquetes de tamaño pequeño.
nstcp_default_tcp_interactive_stream Similar al perfil nstcp_default_tcp_lan. Sin embargo, tiene un temporizador ACK retardado reducido y ACK en la configuración de paquetes PUSH.
nstcp_default_tcp_lfp Útil para redes de procesos gruesos y largos (WAN) del lado del cliente. Las redes de procesos largos y gruesos tienen líneas de larga demora y gran ancho de banda con mínimas caídas de paquetes.
nstcp_default_tcp_lfp_thin_stream Similar al perfil nstcp_default_tcp_lfp. Sin embargo, la configuración está ajustada para flujos de paquetes de tamaño pequeño.
nstcp_default_tcp_lnp Útil para redes de procesos largos y estrechos (WAN) del lado del cliente. Las redes de procesos largos y estrechos tienen pérdidas de paquetes considerables ocasionalmente.
nstcp_default_tcp_lnp_thin_stream Similar al perfil nstcp_default_tcp_lnp. Sin embargo, la configuración está ajustada para flujos de paquetes de tamaño pequeño.
nstcp_internal_apps Útil para aplicaciones internas del dispositivo (por ejemplo, sincronización de sitios GSLB). Contiene opciones de ajuste de escala de ventana y SACK para las aplicaciones deseadas. Este perfil no debe vincularse a aplicaciones distintas de las aplicaciones internas.
nstcp_default_mobile_profile Útil para dispositivos móviles.
nstcp_default_XA_XD_profile Útil para la implementación de Citrix Virtual Apps and Desktops.

Configuraciones TCP de ejemplo

Ejemplos de interfaz de línea de comandos de ejemplo para configurar lo siguiente:

Defender el TCP contra los ataques de suplantación

Antes de la compatibilidad con la RFC 5961

Para habilitar la atenuación de la ventana RST y la protección contra la suplantación de SYN mediante la CLI:

> set ns tcpProfile profile1 -rstWindowAttenuate ENABLED -spoofSynDrop ENABLED
    Done
 > set lb vserver lbvserver1 -tcpProfileName profile1
    Done
<!--NeedCopy-->

Para habilitar la atenuación de la ventana RST y la protección contra la suplantación de SYN mediante la GUI:

  1. Vaya a Sistema > Perfiles > Perfiles TCPy haga clic en Agregar para crear un perfil TCP.
  2. Seleccione la atenuación de ventanas RST y la protección contra la suplantaciónSYN.
  3. Haga clic en Crear.

Desde la versión 14.1-4.x de NetScaler en adelante con soporte de conformidad con RFC 5961

Para habilitar el cumplimiento de la RFC 5961 mediante la CLI:

> set ns tcpProfile profile1 -rstWindowAttenuate DISABLED -spoofSynDrop DISABLED -rfc5961Compliance ENABLED
    Done
> set lb vserver lbvserver1 -tcpProfileName profile1
    Done
<!--NeedCopy-->

Para imponer el límite al número de ACK de desafío permitidos por segundo, habilite el parámetro rfc5961ChallengeAckLimit:

> set ns tcpParam -rfc5961ChlgAckLimit 100
 Done
<!--NeedCopy-->

Para habilitar el cumplimiento de la RFC 5961 mediante la GUI:

  1. Vaya a Sistema > Perfiles > Perfiles TCPy haga clic en Agregar para crear un perfil TCP.
  2. Elimine la atenuación de la ventana RST y la protección antisuplantaciónSYN.
  3. Seleccione Cumplimiento con RFC5961 y haga clic en Crear.
  4. Navegue hasta Sistema > Configuración > Cambiar parámetros TCP.
  5. Introduzca un valor en RFC5961 Chlg Ack Limit y haga clic en Aceptar.

Notificación explícita de congestión (ECN)

Habilite ECN en el perfil TCP requerido.

    > set ns tcpProfile profile1 -ECN ENABLED
    Done
    > set lb vserver lbvserver1 -tcpProfileName profile1
    Done
<!--NeedCopy-->

Reconocimiento selectivo (SACK)

Habilite SACK en el perfil TCP requerido.

    > set ns tcpProfile profile1 -SACK ENABLED
    Done
    > set lb vserver lbvserver1 -tcpProfileName profile1
    Done
<!--NeedCopy-->

Reconocimiento directo (FACK)

Habilite FACK en el perfil TCP requerido.

> set ns tcpProfile profile1 -FACK ENABLED
> set lb vserver lbvserver1 -tcpProfileName profile1
<!--NeedCopy-->

Escalado de ventanas (WS)

Habilite el escalado de ventana y defina el factor de escala de ventana en el perfil TCP requerido.

set ns tcpProfile profile1 –WS ENABLED –WSVal 9
Done
set lb vserver lbvserver1 -tcpProfileName profile1
Done
<!--NeedCopy-->

Tamaño máximo de segmento (MSS)

Actualice las configuraciones relacionadas con MSS.

> set ns tcpProfile profile1 –mss 1460 - maxPktPerMss 512
Done
> set lb vserver lbvserver1 -tcpProfileName profile1
Done
<!--NeedCopy-->

NetScaler para aprender el MSS de un servidor virtual

Habilite NetScaler para aprender el VSS y actualizar otras configuraciones relacionadas.

> set ns tcpParam -learnVsvrMSS ENABLED –mssLearnInterval 180 -mssLearnDelay 3600
Done
<!--NeedCopy-->

TCP keep-alive

Habilite el mantenimiento activo de TCP y actualice otras configuraciones relacionadas.

> set ns tcpProfile profile1 –KA ENABLED –KaprobeUpdateLastactivity ENABLED -KAconnIdleTime 900 -KAmaxProbes 3 -KaprobeInterval 75 Done > set lb vserver lbvserver1 -tcpProfileName profile1 Done

Tamaño del búfer: uso del perfil TCP

Especifique el tamaño del búfer.

> set ns tcpProfile profile1 –bufferSize 8190 Done > set lb vserver lbvserver1 -tcpProfileName profile1 Done

Tamaño del búfer: uso de la función de almacenamiento en búfer TCP

Habilite la función de almacenamiento en búfer TCP (globalmente o para un servicio) y, a continuación, especifique el tamaño del búfer y el límite de memoria.

> enable ns feature TCPB Done > set ns tcpbufParam -size 64 -memLimit 64 Done

MPTCP

Habilite MPTCP y, a continuación, establezca las configuraciones opcionales de MPTCP.

> set ns tcpProfile profile1 -mptcp ENABLED Done > set ns tcpProfile profile1 -mptcpDropDataOnPreEstSF ENABLED -mptcpFastOpen ENABLED -mptcpSessionTimeout 7200 Done > set ns tcpparam -mptcpConCloseOnPassiveSF ENABLED -mptcpChecksum ENABLED -mptcpSFtimeout 0 -mptcpSFReplaceTimeout 10 -mptcpMaxSF 4 -mptcpMaxPendingSF 4 -mptcpPendingJoinThreshold 0 -mptcpRTOsToSwitchSF 2 -mptcpUseBackupOnDSS ENABLED Done

Control de congestión

Defina el algoritmo de control de congestión TCP necesario.

set ns tcpProfile profile1 -flavor Westwood Done > set lb vserver lbvserver1 -tcpProfileName profile1 Done

Almacenamiento en búfer de recepción dinámico

Habilite el almacenamiento en búfer de recepción dinámica en el perfil TCP necesario.

> set ns tcpProfile profile1 -dynamicReceiveBuffering ENABLED Done > set lb vserver lbvserver1 -tcpProfileName profile1 Done

Admite para TCP Fast Open (TFO) en TCP Multipath (MPTCP)

Un dispositivo NetScaler ahora admite el mecanismo TCP Fast Open (TFO) para establecer conexiones TCP de múltiples rutas (MPTCP) y acelerar las transferencias de datos. El mecanismo permite que los datos de subflujo se transportan durante el enlace inicial de conexión MPTCP en paquetes SYN y SYN-ACK y también permite que los datos sean consumidos por el nodo receptor durante el establecimiento de la conexión MPTCP.

Para obtener más información, consulte el tema TCP Fast Open.

Un dispositivo NetScaler ahora permite configurar una cookie TCP Fast Open (TFO) de longitud variable con un tamaño mínimo de 4 bytes y un tamaño máximo de 16 bytes en un perfil TCP. Al hacerlo, el dispositivo puede responder al cliente con el tamaño de cookie TFO configurado en el paquete SYN-ACK.

Para configurar la cookie TCP Fast Open (TFO) en un perfil TCP mediante la interfaz de línea de comandos

En la línea de comandos, escriba:

set tcpProfile nstcp_default_profile -tcpFastOpenCookieSize <positive_integer>

Ejemplo

set tcpProfile nstcp_default_profile -tcpFastOpenCookieSize 8

Para configurar la cookie TCP Fast Open (TFO) en un perfil TCP mediante la GUI

  1. Vaya a Configuración > Sistema > Perfiles.
  2. En el panel de detalles, vaya a la ficha Perfiles TCP y seleccione un perfil TCP.
  3. En la página Configurar perfil TCP, establezca el tamaño de la cookie TCP Fast Open.
  4. Haga clic en Aceptar y Listo.

El parámetro TCPSyncookie está habilitado de forma predeterminada en los perfiles TCP para proporcionar una protección sólida (RFC 4987) contra ataques SYN. Si necesita acomodar clientes TCP personalizados que no son compatibles con esta protección pero que aún quieren garantizar una reserva en caso de ataque, synAttackDetection maneja activando automáticamente el comportamiento SYNCookie internamente durante un período de tiempo determinado por el parámetro autosyncookietimeout.

Para configurar el umbral máximo de retransmisión SYN ACK mediante la interfaz de línea de comandos:

En la línea de comandos, escriba:

    set ns tcpparam [-maxSynAckRetx <positive_integer>]

    Set ns tcpparam [-maxSynAckRetx 150]
<!--NeedCopy-->

Para configurar el intervalo de tiempo de espera automático de cookies SYN mediante la interfaz de línea de comandos

En la línea de comandos, escriba:

set ns tcpparam [-autosyncookietimeout <positive_integer>]

Set ns tcpparam [-autosyncookietimeout 90]

Generación de ISN mejorada

Cuando está habilitado, el parámetro aumenta la varianza de los números de secuencia iniciales (ISN) generados por NetScaler al establecer una conexión TCP. Este escenario solo se aplica a las conexiones TCP en las que NetScaler actúa como servidor. De forma predeterminada, el parámetro está desactivado.

Para habilitar la generación mejorada de ISN mediante la CLI, ejecute el siguiente comando:

set ns tcpparam -enhancedISNgeneration [ENABLED | DISABLED]
<!--NeedCopy-->

Ejemplo:

set ns tcpparam -enhancedISNgeneration ENABLED
<!--NeedCopy-->

Para habilitar la generación mejorada de ISN mediante la GUI:

  1. Vaya a Configuración -> Sistema -> Configuración -> Cambiar parámetros TCP.

  2. En la página Configurar parámetros TCP, seleccione Generación de ISN mejorada.

  3. Haga clic en OK.

Desvincular conexión cliente y servidor

Cuando está habilitado, el parámetro desvincula la conexión del cliente y del servidor cuando hay datos pendientes que se envían al otro lado. De forma predeterminada, el parámetro está desactivado.

set ns tcpparam -delinkClientServerOnRST ENABLED
Done
<!--NeedCopy-->

Configurar el parámetro umbral de inicio lento

Puede usar el parámetro slowStartthreshold de umbral de inicio lento para configurar el valor tcp-slowstartthreshold de la variante Nile del algoritmo de control de congestión. Los valores aceptables para el parámetro son min = 8190 y max = 524288. El valor predeterminado es 524288. La variante TCP Nile, en el perfil TCP, ya no depende del parámetro maxcwnd. Debe configurar el parámetro slowStartthreshold de la variante Nile.

En el símbolo del sistema, escriba:

set tcpprofile nstcp_default_profile -slowstartthreshold 8190
Done

<!--NeedCopy-->
Configuraciones TCP

En este artículo