ADC

Optimización de TCP

TCP utiliza las siguientes técnicas de optimización y estrategias (o algoritmos) de control de la congestión para evitar la congestión de la red en la transmisión de datos.

Estrategias de control de la congestión

El TCP se ha utilizado durante mucho tiempo para establecer y administrar conexiones a Internet, gestionar los errores de transmisión y conectar sin problemas las aplicaciones web con los dispositivos cliente. Sin embargo, el tráfico de red se ha vuelto más difícil de controlar, porque la pérdida de paquetes no depende únicamente de la congestión de la red y la congestión no provoca necesariamente la pérdida de paquetes. Por lo tanto, para medir la congestión, un algoritmo TCP debe centrarse tanto en la pérdida de paquetes como en el ancho de banda.

Algoritmo de recuperación de velocidad proporcional (PRR)

Los mecanismos de recuperación rápida de TCP reducen la latencia web causada por las pérdidas de paquetes. El nuevo algoritmo de recuperación de velocidad proporcional (PRR) es un algoritmo de recuperación rápida que evalúa los datos TCP durante la recuperación de una pérdida. Se basa en la reducción a la mitad de la velocidad, utilizando la fracción apropiada para la ventana objetivo elegida por el algoritmo de control de congestión. Minimiza el ajuste de la ventana y el tamaño real de la ventana al final de la recuperación se acerca al umbral de inicio lento (ssthresh).

Apertura rápida de TCP (TFO)

TCP Fast Open (TFO) es un mecanismo TCP que permite un intercambio de datos rápido y seguro entre un cliente y un servidor durante el protocolo de enlace inicial de TCP. Esta función está disponible como una opción TCP en el perfil TCP enlazado a un servidor virtual de un dispositivo NetScaler. TFO utiliza una cookie TCP Fast Open (una cookie de seguridad) que genera el dispositivo NetScaler para validar y autenticar al cliente que inicia una conexión TFO con el servidor virtual. Al utilizar este mecanismo de TFO, puede reducir la latencia de la red de una aplicación en el tiempo necesario para un viaje de ida y vuelta completo, lo que reduce significativamente el retraso que se produce en las transferencias TCP cortas.

Cómo funciona TFO

Cuando un cliente intenta establecer una conexión TFO, incluye una cookie TCP Fast Open con el segmento SYN inicial para autenticarse. Si la autenticación se realiza correctamente, el servidor virtual del dispositivo NetScaler puede incluir datos en el segmento SYN-ACK aunque no haya recibido el último segmento ACK del protocolo de enlace tripartito. Esto ahorra hasta un viaje de ida y vuelta completo en comparación con una conexión TCP normal, que requiere un protocolo de enlace de tres vías antes de poder intercambiar datos.

Un cliente y un servidor de fondo llevan a cabo los siguientes pasos para establecer una conexión TFO e intercambiar datos de forma segura durante el protocolo de enlace TCP inicial.

  1. Si el cliente no tiene una cookie de apertura rápida de TCP para autenticarse, envía una solicitud de cookie de apertura rápida en el paquete SYN al servidor virtual del dispositivo NetScaler.
  2. Si la opción TFO está habilitada en el perfil TCP vinculado al servidor virtual, el dispositivo genera una cookie (cifrando la dirección IP del cliente con una clave secreta) y responde al cliente con un SYN-ACK que incluye la cookie de apertura rápida generada en un campo de opciones de TCP.
  3. El cliente almacena en caché la cookie para futuras conexiones de TFO al mismo servidor virtual del dispositivo.
  4. Cuando el cliente intenta establecer una conexión TFO con el mismo servidor virtual, envía un SYN que incluye la cookie de apertura rápida almacenada en caché (como opción TCP) junto con los datos HTTP.
  5. El dispositivo NetScaler valida la cookie y, si la autenticación se realiza correctamente, el servidor acepta los datos del paquete SYN y reconoce el evento con un SYN-ACK, una cookie TFO y una respuesta HTTP.

Nota:

Si se produce un error en la autenticación del cliente, el servidor elimina los datos y solo reconoce el evento con un SYN que indica que se ha agotado el tiempo de espera de la sesión.

  1. En el lado del servidor, si la opción TFO está habilitada en un perfil TCP enlazado a un servicio, el dispositivo NetScaler determina si la cookie de apertura rápida de TCP está presente en el servicio al que intenta conectarse.
  2. Si la cookie TCP Fast Open no está presente, el dispositivo envía una solicitud de cookie en el paquete SYN.
  3. Cuando el servidor de fondo envía la cookie, el dispositivo almacena la cookie en la memoria caché de información del servidor.
  4. Si el dispositivo ya tiene una cookie para el par IP de destino dado, sustituye la cookie antigua por la nueva.
  5. Si la cookie está disponible en la memoria caché de información del servidor cuando el servidor virtual intenta volver a conectarse al mismo servidor de fondo mediante la misma dirección SNIP, el dispositivo combina los datos del paquete SYN con la cookie y los envía al servidor de fondo.
  6. El servidor de fondo reconoce el evento con datos y un SYN.

Nota: Si el servidor reconoce el evento solo con un segmento SYN, el dispositivo NetScaler reenvía inmediatamente el paquete de datos tras eliminar el segmento SYN y las opciones de TCP del paquete original.

Configuración de TCP fast open

Para utilizar la función TCP Fast Open (TFO), active la opción TCP Fast Open en el perfil TCP correspondiente y configure el parámetro TFO Cookie Timeout en un valor que se ajuste a los requisitos de seguridad de ese perfil.

Habilitar o inhabilitar TFO mediante la CLI

En la línea de comandos, escriba uno de los siguientes comandos para habilitar o inhabilitar el TFO en un perfil nuevo o existente.

Nota: El valor predeterminado es DISABLED.

    add tcpprofile <TCP Profile Name> - tcpFastOpen ENABLED | DISABLED
    set tcpprofile <TCP Profile Name> - tcpFastOpen ENABLED | DISABLED
    unset tcpprofile <TCP Profile Name> - tcpFastOpen
    Examples
    add tcpprofile Profile1 – tcpFastOpen
    Set tcpprofile Profile1 – tcpFastOpen Enabled
    unset tcpprofile Profile1 – tcpFastOpen
<!--NeedCopy-->

En la línea de comandos, escriba:

    set tcpparam –tcpfastOpenCookieTimeout <Timeout Value>
    Example
    set tcpprofile –tcpfastOpenCookieTimeout 30secs
<!--NeedCopy-->

Para configurar el TCP Fast Open mediante la interfaz gráfica de usuario

  1. Vaya a Configuración > Sistema > Perfiles > y, a continuación, haga clic en Modificar para modificar un perfil TCP.
  2. En la página Configurar perfil TCP, seleccione la casilla TCP Fast Open.
  3. Haga clic en Aceptar y luego en Listo.

Vaya a Configuración >Sistema>Configuración** > **Cambiar los parámetros de TCP y, a continuación, a la página Configurar parámetros de TCP para establecer el valor de tiempo de espera de la cookie de apertura rápida de TCP.

TCP HyStart

Un nuevo parámetro de perfil TCP, HyStart, habilita el algoritmo HyStart, que es un algoritmo de inicio lento que determina dinámicamente un punto seguro en el que terminar (ssthresh). Permite una transición a la prevención de la congestión sin grandes pérdidas de paquetes. Este nuevo parámetro está desactivado de forma predeterminada.

Si se detecta congestión, HyStart entra en una fase de prevención de la congestión. Habilitarlo le brinda un mejor rendimiento en redes de alta velocidad con una gran pérdida de paquetes. Este algoritmo ayuda a mantener un ancho de banda cercano al máximo al procesar las transacciones. Por lo tanto, puede mejorar el rendimiento.

Configuración de TCP HyStart

Para utilizar la función HyStart, active la opción HyStart cúbico en el perfil TCP correspondiente.

Para configurar HyStart mediante la interfaz de línea de comandos (CLI)

En la línea de comandos, escriba uno de los siguientes comandos para habilitar o inhabilitar HyStart en un perfil TCP nuevo o existente.

add tcpprofile <profileName> -hystart ENABLED
set tcpprofile <profileName> -hystart ENABLED
unset tcprofile <profileName> -hystart
<!--NeedCopy-->

Ejemplos:

    add tcpprofile profile1 -hystart ENABLED
    set tcpprofile profile1 -hystart ENABLED
    unset tcprofile profile1 -hystart
<!--NeedCopy-->

Para configurar la compatibilidad con HyStart mediante la interfaz gráfica de usuario

  1. Vaya a Configuración > Sistema > Perfiles > y haga clic en Modificar para modificar un perfil TCP.
  2. En la página Configurar perfil TCP, active la casilla Cubic Hystart.
  3. Haga clic en Aceptar y luego en Listo.

Control de velocidad de ráfaga TCP

Se observa que los mecanismos de control TCP pueden provocar un flujo de tráfico acelerado en las redes móviles de alta velocidad con un impacto negativo en la eficiencia general de la red. Debido a las condiciones de la red móvil, como la congestión o la retransmisión de datos de capa 2, los acuse de recibo de TCP llegan agrupados al remitente, lo que desencadena una ráfaga de transmisión. Estos grupos de paquetes consecutivos enviados con un breve espacio entre paquetes se denominan ráfaga de paquetes TCP. Para superar la ráfaga de tráfico, el dispositivo NetScaler utiliza una técnica de control de velocidad de ráfaga TCP. Esta técnica distribuye uniformemente los datos en la red durante todo un viaje de ida y vuelta para que los datos no se envíen en ráfagas. Al utilizar esta técnica de control de velocidad de ráfaga, puede lograr un mejor rendimiento y tasas de caída de paquetes más bajas.

Cómo funciona el control de velocidad de ráfaga de TCP

En un dispositivo NetScaler, esta técnica distribuye de manera uniforme la transmisión de un paquete a lo largo de toda la duración del viaje de ida y vuelta (RTT). Esto se logra mediante el uso de una pila TCP y un programador de paquetes de red que identifica las diversas condiciones de la red para generar paquetes para las sesiones de TCP en curso a fin de reducir las ráfagas.

En el caso del remitente, en lugar de transmitir los paquetes inmediatamente después de recibir un acuse de recibo, el remitente puede retrasar la transmisión de los paquetes para distribuirlos a la velocidad definida por el programador (configuración dinámica) o por el perfil TCP (configuración fija).

Configuración del control de velocidad de ráfaga TCP

Para utilizar la opción de control de velocidad de ráfaga TCP en el perfil TCP correspondiente y configurar los parámetros de control de velocidad de ráfaga.

Para configurar el control de velocidad de ráfaga de TCP mediante la línea de comandos

En la línea de comandos, configure uno de los siguientes comandos de TCP Burst Rate Control como configurado en un perfil nuevo o existente.

Nota: El valor predeterminado es INHABILITADO.

add tcpprofile <TCP Profile Name> -burstRateControl Disabled | Dynamic | Fixed

set tcpprofile <TCP Profile Name> -burstRateControl Disabled | Dynamic | Fixed

unset tcpprofile <TCP Profile Name> -burstRateControl Disabled | Dynamic | Fixed
<!--NeedCopy-->

Donde:

Desactivado: si el control de velocidad de ráfaga está desactivado, un dispositivo NetScaler no realiza una administración de ráfagas distinta de la configuración maxBurst.

Fijo: si el control de velocidad de ráfaga de TCP es fijo, el dispositivo utiliza el valor de velocidad de envío de la carga útil de la conexión TCP mencionado en el perfil TCP.

Dinámico: si el control de velocidad de ráfaga es “dinámico”, la conexión se regula en función de diversas condiciones de la red para reducir las ráfagas de TCP. Este modo solo funciona cuando la conexión TCP está en modo ENDPOINT. Cuando el control dinámico de velocidad de ráfaga está habilitado, el parámetro maxBurst del perfil TCP no está en vigor.

add tcpProfile  profile1 -burstRateControl Disabled

set tcpProfile profile1 -burstRateControl Dynamic

unset tcpProfile profile1 -burstRateControl Fixed
<!--NeedCopy-->

Para configurar los parámetros del control de velocidad de ráfaga de TCP mediante la interfaz de línea de comandos

En la línea de comandos, escriba:

    set ns tcpprofile nstcp_default_profile –burstRateControl <type of burst rate control> –tcprate <TCP rate> -rateqmax <maximum bytes in queue>

    T1300-10-2> show ns tcpprofile nstcp_default_profile
            Name: nstcp_default_profile
            Window Scaling status:  ENABLED
            Window Scaling factor: 8
            SACK status: ENABLED
            MSS: 1460
            MaxBurst setting: 30 MSS
            Initial cwnd setting: 16 MSS
            TCP Delayed-ACK Timer: 100 millisec
            Nagle's Algorithm: DISABLED
            Maximum out-of-order packets to queue: 15000
            Immediate ACK on PUSH packet: ENABLED
            Maximum packets per MSS: 0
            Maximum packets per retransmission: 1
            TCP minimum RTO in millisec: 1000
            TCP Slow start increment: 1
            TCP Buffer Size: 8000000 bytes
            TCP Send Buffer Size: 8000000 bytes
            TCP Syncookie: ENABLED
            Update Last activity on KA Probes: ENABLED
            TCP flavor: BIC
            TCP Dynamic Receive Buffering: DISABLED
            Keep-alive probes: ENABLED
            Connection idle time before starting keep-alive probes: 900 seconds
            Keep-alive probe interval: 75 seconds
            Maximum keep-alive probes to be missed before dropping connection: 3
            Establishing Client Connection: AUTOMATIC
            TCP Segmentation Offload: AUTOMATIC
            TCP Timestamp Option: DISABLED
            RST window attenuation (spoof protection): ENABLED
            Accept RST with last acknowledged sequence number: ENABLED
            SYN spoof protection: ENABLED
            TCP Explicit Congestion Notification: DISABLED
            Multipath TCP: DISABLED
            Multipath TCP drop data on pre-established subflow: DISABLED
            Multipath TCP fastopen: DISABLED
            Multipath TCP session timeout: 0 seconds
            DSACK: ENABLED
            ACK Aggregation: DISABLED
            FRTO: ENABLED
            TCP Max CWND : 4000000 bytes
            FACK: ENABLED
            TCP Optimization mode: ENDPOINT
            TCP Fastopen: DISABLED
            HYSTART: DISABLED
            TCP dupack threshold: 3
            Burst Rate Control: Dynamic
            TCP Rate: 0
            TCP Rate Maximum Queue: 0
<!--NeedCopy-->

Para configurar el control de velocidad de ráfaga de TCP mediante la interfaz gráfica de usuario

  1. Vaya a Configuración > Sistema > Perfiles > y, a continuación, haga clic en Modificar para modificar un perfil TCP.
  2. En la página Configurar perfil TCP, seleccione la opción TCP Burst Control de la lista desplegable:
    1. BurstRateCntrl
    2. CreditBytePrms
    3. RateBytePerms
    4. RateSchedulerQ
  3. Haga clic en Aceptar y luego en Listo.

Algoritmo de protección contra secuencias envueltas (PAWS)

Si habilita la opción de marca de hora de TCP en el perfil TCP predeterminado, el dispositivo NetScaler utiliza el algoritmo Protection Against Wrapped Sequence (PAWS) para identificar y rechazar los paquetes antiguos cuyos números de secuencia se encuentran dentro de la ventana de recepción de la conexión TCP actual porque la secuencia se “empaquetó” (alcanzó su valor máximo y se reinició desde 0).

Si la congestión de la red retrasa un paquete de datos que no es de SYN y usted abre una nueva conexión antes de que llegue el paquete, el empaquetado de números de secuencia puede hacer que la nueva conexión acepte el paquete como válido, lo que provocará daños en los datos. Sin embargo, si la opción de marca de tiempo TCP está habilitada, el paquete se descarta.

De forma predeterminada, la opción de marca de tiempo TCP está inhabilitada. Si lo habilita, el dispositivo compara la marca de tiempo TCP (SEG.TSval) del encabezado de un paquete con el valor de la marca de tiempo reciente (TS.recent). Si SEG.TSval es igual o mayor que ts.Recent, se procesa el paquete. De lo contrario, el dispositivo descarta el paquete y envía un acuse de recibo correctivo.

Cómo funciona PAWS

El algoritmo PAWS procesa todos los paquetes TCP entrantes de una conexión sincronizada de la siguiente manera:

  1. Si SEG.TSval < Ts.recent: El paquete entrante no es aceptable. PAWS envía un acuse de recibo (como se especifica en el RFC-793) y descarta el paquete. Nota: El envío de un segmento ACK es necesario para conservar los mecanismos de TCP de detección y recuperación de conexiones semiabiertas.
  2. Si el paquete está fuera de la ventana: PAWS rechaza el paquete, como en el procesamiento TCP normal.
  3. Si SEG.TSval > Ts.recent: PAWS acepta el paquete y lo procesa.
  4. Si SEG.TSval <= Last.ACK.sent(el segmento que llega es satisfactorio): PAWS copia el valor SEG.TSval en Ts.recent.
  5. Si el paquete está en secuencia: PAWS acepta el paquete.
  6. Si el paquete no está en secuencia: el paquete se trata como un segmento TCP normal dentro de la ventana y fuera de secuencia. Por ejemplo, podría estar en cola para su entrega posterior.
  7. Si el Ts.recent valor permanece inactivo durante más de 24 días: se comprueba la validez de si Ts.recent se produce un error en la comprobación de la marca de tiempo de PAWS. Si se descubre que el valor ts.Recent no es válido, se acepta el segmento y se PAWS rule actualiza Ts.recent con el valor tsVal del nuevo segmento.

Para habilitar o inhabilitar la marca de tiempo de TCP mediante la interfaz de línea de comandos

En la línea de comandos, escriba:

`set nstcpprofile nstcp_default_profile -TimeStamp (ENABLED | DISABLED)`

Para habilitar o inhabilitar la marca de tiempo TCP mediante la interfaz gráfica de usuario

Vaya a Sistema > Perfil > PerfilTCP, seleccione el perfilTCP predeterminado, haga clic enEditary active o desactive la casilla de verificación deFecha y hora de TCP.

Técnicas de optimización

TCP utiliza las siguientes técnicas y métodos de optimización para optimizar los controles de flujo.

Selección de perfil TCP basada en directivas

El tráfico de red actual es más diverso e intensivo en ancho de banda que nunca. Con el aumento del tráfico, el efecto que la calidad de servicio (QoS) tiene en el rendimiento de TCP es significativo. Para mejorar la QoS, ahora puede configurar directivas de AppQoE con diferentes perfiles TCP para diferentes clases de tráfico de red. La directiva AppQoE clasifica el tráfico de un servidor virtual para asociar un perfil TCP optimizado para un tipo concreto de tráfico, como 3G, 4G, LAN o WAN.

Para utilizar esta función, cree una acción de directiva para cada perfil TCP, asocie una acción con directivas AppQoE y vincule las directivas a los servidores virtuales de equilibrio de carga.

Para obtener información sobre el uso de atributos de suscriptor para realizar la optimización TCP, consulte Perfil TCP basado en directivas.

Configuración de la selección de perfiles TCP basada en directivas

La configuración de la selección de perfiles TCP basada en directivas consiste en las siguientes tareas:

  • Habilitar AppQoE. Antes de configurar la función de perfil TCP, debe habilitar la función AppQoE.
  • Agregar AppQoE Action. Después de habilitar la función AppQoE, configure una acción de AppQoE con un perfil TCP.
  • Configuración de la selección de perfiles TCP basada en AppQoE. Para implementar la selección de perfiles TCP para diferentes clases de tráfico, debe configurar las directivas de AppQoE con las que NetScaler pueda distinguir las conexiones y vincular la acción correcta de AppQoE a cada directiva.
  • Enlazar la directiva de AppQoE al servidor virtual. Una vez que haya configurado las directivas de AppQoE, debe vincularlas a uno o más servidores virtuales de equilibrio de carga, conmutación de contenido o redirección de caché.

Configurar mediante la interfaz de línea de comandos

Para habilitar AppQoE mediante la interfaz de línea de comandos

En la línea de comandos, escriba los siguientes comandos para habilitar la función y comprobar que esté habilitada:

  • enable ns feature appqoe
  • show ns feature

Para vincular un perfil TCP al crear una acción de AppQoE mediante la interfaz de línea de comandos

En la línea de comandos, escriba el siguiente comando de acción de AppQoE con la tcpprofiletobind opción.

add appqoe action <name> [-priority <priority>] [-respondWith ( ACS | NS ) [<CustomFile>] [-altContentSvcName <string>] [-altContentPath <string>] [-maxConn <positive_integer>] [-delay <usecs>]] [-polqDepth <positive_integer>] [-priqDepth <positive_integer>] [-dosTrigExpression <expression>] [-dosAction ( SimpleResponse |HICResponse )] [-tcpprofiletobind <string>] show appqoe action

Para configurar una directiva de AppQoE mediante la interfaz de línea de comandos

En la línea de comandos, escriba:

add appqoe policy <name> -rule <expression> -action <string>

Para vincular una directiva de AppQoE a servidores virtuales de equilibrio de carga, redirección de caché o conmutación de contenido mediante la interfaz de línea de comandos

En la línea de comandos, escriba:

bind cs vserver cs1 -policyName <appqoe_policy_name> -priority <priority> bind lb vserver <name> - policyName <appqoe_policy_name> -priority <priority> bind cr vserver <name> -policyName <appqoe_policy_name> -priority <priority>

Ejemplo

    add ns tcpProfile tcp1 -WS ENABLED -SACK ENABLED -WSVal 8 -nagle ENABLED -maxBurst 30 -initialCwnd 16 -oooQSize 15000 -minRTO 500 -slowStartIncr 1 -bufferSize 4194304 -flavor BIC -KA ENABLED -sendBuffsize 4194304 -rstWindowAttenuate ENABLED -spoofSynDrop ENABLED -dsack enabled -frto ENABLED -maxcwnd 4000000 -fack ENABLED -tcpmode ENDPOINT
    add appqoe action appact1 -priority HIGH -tcpprofile tcp1
    add appqoe policy apppol1 -rule "client.ip.src.eq(10.102.71.31)" -action appact1
    bind lb vserver lb2 -policyName apppol1 -priority 1 -gotoPriorityExpression END -type REQUEST
    bind cs vserver cs1 -policyName apppol1 -priority 1 -gotoPriorityExpression END -type REQUEST
<!--NeedCopy-->

Configuración de perfiles TCP basados en directivas mediante la GUI

Para habilitar AppQoE mediante la interfaz gráfica de usuario

  1. Vaya a Sistema > Configuración.
  2. En el panel de detalles, haga clic en Configurar funciones avanzadas.
  3. En el cuadro de diálogo Configurar funciones avanzadas, active la casilla AppQoE.
  4. Haga clic en Aceptar.

Para configurar la directiva de AppQoE mediante la interfaz gráfica de usuario

  1. Vaya a App-Expert > AppQoE > Acciones.
  2. En el panel de detalles, realice una de las acciones siguientes:
  3. Para crear una acción, haga clic en Agregar.
  4. Para modificar una acción existente, selecciónela y, a continuación, haga clic en Modificar.
  5. En la pantalla Crear acción de AppQoE o Configurar acción de AppQoE, escriba o seleccione valores para los parámetros. El contenido del cuadro de diálogo corresponde a los parámetros descritos en “Parámetros para configurar la acción AppQoE” de la siguiente manera (el asterisco indica un parámetro obligatorio):
    1. Nombre: name
    2. Tipo de acción: respondWith
    3. Prioridad: priority
    4. Profundidad de cola de directivas: polqDepth
    5. Profundidad de cola: priqDepth
    6. Acción DOS: dosAction
  6. Haga clic en Crear.

Para vincular la directiva de AppQoE mediante la interfaz gráfica de usuario

  1. Vaya a Administración del tráfico > Equilibrio de carga > Servidores virtuales, seleccione un servidor y, a continuación, haga clic en Modificar.
  2. En la sección Directivas, haga clic en (+) para vincular una directiva de AppQoE.
  3. En el control deslizante Directivas, haga lo siguiente:
    1. Seleccione un tipo de directiva como AppQoE en la lista desplegable.
    2. Seleccione un tipo de tráfico de la lista desplegable.
  4. En la sección Vinculación de directivas, haga lo siguiente:
    1. Haga clic en Nuevo para crear una directiva de AppQoE.
    2. Haga clic en Directiva existente para seleccionar una directiva de AppQoE de la lista desplegable.
  5. Defina la prioridad de enlace y haga clic en Enlazar a la directiva al servidor virtual.
  6. Haga clic en Listo.

Generación de bloques SACK

El rendimiento de TCP se ralentiza cuando se pierden varios paquetes en una ventana de datos. En tal caso, un mecanismo de reconocimiento selectivo (SACK) combinado con una directiva de retransmisión repetida selectiva supera esta limitación. Para cada paquete entrante fuera de orden, debe generar un bloque SACK.

Si el paquete desordenado cabe en el bloque de cola de reensamblaje, inserte la información del paquete en el bloque y establezca la información completa del bloque como SACK-0. Si un paquete desordenado no cabe en el bloque de reensamblaje, envíe el paquete como SACK-0 y repita los bloques de SACK anteriores. Si un paquete desordenado es un duplicado y la información del paquete se establece como SACK-0, entonces D-SACK el bloque.

Nota: Un paquete se considera D-SACK si es un paquete confirmado o un paquete desordenado que ya se ha recibido.

Incumplimiento del cliente

Un dispositivo NetScaler puede gestionar la renegación del cliente durante la recuperación basada en SACK.

Las comprobaciones de memoria para marcar el punto final en la PCB no tienen en cuenta la memoria total disponible

En un dispositivo NetScaler, si el umbral de uso de memoria se establece en el 75 por ciento en lugar de utilizar la memoria total disponible, las nuevas conexiones TCP omiten la optimización de TCP.

Retransmisiones innecesarias debido a la falta de bloques SACK

En un modo sin terminales, al enviar DUPACKS, si faltan bloques de SACK en algunos paquetes desordenados, se activan más retransmisiones desde el servidor.

SNMP para conexiones omitió la optimización debido a una sobrecarga

Se agregaron los siguientes identificadores de SNMP a un dispositivo NetScaler para rastrear el número de conexiones que omitieron las optimizaciones de TCP debido a una sobrecarga.

  1. 1.3.6.1.4.1.5951.4.1.1.46.131 (tcpOptimizationEnabled). Para realizar un seguimiento del número total de conexiones habilitadas con la optimización de TCP.
  2. 1.3.6.1.4.1.5951.4.1.1.46.132 (tcpOptimizationBypassed). Para rastrear el número total de conexiones omitidas, la optimización TCP.

Búfer de recepción dinámico

Para maximizar el rendimiento TCP, un dispositivo NetScaler ahora puede ajustar dinámicamente el tamaño del búfer de recepción TCP.

Algoritmo Tail Loss Probe

Un tiempo de espera de retransmisión (RTO) es una pérdida de segmentos al final de una transacción. Se produce un RTO si hay problemas de latencia de la aplicación, especialmente en transacciones web cortas. Para recuperar la pérdida de segmentos al final de una transacción, TCP utiliza el algoritmo Tail Loss Probe (TLP). El TLP es un algoritmo exclusivo para remitentes. Si una conexión TCP no recibe ningún acuse de recibo durante un período determinado, TLP transmite el último paquete no reconocido (sonda de pérdida). En caso de una pérdida de cola en la transmisión original, la confirmación de la sonda de pérdidas activa una recuperación de SACK o FACK.

Configuración de la sonda de pérdida de cola

Para utilizar el algoritmo Tail Loss Probe (TLP), debe habilitar la opción TLP en el perfil TCP y establecer el parámetro en un valor que se ajuste a los requisitos de seguridad de ese perfil.

Habilite TLP mediante la línea de comandos

En la línea de comandos, escriba uno de los siguientes comandos para habilitar o inhabilitar el TLP en un perfil nuevo o existente.

Nota:

El valor predeterminado es DISABLED.

add tcpprofile <TCP Profile Name> - taillossprobe ENABLED | DISABLED

set tcpprofile <TCP Profile Name> - taillossprobe ENABLED | DISABLED

unset tcpprofile <TCP Profile Name> - taillossprobe

Ejemplos:

add tcpprofile nstcp_default_profile – taillossprobe

set tcpprofile nstcp_default_profile –taillossprobe Enabled

unset tcpprofile nstcp_default_profile –taillossprobe

Configure el algoritmo Tail Loss Probe mediante la interfaz gráfica de usuario de NetScaler

  1. Vaya a Configuración > Sistema > Perfiles > y, a continuación, haga clic en Modificar para modificar un perfil TCP.
  2. En la página Configurar perfil TCP, active la casilla Tail Loss Probe.
  3. Haga clic en Aceptar y luego en Listo.