Allgemeine Architektur

NetScaler BLX ist ein Software-Formfaktor von NetScaler und bietet dieselbe Funktionalität wie andere Formfaktoren. Es läuft als Anwendung im Benutzerbereich auf einem Linux-Host.

BLX verwendet die Linux-Treiber für das Senden/Empfangen von Paketen und für die Verwaltung der NIC-Ports. Virtuelle Ethernet (veths)-Schnittstellen blx0 und blx1, die während der Startphase erstellt werden, dienen der Kommunikation zwischen dem Linux-Host und BLX. Zum Beispiel verwendet BLX veths, um Protokollinformationen an den Syslog-Daemon auf einem Linux-Host zu senden.

In BLX sind die im /etc/blx/blx.conf (Startkonfigurationsdatei von BLX) angegebenen NIC-Ports des Linux-Hosts für BLX reserviert. Diese NIC-Ports werden nicht mit anderen Anwendungen auf dem Host geteilt. Nur BLX kann die dedizierten NIC-Ports sehen.

Das IP-Adressierungsschema ähnelt dem eines traditionellen NetScalers. BLX kann unterschiedliche IP-Adressen für NetScaler IP (NSIP), Virtual Server IP (VIP) und Subnet IP (SNIP) haben.

BLX empfängt die Pakete vom externen Netzwerk, verarbeitet die empfangenen Pakete und antwortet direkt über die konfigurierten dedizierten Linux-NIC-Ports. Es verfügt über einen vollwertigen TCP/IP-Stack zur Verarbeitung der Pakete, der den TCP/IP-Stack des Linux-Kernels umgeht. BLX interagiert direkt mit dem Linux-Kernel-Treiber, um die Rohpakete von den NIC-Ports aufzunehmen.

Obwohl BLX den Netzwerk-Stack des Linux-Kernels umgeht, entsteht immer noch ein Overhead beim Übertragen von Paketen zwischen dem Linux-Kernel-Speicher und dem Benutzerspeicher. Dieser Overhead beeinträchtigt die Gesamtleistung der Paketverarbeitung. Wir empfehlen die Verwendung von Data Plane Development Kit (DPDK)-kompatiblen NICs für eine hohe Paketverarbeitungsleistung. Eine Liste der von BLX unterstützten DPDK-kompatiblen NICs finden Sie unter Hardwareanforderungen des Linux-Hosts.

Architektur BLX

DPDK ist eine Sammlung von Open-Source-Linux-Bibliotheken und Netzwerkschnittstellen-Controllern, die für eine bessere Netzwerkleistung verwendet werden. Weitere Informationen zu DPDK finden Sie auf der offiziellen DPDK-Website unter https://www.dpdk.org/.

DPDK hilft, den Kernel-Speicher zu umgehen und die Pakete direkt an den Benutzerspeicher zur Verarbeitung zu liefern. DPDK, kombiniert mit dem Linux UIO-Modul, ermöglicht BLX das Empfangen und Senden von Paketen, ohne den Overhead des Linux-Kernels beim Kopieren von Paketen vom Kernel-Speicher in den Benutzerspeicher zu verursachen. Sobald Speicher zugewiesen ist, verwaltet DPDK seinen Puffer, um eine bessere Leistung zu erzielen.

Hinweis:

BLX kann ohne DPDK-Unterstützung starten, wenn eine der folgenden Bedingungen erfüllt ist.

  • BLX unterstützt die dedizierten DPDK-kompatiblen NIC-Ports nicht.
  • DPDK unterstützt die dedizierten NIC-Ports nicht.
Allgemeine Architektur