faecher:informatik:oberstufe:netzwerke:nat:start

Network Adress Translation (NAT)

NAT ist die Abkürzung für Network-Address-Translation, eine "Adressübersetzung" zwischen zwei Netzwerken. Meist implementiert der Router diese Adressübersetzung. NAT wird verwendet um, lokale Netzwerke mit dem Internet zu verbinden. Man unterscheidet zwei Typen: Source-NAT (SNAT) und Destination-NAT (DNAT).

Privatnutzer kommen mit der Netzwerkadressübersetzung meist in Form von Source-NAT in Berührung. Das Verfahren findet sowohl in Heim- als auch in Firmennetzwerken Anwendungheim, wenn ein Netzwerkgerät mit privater IPv4-Adresse über eine öffentliche IP aufs Internet zugreifen soll. Private IPv4 Subnetze sind IP-Adressen, die für nicht öffentliche IPv4 Bereiche reserviert sind, sie sind nicht direkt im Internet erreichbar.

Netzadressbereich CIDR-Notation
10.0.0.0 bis 10.255.255.255 10.0.0.0/8
172.16.0.0 bis 172.31.255.255 172.16.0.0/12
192.168.0.0 bis 192.168.255.255 192.168.0.0/16

Im allgemeinen Sprachgebrauch wird der Begriff NAT jedoch nicht immer trennscharf verwendet.

Man muss unterscheiden, ob jeder einzelnen privaten IP-Adresse in einem lokalen Netzwerk eine eigene öffentliche IP-Adresse zugeordnet wird, dann findet also eine 1:1-Übersetzung statt, oder ob sich alle Netzwerkgeräte im LAN dieselbe öffentliche IP-Adresse teilen müssen - dann spricht man von einer n:1-Übersetzung.

Eigentlich ist nur eine 1:1-Übersetzung eine Network-Address-Translation, in diesem Fall werden nur die Netzwerkadressen umgeschrieben. Eine n:1-Übersetzung erfordert zusätzlich eine Anpassung der Portnummer. Dieses Verfahren wird deswegen auch als PAT (Port-and-Address-Translation) oder NAPT (Network-Address-Port-Translation) bezeichnet.

Wenn man in IPv4-basierten Heim- und Firmennetzen von NAT spricht, ist damit meistens PAT gemeint, da für gewöhnlich für das gesamte private Netzwerksegment nur eine öffentliche "echt" IPv4 Adresse zur Verfügung steht.

Im Regelfall findet also eine Netzwerkadressübersetzung in Form von PAT statt, um mehrere lokale Geräte über eine gemeinsame IP-Adresse mit dem Internet zu verbinden - umgangssprachlich wird aber oft dennoch einfach von NAT gesprochen.

Da private IPs nicht routbar sind (im Internet somit keine Bedeutung haben), müssen Datenpakete, die ein Rechner (Client) im LAN an einen Server im Internet versendet, vom Router mit einer öffentlichen IP versehen werden. Dazu tauscht dieser die im Header des Datenpakets hinterlegte private IP-Adresse des Clients gegen seine eigene öffentliche IP-Adresse aus.

Außerdem wird die intern verwendete Portnummer des Clients durch einen freien Port des Routers ersetzt. Dieser tritt gegenüber Servern im Internet also als Absender aller Datenpakete auf, die aus dem lokalen Netzwerk versendet werden, die Kommunikationspartner senden ihre Antwort also an die Kombination aus "Ip-Adresse des Routers + NAT Portnummer" zurück.

Die Verbindungsinformationen wie IP-Adressen, Ports und Timeouts werden in der NAT-Tabelle auf dem Router gespeichert. Beantwortet das Zielsystem die Anfrage des lokalen Computers mit einem Datenpaket, kommt das an den entsprechenden Port des Routers zurück.

Der Router kann das eingehende Datenpaket dem richtigen (internen) Netzwerkgerät zuzuteilen, das die Anfrage gestartet hat, indem er in der NAT Tabelle nachsieht, für welche Verbindung der Port zugewiesen wurde.

Das Prinzip kann auch dazu verwendet werden, um Dienste, die hinter einem Router auf einem Netzwerkgerät mit privater Adresse angeboten werden sollen, im Internet verfügbar zu machen. Dabei wird auf den Router ein statischer Eintrag angelegt, dass alle Verbindungen, die auf der "echten" IP-Adresse des Routers auf einem bestimmten Port eingehen, an ein internes Ziel weitergeleitet werden sollen, das durch ein IP:PORT-Paar festgelegt ist.

Im folgenden Beispiel kann man den SSH Dienst (Standardport 22) des Rechners mit der internen IP-Adresse aus dem Internet erreichen, indem man sich zur echten IPv4 des Routers auf den Port 1234 verbindet.

Dateien

FilenameFilesizeLast modified
01_nat.odp153.5 KiB15.12.2021 21:19
01_nat.pdf144.9 KiB15.12.2021 21:19
natpat.png87.1 KiB20.10.2020 10:31
portfw.png39.9 KiB20.10.2020 10:47
  • faecher/informatik/oberstufe/netzwerke/nat/start.txt
  • Zuletzt geändert: 15.12.2021 21:19
  • von sbel