Arquitectura general
NetScaler BLX es un factor de forma de software de NetScaler y proporciona la misma funcionalidad que otros factores de forma. Se ejecuta como una aplicación de espacio de usuario en un host Linux.
BLX usa los controladores de Linux para la recepción/transmisión de paquetes y para gestionar los puertos NIC. Las interfaces de Ethernet virtual (veths) blx0 y blx1, creadas durante la fase de arranque, se usan para la comunicación entre el host Linux y BLX. Por ejemplo, BLX usa veths para enviar información de registro al demonio syslog en un host Linux.
En BLX, los puertos NIC del host Linux especificados en el archivo /etc/blx/blx.conf (archivo de configuración de arranque de BLX) están dedicados a BLX. Estos puertos NIC no se comparten con otras aplicaciones que se ejecutan en el host. Solo BLX puede ver los puertos NIC dedicados.
El esquema de direccionamiento IP es similar al de un NetScaler tradicional. BLX puede tener diferentes direcciones IP para NetScaler IP (NSIP), Virtual server IP (VIP) y Subnet IP (SNIP).
BLX recibe los paquetes de la red externa, procesa los paquetes recibidos y responde directamente a través de los puertos NIC de Linux dedicados configurados. Tiene una pila TCP/IP completa para procesar los paquetes, omitiendo la pila TCP/IP del kernel de Linux. BLX interactúa directamente con el controlador del kernel de Linux para tomar los paquetes sin procesar de los puertos NIC.
Aunque BLX omite la pila de red del kernel de Linux, todavía hay una sobrecarga en la transferencia de paquetes entre la memoria del kernel de Linux y la memoria del espacio de usuario. Esta sobrecarga afecta al rendimiento general del procesamiento de paquetes. Recomendamos usar NIC compatibles con Data Plane Development Kit (DPDK) para un alto rendimiento en el procesamiento de paquetes. Para obtener la lista de NIC compatibles con DPDK que admite BLX, consulta Requisitos de hardware del host Linux.

DPDK es un conjunto de bibliotecas de Linux de código abierto y controladores de interfaz de red que se usan para mejorar el rendimiento de la red. Para obtener más información sobre DPDK, consulta el sitio web oficial de DPDK en https://www.dpdk.org/.
DPDK ayuda a omitir la memoria del kernel y entrega los paquetes directamente a la memoria del espacio de usuario para su procesamiento. DPDK, combinado con el módulo UIO de Linux, permite a BLX recibir y transmitir paquetes sin la sobrecarga del kernel de Linux de copiar paquetes de la memoria del kernel a la memoria del espacio de usuario. Una vez que se asigna la memoria, DPDK gestiona su búfer para lograr un mejor rendimiento.
Nota:
BLX podría iniciarse sin compatibilidad con DPDK si se cumple una de las siguientes condiciones.
- BLX no es compatible con los puertos NIC dedicados compatibles con DPDK.
- DPDK no es compatible con los puertos NIC dedicados.