Vue d’ensemble et architecture

L’appliance Citrix ADC BLX est un facteur de forme logicielle 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 Citrix ADC BLX :

  • Prêt pour le cloud. Citrix ADC BLX fournit une prise en charge jour zéro pour l’exécution sur le cloud.

    Les appliances Citrix ADC BLX ne nécessitent aucune certification pour s’exécuter sur le cloud, car elles s’exécutent en tant qu’application logicielle sur des machines virtuelles Linux provisionnées sur le cloud.

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

  • Intégration transparente d’outils tiers. Les outils open source (par exemple, surveillance, débogage et journalisation) pris en charge pour les environnements Linux peuvent être intégrés de manière transparente aux appliances Citrix ADC 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 Citrix ADC BLX s’exécutent en tant qu’application logicielle, d’autres applications Linux peuvent également s’exécuter sur le même hôte.

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

Architecture générale

L’appliance Citrix ADC BLX est un facteur de forme logicielle de Citrix ADC et fournit les mêmes fonctionnalités qu’une appliance Citrix ADC traditionnelle. Une appliance Citrix ADC 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, qui sont créées pendant la phase de démarrage de Citrix ADC 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 Citrix ADC BLX définit si les ports de carte réseau de l’hôte Linux sont partagés ou non avec d’autres applications Linux exécutées sur l’hôte. Une appliance Citrix ADC BLX peut être configurée pour s’exécuter sur l’un des modes réseau suivants :

  • Mode partagé
  • Mode dédié

Mode partagé

Une appliance Citrix ADC BLX configurée pour s’exécuter en mode partagé partage les ports de la carte réseau de l’hôte Linux avec d’autres applications Linux.

BLX en mode partagé

L’adresse réseau 192.0.0.1/24 est attribuée automatiquement à une appliance Citrix ADC BLX en mode partagé.

Une appliance Citrix ADC 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 NAT IP pour reconnaître les paquets reçus sur les ports de carte réseau Linux appartenant à l’appliance Citrix ADC BLX.

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

L’appliance Citrix ADC BLX traite les paquets reçus et les envoie au noyau Linux via 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 Citrix ADC BLX configurée en mode dédié possède des ports NIC d’hôte Linux dédiés et elle ne partage pas les ports avec d’autres applications Linux.

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

Mode dédié BLX

Le schéma d’adressage IP sur une appliance Citrix ADC BLX en mode dédié est similaire à celui d’une appliance Citrix ADC traditionnelle. Sur une appliance Citrix ADC 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 Citrix ADC BLX en mode dédié. L’appliance Citrix ADC BLX reçoit/répond aux paquets directement depuis/vers le périphérique réseau externe via les ports de carte réseau Linux dédiés configurés.

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

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

Une appliance Citrix BLX utilise les pilotes Linux traditionnels pour Rx/Tx des paquets et la gestion des ports de carte 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 Citrix ADC BLX possède une pile TCP/IP complète pour traiter tous les paquets. 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. DPDK, associé au module UIO Linux, aide l’appliance Citrix ADC BLX à recevoir/transmettre des paquets depuis/vers les ports de la carte 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 Citrix ADC BLX avec prise en charge DPDK fonctionne uniquement en mode réseau dédié.

Vue d’ensemble et architecture