Zum Inhalt springen

Netzwerkadressübersetzung

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 6. Dezember 2005 um 13:01 Uhr durch 143.93.234.245 (Diskussion). Sie kann sich erheblich von der aktuellen Version unterscheiden.

NAT (Network Address Translation) ist in Computernetzen ein Verfahren, um eine IP-Adresse in einem Datenpaket durch eine andere zu ersetzen. Häufig wird dies benutzt, um private IP-Adressen auf öffentliche IP-Adressen abzubilden. Werden auch die Port-Nummern umgeschrieben, spricht man dabei von Maskieren oder PAT (Port Address Translation).

Der NAT-Standard wurde 1994 von der IETF als RFC veröffentlicht.

fettkursivHi HBFI04a ;D

Verwendung

NAT wird aus verschiedenen Gründen verwendet. Hauptsächlich ist NAT notwendig, weil öffentliche IP-Adressen immer knapper werden, und man deshalb in einem internen (privaten) Netz private IP-Adressen einsetzt. Damit man trotzdem mit dem Internet kommunizieren kann, müssen die internen, privaten Adressen am Gateway zum Internet (oder zu einem anderen öffentlichen Netz) in öffentliche Adressen übersetzt werden. Zum Anderen kann es der Datensicherheit dienen, weil die interne Struktur des Netzes nach außen hin verborgen bleibt (Security through obscurity).

Funktionsweise

Üblicherweise wird NAT an einem Übergang zwischen zwei Netzen durchgeführt. Ein solches NAT-Gerät kann ein Router, eine Firewall oder ein anderes spezialisiertes Gerät sein. So kann zum Beispiel ein NAT-Gerät mit zwei Netzwerkkarten das lokale Netz mit dem Internet verbinden.

Man unterscheidet zwischen Source NAT, bei dem die Quell-IP-Adresse ersetzt wird, und Destination NAT, bei dem die Ziel-IP-Adresse ersetzt wird.

Bei Basic NAT (auch als Static NAT bekannt) wird jede interne IP durch eine externe IP ersetzt. Man spricht deshalb von einer 1:1-Übersetzung.

Bei Hiding NAT (eigentlich PAT oder auch NAPT (Network Address Port Translation)) werden mehrere Quell-IP-Adressen in die gleiche externe Quell-IP-Adresse übersetzt. Bei diesem Masquerading werden auch die Ports umgeschrieben.


Beispiel für eine 1:1 Übersetzung: Öffentliche verfügbare Adressen: 205.0.0.2, 205.0.0.3, 205.0.0.4

Source NAT:

lokales Netz (LAN) öffentliches Netz (WAN)
Quell-IP Ziel-IP Router
===========>
NAT
Quell-IP Ziel-IP
192.168.0.2 170.0.0.1 205.0.0.2 170.0.0.1
192.168.0.3 170.0.0.1 205.0.0.4 170.0.0.1
192.168.0.4 170.0.0.1 205.0.0.3 170.0.0.1

Bei ausgehenden Paketen wird die (private) Quell-IP-Adresse durch eine noch nicht benutzte (öffentliche) IP-Adresse ersetzt. Dabei merkt sich das NAT-Gerät diese Umsetzung:

  • 192.168.0.2 ⇔ 205.0.0.2
  • 192.168.0.3 ⇔ 205.0.0.4
  • 192.168.0.4 ⇔ 205.0.0.3

Destination NAT:

lokales Netz (LAN) öffentliches Netz (WAN)
Quell-IP Ziel-IP Router
<===========
NAT
Quell-IP Ziel-IP
170.0.0.1 192.168.0.2 170.0.0.1 205.0.0.2
170.0.0.1 192.168.0.3 170.0.0.1 205.0.0.4
170.0.0.1 192.168.0.4 170.0.0.1 205.0.0.3

Bei eingehenden Paketen kann anhand der IP-Adresse (welche nun die Ziel-IP-Adresse ist) und des Tabelleneintrags festgestellt werden, welcher Computer die Pakete angefordert hatte (hier: 192.168.0.2, 192.168.0.3 und 192.168.0.4). Das NAT-Gerät kann dadurch die (öffentliche) Ziel-IP-Adresse durch die ursprüngliche Quell-IP-Adresse 192.168.0.2, 192.168.0.3 bzw. 192.168.0.4 austauschen.

Für die beteiligten Endgeräte im internen Netz (z.B. 192.168.0.2) oder externen Netz sind diese Vorgänge transparent, d.h. sie bekommen von der Adressumsetzung nichts mit.

Allerdings können einige Anwendungen nicht mit NAT umgehen, beispielsweise die Unix Remote Shell (RSH). Protokollkomplikationen durch NAT sind beschrieben in RFC 3027.