Descripción general y arquitectura

El dispositivo Citrix ADC BLX es un factor de forma de software de Citrix ADC. Está diseñado para ejecutarse de forma nativa en Linux bare metal en servidores comerciales listos para usar (COTS).

A continuación se presentan los beneficios de usar un dispositivo Citrix ADC BLX:

  • Preparado para cloud. Citrix ADC BLX proporciona soporte desde el día cero para ejecutarse en la nube.

    Los dispositivos Citrix ADC BLX no requieren ninguna certificación para ejecutarse en la nube porque se ejecutan como una aplicación de software en máquinas virtuales Linux aprovisionadas en la nube.

  • Fácil administración. Las herramientas estándar disponibles como parte del sistema operativo Linux se pueden utilizar para supervisar y administrar fácilmente los dispositivos Citrix ADC BLX. Los dispositivos Citrix ADC BLX se pueden conectar fácilmente con una configuración de orquestación existente.

  • Integración perfecta de herramientas de terceros. Las herramientas de código abierto (por ejemplo, supervisión, depuración y registro) compatibles con entornos Linux se pueden integrar sin problemas con los dispositivos Citrix ADC BLX. No hay necesidad de desarrollar plug-ins separados para cada integración.

  • Coexistencia de otras aplicaciones. Como los dispositivos Citrix ADC BLX se ejecutan como una aplicación de software, otras aplicaciones Linux también se pueden ejecutar en el mismo host.

  • Soporte DPDK. El dispositivo Citrix ADC BLX admite la integración del kit de desarrollo de plano de datos (DPDK) para un mejor rendimiento. Un dispositivo Citrix ADC BLX utiliza la biblioteca de código abierto DPDK para mejorar el rendimiento y supera el cuello de botella del kernel de Linux en el procesamiento de paquetes.

Arquitectura general

El dispositivo Citrix ADC BLX es un factor de forma de software de Citrix ADC y proporciona la misma funcionalidad que un dispositivo Citrix ADC tradicional. Un dispositivo Citrix ADC BLX se ejecuta como una aplicación de espacio de usuario en un sistema Linux. El dispositivo BLX utiliza los controladores de Linux para Rx/Tx de paquetes y para administrar los puertos NIC. Las interfaces virtuales blx0 y blx1, que se crean durante la fase de arranque de Citrix ADC BLX, se utilizan para la comunicación entre el núcleo y el dispositivo BLX.

Arquitectura BLX

Modos de red

El modo de red de un dispositivo Citrix ADC BLX define si los puertos NIC del host Linux se comparten o no con otras aplicaciones Linux que se ejecutan en el host. Se puede configurar un dispositivo Citrix ADC BLX para que se ejecute en uno de los siguientes modos de red:

  • Modo compartido
  • Modo dedicado

Modo compartido

Un dispositivo Citrix ADC BLX configurado para ejecutarse en modo compartido comparte los puertos NIC del host Linux con otras aplicaciones Linux.

BLX en modo compartido

A un dispositivo Citrix ADC BLX en modo compartido se le asigna automáticamente la dirección de red de 192.0.0.1/24.

Un dispositivo Citrix ADC BLX en modo compartido funciona con una sola dirección IP que se utiliza para la administración y el tráfico de datos. Todas las direcciones IP propiedad de Citrix ADC (por ejemplo, NSIP, SNIP y VIP) tienen la misma dirección IP de 192.0.0.1 pero con números de puerto diferentes. En otras palabras, esta única dirección IP (192.0.0.1) utiliza diferentes números de puerto para funcionar como NSIP, SNIP y VIP.

Como los puertos NIC de Linux se comparten entre el dispositivo BLX y otras aplicaciones Linux, se agrega una tabla NAT IP en el kernel para el dispositivo BLX. El host Linux utiliza esta tabla NAT IP para reconocer los paquetes recibidos en los puertos NIC de Linux que pertenecen al dispositivo Citrix ADC BLX.

A continuación, el host Linux realiza NAT traduciendo la dirección IP de destino del paquete recibido a la dirección IP (192.0.0.1) del dispositivo Citrix ADC BLX. El dispositivo Citrix ADC BLX recibe los paquetes a través de interfaces virtuales blx0 y blx1 (veth).

El dispositivo Citrix ADC BLX procesa los paquetes recibidos y los envía al kernel de Linux a través de interfaces virtuales blx1 y blx0. El host Linux realiza NAT en estos paquetes mediante la tabla NAT IP BLX y, a continuación, los envía al destino a través de los puertos NIC de Linux.

Modo dedicado

Un dispositivo Citrix ADC BLX configurado en modo dedicado tiene puertos NIC de host Linux dedicados y no comparte los puertos con otras aplicaciones Linux.

Otras aplicaciones Linux en el host no ven los puertos NIC de Linux dedicados al dispositivo Citrix ADC BLX.

BLX de modo dedicado

El esquema de direccionamiento IP en un dispositivo Citrix ADC BLX en modo dedicado es similar al de un dispositivo Citrix ADC tradicional. En un dispositivo Citrix ADC BLX en modo dedicado, las direcciones IP que pertenecen a ADC (por ejemplo, NSIP, SNIP y VIP) pueden tener direcciones IP diferentes.

A diferencia del modo compartido, no se requiere una operación NAT para el dispositivo Citrix ADC BLX en modo dedicado. El dispositivo Citrix ADC BLX recibe/responde paquetes directamente desde/hacia el dispositivo de red externo a través de los puertos NIC de Linux dedicados configurados.

El dispositivo Citrix ADC BLX en modo dedicado todavía usa interfaces virtuales blx0 y blx1 (veths) para enviar SYSLOG y otra información relacionada con la administración al kernel de Linux.

Dispositivo Citrix ADC BLX con soporte para el kit de desarrollo de plano de datos (DPDK)

Un dispositivo Citrix BLX utiliza los controladores Linux tradicionales para Rx/Tx de paquetes y la administración de los puertos NIC. Los paquetes transmitidos entre el kernel de Linux y el dispositivo BLX en el espacio de usuario mediante los controladores de Linux tienen varios gastos generales. Estos gastos generales afectan al rendimiento del dispositivo BLX.

El dispositivo Citrix ADC BLX tiene una pila TCP/IP completa para procesar cualquier paquete. Si el dispositivo BLX tiene una forma rápida de recibir paquetes de los puertos NIC de Linux subyacentes, se mejora el rendimiento de la red.

El kit de desarrollo de planos de datos (DPDK) se puede utilizar para superar este cuello de botella. DPDK es un conjunto de bibliotecas Linux de código abierto y controladores de interfaz de red que se utilizan para un mejor rendimiento de la red. Para obtener más información sobre la DPDK, consulte el sitio web oficial de la DPDK en https://www.dpdk.org/

DPDK BLX

DPDK ayuda a omitir el núcleo y entrega directamente los paquetes a la aplicación de espacio de usuario para su posterior procesamiento. DPDK, en combinación con el módulo UIO de Linux, ayuda al dispositivo Citrix ADC BLX a recibir/transmitir paquetes desde/a los puertos NIC de Linux sin implicar la sobrecarga del kernel de Linux del procesamiento de paquetes. Una vez que se asigna la memoria, DPDK administra su propio búfer para lograr un mejor rendimiento.

Un dispositivo Citrix ADC BLX compatible con DPDK solo funciona en modo de red dedicada.

Descripción general y arquitectura