Citrix ADC

Optimización TCP

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

Estrategias de control de congestión

El Protocolo de control de transmisión (TCP) se ha utilizado durante mucho tiempo para establecer y administrar conexiones a Internet, manejar errores de transmisión y conectar aplicaciones web sin problemas con dispositivos cliente. Pero el tráfico de red se ha vuelto más difícil de controlar, porque la pérdida de paquetes no depende solo de la congestión en la red, y la congestión no necesariamente causa 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 Tasa Proporcional (PRR)

Los mecanismos de recuperación rápida TCP reducen la latencia web causada por pérdidas de paquetes. El nuevo algoritmo de recuperación proporcional de velocidad (PRR) es un algoritmo de recuperación rápida que evalúa los datos TCP durante una recuperación de pérdidas. Se modela después de Rate-Halving, mediante el uso de la fracción que es apropiada para la ventana de destino 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 está cerca del umbral de inicio lento (ssthresh).

Apertura rápida TCP (TFO)

TCP Fast Open (TFO) es un mecanismo TCP que permite el 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 opción TCP en el perfil TCP enlazado a un servidor virtual de un dispositivo Citrix ADC. TFO utiliza una cookie TCP Fast Open (una cookie de seguridad) que genera el dispositivo Citrix ADC para validar y autenticar al cliente que inicia una conexión TFO al servidor virtual. Mediante este mecanismo TFO, puede reducir la latencia de red de una aplicación en el tiempo necesario para un viaje completo de ida y vuelta, lo que reduce significativamente el retraso experimentado en las transferencias TCP cortas.

Cómo funciona el 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 Citrix ADC puede incluir datos en el segmento SYN-ACK aunque no haya recibido el segmento ACK final del protocolo de enlace de tres vías. Esto ahorra hasta un viaje completo de ida y vuelta en comparación con una conexión TCP normal, que requiere un protocolo de enlace de tres vías antes de que se puedan intercambiar datos.

Un cliente y un servidor back-end realizan 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 TCP Fast Open para autenticarse, envía una solicitud Fast Open Cookie en el paquete SYN al servidor virtual del dispositivo Citrix ADC.
  2. Si la opción TFO está habilitada en el perfil TCP enlazado al servidor virtual, el dispositivo genera una cookie (cifrando la dirección IP del cliente bajo una clave secreta) y responde al cliente con un SYN-ACK que incluye la cookie de apertura rápida generada en un campo de opción TCP.
  3. El cliente almacena en caché la cookie para futuras conexiones TFO al mismo servidor virtual del dispositivo.
  4. Cuando el cliente intenta establecer una conexión TFO al mismo servidor virtual, envía SYN que incluye la cookie de apertura rápida en caché (como opción TCP) junto con los datos HTTP.
  5. El dispositivo Citrix ADC valida la cookie y, si la autenticación se realiza correctamente, el servidor acepta los datos del paquete SYN y reconoce el evento con SYN-ACK, cookie TFO y respuesta HTTP.

Nota:

Si falla la autenticación del cliente, el servidor quita los datos y reconoce el evento solo con un SYN que indica un 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 Citrix ADC determina si la cookie de apertura rápida TCP está presente en el servicio al que está intentando 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 back-end envía la cookie, el dispositivo almacena la cookie en la caché de información del servidor.
  4. Si el dispositivo ya tiene una cookie para el par IP de destino dado, reemplaza la cookie antigua por la nueva.
  5. Si la cookie está disponible en la caché de información del servidor cuando el servidor virtual intenta volver a conectarse al mismo servidor back-end mediante la misma dirección SNIP, el dispositivo combina los datos del paquete SYN con la cookie y los envía al servidor back-end.
  6. El servidor back-end reconoce el evento con datos y un SYN.

Nota: Si el servidor reconoce el evento con solo un segmento SYN, el dispositivo Citrix ADC reenvía inmediatamente el paquete de datos después de quitar el segmento SYN y las opciones TCP del paquete original.

Configuración de TCP fast open

Para utilizar la función TCP Fast Open (TFO), habilite la opción TCP Fast Open en el perfil TCP pertinente y establezca el parámetro TFO Cookie Timeout en un valor que se ajuste al requisito de seguridad para ese perfil.

Habilitar o inhabilitar TFO mediante la CLI

En el símbolo del sistema, escriba uno de los siguientes comandos para habilitar o inhabilitar 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

En el símbolo del sistema, escriba:

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

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, marque la casilla TCP Fast Open.
  3. Haga clic en Aceptar y luego en Terminado.

Vaya a Configuración > Sistema > Configuración > Cambiar parámetros TCP y, a continuación, Configurar parámetros TCP para establecer el valor de tiempo de espera TCP Fast Open Cookie.

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 evitar la congestión sin grandes pérdidas de paquetes. Este nuevo parámetro está inhabilitado de forma predeterminada.

Si se detecta congestión, Hystart entra en una fase de prevención de congestión. Si lo habilita, obtendrá un mejor rendimiento en redes de alta velocidad con una alta pérdida de paquetes. Este algoritmo ayuda a mantener el ancho de banda cercano al máximo durante el procesamiento de transacciones. Por lo tanto, puede mejorar el rendimiento.

Configuración de TCP Hystart

Para utilizar la función Hystart, habilite la opción Cubic Hystart en el perfil TCP correspondiente.

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

En el símbolo del sistema, 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

Ejemplos:

    add tcpprofile profile1 -hystart ENABLED
    set tcpprofile profile1 -hystart ENABLED
    unset tcprofile profile1 -hystart

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 de verificación Hystart cúbico.
  3. Haga clic en Aceptar y luego en Terminado.

Control de velocidad de ráfaga TCP

Se observa que los mecanismos de control TCP pueden conducir a un flujo de tráfico ráfaga en 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, las confirmaciones TCP llegan agrupadas en el remitente provocando una ráfaga de transmisión. Este grupo de paquetes consecutivos enviados con breves brechas entre paquetes se llama ráfaga de paquetes TCP. Para superar la ráfaga de tráfico, el dispositivo Citrix ADC utiliza una técnica TCP Burst Rate Control. Esta técnica distribuye de manera uniforme los datos en la red durante todo un tiempo de ida y vuelta para que los datos no se envíen a una ráfaga. Mediante esta técnica de control de velocidad de ráfaga, puede lograr un mejor rendimiento y menores tasas de caída de paquetes.

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

En un dispositivo Citrix ADC, esta técnica distribuye uniformemente la transmisión de paquetes a lo largo de toda la duración del tiempo 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 red para la salida de paquetes para sesiones TCP en curso con el fin de reducir las ráfagas.

En el remitente, en lugar de transmitir paquetes inmediatamente después de recibir un acuse de recibo, el remitente puede retrasar la transmisión de 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 Control de velocidad de ráfaga TCP en el perfil TCP correspondiente y establecer los parámetros de control de velocidad de ráfaga.

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

En el símbolo del sistema, establezca uno de los siguientes comandos TCP Burst Rate Control se configuran en un perfil nuevo o existente.

Nota: El valor predeterminado es DISABLADO.

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

donde,

Desactivado: Si el control Burst rate está inhabilitado, un dispositivo Citrix ADC no realiza la administración de ráfagas excepto la configuración MaxBurst.

Corregido: Si el control de velocidad de ráfaga de TCP era Fijo, el dispositivo utiliza el valor de velocidad de envío de carga de 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 está regulando en función de varias condiciones de red para reducir las ráfagas TCP. Este modo solo funciona cuando la conexión TCP está en modo ENDPOINT. Cuando el control Velocidad de ráfaga dinámica 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

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

En el símbolo del sistema, 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

Para configurar el control de velocidad de ráfaga 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 Control de ráfagas TCP en la lista desplegable:
    1. Burstratecntrl
    2. Créditopor Teprms
    3. Tarifas por Teperms
    4. Tarifas de ChedulerQ
  3. Haga clic en Aceptar y luego en Terminado.

Protección contra el algoritmo de secuencia envuelta (PAWS)

Si habilita la opción de marca de hora TCP en el perfil TCP predeterminado, el dispositivo Citrix ADC utiliza el algoritmo Protección contra Secuencia Envuelta (PAWS) para identificar y rechazar 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 ha “envuelta” ( alcanzó su valor máximo y se reinició desde 0).

Si la congestión de la red retrasa un paquete de datos no SYN y abre una nueva conexión antes de que llegue el paquete, el ajuste de número de secuencia podría provocar que la nueva conexión acepte el paquete como válido, lo que provocará daños en los datos. Pero 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) en el encabezado de un paquete con el valor de marca de tiempo reciente (ts.Recent). Si seg.tsval es igual o mayor que ts.Recent, el paquete se procesa. De lo contrario, el dispositivo descarta el paquete y envía una confirmación correctiva.

Cómo funciona el 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 RFC-793) y elimina el paquete. Nota: El envío de un segmento ACK es necesario para retener los mecanismos de TCP para detectar y recuperar 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 satisface): PAWS debe copiar el valor seg.tsval en ts.Recent (¿se copia en el campo Ts.Recent en el db?.
  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 ventana y fuera de secuencia. Por ejemplo, podría estar en cola para una entrega posterior.
  7. Si el valor de TsRecent está inactivo durante más de 24 días: Se comprueba la validez de TsRecent si falla la comprobación de marca de tiempo PAWS. Si se encuentra que el valor Ts.Recent no es válido, se acepta el segmento y la regla PAWS actualiza Ts.Recent con el valor TSVal del nuevo segmento.

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

En el símbolo del sistema, 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

Desplácese hasta Sistema > Perfil > Perfil TCP, seleccione el perfil TCP predeterminado, haga clic en Modificar y active o desactive la casilla de verificación Marca de tiempo TCP.

Técnicas de optimización

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

Selección de perfil TCP basada en directivas

Hoy en día, el tráfico de red es más diverso y requiere mucho ancho de banda que nunca. Con el aumento del tráfico, el efecto que la calidad de servicio (QoS) tiene en el rendimiento TCP es significativo. Para mejorar la calidad de servicio, 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 consta de las siguientes tareas:

  • Activando AppQoe. Antes de configurar la función de perfil TCP, debe habilitar la función AppQoe.
  • Agregar acción AppQoe. Después de habilitar la función AppQoe, configure una acción 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 directivas de AppQoe con las que su ADC de Citrix ADC pueda distinguir las conexiones y vincular la acción AppQoE correcta a cada directiva.
  • Vinculación de la directiva AppQoe con el 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 el símbolo del sistema, escriba los siguientes comandos para habilitar la función y compruebe que está habilitada:

  • enable ns feature appqoe
  • show ns feature

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

En el símbolo del sistema, escriba el siguiente comando de acción AppQoe con la opción tcpprofiletobind.

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 AppQoE mediante la interfaz de línea de comandos

En el símbolo del sistema, escriba:

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

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

En el símbolo del sistema, 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

Configuración de perfiles TCP basados en directivas mediante la interfaz gráfica de usuario

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 de verificación AppQoe.
  4. Haga clic en OK.

Para configurar la directiva 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 nueva 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 AppQoe o Configurar acción 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 (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 la cola: PriqDepth
    6. Acción de DOS: DosAction
  6. Haga clic en Crear.

Para enlazar 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 y haga clic en (+) para enlazar 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 en la lista desplegable.
  4. En la sección Enlace de directivas, haga lo siguiente:
    1. Haga clic en Nuevo para crear una nueva directiva de AppQoE.
    2. Haga clic en Directiva existente para seleccionar una directiva de AppQoe en la lista desplegable.
  5. Establezca la prioridad de enlace y haga clic en Vincular a la directiva al servidor virtual.
  6. Haga clic en Listo.

Generación de bloques SACK

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

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

Nota: Un paquete se considera como D-SACK si es un paquete reconocido, o un paquete fuera de servicio que ya se ha recibido.

Renegamiento del cliente

Un dispositivo Citrix ADC puede manejar el renegamiento del cliente durante la recuperación basada en SACK.

Las comprobaciones de memoria para marcar end_point en PCB no consideran la memoria total disponible

En un dispositivo Citrix ADC, si el umbral de uso de memoria se establece en el 75% en lugar de utilizar la memoria total disponible, las nuevas conexiones TCP evitan la optimización TCP.

Retransmisiones innecesarias debido a la falta de bloques SACK

En un modo no endpoint, cuando envía DUPACKS, si faltan bloques SACK para pocos paquetes fuera de servicio, desencadena retransmisiones adicionales desde el servidor.

SNMP para la optimización del número de conexiones omitirse debido a la sobrecarga

Los siguientes identificadores SNMP se han agregado a un dispositivo Citrix ADC para realizar un seguimiento del número de conexiones que se han omitido la optimización TCP debido a la 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 TCP.
  2. 1.3.6.1.4.1.5951.4.1.1.46.132 (tcpOptimizationBypassed). Para realizar un seguimiento del número total de conexiones que se omite TCP Optimization.

Buffer de recepción dinámica

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

Algoritmo de sonda de pérdida de cola

Un tiempo de espera de retransmisión (RTO) es una pérdida de segmentos en el extremo final de una transacción. Se produce un RTO si hay problemas de latencia de aplicaciones, 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). TLP es un algoritmo de solo remitente. 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 el caso de una pérdida de cola en la transmisión original, el reconocimiento de la sonda de pérdida desencadena una recuperación 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 al requisito de seguridad para ese perfil.

Habilitar TLP mediante la línea de comandos

En el símbolo del sistema, escriba uno de los siguientes comandos para habilitar o inhabilitar 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 de la sonda de pérdida de cola mediante la GUI de Citrix ADC

  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 de verificación Comprobación de pérdida de cola.
  3. Haga clic en Aceptar y luego en Terminado.