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 algoritmos New-Reno, BIC, CUBIC, Nile y TCP Westwood.

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 del búfer predeterminado es de 8K y, por lo general, es seguro aumentarlo cuando se habla con comunidades de servidores internas. El tamaño del búfer también se vaya afectado por la capa de aplicación real de NetScaler, como en los casos de dispositivos de punto final SSL, se establece en 40 K y para Compresión en 96 K. **Nota:** El argumento de tamaño del búfer debe establecerse para que se realicen ajustes dinámicos.| |Tamaño del búfer de envío TCP|8190 bytes|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|Desvincular la conexión cliente y servidor, cuando hay 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

Notes:

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

Notes:

  • 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]

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