N-Tier-Cache-Umleitung
Um große Mengen zwischengespeicherter Daten, in der Regel mehrere Gigabyte pro Sekunde, effizient zu verarbeiten, stellt ein Internetdienstanbieter (ISP) mehrere dedizierte Cacheserver bereit. Die Cache-Umleitungsfunktion der NetScaler-Appliance kann zur Lastverteilung der Cache-Server beitragen, aber eine einzelne Appliance oder mehrere Appliances bewältigen das große Datenverkehrsvolumen möglicherweise nicht effizient.
Sie können das Problem lösen, indem Sie die NetScaler-Appliances in zwei Ebenen (Layer) bereitstellen, wobei die Appliances in der oberen Ebene die Appliances auf der unteren Ebene ausgleichen und die Appliances auf der unteren Ebene die Cache-Server ausgleichen. Diese Anordnung wird als n-Tier-Cache-Umleitungbezeichnet.
Zu Zwecken wie Überwachung und Sicherheit muss ein ISP Kundendetails wie die IP-Adresse, die bereitgestellten Informationen und den Zeitpunkt der Interaktion verfolgen. Daher müssen Client-Verbindungen über eine NetScaler-Appliance vollständig transparent sein. Wenn Sie jedoch eine transparente Cache-Umleitung konfigurieren und die NetScaler-Appliances parallel bereitgestellt werden, muss die IP-Adresse des Clients von allen Appliances gemeinsam genutzt werden. Die gemeinsame Nutzung der Client-IP-Adresse führt zu einem Konflikt, der dazu führt, dass Netzwerkgeräte wie Router, Cache-Server, Ursprungsserver und andere NetScaler-Appliances nicht in der Lage sind, die Appliance und damit den Client zu bestimmen, an den die Antwort gesendet werden soll.
So wird die N-Tier-Cache-Umleitung implementiert
Um das Problem zu lösen, teilt die N-Tier-Cache-Umleitung der Appliance den Quellportbereich auf die Appliances der unteren Ebene auf und bezieht die Client-IP-Adresse in die Anfrage ein, die an die Cache-Server gesendet wird. Die NetScaler-Appliances der oberen Ebene sind so konfiguriert, dass sie einen sitzungslosen Lastenausgleich durchführen, um eine unnötige Belastung der Appliances zu vermeiden.
Wenn die untergeordnete NetScaler-Appliance mit einem Cache-Server kommuniziert, verwendet sie eine zugeordnete IP-Adresse (MIP), um die Quell-IP-Adresse darzustellen. Daher kann der Cache-Server die Appliance identifizieren, von der er die Anfrage empfangen hat, und die Antwort an dieselbe Appliance senden.
Die untergeordnete NetScaler-Appliance fügt die Client-IP-Adresse in den Header der Anfrage ein, die an den Cache-Server gesendet wird. Die Client-IP im Header hilft der Appliance dabei, den Client zu bestimmen, an den das Paket weitergeleitet werden soll, wenn sie die Antwort von einem Cache-Server erhält, oder den Ursprungsserver im Falle eines Cache-Fehlers. Der Ursprungsserver bestimmt die zu sendende Antwort anhand der Client-IP, die in den Anforderungsheader eingefügt wurde.
Der Ursprungsserver sendet die Antwort an eine Appliance der oberen Ebene, einschließlich der Quellportnummer, von der der Originalserver die Anfrage empfangen hat. Der gesamte Quellportbereich, 1024 bis 65535, ist auf die NetScaler-Appliances der unteren Stufe verteilt. Jeder Appliance der unteren Stufe wird ausschließlich eine Gruppe von Adressen innerhalb des Bereichs zugewiesen. Diese Zuteilung ermöglicht es der Appliance der oberen Ebene, die NetScaler-Appliance der unteren Ebene, die die Anfrage an den Ursprungsserver gesendet hat, eindeutig zu identifizieren. Die Appliance der oberen Ebene kann die Antwort daher an die richtige Appliance der unteren Ebene weiterleiten.
Die NetScaler-Appliances der oberen Ebene sind für richtlinienbasiertes Routing konfiguriert, und die Routing-Richtlinien sind so definiert, dass sie die IP-Adresse der Ziel-Appliance anhand des Quellportbereichs bestimmen.
Für die Konfiguration von N-Tier CRD ist eine Einrichtung erforderlich
Das folgende Setup ist für das Funktionieren der n-Tier-Cache-Umleitung erforderlich:
Für jede NetScaler-Appliance der oberen Ebene:
- Aktivieren Sie den Layer-3-Modus.
- Definieren Sie Richtlinien für richtlinienbasierte Routen (PBRs), sodass der Datenverkehr entsprechend der Reichweite des Zielports weitergeleitet wird.
- Konfigurieren Sie einen virtuellen Lastausgleichsserver.
- Konfigurieren Sie den virtuellen Server so, dass er den gesamten vom Client kommenden Datenverkehr abhört. Stellen Sie den Diensttyp/das Protokoll auf ANY und die IP-Adresse auf ein Sternchen (*) ein.
- Aktivieren Sie den Sitzungslosen Lastenausgleich mit dem MAC-basierten Umleitungsmodus, um eine unnötige Belastung der NetScaler-Appliances der oberen Ebene zu vermeiden.
- Vergewissern Sie sich, dass die Option Proxyport verwenden aktiviert ist.
- Erstellen Sie einen Dienst für jede untergeordnete Appliance und binden Sie alle Dienste an den virtuellen Server.
Für jede NetScaler-Appliance der unteren Stufe
- Konfigurieren Sie den Portbereich für die Cache-Umleitung auf der Appliance. Weisen Sie jeder Appliance der unteren Stufe einen exklusiven Bereich zu.
- Konfigurieren Sie einen virtuellen Lastausgleichsserver und aktivieren Sie die MAC-basierte Umleitung.
- Erstellen Sie einen Dienst für jeden Cache-Server, für den diese Appliance einen Lastenausgleich durchführen soll. Aktivieren Sie beim Erstellen des Dienstes das Einfügen der Client-IP in den Header. Binden Sie dann alle Dienste an den virtuellen Load-Balancing-Server.
- Konfigurieren Sie einen virtuellen Server für die Cache-Umleitung im transparenten Modus mit den folgenden Einstellungen:
- Aktiviere die Origin USIP Option.
- Fügen Sie einen Quell-IP-Ausdruck hinzu, um die Client-IP in den Header aufzunehmen.
- Aktivieren Sie die Option Portbereich verwenden.
So funktioniert die N-Tier-Cache-Umleitung bei einem Cache-Treffer
Die folgende Abbildung zeigt, wie die Cache-Umleitung funktioniert, wenn eine Client-Anfrage zwischengespeichert werden kann und die Antwort von einem Cache-Server gesendet wird.
Abbildung 1. Cache-Umleitung bei einem Cache-Treffer
Zwei NetScaler-Appliances, L1NS1 und L1NS2, werden in der oberen Ebene bereitgestellt, und vier NetScaler-Appliances, L2NS1, L2NS2, L2NS3 und L2NS4, werden in der unteren Ebene bereitgestellt. Client A sendet eine Anfrage, die vom Router weitergeleitet wird. Die Cache-Server CRS1, CRS2 und CRS3 bearbeiten die Cache-Anfragen. Origin Server O bedient die ungecachten Anfragen.
Verkehrsfluss
- Der Client sendet eine Anfrage und der Router leitet sie an L1NS1 weiter.
- L1NS1 verteilt die Anforderung auf L2NS2.
- L2NS2 verteilt die Anforderung an den Cache-Server CRS1, und die Anfrage ist zwischenspeicherbar. L2NS2 schließt die Client-IP in den Anforderungsheader ein.
- CRS1 sendet die Antwort an L2NS2, da L2NS2 bei der Verbindung zu CRS1 seinen MIP als Quell-IP-Adresse verwendet hat.
- Mithilfe der Client-IP-Adresse im Anforderungsheader identifiziert L2NS2 den Client, von dem die Anfrage kam. L2NS2 sendet die Antwort direkt an den Router und vermeidet so eine unnötige Belastung der Appliance in der oberen Ebene.
- Der Router leitet die Antwort an Client A weiter.
So funktioniert die N-Tier-Cache-Umleitung bei einem Cache-Bypass
Die folgende Abbildung zeigt, wie die Cache-Umleitung funktioniert, wenn eine Clientanfrage zur Antwort an einen Ursprungsserver gesendet wird.
Abbildung 2. Cache-Umleitung bei Cache-Umgehung
Zwei NetScaler-Appliances, L1NS1 und L1NS2, werden in der oberen Ebene bereitgestellt, und vier NetScaler-Appliances, L2NS1, L2NS2, L2NS3 und L2NS4, werden in der unteren Ebene bereitgestellt. Client A sendet eine Anfrage, die vom Router weitergeleitet wird. Die Cache-Server CRS1, CRS2 und CRS3 bearbeiten die Cache-Anfragen. Origin Server O bedient die ungecachten Anfragen.
Verkehrsfluss
- Der Client sendet eine Anfrage und der Router leitet sie an L1NS1 weiter.
- L1NS1 verteilt die Anforderung auf L2NS2.
- Die Anfrage ist nicht zwischenspeicherbar (Cache-Bypass). Daher sendet L2NS2 die Anfrage über den Router an den Ursprungsserver.
- Der Ursprungsserver sendet die Antwort an eine Appliance der oberen Ebene, L1NS2.
- Gemäß den PBR-Richtlinien leitet L1NS2 den Datenverkehr an die entsprechende Appliance der unteren Ebene, L2NS2, weiter.
- L2NS2 verwendet die Client-IP-Adresse im Anforderungsheader, um den Client zu identifizieren, von dem die Anfrage kam, und sendet die Antwort direkt an den Router, wodurch eine unnötige Belastung der Appliance in der oberen Ebene vermieden wird.
- Der Router leitet die Antwort an Client A weiter.
So funktioniert die N-Tier-Cache-Umleitung bei einem Cachefehler
Die folgende Abbildung zeigt, wie die Cache-Umleitung funktioniert, wenn eine Client-Anfrage nicht zwischengespeichert wird.
Abbildung 3. Cache-Umleitung im Falle eines Cache-Fehlers
Zwei NetScaler-Appliances, L1NS1 und L1NS2, werden in der oberen Ebene bereitgestellt, und vier NetScaler-Appliances, L2NS1, L2NS2, L2NS3 und L2NS4, werden in der unteren Ebene bereitgestellt. Client A sendet eine Anfrage, die vom Router weitergeleitet wird. Die Cache-Server CRS1, CRS2 und CRS3 bearbeiten die Cache-Anfragen. Origin Server O bedient die ungecachten Anfragen.
Verkehrsfluss
- Der Client sendet eine Anfrage und der Router leitet sie an L1NS1 weiter.
- L1NS1 verteilt die Anforderung auf L2NS2.
- L2NS2 verteilt die Anforderung an den Cache-Server CRS1, da die Anfrage zwischenspeicherbar ist.
- CRS1 hat keine Antwort (Cachefehler). CRS1 leitet die Anfrage über die Appliance in der unteren Ebene an den Ursprungsserver weiter. L2NS3 fängt den Verkehr ab.
- L2NS3 nimmt die Client-IP aus dem Header und leitet die Anfrage an den Ursprungsserver weiter. Der im Paket enthaltene Quellport ist der L2NS3-Port, von dem die Anfrage an den Ursprungsserver gesendet wird.
- Der Ursprungsserver sendet die Antwort an eine Appliance der oberen Ebene, L1NS2.
- Gemäß den PBR-Richtlinien leitet L1NS2 den Datenverkehr an die entsprechende Appliance der unteren Stufe, L2NS3, weiter.
- L2NS3 leitet die Antwort an den Router weiter.
- Der Router leitet die Antwort an Client A weiter.
In diesem Artikel
- So wird die N-Tier-Cache-Umleitung implementiert
- Für die Konfiguration von N-Tier CRD ist eine Einrichtung erforderlich
- So funktioniert die N-Tier-Cache-Umleitung bei einem Cache-Treffer
- So funktioniert die N-Tier-Cache-Umleitung bei einem Cache-Bypass
- So funktioniert die N-Tier-Cache-Umleitung bei einem Cachefehler