Netzwerkadressübersetzung

In Computer - Netzwerk , ein Router ist das zu tun , Network Address Translation (NAT) , wenn sie paßt IP - Adressen zu anderen IP - Adressen. Insbesondere besteht ein häufiger Fall darin, Computern mit privaten Adressen , die Teil eines Intranets sind und weder eindeutig noch internetweit routingfähig sind, die Verwendung des Restes des Internets mithilfe von Würmern außerhalb öffentlicher, eindeutiger und routingfähiger externer Adressen zu ermöglichen.

Somit ist es möglich, eine einzelne externe öffentliche Adresse, die im Internet sichtbar ist , allen Adressen eines privaten Netzwerks zuzuordnen, um die Erschöpfung von IPv4-Adressen zu kompensieren .

Die NAT-Funktion in einem integrierten Service-Router (ISR) übersetzt eine interne Quell-IP-Adresse in eine globale IP-Adresse.

Dieser Prozess wird sehr häufig von Internetboxen (oder Modemroutern ) von Zugangsanbietern verwendet, um PCs hinter einer einzigen öffentlichen Identifikation zu verstecken . In ähnlicher Weise wird es auch in virtuellen privaten Netzwerken verwendet .

Beispiel

Ein Campus besteht aus 1000 Hosts (Computer, Drucker usw.), die in 4 Subnetzen verteilt sind. Ohne die Verwendung von NAT würde ein solcher Campus die Zuweisung von fast 1.000 eindeutigen und gerouteten IPv4-Adressen erfordern  .

Durch die Verbindung eines solchen Campus mit dem Internet über einen Router , der NAT implementiert, ist es möglich, den internen Adressierungsplan zu ändern und nicht eindeutige (anderswo auf der Welt verwendete) und nicht routbare Adressen im Internet zu verwenden (siehe RFC  1918). . Wir sprechen auch von öffentlichen Adressen (weltweit einzigartig) und privaten Adressen ( nur im privaten Netzwerk einzigartig ). Eines der Ziele von NAT ist es, private Adressen für das Internet unsichtbar zu machen.

Allen externen NAT-Adressen werden nur einige hundert Adressen zugewiesen, da bekannt ist, dass Drucker (und bestimmte andere Geräte) nicht permanent mit der Außenwelt kommunizieren müssen (daher müssen ihre Adressen nicht übersetzt werden). .

NAT reduziert daher die Anzahl der verwendeten eindeutigen IP-Adressen erheblich.

NAT-Implementierung

Die Entsprechungen zwischen den privaten Adressen (intern) und öffentlich (extern) werden paarweise in einer Tabelle gespeichert ( interne Adresse , externe Adresse ). Wenn ein Frame von einer internen Adresse nach außen gesendet wird, durchläuft er den NAT-Router, der im Header des TCP / IP- Pakets die Absenderadresse durch die externe IP-Adresse ersetzt. Der umgekehrte Austausch erfolgt, wenn ein dieser Verbindung entsprechender Frame an die interne Adresse weitergeleitet werden muss. Außerdem können wir einen Eintrag in der NAT-Korrespondenztabelle wiederverwenden, wenn für eine bestimmte Zeit kein Datenverkehr mit diesen Adressen den Router passiert hat (konfigurierbar).

Interne IP Externe IP Dauer ( en ) Wiederverwendbar?
10.101.10.20 193.48.100.174 1.200 Nein
10.100.54.251 193.48.101.8 3,601 Ja
10.100.0.89 193.48.100.46 0 Nein

Hier ist zum Beispiel eine vereinfachte NAT-Tabelle. Es wird davon ausgegangen, dass ein Eintrag beansprucht werden kann, wenn die Übersetzung länger als 3600 Sekunden nicht verwendet wurde.

Die erste Zeile zeigt an, dass der interne Computer mit der IP-Adresse 10.101.10.20 in 193.48.100.174 übersetzt wird, wenn er mit der Außenwelt spricht. Sie hat 1200 Sekunden lang kein Paket gesendet, aber das Limit liegt bei 3600. Dieser Tabelleneintrag ist ihr weiterhin zugewiesen. Der zweite Computer ist länger als 3600 Sekunden inaktiv geblieben. Möglicherweise ist er ausgeschaltet. Ein anderer Computer kann diesen Eintrag übernehmen (durch Ändern der ersten Spalte, da er nicht dieselbe interne IP-Adresse hat). Schließlich befindet sich die letzte Maschine derzeit im Gespräch mit der Außenseite, wobei das Feld Dauer 0 ist.

Die meisten Firewalls und Router implementieren NAT, damit mehrere Computer eine einzige öffentliche IP-Adresse gemeinsam nutzen können.

Vorteile von NAT

Interne Adressen können aus den in RFC 1918 definierten Adressen ausgewählt werden . Somit können mehrere Standorte dieselbe interne Adressierung haben und unter Verwendung dieses Mechanismus miteinander kommunizieren. Da die internen Adressen wiederverwendet werden, speichern wir öffentliche IP-Adressen, deren Belegung in IPv4 die Sättigung erreicht.

Wir können weniger Adressen in der Gruppe der externen Adressen haben als die IP-Adressen im Netzwerk, wenn wir einen Mechanismus einrichten, um nicht verwendete Adressen nach einer bestimmten Zeit wiederherzustellen (dies wird als Lease bezeichnet). Genauer gesagt, wenn ein Eintrag in der Übersetzungstabelle für eine bestimmte Zeit nicht verwendet wird (konfigurierbar auf dem DHCP- Server des Netzwerks), kann dieser Eintrag wiederverwendet werden: Ein anderer Computer mit einer internen Adresse ruft die externe Adresse ab.

NAT wird manchmal aus Sicherheitsgründen als vorteilhaft angesehen, da interne Adressen ausgeblendet sind. Die Sicherheit der Geräte hinter einem NAT ist jedoch nicht höher als die, die eine Stateful Firewall bieten kann.

Inhärente Probleme

Obwohl einige Anwendungen problemlos zurechtkommen, ist NAT für Netzwerkanwendungen nicht transparent und erhöht die Komplexität des Betriebs von Anwendungen ( RFC  2993, RFC  3027):

Ein Hauptproblem tritt auf, wenn ein Kommunikationsprotokoll die IP-Adresse des Quellhosts in einem Paket oder Portnummern überträgt. Da diese Adresse nach dem Durchlaufen des NAT-Routers nicht gültig ist, kann sie vom Zielcomputer nicht verwendet werden. Diese Protokolle sollen "  schwer durch Firewalls zu passieren  " sein, da sie Informationen auf Anwendungsebene (FTP) auf IP-Ebene (Austausch von Adressen) oder auf TCP-Ebene (Austausch von Ports) austauschen, was gegen das Prinzip der Trennung verstößt von Netzwerkschichten .

Einige dieser Protokolle sind: FTP , H.323 , Peer- to- Peer - Protokolle ( IRC-DCC ), Netzwerkverwaltungsprotokolle, DNS , einige ICMP- Nachrichten , Traceroute , SIP- Protokoll .

Um diesen Nachteil zu überwinden, müssen NAT-Router den Inhalt überprüfen und dann als Application Level Gateway (ALG) fungieren und Pakete verarbeiten, die sie passieren, um die durch die externen Adressen angegebenen IP-Adressen zu ersetzen. Dies beinhaltet die Kenntnis des Formats des Protokolls.

NAT ist , dass in teilnehmen Sicherheitspolitik Website, und das ist nicht ihr Hauptziel: Sobald die Übersetzung eingerichtet ist, es bidirektional ist. NAT ist daher kein Ersatz für die Firewall.

Das Haarnadeln ist ein Problem von NAT.

Verschiedene Arten von NAT

Statisches NAT

Wenn ein Satz interner Adressen in einen Satz externer Adressen gleicher Größe übersetzt wird. Diese NATs werden als statisch bezeichnet, da die Zuordnung zwischen einer internen Adresse und ihrem externen Peer statisch ist (erste interne Adresse mit erster externer Adresse usw.). Die Zuordnungstabelle ist recht einfach, eins zu eins, und enthält nur Adressen. Diese NATs werden verwendet, um den Zugriff auf interne Server von außen zu ermöglichen.

Es gibt drei Arten von statischen NATs  :

Dynamisches NAT

Wenn ein Satz interner Adressen in einen kleineren Satz externer Adressen übertragen wird. Diese NATs werden als dynamisch bezeichnet, da die Zuordnung zwischen einer internen Adresse und ihrem externen Gegenstück dynamisch erstellt wird, wenn die Verbindung hergestellt wird. Dies sind die Portnummern, die die vorhandene Übersetzung identifizieren: Die Quellportnummer (die des internen Computers) wird vom Router geändert. Er wird es verwenden, um die interne Maschine zu identifizieren.

Es gibt verschiedene Arten von dynamischen NATs  :

Eine andere Möglichkeit, NAT zu kategorisieren

Einige Feinheiten:

Trägerqualität NAT

Aufgrund der Erschöpfung der IPv4-Adressen erwägen Internetdienstanbieter die Verwendung von NATs in großem Maßstab ( Carrier-Grade-NAT oder Large-Scale-NAT ), was für bestimmte Anwendungen nicht ohne Konsequenzen ist.

NAT-Durchquerung

In Ermangelung einer expliziten Konfiguration lehnen NATs eingehende Verbindungen im Allgemeinen ab, was insbesondere bei Peer-to-Peer- Anwendungen zu Problemen führt .

Es wurden zwei Protokolle entwickelt, mit denen Client-Workstations das Öffnen und Weiterleiten bestimmter Ports vom NAT-Router anfordern können:

Software wie Skype verwendet andere Techniken für die Kommunikation zwischen Peers hinter NATs. pwnat verwendet eine Variante, die ICMP-Nachrichten für die Clienterkennung verwendet.

NAT und IPv6

Die IETF rät NAT mit IPv6 aufgrund der inhärenten Probleme und weil der IPv6-Adressraum so ist, dass kein Speichern der Adresse erforderlich ist.

Anmerkungen und Referenzen

  1. (in) "  Address Allocation für Private Internets  " Antrag auf Kommentare n o  1918Februar 1996.
  2. (en) Stéphane Bortzmeyer , "  Die Adressübersetzung (NAT), die sie echte Sicherheit bringt?  " ,16. September 2012(abgerufen am 8. November 2012 )
  3. (in) "  Architectural Auswirkungen von NAT  " Antrag auf Kommentare n o  2993,November 2000.
  4. (in) "  Protokoll Komplikationen im Zusammenhang mit der IP Network Address Translator  " Antrag auf Kommentare n o  3027Januar 2001.
  5. (in) "  STUN - Einfacher Traversal von User Datagram Protocol (UDP) durch Network Address Translators (NATs)  " Antrag auf Kommentare n o  3489,März 2003.
  6. (in) Eine Analyse des Skype-Peer-to-Peer-Internet-Telefonieprotokolls [PDF] , Salman A. Baset und Henning Schulzrinne,15. September 2004.
  7. pwnat .
  8. RFC 3002 P26

Siehe auch

Zum Thema passende Artikel

Externe Links