Allgemeine Architektur
NetScaler BLX ist ein Software-Formfaktor von NetScaler und bietet dieselbe Funktionalität wie andere Formfaktoren. Es läuft als Benutzermodusanwendung 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-Schnittstellen (veths) blx0 und blx1, die während der Startphase erstellt werden, werden für die Kommunikation zwischen dem Linux-Host und BLX verwendet. BLX verwendet beispielsweise 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 auf dem Host laufenden Anwendungen geteilt. Nur BLX kann die dedizierten NIC-Ports sehen.
Das IP-Adressierungsschema ähnelt dem eines herkömmlichen NetScaler. BLX kann verschiedene 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.

DPDK ist eine Reihe 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 zur Verarbeitung an den Benutzerspeicher zu liefern. DPDK, kombiniert mit dem Linux-UIO-Modul, ermöglicht BLX das Empfangen und Senden von Paketen, ohne den Linux-Kernel-Overhead des Kopierens 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.