Port Address Translation

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Dieser Artikel oder Abschnitt bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf mit, ihn zu verbessern, und entferne anschließend diese Markierung.

Port and Address Translation (PAT) oder Network Address Port Translation (NAPT) ist eine Technik, die in Computernetzwerken verwendet wird. Sie ist eine spezielle Form von NAT (1 zu n NAT). Dabei werden im Gegensatz zu NAT nicht nur die IP-Adressen, sondern auch Port-Nummern umgeschrieben. PAT wird eingesetzt, wenn mehrere private IP-Adressen aus einem LAN zu einer öffentlichen IP-Adresse übersetzt werden sollen. Ohne den Austausch des Quell-Ports kann es zu einem Konflikt kommen, falls mehrere Rechner aus dem lokalen Netz gleichzeitig eine Verbindung zu einem Socket aufbauen und dabei den gleichen Quell-Port benutzen.

Beispiel[Bearbeiten | Quelltext bearbeiten]

Angenommen für das lokale Netz 192.168.0.0/24 steht die öffentliche IP-Adresse 205.0.0.2 zur Verfügung.

Ausgehende Pakete (LAN → WAN)[Bearbeiten | Quelltext bearbeiten]

lokales Netz (LAN) öffentliches Netz (WAN)
Quell IP:Port Ziel IP:Port Router
===========>
Port Translation
Quell IP:Port Ziel IP:Port
192.168.0.2:5000 170.0.0.1:80 205.0.0.2:6000 170.0.0.1:80
192.168.0.3:5000 170.0.0.1:80 205.0.0.2:6001 170.0.0.1:80
192.168.0.5:5002 170.0.0.1:80 205.0.0.2:6002 170.0.0.1:80

Die Quell-IP-Adressen werden durch die (einzige) öffentliche IP-Adresse ersetzt. Die internen Port-Nummern werden durch eindeutige öffentliche Port-Nummern ersetzt. Mittels einer Tabelle merkt sich der Router jeweils die interne Quell-IP-Adresse samt Port-Nummer und die öffentliche Port-Nummer des ausgehenden Pakets:

  • 192.168.0.2:50006000
  • 192.168.0.3:50006001
  • 192.168.0.5:50026002

Wie im Beispiel ersichtlich, funktioniert dies auch, wenn mehrere Geräte gleichzeitig dieselbe IP mit demselben Port aufrufen. Zwar haben die Datenpakete alle die gleiche Ziel-IP und den gleichen Ziel-Port, jedoch werden die Antworten an die Quell-IP gesendet, mit jeweils unterschiedlichen Ports. Das aufrufende Gerät (Router oder ähnliches) kann nämlich eine HTTP Anfrage über den Port 80 stellen, dabei aber selbst als eigenen Port den Port 6001 angeben. Die Antwort vom HTTP-Server erfolgt dann an den Router auf dem Port 6001 und dieser übersetzt zurück auf die passende IP und den Port des aufrufenden Geräts.

Eingehende Pakete (LAN ← WAN)[Bearbeiten | Quelltext bearbeiten]

lokales Netz (LAN) öffentliches Netz (WAN)
Quell IP:Port Ziel IP:Port Router
<===========
Port Translation
Quell IP:Port Ziel IP:Port
170.0.0.1:80 192.168.0.2:5000 170.0.0.1:80 205.0.0.2:6000
170.0.0.1:80 192.168.0.3:5000 170.0.0.1:80 205.0.0.2:6001
170.0.0.1:80 192.168.0.5:5002 170.0.0.1:80 205.0.0.2:6002

Bei eingehenden Paketen kann anhand der Port-Nummer der Ziel-IP und des Tabelleneintrags (connection tracking) festgestellt werden, welcher Computer die Pakete angefordert hatte (hier: 192.168.0.2, 192.168.0.3 und 192.168.0.5). Der Router kann dadurch die Ziel-IP durch die ursprüngliche Quell-IP 192.168.0.2, 192.168.0.3 bzw. 192.168.0.5 und die öffentliche Port-Nummer durch die ursprüngliche interne Port-Nummer austauschen.

Da hier jede IP-Adresse zu einer einzigen IP-Adresse übersetzt wird, spricht man von einer N:1-Übersetzung. Werden mehrere IP-Adressen zu weniger IP-Adressen abgebildet, dann handelt es sich um eine N:M-Übersetzung.

Siehe auch[Bearbeiten | Quelltext bearbeiten]

Weblinks[Bearbeiten | Quelltext bearbeiten]