Citrix ADC

Wie das Domänennamensystem GSLB unterstützt

Das Domänennamensystem (DNS) wird als verteilte Datenbank betrachtet, die die Client/Server-Architektur verwendet. Nameserver sind die Server in der Architektur, und die Resolver sind die Clients, bei denen es sich um Bibliotheksroutinen handelt, die auf einem Betriebssystem installiert sind und Abfragen über das Netzwerk erstellen und senden.

Die logische Hierarchie des DNS ist im folgenden Diagramm dargestellt:

Logische DNS-Hierarchie

Hinweis:

Die Stammserver der zweiten Ebene sind dafür verantwortlich, Name-Server-zu-Adress-Zuordnungen für Name-Server-Delegationen innerhalb der Domänen .com, .net, .org, .gov usw. zu pflegen. Jede Domäne innerhalb der Domänen der zweiten Ebene ist für die Pflege von Nameserver-zu-Adress-Zuordnungen für die untergeordneten Organisationsdomänen verantwortlich. Auf Organisationsebene werden die einzelnen Hostadressen für www, FTP und andere Dienste, die Hosts bereitstellen, aufgelöst.

Delegation

Der Hauptzweck der aktuellen DNS-Topologie besteht darin, die Aufrechterhaltung aller Adressaufzeichnungen in einer Behörde zu verringern. Dies ermöglicht die Delegation eines Organisationsnamenraums an diese bestimmte Organisation. Die Organisation kann ihren Raum dann weiter an Subdomains innerhalb der Organisation delegieren. Unter citrix.com können Sie beispielsweise Subdomains namens sales.citrix.comeducation.citrix.com, und erstellen support.citrix.com. Die entsprechenden Abteilungen können ihre eigenen Nameserver verwalten, die für ihre Subdomain autoritativ sind, und dann ihren eigenen Satz von Hostnamen verwalten, um Zuordnungen zu adressieren. Keine einzige Abteilung ist für die Pflege aller Citrix Adressdatensätze verantwortlich. Jede Abteilung kann Adressen ändern und Topologien ändern und nicht mehr Arbeit in der übergeordneten Domäne oder Organisation auferlegen.

Vorteile der hierarchischen Topologie

Einige der Vorteile der hierarchischen Topologie sind:

  • Skalierbarkeit
  • Hinzufügen von Caching-Funktionen zu Nameservern auf jeder Ebene, wo eine DNS-Anfrage von einem Host bedient wird, der für eine bestimmte Domäne nicht autoritativ ist, aber die Antwort auf die Abfrage beitragen und die Staus- und Antwortzeit verkürzt.
  • Das Caching erzeugt auch Redundanz und Ausfallsicherheit gegenüber Serverausfällen. Wenn ein Nameserver ausfällt, ist es weiterhin möglich, dass Datensätze von anderen Servern bereitgestellt werden können, die kürzlich zwischengespeicherte Kopien derselben Datensätze enthalten.

Resolver

Resolver sind die Clientkomponente im DNS-System. Programme, die auf einem Host ausgeführt werden, die Informationen aus dem Domänennamenbereich benötigen, verwenden den Resolver. Der Resolver behandelt:

  • Abfragen eines Nameservers.
  • Interpretieren von Antworten (dies können Ressourceneinträge oder ein Fehler sein).
  • Rückgabe der Informationen an die Programme, die sie angefordert haben.

Der Resolver besteht aus einer Reihe von Bibliotheksroutinen, die in Programme wie Telnet, FTP und Ping kompiliert werden. Es sind keine getrennten Prozesse. Die Resolver können eine Anfrage zusammenstellen, senden und auf eine Antwort warten. Und senden Sie es erneut (möglicherweise an einen sekundären Nameserver), wenn es nicht innerhalb einer bestimmten Zeit beantwortet wird. Diese Arten von Resolvern werden als Stub-Resolver bezeichnet. Einige Resolver verfügen über die zusätzliche Funktionalität, um Datensätze zu zwischenspeichern und die Zeit zu leben (TTL). In Windows ist diese Funktionalität über den DNS-Clientdienst verfügbar, der über die Konsole “services.msc” sichtbar ist.

Namen-Server

Nameserver speichern im Allgemeinen vollständige Informationen über einen bestimmten Teil eines Domänennamenraums (Zone genannt). Der Nameserver soll dann die Berechtigung für diese Zone haben. Sie können auch für mehrere Zonen maßgeblich sein.

Der Unterschied zwischen einer Domäne und einer Zone ist subtil. Eine Domäne ist der vollständige Satz von Entitäten einschließlich ihrer Subdomains, während eine Zone nur die Informationen innerhalb einer Domäne ist, die nicht an einen anderen Nameserver delegiert wird. Ein Beispiel für eine Zone ist citrix.com, während es sales.citrix.com sich um eine separate Zone handelt, wenn diese Zone an einen anderen Nameserver innerhalb der Subdomäne delegiert wird. In diesem Fall kann die primäre Citrix Zone citrix.comit.citrix.com, und enthalten support.citrix.com. Da der delegiert sales.citrix.com wird, ist es nicht Teil der Zone, über die der citrix.com Nameserver autoritativ ist. Das folgende Diagramm zeigt die beiden Zonen.

DNS-Zonen

Um eine Subdomain ordnungsgemäß zu delegieren, müssen Sie verschiedenen Nameservern die Berechtigung für die Subdomain zuweisen. Im vorhergehenden Beispiel enthält der ns1.citrix.com keine Informationen über die sales.citrix.com Subdomain. Stattdessen enthält es Zeiger auf die Name-Server, die für die ns1.sales.citrix.com Subdomain autoritativ sind.

Stammnameserver und Abfrageauflösung

Root-Name-Server kennen die IP-Adressen aller Name-Server, die für die Domänen der zweiten Ebene autoritativ sind. Wenn ein Nameserver keine Informationen über eine bestimmte Domäne in seinen eigenen Datendateien hat, muss er sich nur an einen Stammserver wenden, um den richtigen Zweig der DNS-Baumstruktur zu durchqueren, um schließlich zur angegebenen Domäne zu gelangen. Dies beinhaltet eine Reihe von Anfragen an mehrere Nameserver, um beim Traversal des Baums zu helfen, den nächsten autoritativen Nameserver zu finden, der zur weiteren Lösung kontaktiert werden muss.

Das folgende Diagramm zeigt eine typische DNS-Anforderung, vorausgesetzt, dass während der Durchquerung kein zwischengespeicherter Datensatz für den angeforderten Namen vorhanden ist. Im folgenden Beispiel wird ein Mock Up der Citrix Domäne verwendet.

DNS-Zonen

Rekursive und nicht rekursive Abfragen

Das vorhergehende Beispiel veranschaulicht die beiden Arten von Abfragen, die auftreten können.

  • Rekursive Abfrage: Die Abfrage zwischen dem Resolver und dem lokal konfigurierten Name-Server ist rekursiv. Dies bedeutet, dass der Name-Server die Abfrage erhält und nicht auf den Resolver reagiert, bis die Abfrage vollständig beantwortet wurde oder ein Fehler zurückgegeben wird. Wenn der Nameserver eine Verweisung an die Abfrage erhält, folgt der Name-Server der Überweisung, bis der Name-Server die zurückgegebene Antwort (IP-Adresse) schließlich erhält.

  • Nicht rekursive Abfrage: Die Abfrage, die der lokal konfigurierte Name-Server an den nachfolgenden autoritativen Nameserver auf Domänenebene stellt, ist nicht rekursiv (oder iterativ). Jede Anfrage wird sofort entweder mit einer Verweisung an einen autoritativen Server auf niedrigerer Ebene oder mit der Antwort auf die Abfrage beantwortet, wenn der abgefragte Name-Server die Antwort in seinen Datendateien oder seinem Cache enthält.

Zwischenspeichern

Obwohl der Lösungsprozess involviert ist und möglicherweise kleine Anfragen an mehrere Hosts erfordert, ist er schnell. Einer der Faktoren, der die Geschwindigkeit der DNS-Auflösung erhöht, ist das Caching. Jedes Mal, wenn ein Name-Server eine rekursive Abfrage erhält, muss er möglicherweise mit anderen Servern kommunizieren, um schließlich zum richtigen autoritativen Server für die spezifische Anforderung zu gelangen. Es speichert alle Informationen, die es zur späteren Bezugnahme erhält. Wenn der nächste Client eine ähnliche Anfrage stellt, z. B. einen anderen Host, aber in derselben Domäne, kennt er bereits den Name-Server, der für diese Domäne autoritativ ist, und kann eine Anfrage direkt dorthin senden, anstatt am Root-Name-Server zu starten.

Caching kann auch für negative Antworten auftreten, z. B. für Abfragen nach Hosts, die nicht existieren. In diesem Fall darf der Server den autoritativen Nameserver nicht nach der angeforderten Domäne abfragen, um herauszufinden, dass der Host nicht existiert. Um Zeit zu sparen, prüft der Name-Server einfach den Cache und antwortet mit dem negativen Datensatz zurück.

Nameserver zwischenspeichern Datensätze nicht auf unbestimmte Zeit, sonst können Sie die IP-Adressen niemals aktualisieren. Um Synchronisationsprobleme zu vermeiden, enthalten DNS-Antworten eine Time to live (TTL). In diesem Feld wird das Zeitintervall beschrieben, für das der Cache einen Datensatz speichern kann, bevor er ihn verwerfen und beim autoritativen Nameserver nach aktualisierten Datensätzen suchen muss. Wenn sich die Datensätze nicht geändert haben, ermöglicht die Verwendung von TTL auch schnelle dynamische Antworten von Geräten, die GSLB ausführen.

Arten von Ressourceneintrags

Verschiedene RFCs bieten eine umfassende Liste der DNS-Ressourceneinzeichnungstypen und deren Beschreibung. In der folgenden Tabelle sind die gängigen Ressourcendatensatztypen aufgeführt.

Typ des Ressourceneintrags Beschreibung RFC
A Eine Host-Adresse RFC 1035
NS Ein autoritativer Nameserver RFC 1035
MD Ein E-Mail-Ziel (Obsolete - benutze MX) RFC 1035
MF Ein Mail-Forwarder (Obsolet - benutze MX) RFC 1035
CNAME Der kanonische Name für einen Alias RFC 1035
SOA Markiert den Beginn einer Autoritätszone RFC 1035
WKS Eine bekannte Leistungsbeschreibung RFC 1035
PTR Ein Domainnamen-Zeiger RFC 1035
HINFO Hostinformationen RFC 1035
MINFO Informationen zu Postfächern oder Maillisten RFC 1035
MX Mail-Austausch RFC 1035
TXT Text-Zeichenfolgen RFC 1035
AAAA IP6-Adresse RFC 3596
SRV Server-Auswahl RFC 2782]

Wie GSLB DNS unterstützt

GSLB verwendet Algorithmen und Protokolle, die entscheiden, welche IP-Adresse für eine DNS-Abfrage gesendet werden muss. GSLB-Sites sind geografisch verteilt, und an jedem Standort befindet sich ein autoritativer DNS-Nameserver, der als Dienst auf der Citrix ADC-Appliance ausgeführt wird. Alle Nameserver an den verschiedenen beteiligten Standorten sind für dieselbe Domain maßgeblich. Jede der GSLB-Domänen ist eine Subdomain, für die eine Delegation konfiguriert ist. Daher sind die GSLB-Name-Server autoritativ und können einen der verschiedenen Load Balancing-Algorithmen verwenden, um zu entscheiden, welche IP-Adresse zurückgegeben werden soll.

Eine Delegation wird erstellt, indem ein Name-Server-Datensatz für die GSLB-Domäne in den übergeordneten Domänen-Datenbankdateien und einen nachfolgenden Adressdatensatz für die Nameserver hinzugefügt wird, die für die Delegierung verwendet werden. Wenn Sie beispielsweise GSLB für verwenden möchten www.citrix.com, kann die folgende Bind SOA-Datei verwendet werden, um Anfragen an Nameserver www.citrix.com zu delegieren: Netscaler1 und Netscaler2.

###########################################################################
@ IN SOA citrix.com. hostmaster.citrix.com. (
1 ; serial
3h ; refresh
1h ; retry
1w ; expire
1h ) ; negative caching TTL
IN NS ns1
IN NS ns2
IN MX 10 mail

ns1   IN A 10.10.10.10
ns2   IN A 10.10.10.20
mail  IN A 10.20.20.50

### Old Configuration if www was not delegated to a GSLB name server
www IN A 10.20.20.50

### Updated Configuration
Netscaler1 IN A xxx.xxx.xxx.xxx
Netscaler2 IN A yyy.yyy.yyy.yyy
www IN NS Netscaler1.citrix.com.
www IN NS Netscaler2.citrix.com.
###
IN MX 20 mail2
mail2 IN A 10.50.50.20
###########################################################################

<!--NeedCopy-->

Das Verständnis von BIND ist keine Voraussetzung für die Konfiguration von DNS. Alle konformen DNS-Server-Implementierungen verfügen über eine Methode, um die äquivalente Delegation zu erstellen. Microsoft DNS-Server können mithilfe der Anweisungen unter Zonendelegation erstellen für die Delegation konfiguriert werden.

Was GSLB auf der Citrix ADC-Appliance von der Verwendung des Standard-DNS-Dienstes für die Verteilung des Datenverkehrs unterscheidet, ist, dass die Citrix ADC GSLB-Sites Daten mithilfe eines proprietären Protokolls namens Metric Exchange Protocol (MEP) austauschen. Mit MdEP können die GSLB-Sites Informationen über alle anderen Websites aufbewahren. Wenn eine DNS-Anfrage eingegangen ist, berücksichtigt der Abgeordnete die GSLB-Metriken, um Informationen wie die folgenden zu ermitteln:

  • Site mit der geringsten Anzahl aktueller Verbindungen
  • Site, die dem LDNS-Server am nächsten liegt und die Anfrage basierend auf Round-Trip-Zeiten (RTT) gesendet hat.

Es gibt mehrere Load Balancing-Algorithmen, die verwendet werden können, aber GSLB ist ein DNS, wobei das Gehirn darunter dem Nameserver (gehostet auf der Citrix ADC-Appliance) mitteilt, welche Adresse basierend auf Metriken der teilnehmenden Sites gesendet werden muss.

Weitere Vorteile, die GSLB bietet, sind die Fähigkeit, Persistenz (oder Site-Affinität) aufrechtzuerhalten. Antworten auf die eingehenden DNS-Abfragen können mit der Quell-IP-Adresse verglichen werden, um festzustellen, ob diese Adresse in der jüngsten Vergangenheit an eine bestimmte Site weitergeleitet wurde. In diesem Fall wird dieselbe Adresse in der DNS-Antwort gesendet, um sicherzustellen, dass die Clientsitzung beibehalten wird.

Eine andere Form der Persistenz wird auf Standortebene durch Verwendung von HTTP-Weiterleitungen oder HTTP-Proxy erhalten. Diese Formen der Persistenz treten auf, nachdem die DNS-Reaktion aufgetreten ist. Wenn Sie also eine HTTP-Anfrage auf einer Website erhalten, die ein Cookie enthält, um die Anfrage an eine andere teilnehmende Website zu leiten, können Sie entweder mit einer Weiterleitung antworten oder die Anfrage an die entsprechende Website stellen.

Metrisches Austauschprotokoll

Metric Exchange Protocol (MEP) wird verwendet, um die in GSLB-Berechnungen verwendeten Daten über Standorte hinweg freizugeben. Mithilfe von MEP-Verbindungen tauschen Sie drei Arten von Daten aus. Diese Verbindungen müssen über TCP-Port 3011 nicht sicher sein oder können mit SSL über TCP-Port 3009 sicher sein.

Die folgenden drei Arten von Daten werden ausgetauscht und haben ihre eigenen Intervalle und Austauschmethoden.

  • Austausch von Standortmetrik: Dies ist ein Polling-Exchange-Modell. Wenn Site1 beispielsweise eine Konfiguration für Site2-Dienste hat, fragt jede zweite Site1 Site2 nach dem Status der GSLB-Dienste. Site2 antwortet mit dem Status und anderen Ladedetails.

  • Austausch von Netzwerkmetriken: Dies ist der LDNS-RTT-Informationsaustausch, der im dynamischen Proximity-Load Balancing-Algorithmus verwendet wird. Dies ist ein Push-Exchange-Modell. Alle fünf Sekunden leitet jede Site ihre Daten an andere teilnehmende Websites weiter.

  • Persistenzaustausch: Dies ist für den Sourceip-Persistenzaustausch. Dies ist auch ein Push-Exchange-Modell. Alle fünf Sekunden leitet jede Site ihre Daten an andere teilnehmende Websites weiter.

Standardmäßig werden Website-Dienste über den Abgeordneten nur basierend auf Abfrageinformationen überwacht. Wenn Sie Monitore basierend auf dem Monitorintervall binden, wird der Status aktualisiert und Sie können die Häufigkeit der Updates steuern, indem Sie das Überwachungsintervall entsprechend einstellen.

Wie das Domänennamensystem GSLB unterstützt