Überblick und Architektur

NetScaler BLX-Appliance ist ein Softwareformfaktor 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 NetScaler BLX-Appliance aufgeführt:

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

    NetScaler 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 NetScaler BLX-Appliances verwendet werden. NetScaler 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 NetScaler BLX-Appliances integriert werden. Es ist nicht erforderlich, für jede Integration separate Plug-Ins zu entwickeln.

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

  • DPDK-Unterstützung. Die NetScaler BLX-Appliance unterstützt die Integration des Data Plane Development Kit (DPDK) für eine bessere Leistung. Eine NetScaler 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

NetScaler BLX-Appliance ist ein Softwareformfaktor von Citrix ADC und bietet dieselben Funktionen wie eine herkömmliche Citrix ADC-Appliance. Eine NetScaler 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 NetScaler BLX erstellt werden, werden für die Kommunikation zwischen dem Kernel und der BLX-Appliance verwendet.

Architektur BLX

Netzwerk-Modi

Der Netzwerkmodus einer NetScaler 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 NetScaler BLX-Appliance kann für die Ausführung in einem der folgenden Netzwerkmodi konfiguriert werden:

  • Freigabemodus
  • Engagierter Modus

Freigabemodus

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

Gemeinsamer Modus BLX

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

Eine NetScaler BLX-Appliance im Shared-Modus arbeitet mit einer einzigen IP-Adresse, die für die Verwaltung und den Datenverkehr verwendet wird. Alle NetScaler 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 NetScaler 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 NetScaler BLX-Appliance übersetzt. Die NetScaler BLX-Appliance empfängt die Pakete über die virtuellen Schnittstellen blx0 und blx1 (veth).

Die NetScaler BLX-Appliance verarbeitet die empfangenen Pakete und sendet sie über die virtuellen Schnittstellen blx1 und blx0 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 NetScaler 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 NetScaler BLX-Appliance gewidmet sind, nicht.

Dedizierter Modus BLX

Das IP-Adressierungsschema auf einer NetScaler BLX-Appliance im dedizierten Modus ähnelt dem einer herkömmlichen Citrix ADC Appliance. Auf einer NetScaler 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 NetScaler BLX-Appliance im dedizierten Modus kein NAT-Betrieb erforderlich. Die NetScaler BLX-Appliance empfängt/reagiert Pakete direkt vom/zum externen Netzwerkgerät über die konfigurierten dedizierten Linux-NIC-Ports.

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

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

Eine NetScaler BLX-Appliance verwendet die herkömmlichen 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 NetScaler 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 NetScaler 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 NetScaler BLX Appliance mit DPDK-Unterstützung funktioniert nur im dedizierten Netzwerkmodus.

Überblick und Architektur