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 Rx/Tx de paquetes y para administrar los puertos NIC. Las interfaces Ethernet virtuales (veths) blx0 y blx1, que se crean 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 daemon syslog en un host Linux.

El modo de red de BLX define si los puertos NIC del host Linux se comparten con otras aplicaciones Linux que se ejecutan en el host. Puede configurar BLX para que se ejecute en uno de los siguientes modos de red:

  • Modo dedicado: Los puertos NIC del host Linux están dedicados a BLX y no se comparten con otras aplicaciones Linux.
  • Modo compartido: Los puertos NIC del host Linux se comparten con otras aplicaciones Linux.

NetScaler BLX en modo dedicado

En el modo dedicado, los puertos NIC del host Linux especificados en el archivo 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 en modo dedicado es similar al de un NetScaler tradicional. BLX puede tener diferentes direcciones IP para IP de NetScaler (NSIP), IP de servidor virtual (VIP) e IP de subred (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. Cuenta con una pila TCP/IP completa para procesar los paquetes, sin pasar por la pila TCP/IP del kernel de Linux. BLX interactúa directamente con el controlador del kernel de Linux para seleccionar los paquetes sin procesar de los puertos NIC.

Aunque BLX omite la pila de red del kernel de Linux, la transferencia de paquetes entre la memoria del kernel de Linux y la memoria del espacio de usuario sigue suponiendo una sobrecarga. Esta sobrecarga afecta al rendimiento general del procesamiento de paquetes. Recomendamos usar las NIC compatibles con el Kit de desarrollo de planos de datos (DPDK) para obtener un alto rendimiento en el procesamiento de paquetes. Para ver la lista de NIC compatibles con DPDK que admite BLX, consulte los Requisitos de hardware del host Linux.

Arquitectura BLX

DPDK es un conjunto de bibliotecas 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, consulte el sitio web oficial de DPDK en https://www.dpdk.org/.

DPDK ayuda a omitir la memoria del kernel y entrega directamente los paquetes a la aplicación de espacio de usuario para su posterior procesamiento. DPDK, combinado con el módulo UIO de Linux, permite a BLX recibir y transmitir paquetes sin implicar la sobrecarga del kernel de Linux al copiar paquetes de la memoria del kernel a la memoria del espacio de usuario. Una vez que se asigna la memoria, DPDK administra su búfer para lograr un mejor rendimiento.

Nota:

BLX puede iniciarse en modo dedicado sin compatibilidad con DPDK si se cumple una de las siguientes condiciones.

  • BLX no admite los puertos NIC dedicados compatibles con DPDK.
  • DPDK no admite los puertos NIC dedicados.

NetScaler BLX en modo compartido

En el modo compartido, los puertos NIC del host Linux se comparten con otras aplicaciones Linux para recibir y transmitir los paquetes. A BLX se le asigna automáticamente la dirección IP 192.0.0.1/24. Esta dirección IP se usa para la administración y el tráfico de datos. Todas las direcciones IP propiedad de NetScaler (por ejemplo, direcciones NSIP, SNIP y VIP) tienen la misma dirección IP 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.

Arquitectura BLX

Como los puertos NIC Linux del host se comparten entre BLX y otras aplicaciones Linux, se agrega una regla de tabla IP a la NAT. Esta regla de tabla de IP se usa para reenviar el tráfico recibido en el host a BLX para su posterior procesamiento.

El host Linux traduce la dirección IP de destino del paquete recibido a la dirección IP (192.0.0.1) de BLX. BLX recibe los paquetes a través de las interfaces virtuales blx0 y blx1.

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

Nota:

No recomendamos configurar BLX en modo compartido para las configuraciones de producción.

Arquitectura general