Network Address Translation (NAT) istEine Möglichkeit, einen Adressraum einem anderen zuzuweisen, indem die Netzwerkadressinformationen in IP (Internet Protocol) geändert werden. Das heißt, die Paket-Header ändern sich, während sie durch das Verkehrsrouting-Gerät übertragen werden. Diese Methode wurde ursprünglich verwendet, um den Datenverkehr in IP-Netzwerken einfach umzuleiten, ohne jeden Host neu zu nummerieren. Es ist zu einem beliebten und wichtigen Werkzeug für die Pflege und Verteilung des globalen Adressraums geworden, obwohl IPv4-Adressen fehlen.
Ursprüngliche Verwendung der NetzwerkübersetzungAdressen bestehen darin, jede Adresse von einem Adressraum der entsprechenden Adresse in einem anderen Raum zuzuordnen. Dies ist beispielsweise erforderlich, wenn sich der Internetdienstanbieter geändert hat und der Benutzer keine neue Route zum Netzwerk öffentlich ankündigen kann. Angesichts der vorhersehbaren globalen Erschöpfung des IP-Adressraums wird NAT seit Ende der neunziger Jahre zunehmend in Kombination mit der IP-Verschlüsselung (einer Methode zum Verschieben mehrerer IP-Adressen in einen Raum) verwendet. Dieser Mechanismus ist in einem Routing-Gerät implementiert, das Stateful-Translation-Tabellen verwendet, um „versteckte“ Adressen einer einzelnen IP-Adresse zuzuordnen und ausgehende IP-Pakete an die Ausgabe umzuleiten. Somit werden sie beim Verlassen des Routing-Geräts angezeigt. In der umgekehrten Verknüpfung werden Antworten in der Quell-IP-Adresse unter Verwendung von Regeln angezeigt, die in den Übersetzungstabellen gespeichert sind. Die Regeln der Übersetzungstabelle werden wiederum nach kurzer Zeit gelöscht, wenn der neue Verkehr seinen Status nicht aktualisiert. Dies ist der grundlegende Mechanismus von NAT. Was bedeutet das
Diese Methode ermöglicht die Kommunikation durchEin Router nur, wenn sich die Verbindung in einem verschlüsselten Netzwerk befindet, da hierdurch Übersetzungstabellen erstellt werden. Ein Webbrowser in einem solchen Netzwerk kann beispielsweise eine Site außerhalb des Netzwerks anzeigen. Bei einer Installation außerhalb des Netzwerks kann jedoch keine darauf gehostete Ressource geöffnet werden. Bei den meisten NAT-Geräten kann der Netzwerkadministrator heute jedoch Einträge in Übersetzungstabellen für die dauerhafte Verwendung konfigurieren. Diese Funktion wird häufig als statische NAT- oder Portweiterleitung bezeichnet und ermöglicht es Datenverkehr, der von einem „externen“ Netzwerk stammt, bestimmte Hosts in einem verschlüsselten Netzwerk zu erreichen.
Aufgrund der Beliebtheit dieser Methode, mit der der IPv4-Adressraum erhalten bleibt, ist der Begriff NAT (wie er tatsächlich angegeben ist - oben angegeben) praktisch zum Synonym für die Verschlüsselungsmethode geworden.
Weil sich die Übersetzung von Netzwerkadressen ändertInformationen über die IP-Paketadresse haben schwerwiegende Folgen für die Qualität der Internetverbindung und erfordern eine genaue Beachtung der Einzelheiten ihrer Implementierung.
Die Verwendung von NAT unterscheidet sich in ihrem spezifischen Verhalten in verschiedenen Fällen hinsichtlich der Auswirkungen auf den Netzwerkverkehr.
Die einfachste Art der Network Address Translation (NAT)Bietet eine Eins-zu-Eins-IP-Adressübersetzung. RFC 2663 ist der Haupttyp dieser Sendung. Bei diesem Typ werden nur die IP-Adressen und die Prüfsumme der IP-Header geändert. Die grundlegenden Arten der Übersetzung können verwendet werden, um zwei IP-Netzwerke mit inkompatibler Adressierung zu verbinden.
Большинство разновидностей NAT способны Ordnen Sie mehrere private Hosts einer öffentlich festgelegten IP-Adresse zu. In einer typischen Konfiguration verwendet das lokale Netzwerk eine der zugewiesenen "privaten" IP-Subnetzadressen (RFC 1918). Ein Router in diesem Netzwerk hat eine private Adresse in diesem Bereich.
Der Router stellt auch eine Verbindung zum Internet herunter Verwendung der vom Anbieter zugewiesenen "öffentlichen" Adresse. Da der Datenverkehr vom lokalen Netzwerk zum Internet geleitet wird, wird die Quelladresse in jedem Paket im laufenden Betrieb von einer privaten Adresse in eine öffentliche Adresse übersetzt. Der Router überwacht die Basisdaten jeder aktiven Verbindung (insbesondere die Adresse und den Zielport). Wenn die Antwort darauf zurückkehrt, verwendet sie die Verbindungsdaten, die während der Exit-Phase gespeichert werden, um die private Adresse des internen Netzwerks zu bestimmen, an das die Antwort gerichtet werden soll.
Einer der Vorteile dieser Funktionalität istdass es als praktische Lösung für die bevorstehende Erschöpfung des IPv4-Adressraums dient. Selbst große Netzwerke können über eine einzige IP-Adresse mit dem Internet verbunden werden.
Alle Paketdatagramme in IP-Netzwerken haben 2IP-Adressen - Quelle und Ziel. In der Regel haben Pakete, die von einem privaten Netzwerk in ein öffentliches Netzwerk übertragen werden, eine Paketquellenadresse, die sich während des Übergangs vom öffentlichen Netzwerk zurück zum privaten Netzwerk ändert. Auch komplexere Konfigurationen sind möglich.
Das Konfigurieren von NAT kann einige Funktionen haben.Um Schwierigkeiten bei der Übersetzung zurückgegebener Pakete zu vermeiden, sind weitere Änderungen erforderlich. Die überwiegende Mehrheit des Internetverkehrs wird über die TCP- und UDP-Protokolle abgewickelt, und ihre Portnummern werden so geändert, dass die Kombination aus IP-Adresse und Portnummer in umgekehrter Richtung der Daten übereinstimmt.
Nicht TCP- und UDP-basierte Protokolle erfordernandere Übersetzungsmethoden. Das Internet Messaging Protocol (ICMP) korreliert in der Regel die übertragenen Daten mit einer bestehenden Verbindung. Dies bedeutet, dass sie mit derselben IP-Adresse und der ursprünglich eingestellten Nummer angezeigt werden müssen.
Das Konfigurieren von NAT im Router erlaubt dies nichtEnd-to-End-Verbindungen. Daher können solche Router an einigen Internetprotokollen nicht teilnehmen. Dienste, die das Initiieren von TCP-Verbindungen von einem externen Netzwerk oder von Benutzern ohne Protokolle erfordern, sind möglicherweise nicht verfügbar. Wenn der NAT-Router keine großen Anstrengungen unternimmt, um solche Protokolle zu unterstützen, können eingehende Pakete ihr Ziel nicht erreichen. Einige Protokolle können in derselben Übertragung zwischen teilnehmenden Hosts platziert werden (z. B. FTP im „passiven Modus“), manchmal über ein Gateway auf Anwendungsebene. Die Verbindung wird jedoch nicht hergestellt, wenn beide Systeme über NAT vom Internet getrennt sind. Die Verwendung der Netzwerkadressübersetzung verkompliziert auch Tunnelprotokolle wie IPsec, da dadurch die Werte in den Headern geändert werden, die mit Integritätsprüfungen für Anforderungen interagieren.
Die End-to-End-Verbindung ist von grundlegender BedeutungInternet-Prinzip, das seit seiner Gründung existiert. Der aktuelle Status des Netzwerks zeigt an, dass NAT einen Verstoß gegen dieses Prinzip darstellt. Fachleute haben ernsthafte Bedenken hinsichtlich der weit verbreiteten Verwendung von Netzwerkadressen bei der IPv6-Übersetzung, und es wird das Problem aufgeworfen, wie diese effektiv beseitigt werden können.
Aufgrund der kurzlebigen Natur der TischhaltungDurch den Übersetzungsstatus in NAT-Routern verlieren interne Netzwerkgeräte ihre IP-Verbindung, normalerweise innerhalb kürzester Zeit. Wenn man darüber spricht, was NAT in einem Router ist, sollte man diesen Umstand nicht vergessen. Dies reduziert die Laufzeit kompakter Geräte, die mit Batterien und Akkus betrieben werden, erheblich.
Darüber hinaus werden bei Verwendung von NAT nachverfolgtNur Ports, die von internen Anwendungen, die mehrere gleichzeitige Verbindungen verwenden, schnell erschöpft werden können (z. B. HTTP-Anforderungen für Webseiten mit vielen integrierten Objekten). Dieses Problem kann gemindert werden, indem die Ziel-IP-Adresse zusätzlich zum Port verfolgt wird (daher wird ein lokaler Port von einer großen Anzahl von Remote-Hosts gemeinsam genutzt).
Da alle internen Adressen als getarnt sindeine öffentliche, für externe Hosts wird es unmöglich, eine Verbindung zu einem bestimmten internen Host ohne eine spezielle Konfiguration in der Firewall herzustellen (die Verbindungen zu einem bestimmten Port umleiten sollte). Anwendungen wie IP-Telefonie, Videokonferenzen und ähnliche Dienste müssen NAT-Bypass-Methoden verwenden, um ordnungsgemäß zu funktionieren.
Absenderadresse und Übersetzungsport (Rapt) erlaubenEin Host, dessen tatsächliche IP-Adresse sich von Zeit zu Zeit ändert, um unter Verwendung der festen IP-Adresse des Heimnetzwerks als Server verfügbar zu bleiben. Im Prinzip sollte dies die Konfiguration der Server ermöglichen, um die Verbindung aufrechtzuerhalten. Obwohl dies keine ideale Lösung für das Problem ist, kann es ein weiteres nützliches Werkzeug im Arsenal des Netzwerkadministrators sein, um das Problem der Konfiguration von NAT auf dem Router zu lösen.
Die Cisco Rapt-Implementierung lautet Port AddressÜbersetzung (PAT), bei der mehrere private IP-Adressen als eine öffentliche angezeigt werden. Mehrere Adressen können als Adresse angezeigt werden, da jede von ihnen unter Verwendung einer Portnummer verfolgt wird. PAT verwendet eindeutige Quellportnummern auf der internen globalen IP, um die Richtung der Datenübertragung zu unterscheiden. Diese Zahlen sind 16-Bit-Ganzzahlen. Die Gesamtzahl der internen Adressen, die in eine externe Adresse übersetzt werden können, kann theoretisch 65536 erreichen. Die tatsächliche Anzahl der Ports, denen eine einzelne IP-Adresse zugewiesen werden kann, beträgt ca. 4000. In der Regel versucht PAT, den ursprünglichen Quellport beizubehalten. Wenn es bereits verwendet wird, weist Port Address Translation die erste verfügbare Portnummer zu, beginnend am Anfang der entsprechenden Gruppe - 0-511, 512-1023 oder 1024-65535. Wenn keine weiteren Ports verfügbar sind und mehr als eine externe IP-Adresse vorhanden ist, wechselt PAT zum nächsten, um zu versuchen, den Quellport zuzuweisen. Dieser Vorgang wird fortgesetzt, bis die verfügbaren Daten aufgebraucht sind.
Die Adress- und Portzuordnung wird vom Dienst durchgeführtCisco, das die Adresse des Übersetzungsports mit Tunneldaten für IPv4-Pakete über ein internes IPv6-Netzwerk kombiniert. Tatsächlich ist dies eine inoffizielle Alternative zu CarrierGrade NAT und DS-Lite, die die Übersetzung von IP-Adressen / Ports unterstützt (und daher die NAT-Konfiguration unterstützt). Dies vermeidet somit die Probleme beim Herstellen und Aufrechterhalten einer Verbindung und bietet auch einen Übergangsmechanismus für die Bereitstellung von IPv6.
Es gibt verschiedene Möglichkeiten, eine Übersetzung zu implementieren.Netzwerkadresse und Port. In einigen Anwendungsprotokollen, die Anwendungen für die Arbeit mit IP-Adressen verwenden, die in einem verschlüsselten Netzwerk funktionieren, muss die externe NAT-Adresse (die am anderen Ende der Verbindung verwendet wird) ermittelt werden. Außerdem muss häufig die Art der Übertragung untersucht und klassifiziert werden. Dies geschieht normalerweise, weil es wünschenswert ist, einen direkten Kommunikationskanal (entweder um eine unterbrechungsfreie Datenübertragung durch den Server aufrechtzuerhalten oder um die Leistung zu verbessern) zwischen zwei Clients zu erstellen, die sich beide hinter separaten NATs befinden.
Zu diesem Zweck (wie NAT konfiguriert wird) wurde 2003Entwicklung eines speziellen Protokolls RFC 3489, das eine einfache UDP-Umgehung über NATS ermöglicht. Heute ist es veraltet, weil solche Methoden heute für eine korrekte Beurteilung des Betriebs vieler Geräte nicht ausreichen. Neue Methoden wurden in RFC 5389 standardisiert, das im Oktober 2008 entwickelt wurde. Diese Spezifikation heißt heute SessionTraversal und ist ein Dienstprogramm für die Arbeit mit NAT.
Jedes TCP- und UDP-Paket enthält die Quell-IP-Adresse und ihre Portnummer sowie die Koordinaten des Zielports.
Um öffentliche Dienstleistungen wie zu bekommenMailserver-Funktionalität, Portnummer ist wichtig. Beispielsweise stellt Port 80 eine Verbindung zur Webserver-Software und 25 eine Verbindung zum SMTP-Mailserver her. Die IP-Adresse des öffentlichen Servers ist ebenfalls von Bedeutung, ähnlich wie die Postanschrift oder Telefonnummer. Diese beiden Parameter sollten allen Knoten, die eine Verbindung herstellen möchten, zuverlässig bekannt sein.
Private IPs spielen nur eine Rollelokale Netzwerke, in denen sie verwendet werden, sowie für Host-Ports. Ports sind eindeutige Kommunikationsendpunkte auf dem Host, sodass die NAT-Konnektivität durch eine Kombination aus Portzuordnung und IP-Adresszuordnung unterstützt wird.
PAT (Port AddressTranslation) erlaubtKonflikte, die zwischen zwei verschiedenen Hosts auftreten können, die dieselbe Quellportnummer verwenden, um gleichzeitig eindeutige Verbindungen herzustellen.