NAT im großen Maßstab
Hinweis:
Die Large Scale NAT (LSN) -Funktion ist ab Version NetScaler 14.1 veraltet.
Veraltete Funktionen werden nicht sofort entfernt. Die NetScaler Appliance unterstützt die veraltete Funktion weiterhin, bis sie in einer zukünftigen Version entfernt wird.
Das phänomenale Wachstum des Internets hat zu einem Mangel an öffentlichen IPv4-Adressen geführt. Large Scale NAT (LSN/CGNAT) bietet eine Lösung für dieses Problem und maximiert die Nutzung verfügbarer öffentlicher IPv4-Adressen, indem einige öffentliche IPv4-Adressen von einem großen Pool von Internetbenutzern gemeinsam genutzt werden.
LSN übersetzt private IPv4-Adressen in öffentliche IPv4-Adressen. Es umfasst Methoden zur Netzwerkadressen- und Portübersetzung, um viele private IP-Adressen zu weniger öffentlichen IPv4-Adressen zusammenzufassen. LSN ist darauf ausgelegt, NAT in großem Maßstab zu handhaben. Die NetScaler LSN-Funktion ist sehr nützlich für Internetdienstanbieter (ISPs) und Netzbetreiber, die Millionen von Übersetzungen zur Unterstützung einer großen Anzahl von Benutzern (Abonnenten) und bei sehr hohem Durchsatz bereitstellen.
LSN-Architektur
Die LSN-Architektur eines ISP, der NetScaler-Produkte verwendet, besteht aus Abonnenten (Internetbenutzern) in privaten Adressräumen, die über eine NetScaler-Appliance, die im Kernnetzwerk des ISP bereitgestellt wird, auf das Internet zugreifen. Abonnenten sind über das Zugangsnetz des ISP mit dem ISP verbunden. Normalerweise sind Abonnenten für die kommerzielle Nutzung des Internets direkt mit dem Zugangsnetz des ISP verbunden. Für die Betreuung dieser Abonnenten ist nur ein NAT-Level (NAT44) erforderlich.
Nichtkommerzielle Abonnenten stehen jedoch in der Regel hinter kundeneigenen Geräten (CPE) wie Routern und Modems, die auch NAT implementieren. Diese beiden NAT-Ebenen bilden das NAT444-Modell. Die Bereitstellung einer NetScaler-Appliance im Kernnetzwerk eines ISP für die LSN-Funktionalität ist für die Abonnenten transparent und erfordert keine Konfigurationsänderungen für die Abonnenten oder die CPEs.
Die NetScaler-Appliance empfängt alle Abonnentenpakete, die für das Internet bestimmt sind. Die Appliance ist mit einem Pool vordefinierter NAT-IP-Adressen konfiguriert, die für LSN verwendet werden. Die NetScaler-Appliance verwendet ihre LSN-Funktion, um die Quell-IP-Adresse (privat) und den Port des Pakets in die NAT-IP-Adresse (öffentlich) und den NAT-Port zu übersetzen und das Paket dann an sein Ziel im Internet zu senden. Die Appliance zeichnet alle aktiven Sitzungen auf, die die LSN-Funktion verwenden. Diese Sitzungen werden als LSN-Sitzungen bezeichnet. Die NetScaler-Appliance verwaltet auch die Zuordnungen zwischen der IP-Adresse und dem Port des Abonnenten sowie der NAT-IP-Adresse und dem Port für jede Sitzung. Diese Zuordnungen werden als LSN-Mappings bezeichnet. Anhand von LSN-Sitzungen und LSN-Zuordnungen erkennt die NetScaler-Appliance ein Antwortpaket (aus dem Internet empfangen), das zu einer bestimmten Sitzung gehört. Die Appliance übersetzt die Ziel-IP-Adresse und den Port des Antwortpakets von NAT-IP-Adresse:Port in die Abonnenten-IP-Adresse:Port und sendet das übersetzte Paket an den Abonnenten.
Von der NetScaler-Appliance unterstützte LSN-Funktionen
Im Folgenden werden einige der LSN-Funktionen beschrieben, die auf der NetScaler-Appliance unterstützt werden:
NAT-Ressourcenzuweisung
Die NetScaler-Appliance weist Abonnenten NAT-IP-Adressen und -Ports aus ihrem vordefinierten NAT-Ressourcenpool zu, um ihre Pakete für die Übertragung an externe Hosts (Internet) zu übersetzen. Die NetScaler-Appliance unterstützt die folgenden Arten von NAT-IP-Adressen und Portzuweisungen für Abonnenten:
-
Deterministisch. Die NetScaler-Appliance weist jedem Abonnenten eine NAT-IP-Adresse und einen Block von Ports zu. Die Appliance weist diesen Abonnenten sequentiell NAT-Ressourcen zu. Es weist den ersten Portblock auf der ersten NAT-IP-Adresse der ersten Abonnenten-IP-Adresse zu. Der nächste Portbereich wird dem nächsten Abonnenten zugewiesen usw., bis die NAT-Adresse nicht mehr über genügend Ports für den nächsten Abonnenten verfügt. Zu diesem Zeitpunkt wird der erste Portblock an der nächsten NAT-Adresse dem Abonnenten zugewiesen usw.
Die NetScaler-Appliance protokolliert die zugewiesene NAT-IP-Adresse und den Portblock für einen Abonnenten. Bei einer Verbindung kann ein Abonnent nur anhand seiner zugeordneten NAT-IP-Adresse und seines Portblocks identifiziert werden. Aus diesem Grund protokolliert die NetScaler-Appliance keine erstellten oder gelöschten LSN-Sitzungen. Wenn der gesamte Portblock verwendet wird, unterbricht die NetScaler-Appliance jede neue Verbindung des Abonnenten.
-
Dynamisch. Die NetScaler-Appliance weist der Verbindung eines Abonnenten eine zufällige NAT-IP-Adresse und einen Port aus dem LSN-NAT-Pool zu. Wenn die Portblockzuweisung in der Konfiguration aktiviert ist, weist die Appliance einem Abonnenten eine zufällige NAT-IP-Adresse und einen Block von Ports zu, wenn sie zum ersten Mal eine Verbindung initiiert. Die NetScaler-Appliance weist dann jeder nachfolgenden Verbindung von diesem Abonnenten diese NAT-IP-Adresse und einen der Ports aus dem zugewiesenen Block zu. Wenn der gesamte Portblock verwendet wird, weist die Appliance dem Abonnenten einen neuen zufälligen Portblock zu, wenn sie eine neue Verbindung initiiert. Einer der Port im neuen Portblock ist für die neue Verbindung zugewiesen.
IP-Pooling
Die folgenden NAT-Ressourcenzuweisungsoptionen sind für nachfolgende Sitzungen eines Abonnenten verfügbar, dem eine zufällige NAT-IP-Adresse und ein Port für eine bestehende Sitzung zugewiesen wurden.
- Gepaart. Die NetScaler-Appliance weist allen Sitzungen, die demselben Abonnenten zugeordnet sind, dieselbe NAT-IP-Adresse zu. Wenn für diese Adresse keine Ports mehr verfügbar sind, unterbricht die Appliance alle neuen Verbindungen des Abonnenten. Diese Option ist für das reibungslose Funktionieren bestimmter Anwendungen erforderlich, die die Erstellung mehrerer Sitzungen an derselben Quell-IP-Adresse erfordern (z. B. in Peer-to-Peer-Anwendungen, die das RTP- oder RTCP-Protokoll verwenden).
- Zufällig. Die NetScaler-Appliance weist zufällige NAT-IP-Adressen aus dem Pool für verschiedene Sitzungen zu, die demselben Abonnenten zugeordnet sind.
LSN-Zuordnungen wiederverwenden
Die NetScaler-Appliance kann eine vorhandene LSN-Map für neue Verbindungen wiederverwenden, die von derselben Abonnenten-IP-Adresse und demselben Port ausgehen. Die NetScaler LSN-Funktion unterstützt die folgenden Arten der Wiederverwendung von LSN-Mappings:
- Endgeräteunabhängig. Die NetScaler-Appliance verwendet die LSN-Zuordnung für nachfolgende Pakete, die von derselben Abonnenten-IP-Adresse und demselben Port (x:X) an jede externe IP-Adresse und jeden Port gesendet werden. Diese Art der Wiederverwendung von LSN-Karten ist nützlich für das reibungslose Funktionieren von VOIP- und Peer-to-Peer-Anwendungen.
- Adressabhängig. Die NetScaler-Appliance verwendet die LSN-Zuordnung für nachfolgende Pakete, die von derselben Abonnenten-IP-Adresse und demselben Port (x:X) an dieselbe externe IP-Adresse (Y) gesendet werden, unabhängig vom externen Port.
- Abhängig vom Adressport. Die NetScaler-Appliance verwendet das LSN-Mapping für nachfolgende Pakete, die von derselben internen IP-Adresse und demselben Port (x:X) an dieselbe externe IP-Adresse und denselben Port (y:Y) gesendet werden, solange das Mapping noch aktiv ist.
LSN-Filterung
Die NetScaler-Appliance kann Pakete von externen Hosts auf der Grundlage der aktiven LSN-Sitzungen und LSN-Zuordnungen filtern. Stellen Sie sich ein Beispiel für eine LSN-Zuordnung vor, die die Zuordnung von Abonnenten-IP:Port (x:X), NAT-IP:Port (n:N) und externem Host-IP:Port (y:Y) umfasst. Die NetScaler LSN-Funktion unterstützt die folgenden Filtertypen:
- Endgeräteunabhängig. Die NetScaler-Appliance filtert nur die Pakete heraus, die nicht für den NAT-IP:Port (n:N) bestimmt sind, der Abonnenten-IP:Port (x:X) darstellt, unabhängig von der externen Host-IP-Adresse und der Portquelle (z:Z). Die NetScaler-Appliance leitet alle Pakete weiter, die für x:x bestimmt sind. Mit anderen Worten, das Senden von Paketen vom Abonnenten an eine beliebige externe IP-Adresse reicht aus, um Pakete von einem beliebigen externen Host an den Abonnenten zuzulassen. Diese Art der Filterung ist nützlich für das reibungslose Funktionieren von VOIP- und Peer-to-Peer-Anwendungen.
- Adressabhängig. Die NetScaler-Appliance filtert Pakete heraus, die nicht für NAT IP:Port (n:N) bestimmt sind, was Abonnenten-IP:Port (x:X) darstellt. Darüber hinaus filtert die Appliance Pakete von der externen Host-IP-Adresse und dem Port (Y:Y) heraus, die für N:n bestimmt sind, wenn der Abonnent zuvor keine Pakete an y:AnyPort gesendet hat (unabhängig vom externen Port). Mit anderen Worten, das Empfangen von Paketen von einem bestimmten externen Host erfordert, dass der Abonnent zuerst Pakete an die IP-Adresse dieses bestimmten externen Hosts sendet.
- Abhängig vom Adressport. Die NetScaler-Appliance filtert Pakete heraus, die nicht für NAT IP:Port (n:N) bestimmt sind, was Abonnenten-IP:Port (x:X) darstellt. Darüber hinaus filtert die Appliance Pakete von der externen Host-IP-Adresse und dem Port (Y:y) heraus, die für N:n bestimmt sind, falls der Abonnent zuvor keine Pakete an Y:y gesendet hat. Mit anderen Worten, das Empfangen von Paketen von einem bestimmten externen Host erfordert, dass der Abonnent zuerst Pakete an diese bestimmte externe IP-Adresse und diesen Port sendet.
Kontingente
Die NetScaler-Appliance kann die Anzahl der NAT-Ports und -Sitzungen für jeden Abonnenten begrenzen, um eine faire Verteilung der Ressourcen unter den Abonnenten zu gewährleisten. Die NetScaler-Appliance kann auch die Anzahl der Sitzungen für eine Abonnentengruppe begrenzen, um eine faire Verteilung der Ressourcen auf verschiedene Abonnentengruppen zu gewährleisten.
- Hafenkontingent. Die NetScaler-Appliance kann die LSN-NAT-Ports einschränken, die jeweils von jedem Abonnenten für ein bestimmtes Protokoll verwendet werden. Sie könnten beispielsweise jeden Abonnenten auf maximal 500 TCP-NAT-Ports beschränken. Wenn die LSN-NAT-Zuordnungen für einen Abonnenten das Limit erreichen, weist die NetScaler-Appliance diesem Abonnenten keine zusätzlichen NAT-Ports des angegebenen Protokolls zu.
- Sitzungslimit für Abonnenten. Die Anzahl gleichzeitiger Sitzungen für einen Abonnenten kann das Portkontingent überschreiten. Die NetScaler-Appliance kann die LSN-Sitzungen einschränken, die für jeden Abonnenten für ein bestimmtes Protokoll zulässig sind. Wenn die Anzahl der LSN-Sitzungen das Limit für einen Abonnenten erreicht, erlaubt die NetScaler-Appliance dem Abonnenten nicht, weitere Sitzungen des angegebenen Protokolls zu öffnen.
- Limit für Gruppensitzungen. Die NetScaler-Appliance kann die Gesamtzahl der LSN-Sitzungen begrenzen, die für eine Abonnentengruppe für ein bestimmtes Protokoll zulässig sind. Wenn die Gesamtzahl der LSN-Sitzungen das Limit für eine Gruppe für ein bestimmtes Protokoll erreicht, erlaubt die NetScaler-Appliance keinem Abonnenten der Gruppe, zusätzliche Sitzungen des angegebenen Protokolls zu öffnen. Sie beschränken beispielsweise eine Gruppe auf maximal 10000 UDP-Sitzungen. Wenn die Gesamtzahl der UDP-Sitzungen für diese Gruppe 10000 erreicht, erlaubt die NetScaler-Appliance keinem Abonnenten der Gruppe, weitere UDP-Sitzungen zu öffnen.
Gateways auf Anwendungsebene
Bei einigen Protokollen auf Anwendungsebene werden die IP-Adressen und Protokollportnummern auch in der Payload des Pakets übermittelt. Das Application Layer Gateway für ein Protokoll analysiert die Nutzdaten des Pakets und nimmt die erforderlichen Änderungen vor, um sicherzustellen, dass das Protokoll weiterhin über LSN funktioniert.
Die NetScaler-Appliance unterstützt ALG für die folgenden Protokolle:
- FTP
- ICMP
- TFTP
- PPTP
- SIP
- RTSP
Haarnadelstütze
Die NetScaler-Appliance unterstützt die Kommunikation zwischen Abonnenten oder internen Hosts mithilfe von NAT-IP-Adressen. Diese Art der Kommunikation zwischen zwei Teilnehmern unter Verwendung von NAT-IP-Adressen wird als Hairpin Flow bezeichnet. Der Haarnadelfluss ist standardmäßig aktiviert und kann nicht deaktiviert werden.