Vue d’ensemble et architecture

L’appliance NetScaler BLX est un format logiciel de Citrix ADC. Il est conçu pour fonctionner en mode natif sur Bare-Metal-Linux sur des serveurs commerciaux prêts à l’emploi (COTS).

Voici les avantages de l’utilisation d’une appliance BLX :

  • Prêt pour le cloud. BLX fournit une prise en charge quotidienne pour l’exécution sur le cloud.

    Les appliances BLX ne nécessitent aucune certification pour fonctionner dans le cloud, car elles s’exécutent en tant qu’applications logicielles sur des machines virtuelles Linux provisionnées dans le cloud.

  • Gestion facile. Les outils standard disponibles pour le système d’exploitation Linux peuvent être utilisés pour surveiller et gérer facilement les appliances BLX. Les appliances BLX peuvent être facilement connectées à une configuration d’orchestration existante.

  • Intégration transparente d’outils tiers. Les outils open source (par exemple, la surveillance, le débogage et la journalisation) pris en charge pour les environnements Linux peuvent être intégrés de manière fluide aux appliances BLX. Il n’est pas nécessaire de développer des plug-ins distincts pour chaque intégration.

  • Coexistence d’autres applications. Étant donné que les appliances BLX s’exécutent en tant qu’applications logicielles, d’autres applications Linux peuvent également être exécutées sur le même hôte.

  • Prise en charge de DPDK. L’appliance BLX prend en charge l’intégration du kit de développement de plans de données (DPDK) pour de meilleures performances. Une appliance BLX utilise la bibliothèque open source DPDK pour améliorer les performances et surmonter le goulot d’étranglement du noyau Linux en termes de traitement des paquets.

Architecture générale

L’appliance BLX est un format logiciel de Citrix ADC et fournit les mêmes fonctionnalités qu’une appliance Citrix ADC traditionnelle. Une appliance BLX s’exécute en tant qu’application d’espace utilisateur dans un système Linux. L’appliance BLX utilise les pilotes Linux pour Rx/Tx des paquets et la gestion des ports NIC. Les interfaces virtuelles blx0 et blx1, créées pendant la phase de démarrage du BLX, sont utilisées pour la communication entre le noyau et l’appliance BLX.

Architecture BLX

Modes réseau

Le mode réseau d’une appliance BLX définit si les ports NIC de l’hôte Linux sont partagés ou non avec d’autres applications Linux exécutées sur l’hôte. Une appliance BLX peut être configurée pour fonctionner sur l’un des modes réseau suivants :

  • Mode partagé
  • Mode dédié

Mode partagé

Une appliance BLX configurée pour fonctionner en mode partagé partage les ports de carte d’interface réseau de l’hôte Linux avec d’autres applications Linux.

Mode partagé BLX

Une appliance BLX en mode partagé se voit attribuer automatiquement l’adresse réseau 192.0.0.1/24.

Une appliance BLX en mode partagé fonctionne avec une seule adresse IP utilisée pour la gestion et le trafic de données. Toutes les adresses IP appartenant à Citrix ADC (par exemple, NSIP, SNIP et VIP) ont la même adresse IP 192.0.0.1 mais avec des numéros de port différents. En d’autres termes, cette adresse IP unique (192.0.0.1) utilise différents numéros de port pour fonctionner en tant que NSIP, SNIP et VIP.

Étant donné que les ports de carte réseau Linux sont partagés entre l’appliance BLX et d’autres applications Linux, une table NAT IP est ajoutée dans le noyau pour l’appliance BLX. L’hôte Linux utilise cette table IP NAT pour reconnaître les paquets reçus sur les ports NIC Linux appartenant à l’appliance BLX.

L’hôte Linux effectue ensuite la NAT en traduisant l’adresse IP de destination du paquet reçu en adresse IP (192.0.0.1) de l’appliance BLX. L’appliance BLX reçoit les paquets via les interfaces virtuelles blx0 et blx1 (veth).

L’appliance BLX traite les paquets reçus et les envoie au noyau Linux les interfaces virtuelles blx1 et blx0. L’hôte Linux effectue une NAT sur ces paquets à l’aide de la table NAT IP BLX, puis les envoie à la destination via les ports de la carte réseau Linux.

Mode dédié

Une appliance BLX configurée en mode dédié possède des ports NIC hôtes Linux dédiés et ne partage pas ces ports avec d’autres applications Linux.

Les autres applications Linux de l’hôte ne voient pas les ports de carte réseau Linux dédiés à l’appliance BLX.

Mode dédié BLX

Le schéma d’adressage IP d’une appliance BLX en mode dédié est similaire à celui d’une appliance Citrix ADC traditionnelle. Sur une appliance BLX en mode dédié, les adresses IP appartenant à ADC (par exemple, NSIP, SNIP et VIP) peuvent avoir des adresses IP différentes.

Contrairement au mode partagé, aucune opération NAT n’est requise pour l’appliance BLX en mode dédié. L’appliance BLX reçoit/répond directement aux paquets en provenance/à destination du périphérique réseau externe via les ports NIC Linux dédiés configurés.

L’appliance BLX en mode dédié utilise toujours des interfaces virtuelles blx0 et blx1 (veths) pour envoyer des informations SYSLOG et d’autres informations relatives à la gestion au noyau Linux.

Appliance BLX avec prise en charge du kit de développement de plan de données (DPDK)

Une appliance BLX utilise les pilotes Linux traditionnels pour la réception/transmission des paquets et la gestion des ports de carte d’interface réseau. Les paquets transmis entre le noyau Linux et l’appliance BLX dans l’espace utilisateur à l’aide des pilotes Linux ont plusieurs frais généraux. Ces frais généraux affectent les performances de l’appareil BLX.

L’appliance BLX dispose d’une pile TCP/IP complète pour traiter n’importe quel paquet. Si l’appliance BLX dispose d’un moyen rapide de recevoir des paquets à partir des ports NIC Linux sous-jacents, les performances du réseau sont améliorées.

Le kit de développement de plan de données (DPDK) peut être utilisé pour surmonter ce goulot d’étranglement. 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 officiel de DPDK à l’adresse https://www.dpdk.org/

DPDK BLX

DPDK permet de contourner le noyau et fournit directement les paquets dans l’application de l’espace utilisateur pour un traitement ultérieur. Le DPDK, associé au module Linux UIO, permet à l’appliance BLX de recevoir/transmettre des paquets en provenance/à destination des ports de carte d’interface réseau Linux sans impliquer la surcharge du noyau Linux liée au traitement des paquets. Une fois la mémoire allouée, DPDK gère son propre tampon pour obtenir de meilleures performances.

Une appliance BLX avec prise en charge DPDK ne fonctionne qu’en mode réseau dédié.

Vue d’ensemble et architecture