Architecture générale
NetScaler BLX est un facteur de forme logiciel de NetScaler et offre les mêmes fonctionnalités que les autres facteurs de forme. Il s’exécute comme une application en espace utilisateur sur un hôte Linux.
BLX utilise les pilotes Linux pour la réception/transmission (Rx/Tx) des paquets et pour la gestion des ports NIC. Des interfaces Ethernet virtuelles (veths) blx0 et blx1, créées pendant la phase de démarrage, sont utilisées pour la communication entre l’hôte Linux et BLX. Par exemple, BLX utilise les veths pour envoyer des informations de journalisation au démon syslog sur un hôte Linux.
Dans BLX, les ports NIC de l’hôte Linux spécifiés dans le fichier /etc/blx/blx.conf (fichier de configuration de démarrage de BLX) sont dédiés à BLX. Ces ports NIC ne sont pas partagés avec d’autres applications s’exécutant sur l’hôte. Seul BLX peut voir les ports NIC dédiés.
Le schéma d’adressage IP est similaire à celui d’un NetScaler traditionnel. BLX peut avoir différentes adresses IP pour l’IP NetScaler (NSIP), l’IP de serveur virtuel (VIP) et l’IP de sous-réseau (SNIP).
BLX reçoit les paquets du réseau externe, traite les paquets reçus et répond directement via les ports NIC Linux dédiés configurés. Il dispose d’une pile TCP/IP complète pour traiter les paquets, en contournant la pile TCP/IP du noyau Linux. BLX interagit directement avec le pilote du noyau Linux pour récupérer les paquets bruts des ports NIC.
Bien que BLX contourne la pile réseau du noyau Linux, il existe toujours une surcharge lors du transfert de paquets entre la mémoire du noyau Linux et la mémoire de l’espace utilisateur. Cette surcharge affecte les performances globales du traitement des paquets. Nous vous recommandons d’utiliser des cartes NIC compatibles avec le Data Plane Development Kit (DPDK) pour des performances de traitement de paquets élevées. Pour la liste des cartes NIC compatibles DPDK prises en charge par BLX, consultez Exigences matérielles de l’hôte Linux.

DPDK est un ensemble de bibliothèques Linux open source et de contrôleurs d’interface réseau utilisés pour améliorer les performances réseau. Pour plus d’informations sur DPDK, consultez le site web officiel de DPDK à l’adresse https://www.dpdk.org/.
DPDK permet de contourner la mémoire du noyau et de livrer les paquets directement à la mémoire de l’espace utilisateur pour traitement. DPDK, combiné au module Linux UIO, permet à BLX de recevoir et de transmettre des paquets sans la surcharge du noyau Linux liée à la copie des paquets de la mémoire du noyau vers la mémoire de l’espace utilisateur. Une fois la mémoire allouée, DPDK gère son tampon pour obtenir de meilleures performances.
Remarque :
BLX peut démarrer sans prise en charge de DPDK si l’une des conditions suivantes est remplie.
- BLX ne prend pas en charge les ports NIC dédiés compatibles DPDK.
- DPDK ne prend pas en charge les ports NIC dédiés.