Port Address Translation
Port Address Translation (PAT) oder Network Address Port Translation (NAPT) ist eine Technik, die in Computernetzwerken verwendet wird. Sie ist eine spezielle Form von Source NAT (1-zu-n-NAT). Dabei werden im Gegensatz zu NAT nicht nur die IP-Adressen, sondern auch Port-Nummern umgeschrieben. PAT wird benötigt, wenn sich z. B. mehrere Rechner aus einem LAN (mit privaten IP-Adressen) zu einem öffentlichen Webserver (z. B. via HTTP) verbinden und dabei alle Verbindungen zu einer öffentlichen IP-Adresse maskiert werden müssen (Masquerading). Sollte zufällig von mehreren Rechnern der gleiche Source-Port (aus der Range der dynamischen Ports) gewählt worden sein, käme es zu einer Unbestimmtheit bei der Zustellung der Antwortpakete an den richtigen Rechner im LAN. Um dieses Problem zu lösen, wird bei Bedarf der Source-Port auf der WAN-Seite um eins erhöht, damit der Webserver seine Antwort eindeutig zurücksenden kann.
Beispiel
Angenommen für das lokale Netz 192.168.0.0/24 steht die öffentliche WAN-IP-Adresse 203.0.113.2 zur Verfügung, so könnte folgendes passieren:
Ausgehende Pakete (LAN → WAN)
| 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:50000 | 198.51.100.1:80 | 203.0.113.2:50000 | 198.51.100.1:80 | |
| 192.168.0.3:50000 | 198.51.100.1:80 | 203.0.113.2:50001 | 198.51.100.1:80 | |
| 192.168.0.5:50002 | 198.51.100.1:80 | 203.0.113.2:50002 | 198.51.100.1:80 | |
Die LAN-IP-Adressen werden durch die (einzige) öffentliche IP-Adresse ersetzt. Die Quell-Ports der LAN-Rechner werden eindeutig auf die öffentliche WAN-IP mit Quell-Port übersetzt. Mittels einer Tabelle kann der Router die jeweiligen Verbindungen den LAN-Rechnern wieder eindeutig zuordnen:
192.168.0.2:50000⇔50000192.168.0.3:50000⇔50001192.168.0.5:50002⇔50002
Wie im Beispiel ersichtlich, wird dies benötigt, wenn mehrere Geräte gleichzeitig dieselbe IP mit demselben Ziel-Port aufrufen. So haben die Datenpakete alle die gleiche Ziel-IP und den gleichen Ziel-Port, jedoch unterschiedliche Quell-Ports, so dass die Antworten des Servers an dieselbe Quell-IP gesendet werden, aber jeweils mit unterschiedlichen Ziel-Ports (dem ursprünglichen Quell-Port).
Eingehende Pakete (LAN ← WAN)
| lokales Netz (LAN) | öffentliches Netz (WAN) | |||
| Quell IP:Port | Ziel IP:Port | Router <=========== Port Translation |
Quell IP:Port | Ziel IP:Port |
|---|---|---|---|---|
| 198.51.100.1:80 | 192.168.0.2:50000 | 198.51.100.1:80 | 203.0.113.2:50000 | |
| 198.51.100.1:80 | 192.168.0.3:50000 | 198.51.100.1:80 | 203.0.113.2:50001 | |
| 198.51.100.1:80 | 192.168.0.5:50002 | 198.51.100.1:80 | 203.0.113.2:50002 | |
Bei eingehenden Paketen kann anhand der Ziel- / Quell-Port-Nummer und der Ziel- / Quell-IP und der Tabelleneinträge (connection tracking) festgestellt werden, welcher lokaler 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.
Weblinks
- P. Srisuresh, K. Egevang: RFC: – Traditional IP Network Address Translator (Traditional NAT). Januar 2001 (löst ab, englisch).
- Animiertes Beispiel (Flash; 55 kB)
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.