Large Scale NAT64
Aufgrund der bevorstehenden Erschöpfung der IPv4-Adressen haben ISPs mit der Umstellung auf die IPv6-Infrastruktur begonnen. Während der Umstellung müssen ISPs jedoch weiterhin IPv4 zusammen mit IPv6 unterstützen, da der Großteil des öffentlichen Internets immer noch IPv4 verwendet. Large Scale NAT64 ist eine IPv6-Übergangslösung für ISPs mit IPv6-Infrastruktur, um ihre reinen IPv6-Abonnenten mit dem IPv4-Internet zu verbinden. DNS64 ist eine Lösung, um die Erkennung von reinen IPv4-Domänen durch reine IPv6-Clients zu ermöglichen. DNS64 wird mit NAT64 in großem Maßstab verwendet, um eine nahtlose Kommunikation zwischen reinen IPv6-Clients und reinen IPv4-Servern zu ermöglichen.
Eine NetScaler-Appliance implementiert NAT64 und DNS64 in großem Maßstab und ist mit den RFCs 6145, 6146, 6147, 6052, 3022, 2373, 2765 und 2464 kompatibel.
Architektur
Die NAT64-Architektur eines ISP, der eine NetScaler-Appliance verwendet, besteht aus IPv6-Abonnenten, die über eine NetScaler-Appliance, die im Kernnetzwerk des ISP bereitgestellt wird, auf das IPv4-Internet zugreifen. IPv6-Abonnenten sind über das reine IPv6-Zugangsnetzwerk des ISP mit dem ISP-Kernnetzwerk verbunden.
Die umfangreiche NAT64-Funktionalität einer NetScaler-Appliance ermöglicht die Kommunikation zwischen IPv6-Clients und IPv4-Servern durch IPv6-zu-IPv4-Paketübersetzung und umgekehrt, wobei die Sitzungsinformationen auf der NetScaler Appliance erhalten bleiben. Die NetScaler DNS64-Funktionalität stellt IPv4-reine IPv4-Domänen für IPv6-Abonnenten dar, indem DNS-AAAAA-Einträge für reine IPv4-Domänen synthetisiert und an die Abonnenten gesendet werden.
Large Scale NAT64 besteht aus zwei Hauptkomponenten: dem NAT64-Präfix und dem NAT-IPv4-Pool. DNS64 hat eine Hauptkomponente, das DNS64-Präfix, das den gleichen Wert wie das NAT64-Präfix hat.
Beim Empfang einer AAAA-Anfrage von einem reinen IPv6-Abonnenten für einen Domainnamen, der auf einem reinen IPv4-Webserver im Internet gehostet wird, synthetisiert die NetScaler DNS64-Funktionalität einen AAAA-Datensatz für den Domainnamen und sendet ihn an den Abonnenten. Der AAAA-Datensatz wird synthetisiert, indem das DNS64-Präfix (das auf das NAT64-Präfix gesetzt ist) und die tatsächliche IPv4-Adresse des Domainnamens verkettet werden.
Der Abonnent hat jetzt eine IPv6-Zieladresse, die dem gewünschten Domainnamen entspricht. Der Abonnent sendet die Anfrage an die synthetisierte IPv6-Adresse. Nach Empfang der IPv6-Anfrage übersetzt die umfangreiche NetScaler NAT64-Funktionalität das IPv6-Anforderungspaket in ein IPv4-Anforderungspaket. In großem Maßstab setzt NAT64 die Zieladresse der IPv4-Anfrage auf die IPv4-Adresse, die aus der Zieladresse der IPv6-Anfrage extrahiert wird, indem das NAT64-Präfix von der IPv6-Adresse entfernt wird. Der Zielport wird aus der IPv6-Anfrage beibehalten. Large Scale NAT64 setzt außerdem die Quell-IP-Adresse: Quellport des IPv4-Pakets auf den NAT-IP-Adresse:NAT-Port, der aus dem konfigurierten NAT-Pool ausgewählt wurde.
Die Appliance zeichnet alle aktiven Sitzungen auf, die die umfangreiche NAT64-Funktionalität verwenden. Diese Sitzungen werden als groß angelegte NAT64-Sitzungen bezeichnet. Die Appliance verwaltet auch die Zuordnungen zwischen der IPv6-Adresse und dem Port für Abonnenten sowie der NAT-IPv4-Adresse und dem Port für jede groß angelegte NAT64-Sitzung. Diese Zuordnungen werden als groß angelegte NAT64-Mappings bezeichnet. Anhand von umfangreichen NAT64-Sitzungseinträgen und umfangreichen NAT64-Mapping-Einträgen erkennt die NetScaler-Appliance ein (aus dem Internet empfangenes) Antwortpaket als Teil einer bestimmten NAT64-Sitzung.
Wenn die Appliance ein IPv4-Antwortpaket empfängt, das zu einer bestimmten NAT64-Sitzung gehört, verwendet sie die in der NAT64-Sitzung gespeicherten Informationen, um das IPv4-Paket in ein IPv6-Paket zu übersetzen, und sendet dann das IPv6-Antwortpaket an den Abonnenten.
Beispiel: Verkehrsfluss bei der NAT64- und DNS64-Bereitstellung
Stellen Sie sich ein Beispiel für eine groß angelegte NAT64- und DNS64-Bereitstellung vor, die aus der NetScaler-Appliance NS-1 und zwei lokalen DNS-Servern, DNS-1 und DNS-2, im Kernnetzwerk eines ISP und einem IPv6-Abonnenten SUB-1 besteht. SUB-1 ist über das IPv6-Zugangsnetzwerk des ISP mit NS-1 verbunden. NS-1 umfasst umfangreiche NAT64- und DNS64-Konfigurationen, um die Kommunikation zwischen IPv6-Abonnenten-SUB-1 und IPv4-Hosts (intern und extern) zu ermöglichen.
Eine groß angelegte NAT64-Konfiguration umfasst ein NAT64-Präfix (2001:DB 8:300: :/96) und einen NAT-IPv4-Pool für die Übersetzung von IPv6-Anfragen in IPv4-Anfragen und IPv4-Antworten auf IPv6-Antworten.
Die DNS64-Konfiguration umfasst einen virtuellen DNS-Lastausgleichsserver LBVS-DNS64-1 (2001:DB 8:9999: :99) und ein DNS64-Präfix (2001:DB 8:300: :/96). LBVS-DNS64-1 stellt die lokalen DNS-Server DNS-1 und DNS-2 für die Abonnenten des ISP dar. Das DNS64-Präfix, das den gleichen Wert wie das NAT64-Präfix hat, wird für die Synthese von DNS-AAAA-Einträgen aus DNS-A-Einträgen verwendet, die von den DNS-Servern DNS-1 und DNS-2 empfangen wurden. NS-1 antwortet mit einem synthetisierten AAAA-Eintrag an SUB-1 auf eine DNS-Anfrage zur Auflösung eines IPv4-Hosts.
DNS64-Verkehrsfluss
Der Datenverkehr zwischen dem IPv6-Abonnenten SUB-1 und der Site www.example.com
, die sich auf einem reinen IPv4-Webserver im Internet befindet, fließt wie folgt:
- Der IPv6-Abonnent SUB-1 sendet eine DNS-AAAA-Anfrage für
www.example.com
an seinen angegebenen DNS-Server (2001:DB 8:9999: :99). - Der virtuelle DNS-Lastausgleichsserver LBVS-DNS64-1 (2001:DB 8:9999: :99) auf der NetScaler Appliance NS1 empfängt die AAAA-Anfrage. Der Load-Balancing-Algorithmus von LBVS-DNS64-1 wählt den DNS-Server DNS-1 aus und leitet die AAAA-Anfrage an ihn weiter.
- DNS-1 gibt einen leeren Datensatz oder eine Fehlermeldung zurück, da kein AAAA-Datensatz für verfügbar ist.
www.example.com
- Da die DNS64-Option auf LBVS-DNS64-1 aktiviert ist und die AAAA-Anfrage von CL1 der in DNS64-Policy-1 angegebenen Bedingung entspricht, sendet NS1 eine DNS-A-Anfrage an DNS-1 für die IPv4-Adresse von.
www.example.com
- DNS-1 antwortet mit dem A-Record von 192.0.2.60 für.
www.example.com
- Das DNS64-Modul auf NS1 synthetisiert einen AAAA-Datensatz für
www.example.com
, indem es das DNS64-Präfix (2001:DB8:300::/96), das mit LBVS-DNS64-1 verknüpft ist, und die IPv4-Adresse (192.0.2.60) fürwww.example.com
wie folgt verkettet: 2001:DB8:300::192.0.2.60 - NS1 sendet den synthetisierten AAAA-Datensatz an den IPv6-Client CL1. NS1 speichert auch den A-Datensatz in seinem Speicher. NS1 verwendet den zwischengespeicherten A-Datensatz, um AAAA-Datensätze für nachfolgende AAAA-Anfragen zu synthetisieren.
NAT64-Verkehrsfluss
-
Der IPv6-Abonnent SUB-1 sendet eine Anfrage an 2001:DB 8:5001:30.
www.example.com
Das IPv6-Paket hat:- Quell-IP-Adresse = 2001:DB 8:5001:30
- Quellport = 2552
- Ziel-IP-Adresse = 2001:DB 8:300: :192.0.2.60
- Zielport = 80
-
Der IPv6-Abonnent SUB-1 sendet eine Anfrage an 2001:DB 8:5001:30.
www.example.com
Das IPv6-Paket hat:- Quell-IP-Adresse = 2001:DB 8:5001:30
- Quellport = 2552
- Ziel-IP-Adresse = 2001:DB 8:300: :192.0.2.60
- Zielport = 80
-
Wenn NS-1 das IPv6-Paket empfängt, erstellt das umfangreiche NAT64-Modul ein übersetztes IPv4-Anforderungspaket mit:
- Quell-IP-Adresse = Eine der im konfigurierten NAT-Pool verfügbaren IPv4-Adressen (203.0.113.61)
- Quellport = Einer der Ports, die mit der zugewiesenen NAT-IPv4-Adresse (3002) verfügbar sind
- Ziel-IP-Adresse = IPv4-Adresse, die aus der Zieladresse der IPv6-Anfrage extrahiert wurde, indem das NAT64-Präfix (2001:DB 8:300: :/96) von der IPv6-Adresse entfernt wurde (192.0.2.60)
- Zielport = Zielport der IPv6-Anfrage (80)
-
Das groß angelegte NAT64-Modul erstellt auch Mappings- und Sitzungseinträge für diesen groß angelegten NAT64-Fluss. Die Sitzungs- und Zuordnungseinträge enthalten die folgenden Informationen:
- Quell-IP-Adresse des IPv6-Pakets = 2001:DB 8:5001:30
- Quellport des IPv6-Pakets = 2552
- NAT-IP-Adresse = 203.0.113.61
- NAT-Anschluss = 3002
- NS-1 sendet das resultierende IPv4-Paket an sein Ziel im Internet.
-
Nach Empfang des Anforderungspakets
www.example.com
verarbeitet der Server das Paket und sendet ein Antwortpaket an NS-1. Das IPv4-Antwortpaket enthält:- Quell-IP-Adresse = 192.0.2.60
- Quellport = 80
- Ziel-IP-Adresse = 203.0.113.61
- Zielport = 3002
-
Nach Empfang des IPv4-Antwortpakets untersucht NS-1 die umfangreiche NAT64-Zuordnung und die Sitzungseinträge und stellt fest, dass das IPv4-Antwortpaket zu einer großen NAT64-Sitzung gehört. Das groß angelegte NAT64-Modul erstellt ein übersetztes IPv6-Antwortpaket:
- Quell-IP-Adresse = 2001:DB 8:300: :192.0.2.60
- Quellport = 80
- Ziel-IP-Adresse = 2001:DB 8:5001:30
- Zielport = 2552
-
NS-1 sendet die übersetzte IPv6-Antwort an den Client SUB-1.
Große NAT64-Funktionen, die auf NetScaler-Appliances unterstützt werden
Der große NAT64 auf einer NetScaler Appliance unterstützt den standardmäßigen LSN-Funktionsumfang. Weitere Informationen zu diesen LSN-Funktionen finden Sie unter LSN Architecture.
Im Folgenden finden Sie einige der großen NAT64-Funktionen, die von NetScaler Appliances unterstützt werden:
- ALGs. Unterstützung von Application Layer Gateway (ALG) für SIP-, RTSP-, FTP-, ICMP- und TFTP-Protokolle.
- Deterministisches/Festes NAT. Unterstützung für die vorherige Zuweisung von Portblöcken an Abonnenten, um die Protokollierung zu minimieren.
- Kartierung. Unterstützung von endpunktunabhängiger Zuordnung (EIM), adressabhängiger Zuordnung (ADM) und adressportabhängiger Zuordnung (APDM).
- Filterung. Unterstützung von Endpunktunabhängiger Filterung (EIF), adressabhängiger Filterung (ADF) und adressportabhängiger Filterung (APDF).
- Kontingente. Konfigurierbare Grenzwerte für die Anzahl der Ports, Sitzungen pro Abonnent und Sitzungen pro LSN-Gruppe.
- Statische Kartierung. Unterstützung für die manuelle Definition eines groß angelegten NAT64-Mappings.
- Hairpin Flow. Unterstützung für die Kommunikation zwischen Abonnenten oder internen Hosts mithilfe von NAT-IP-Adressen.
- 464XLAT-Verbindungen. Unterstützung für die Kommunikation zwischen reinen IPv4-Anwendungen auf IPv6-Abonnenten-Hosts und IPv4-Hosts im Internet über ein IPv6-Netzwerk.
- NAT64- und DNS64-Präfixe variabler Länge. Die NetScaler-Appliance unterstützt die Definition von NAT64- und DNS64-Präfixen mit den Längen 32, 40, 48, 56, 64 und 96.
- Mehrfaches NAT64- und DNS64-Präfix. Die NetScaler-Appliance unterstützt mehrere NAT64- und DNS64-Präfixe.
- LSN-Kunden. Unterstützung für die Spezifizierung oder Identifizierung von Abonnenten für NAT64 in großem Maßstab mithilfe von IPv6-Präfixen und erweiterten ACL6-Regeln.
- Protokollierung. Unterstützung für die Protokollierung von NAT64-Sitzungen für Strafverfolgungsbehörden. Darüber hinaus wird Folgendes für die Protokollierung unterstützt.
- Zuverlässiges SYSLOG. Unterstützung für das Senden von SYSLOG-Nachrichten über TCP an externe Protokollserver für einen zuverlässigeren Transportmechanismus.
- Lastenausgleich von Protokollservern. Unterstützung für den Lastenausgleich externer Protokollserver, um die Speicherung redundanter Protokollmeldungen zu verhindern.
- Minimale Protokollierung. Deterministische LSN-Konfigurationen oder dynamische LSN-Konfigurationen mit Portblock reduzieren das große NAT64-Protokollvolumen erheblich.
- Protokollierung von MSISDN-Informationen. Unterstützung für die Einbeziehung der MSISDN-Informationen von Abonnenten in große NAT64-Protokolle, um Abonnentenaktivitäten über das Internet zu identifizieren und zu verfolgen.