Citrix ADC

N-Tier-Cache-Umleitung

Um große Mengen zwischengespeicherter Daten, in der Regel mehrere Gigabyte pro Sekunde, effizient zu verarbeiten, stellt ein Internetdienstanbieter mehrere dedizierte Cacheserver bereit. Die Cache-Umleitungsfunktion der Citrix ADC Appliance kann den Lastausgleich der Cacheserver erleichtern, aber eine einzelne Appliance oder ein paar Appliances kann das große Datenvolumen nicht effizient verarbeiten.

Sie können das Problem lösen, indem Sie die Citrix ADC Appliances auf zwei Tiers (Ebenen) bereitstellen, wobei die Upper-Tier-Appliances Load Balancing mit den Lower-Tier-Appliances und Lower-Tier-Appliances Load Balancing mit dem Cacheserver durchführen. Diese Anordnung wird n-Tier-Cache-Umleitunggenannt.

Zu Zwecken wie Auditing und Sicherheit muss ein ISP Client-Details wie die IP-Adresse, die bereitgestellten Informationen und den Zeitpunkt der Interaktion verfolgen. Daher müssen Clientverbindungen über eine Citrix ADC Appliance vollständig transparent sein. Wenn Sie jedoch die transparente Cache-Umleitung konfigurieren, wobei die Citrix ADC Appliances parallel bereitgestellt werden, muss die IP-Adresse des Clients für alle Appliances freigegeben werden. Die Freigabe der Client-IP-Adresse führt zu einem Konflikt, der dazu führt, dass Netzwerkgeräte wie Router, Cacheserver, Ursprungsserver und andere Citrix ADC Appliances die Appliance und damit den Client, an den die Antwort gesendet werden soll, nicht ermitteln können.

Implementierung der n-Tier-Cache-Umleitung

Um das Problem zu lösen, teilt die Appliance n-Tier-Cache-Umleitung den Quellportbereich auf die Appliances der unteren Ebene auf und schließt die Client-IP-Adresse in die Anforderung ein, die an die Cacheserver gesendet wird. Die Citrix ADC Upper-Tier-Appliances sind so konfiguriert, dass sie einen sitzungslosen Lastausgleich durchführen, um unnötige Auslastung der Appliances zu vermeiden.

Wenn die Citrix ADC Lower-Tier-Appliance mit einem Cacheserver kommuniziert, verwendet sie eine zugeordnete IP-Adresse (MIP), um die Quell-IP-Adresse darzustellen. Daher kann der Cacheserver die Appliance identifizieren, von der er die Anforderung empfangen hat, und die Antwort an dieselbe Appliance senden.

Die Citrix ADC Lower-Tier-Appliance fügt die Client-IP-Adresse in den Header der Anforderung ein, die an den Cacheserver gesendet wird. Die Client-IP im Header hilft der Appliance, den Client zu bestimmen, an den das Paket weitergeleitet werden soll, wenn es die Antwort von einem Cache-Server empfängt, oder den Ursprungsserver im Falle eines Cache-Fehlers. Der Ursprungsserver bestimmt die Antwort, die gesendet werden soll, entsprechend der Client-IP, die in den Request-Header eingefügt ist.

Der Ursprungsserver sendet die Antwort an eine Upper-Tier-Appliance, einschließlich der Quellportnummer, von der der Ursprungsserver die Anforderung empfangen hat. Der gesamte Quellportbereich (1024 bis 65535) wird auf die Citrix ADC Lower-Tier-Appliances verteilt. Jeder Lower-Tier-Appliance wird ausschließlich eine Gruppe von Adressen innerhalb des Bereichs zugewiesen. Mit dieser Zuteilung kann die Upper-Tier-Appliance eindeutig die Citrix ADC Lower-Tier-Appliance identifizieren, die die Anforderung an den Ursprungsserver gesendet hat. Die Upper-Tier-Appliance kann daher die Antwort an die richtige Lower-Tier-Appliance weiterleiten.

Die Citrix ADC Upper-Tier-Appliance sind für richtlinienbasiertes Routing konfiguriert, und die Routingrichtlinien werden definiert, um die IP-Adresse der Ziel-Appliance aus dem Quellportbereich zu bestimmen.

Zur Konfiguration der N-Tier-CRD erforderliche Einrichtung

Das folgende Setup ist für das Funktionieren der n-Tier-Cache-Umleitung erforderlich:

Für jede Citrix ADC Upper-Tier-Appliance:

  • Aktivieren Sie den Layer-3-Modus.
  • Definieren Sie Richtlinien für richtlinienbasierte Routen (PBRs), damit der Datenverkehr entsprechend dem Bereich des Zielports weitergeleitet wird.
  • Konfigurieren Sie einen virtuellen Lastenausgleichsserver.
  • Konfigurieren Sie den virtuellen Server so, dass er den gesamten Datenverkehr vom Client abhört. Legen Sie den Diensttyp/das Protokoll auf ANY und die IP-Adresse als Sternchen (*) fest.
  • Aktivieren Sie den sitzungslosen Lastausgleich mit dem MAC-basierten Umleitungsmodus, um unnötige Auslastung der Citrix ADC Upper-Tier-Appliance zu vermeiden.
  • Stellen Sie sicher, dass die Option Proxyport verwenden aktiviert ist.
  • Erstellen Sie einen Dienst für jede Lower-Tier-Appliance, und binden Sie alle Dienste an den virtuellen Server.

Für jede Citrix ADC Lower-Tier-Appliance:

  • Konfigurieren Sie den Portbereich für die Cache-Umleitung auf der Appliance. Weisen Sie jeder Lower-Tier-Appliance einen exklusiven Bereich zu.
  • Konfigurieren Sie einen virtuellen Lastausgleichsserver und aktivieren Sie die MAC-basierte Umleitung.
  • Erstellen Sie einen Dienst für jeden Cacheserver, der von dieser Appliance geladen werden soll. Aktivieren Sie beim Erstellen des Dienstes das Einfügen der Client-IP in den Header. Binden Sie dann alle Dienste an den virtuellen Lastausgleichsserver.
  • Konfigurieren Sie einen virtuellen Server zur Cache-Umleitung im transparenten Modus mit den folgenden Einstellungen:
    • Aktivieren Sie die Option Origin USIP.
    • Fügen Sie einen Quell-IP-Ausdruck hinzu, um die Client-IP in den Header aufzunehmen.
    • Aktivieren Sie die Option Portbereich verwenden.

Funktionsweise der n-Tier-Cache-Umleitung während eines Cache-Treffers

Die folgende Abbildung zeigt, wie die Cache-Umleitung funktioniert, wenn eine Clientanforderung zwischengespeichert werden kann und die Antwort von einem Cache-Server gesendet wird.

Abbildung 1. Cache-Umleitung bei einem Cache-Treffer

Cache-Umleitung bei einem Cache-Treffer

Zwei Citrix ADC Appliances, L1NS1 und L1NS2, werden in der oberen Ebene bereitgestellt, und vier Citrix ADC Appliances, L2NS1, L2NS2, L2NS3 und L2NS4, werden in der unteren Ebene bereitgestellt. Client A sendet eine Anforderung, die vom Router weitergeleitet wird. Cacheserver CRS1, CRS2 und CRS3 dienen die Cache-Anforderungen. Origin Server O betretet die nicht gespeicherten Anforderungen.

Verkehrsfluss

  1. Client sendet eine Anforderung und der Router leitet sie an L1NS1 weiter.
  2. L1NS1-Lastverteilung der Anforderung an L2NS2.
  3. L2NS2-Lastverteilung der Anforderung an den Cacheserver CRS1, und die Anforderung kann zwischengespeichert werden. L2NS2 enthält die Client-IP in den Anforderungs-Header.
  4. CRS1 sendet die Antwort an L2NS2, da L2NS2 seine MIP als Quell-IP-Adresse beim Herstellen einer Verbindung mit CRS1 verwendet hat.
  5. Mit Hilfe der Client-IP-Adresse im Request-Header identifiziert L2NS2 den Client, von dem die Anforderung stammt. L2NS2 sendet die Antwort direkt an den Router, wodurch unnötige Belastung der Appliance in der oberen Ebene vermieden wird.
  6. Der Router leitet die Antwort an Client A weiter.

Funktionsweise der n-Tier-Cache-Umleitung während einer Cache-Umgehung

Die folgende Abbildung zeigt, wie die Cache-Umleitung funktioniert, wenn eine Clientanforderung an einen Ursprungsserver für eine Antwort gesendet wird.

Abbildung 2. Cache-Umleitung bei Cache-Umgehung

Cache-Umleitung bei Cache-Umgehung

Zwei Citrix ADC Appliances, L1NS1 und L1NS2, werden in der oberen Ebene bereitgestellt, und vier Citrix ADC Appliances, L2NS1, L2NS2, L2NS3 und L2NS4, werden in der unteren Ebene bereitgestellt. Client A sendet eine Anforderung, die vom Router weitergeleitet wird. Cacheserver CRS1, CRS2 und CRS3 dienen die Cache-Anforderungen. Origin Server O betretet die nicht gespeicherten Anforderungen.

Verkehrsfluss

  1. Client sendet eine Anforderung und der Router leitet sie an L1NS1 weiter.
  2. L1NS1-Lastverteilung der Anforderung an L2NS2.
  3. Die Anforderung ist nicht möglich (Cache-Bypass). Daher sendet L2NS2 die Anforderung über den Router an den Ursprungsserver.
  4. Der Ursprungsserver sendet die Antwort an eine Upper-Tier-Appliance, L1NS2.
  5. Gemäß den PBR-Richtlinien leitet L1NS2 den Datenverkehr an die entsprechende Appliance in der unteren Ebene L2NS2 weiter.
  6. L2NS2 verwendet die Client-IP-Adresse im Anforderungs-Header, um den Client zu identifizieren, von dem die Anforderung stammt, und sendet die Antwort direkt an den Router, wodurch unnötige Belastung der Appliance in der oberen Ebene vermieden wird.
  7. Der Router leitet die Antwort an Client A weiter.

Funktionsweise der n-Tier-Cache-Umleitung während eines Cache-Fehlers

Die folgende Abbildung zeigt, wie Cache-Umleitung funktioniert, wenn eine Clientanforderung nicht zwischengespeichert wird.

Abbildung 3. Cache-Umleitung im Falle eines Cache-Fehlers

Cache-Umleitung im Falle eines Cache-Fehlers

Zwei Citrix ADC Appliances, L1NS1 und L1NS2, werden in der oberen Ebene bereitgestellt, und vier Citrix ADC Appliances, L2NS1, L2NS2, L2NS3 und L2NS4, werden in der unteren Ebene bereitgestellt. Client A sendet eine Anforderung, die vom Router weitergeleitet wird. Cacheserver CRS1, CRS2 und CRS3 dienen die Cache-Anforderungen. Origin Server O betretet die nicht gespeicherten Anforderungen.

Verkehrsfluss

  1. Client sendet eine Anforderung und der Router leitet sie an L1NS1 weiter.
  2. L1NS1-Lastverteilung der Anforderung an L2NS2.
  3. L2NS2-Lastverteilung der Anforderung an den Cacheserver CRS1, da die Anforderung zwischengespeichert werden kann.
  4. CRS1 hat nicht die Antwort (Cache Miss). CRS1 leitet die Anforderung an den Ursprungsserver über die Appliance in der unteren Ebene weiter. L2NS3 fängt den Datenverkehr ab.
  5. L2NS3 übernimmt die Client-IP aus dem Header und leitet die Anforderung an den Ursprungsserver weiter. Der im Paket enthaltene Quellport ist der L2NS3-Port, von dem die Anforderung an den Ursprungsserver gesendet wird.
  6. Der Ursprungsserver sendet die Antwort an eine Upper-Tier-Appliance, L1NS2.
  7. Gemäß den PBR-Richtlinien leitet L1NS2 den Datenverkehr an die entsprechende Appliance in der unteren Ebene L2NS3 weiter.
  8. L2NS3 leitet die Antwort an den Router weiter.
  9. Der Router leitet die Antwort an Client A weiter.