Architektur und Datenfluss

Dieser Abschnitt beschreibt die Architektur und den Datenfluss des NetScaler CPX Bridge-Modus. NetScaler CPX kann auch im Host-Modus bereitgestellt werden.

Wenn Sie eine NetScaler CPX-Instanz auf einem Docker-Host bereitstellen, erstellt die Docker-Engine eine virtuelle Schnittstelle, eth0, auf der CPX-Instanz. Diese eth0-Schnittstelle ist direkt mit einer virtuellen Schnittstelle (veth*) auf der docker0-Bridge verbunden. Die Docker-Engine weist der NetScaler CPX-Instanz außerdem eine IP-Adresse im Netzwerk 172.17.0.0/16 zu.

Das Standard-Gateway für die CPX-Instanz ist die IP-Adresse der docker0-Bridge, was bedeutet, dass jede Kommunikation mit der NetScaler CPX-Instanz über das Docker-Netzwerk erfolgt. Der gesamte eingehende Datenverkehr, der von der docker0-Bridge empfangen wird, wird von der eth0-Schnittstelle auf der NetScaler CPX-Instanz empfangen und von der NetScaler CPX-Paket-Engine verarbeitet.

Die folgende Abbildung veranschaulicht die Architektur einer NetScaler CPX-Instanz auf einem Docker-Host.

lokalisiertes Bild

Wie eine einzelne IP-Adresse auf NetScaler CPX funktioniert

Eine reguläre NetScaler MPX- oder VPX-Appliance benötigt mindestens drei IP-Adressen für den Betrieb:

  • Management-IP-Adresse, genannt NetScaler IP (NSIP)-Adresse
  • Subnetz-IP (SNIP)-Adresse zur Kommunikation mit der Serverfarm
  • Virtuelle Server-IP (VIP)-Adresse(n) zum Akzeptieren von Client-Anfragen

Eine NetScaler CPX-Instanz arbeitet mit einer einzigen IP-Adresse, die sowohl für die Verwaltung als auch für den Datenverkehr verwendet wird.

Während der Bereitstellung wird der NetScaler CPX-Instanz von der Docker-Engine nur eine private IP-Adresse (einzelne IP-Adresse) zugewiesen. Die drei IP-Funktionen einer NetScaler-Instanz werden auf eine IP-Adresse gemultiplext. Diese einzelne IP-Adresse verwendet verschiedene Portnummern, um als NSIP, SNIP und VIP(s) zu fungieren.

Die folgende Abbildung veranschaulicht, wie eine einzelne IP-Adresse verwendet wird, um die Funktionen von NSIP, SNIP und VIP(s) auszuführen.

lokalisiertes Bild

Datenverkehrsfluss für Anfragen, die von der NetScaler CPX-Instanz stammen

Docker konfiguriert implizit IP-Tabellen und eine NAT-Regel, um den Datenverkehr, der von der NetScaler CPX-Instanz stammt, an die docker0-IP-Adresse zu leiten.

Die folgende Abbildung veranschaulicht, wie eine Ping-Anfrage, die von einer NetScaler CPX-Instanz stammt, das Ziel erreicht.

lokalisiertes Bild

In diesem Beispiel wird die Ping-Anfrage von der Paket-Engine auf der eth0-Schnittstelle mit der NetScaler CPX-IP-Adresse (172.17.0.4) als Quell-IP-Adresse gesendet. Der Docker-Host führt dann eine Netzwerkadressübersetzung (NAT) durch, um die Host-IP-Adresse (192.68.x.x) als Quell-IP-Adresse hinzuzufügen, und sendet die Anfrage an das Ziel (216.58.x.x). Die Antwort von der Ziel-IP-Adresse folgt dem gleichen Pfad in umgekehrter Richtung. Der Docker-Host führt eine NAT für die Antwort durch und leitet die Antwort an die NetScaler CPX-Instanz auf der eth0-Schnittstelle weiter.

Datenverkehrsfluss für Anfragen aus dem externen Netzwerk

Um die externe Kommunikation zu ermöglichen, müssen Sie bei der Bereitstellung von NetScaler CPX Parameter so einstellen, dass Docker bestimmte Ports wie 80, 22 und jeden anderen gewünschten Port freigibt. Wenn Sie bei der Bereitstellung keine Ports zur Freigabe festgelegt haben, müssen Sie NAT-Regeln auf dem Docker-Host konfigurieren, um diese Ports verfügbar zu machen.

Die Client-Anfrage, die aus dem Internet stammt, wird vom Docker-Host empfangen, der dann eine Port-Adressübersetzung (PAT) durchführt, um die öffentliche IP-Adresse und den Port der einzelnen IP-Adresse und dem Port der NetScaler CPX-Instanz zuzuordnen, und den Datenverkehr an die Instanz weiterleitet.

Die folgende Abbildung zeigt, wie der Docker-Host eine Port-Adressübersetzung durchführt, um den Datenverkehr an die einzelne IP-Adresse und den Port der NetScaler CPX zu leiten.

lokalisiertes Bild

In diesem Beispiel ist die IP-Adresse des Docker-Hosts 192.68.x.x und die einzelne IP-Adresse der NetScaler CPX-Instanz ist 172.17.0.4. Der SSH-Port 22 der NetScaler CPX-Instanz ist dem Port 1100 auf dem Docker-Host zugeordnet. Die SSH-Anfrage vom Client wird auf der IP-Adresse 192.68.x.x am Port 1100 empfangen. Der Docker-Host führt eine Port-Adressübersetzung durch, um diese Adresse und diesen Port der einzelnen IP-Adresse 172.17.0.4 am Port 22 zuzuordnen und leitet die Client-Anfrage weiter.

Architektur und Datenfluss