Überblick und Architektur

Die Citrix ADC BLX-Appliance ist ein Software-Formfaktor von Citrix ADC. Es wurde entwickelt, um nativ auf Bare-Metal-Linux auf kommerziellen Standardservern (COTS) zu laufen.

Im Folgenden sind die Vorteile der Verwendung einer Citrix ADC BLX-Appliance aufgeführt:

  • Cloud-bereit. Citrix ADC BLX bietet Tag-Zero-Unterstützung für die Ausführung in der Cloud.

    Citrix ADC BLX-Appliances benötigen keine Zertifizierungen für die Ausführung in der Cloud, da sie als Softwareanwendung auf virtuellen Linux-Maschinen ausgeführt werden, die in der Cloud bereitgestellt werden.

  • Einfache Verwaltung. Standardtools, die als Teil des Linux-Betriebssystems verfügbar sind, können zur einfachen Überwachung und Verwaltung von Citrix ADC BLX-Appliances verwendet werden. Citrix ADC BLX-Appliances können einfach mit einem vorhandenen Orchestrierungs-Setup verbunden werden.

  • Nahtlose Integration von Tools von Drittanbietern. Open Source-Tools (z. B. Überwachung, Debugging und Protokollierung), die für Linux-Umgebungen unterstützt werden, können nahtlos in Citrix ADC BLX-Appliances integriert werden. Es ist nicht erforderlich, für jede Integration separate Plug-Ins zu entwickeln.

  • Koexistenz anderer Anwendungen. Da Citrix ADC BLX-Appliances als Softwareanwendung ausgeführt werden, können auch andere Linux-Anwendungen auf demselben Host ausgeführt werden.

  • DPDK-Unterstützung. Die Citrix ADC BLX-Appliance unterstützt die Integration des Data Plane Development Kit (DPDK) für eine bessere Leistung. Eine Citrix ADC BLX-Appliance verwendet die Open Source-Bibliothek von DPDK, um die Leistung zu verbessern, und überwindet den Linux-Kernel-Engpass bei der Paketverarbeitung.

Allgemeine Architektur

Die Citrix ADC BLX-Appliance ist ein Software-Formfaktor von Citrix ADC und bietet die gleiche Funktionalität wie eine herkömmliche Citrix ADC Appliance. Eine Citrix ADC BLX-Appliance wird als Benutzerbereichsanwendung in einem Linux-System ausgeführt. Die BLX-Appliance verwendet die Linux-Treiber für Rx/Tx von Paketen und die Verwaltung der NIC-Ports. Virtuelle Schnittstellen blx0 und blx1, die während der Startphase des Citrix ADC BLX erstellt werden, werden für die Kommunikation zwischen dem Kernel und der BLX-Appliance verwendet.

Die Architektur BLX

Netzwerk-Modi

Der Netzwerkmodus einer Citrix ADC BLX-Appliance definiert, ob die NIC-Ports des Linux-Hosts mit anderen Linux-Anwendungen, die auf dem Host ausgeführt werden, gemeinsam genutzt werden oder nicht. Eine Citrix ADC BLX-Appliance kann für die Ausführung in einem der folgenden Netzwerkmodi konfiguriert werden:

  • Freigabemodus
  • Engagierter Modus

Freigabemodus

Eine Citrix ADC BLX-Appliance, die für die Ausführung im gemeinsamen Modus konfiguriert ist, teilt die Linux-Host-NIC-Ports mit anderen Linux-Anwendungen

Geteilter Modus BLX

Einer Citrix ADC BLX-Appliance im freigegebenen Modus wird automatisch die Netzwerkadresse 192.0.0.1/24 zugewiesen.

Eine Citrix ADC BLX-Appliance im Shared-Modus arbeitet mit einer einzigen IP-Adresse, die für die Verwaltung und den Datenverkehr verwendet wird. Alle Citrix ADC-eigenen IP-Adressen (z. B. NSIP, SNIP und VIP) haben dieselbe IP-Adresse von 192.0.0.1, jedoch mit unterschiedlichen Portnummern. Mit anderen Worten, diese einzelne IP-Adresse (192.0.0.1) verwendet verschiedene Portnummern, um als NSIP, SNIP und VIPs zu fungieren.

Da die Linux-NIC-Ports von der BLX-Appliance und anderen Linux-Anwendungen gemeinsam genutzt werden, wird eine IP-NAT-Tabelle im Kernel für die BLX-Appliance hinzugefügt. Der Linux-Host verwendet diese IP-NAT-Tabelle, um Pakete zu erkennen, die auf den Linux-NIC-Ports der Citrix ADC BLX-Appliance empfangen wurden.

Der Linux-Host führt dann NAT aus, indem er die Ziel-IP-Adresse des empfangenen Pakets in die IP-Adresse (192.0.0.1) der Citrix ADC BLX-Appliance übersetzt. Die Citrix ADC BLX-Appliance empfängt die Pakete über blx0 und blx1 virtuelle Schnittstellen (veth).

Die Citrix ADC BLX-Appliance verarbeitet die empfangenen Pakete und sendet sie über blx1blx0 virtuelle Schnittstellen an den Linux-Kernel. Der Linux-Host führt NAT für diese Pakete mithilfe der BLX-IP-NAT-Tabelle durch und sendet sie dann über die Linux-NIC-Ports an das Ziel.

Engagierter Modus

Eine im dedizierten Modus konfigurierte Citrix ADC BLX-Appliance verfügt über dedizierte Linux-Host-NIC-Ports und teilt die Ports nicht mit anderen Linux-Anwendungen.

Andere Linux-Anwendungen auf dem Host sehen die Linux-NIC-Ports, die der Citrix ADC BLX-Appliance gewidmet sind, nicht.

Engagierter Modus BLX

Das IP-Adressierungsschema auf einer Citrix ADC BLX-Appliance im dedizierten Modus ähnelt dem einer herkömmlichen Citrix ADC Appliance. Auf einer Citrix ADC BLX-Appliance im dedizierten Modus können ADC-eigene IP-Adressen (z. B. NSIP, SNIP und VIPs) unterschiedliche IP-Adressen haben.

Anders als im Shared-Modus ist für die Citrix ADC BLX-Appliance im dedizierten Modus kein NAT-Betrieb erforderlich. Die Citrix ADC BLX-Appliance empfängt/reagiert Pakete direkt vom/zum externen Netzwerkgerät über die konfigurierten dedizierten Linux-NIC-Ports.

Die Citrix ADC BLX-Appliance im dedizierten Modus verwendet blx0 weiterhin blx1 virtuelle Schnittstellen (veths), um SYSLOG und andere verwaltungsbezogene Informationen an den Linux-Kernel zu senden.

Citrix ADC BLX-Appliance mit Data Plane Development Kit (DPDK) -Unterstützung

Eine Citrix BLX-Appliance verwendet die traditionellen Linux-Treiber für Rx/Tx von Paketen und die Verwaltung der NIC-Ports. Die Pakete, die zwischen dem Linux-Kernel und der BLX-Appliance im Benutzerbereich unter Verwendung der Linux-Treiber übertragen werden, haben mehrere Gemeinkosten. Diese Gemeinkosten wirken sich auf die Leistung der BLX-Appliance aus.

Die Citrix ADC BLX-Appliance verfügt über einen vollständigen TCP/IP-Stapel, um jedes Paket zu verarbeiten. Wenn die BLX-Appliance schnell Pakete von den zugrunde liegenden Linux-NIC-Ports empfängt, wird die Netzwerkleistung verbessert.

Das Data Plane Development Kit (DPDK) kann verwendet werden, um diesen Engpass zu überwinden. DPDK ist ein Satz von Open Source Linux-Bibliotheken und Netzwerkschnittstellen-Controllern, die für eine bessere Netzwerkleistung Weitere Informationen zu DPDK finden Sie auf der offiziellen DPDK-Website unter https://www.dpdk.org/

DPDK BLX

DPDK hilft bei der Umgehung des Kernels und liefert die Pakete direkt zur weiteren Verarbeitung an die Userspace-Anwendung. In Kombination mit dem Linux-UIO-Modul hilft DPDK der Citrix ADC BLX-Appliance, Pakete von/zu den Linux-NIC-Ports zu empfangen/zu übertragen, ohne den Linux-Kernel-Overhead der Paketverarbeitung zu berücksichtigen. Sobald Speicher zugewiesen wurde, verwaltet DPDK seinen eigenen Puffer, um eine bessere Leistung zu erzielen.

Eine Citrix ADC BLX Appliance mit DPDK-Unterstützung funktioniert nur im dedizierten Netzwerkmodus.

Überblick und Architektur