Descripción general y arquitectura
El dispositivo NetScaler BLX es un formato 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 NetScaler BLX:
-
Preparado para cloud. NetScaler BLX proporciona soporte desde el día cero para ejecutarse en la nube.
Los dispositivos NetScaler 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 NetScaler BLX. Los dispositivos NetScaler 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 NetScaler BLX. No hay necesidad de desarrollar plug-ins separados para cada integración.
-
Coexistencia de otras aplicaciones. Como los dispositivos NetScaler 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 NetScaler BLX admite la integración del kit de desarrollo de plano de datos (DPDK) para un mejor rendimiento. Un dispositivo NetScaler 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 NetScaler BLX es un formato de software de Citrix ADC y proporciona la misma funcionalidad que un dispositivo Citrix ADC tradicional. Un dispositivo NetScaler 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 NetScaler BLX, se utilizan para la comunicación entre el núcleo y el dispositivo BLX.
Modos de red
El modo de red de un dispositivo NetScaler 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 NetScaler BLX para que se ejecute en uno de los siguientes modos de red:
- Modo compartido
- Modo dedicado
Modo compartido
Un dispositivo NetScaler BLX configurado para ejecutarse en modo compartido comparte los puertos NIC del host Linux con otras aplicaciones Linux.
A un dispositivo NetScaler BLX en modo compartido se le asigna automáticamente la dirección de red de 192.0.0.1/24.
Un dispositivo NetScaler 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 NetScaler 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 NetScaler BLX. El dispositivo NetScaler BLX recibe los paquetes a través de las interfaces virtuales blx0
y blx1
(veth
).
El dispositivo NetScaler 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 NetScaler 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 NetScaler BLX.
El esquema de direccionamiento IP de un dispositivo NetScaler BLX en modo dedicado es similar al de un dispositivo Citrix ADC tradicional. En un dispositivo NetScaler 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 NetScaler BLX en modo dedicado. El dispositivo NetScaler 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 NetScaler BLX en modo dedicado sigue utilizando las interfaces virtuales blx0
y blx1
(veths
) para enviar SYSLOG y otra información relacionada con la administración al kernel de Linux.
Dispositivo NetScaler BLX con soporte para el kit de desarrollo de plano de datos (DPDK)
Un dispositivo NetScaler BLX utiliza los controladores Linux tradicionales para los paquetes Rx/Tx y para administrar 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 NetScaler 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 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 NetScaler 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 NetScaler BLX compatible con DPDK solo funciona en modo de red dedicada.