Masquerading oder PAT ist eine spezielle Form von NAT, bei der nicht nur IP-Adressen, sondern auch Port-Nummern umgeschrieben werden.
Es wird verwendet, um mehrere interne Adressen auf weniger externe Adressen zu übersetzen.
Beispiel
Angenommen für das Netz 192.168.0.0/24 steht die öffentliche IP-Adresse 205.0.0.2 zur Verfügung.
Ausgehende Pakete:
Quell IP:Port | Ziel IP:Port | Router -----------> Masquerading |
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 |
Die Quell-IP-Adressen werden durch die öffentliche IP ersetzt. Zusätzlich merkt sich der Router mittels einer Tabelle die Quell-IP-Adresse und den Port des ausgehenden Pakets:
- 192.168.0.2:6000
- 192.168.0.3:6001
Eingehende Pakete:
Quell IP:Port | Ziel IP:Port | Router -----------> Masquerading |
Quell IP:Port | Ziel IP:Port |
---|---|---|---|---|
170.0.0.1:80 | 205.0.0.2:6000 | 170.0.0.1:80 | 192.168.0.2:5000 | |
170.0.0.1:80 | 205.0.0.2:6001 | 170.0.0.1:80 | 192.168.0.3:5000 |
Bei eingehenden Paketen kann anhand der Port-Nummer der Ziel-IP und des Tabelleneintrags festgestellt werden, welcher Computer die Pakete angefordert hatte (hier: 192.168.0.2 und 192.168.0.3). Der Router kann dadurch die Ziel-IP durch die ursprüngliche Quell-IP 192.168.0.2 bzw. 192.168.0.3 und Port-Nummer austauschen.
Da hier jede IP-Adresse zu einer einzigen IP übersetzt wird, spricht man von einer N:1-Übersetzung. Werden mehrere IP-Adressen zu weniger IP-Adressen abgebildet, handelt es sich um eine N:M-Übersetzung.
Masquerading hat den Nachteil, dass Computer im lokalen Netz nicht als Server dienen können, da externe Computer keine Verbindung zu ihnen aufbauen können. Um diesem Problem Abhilfe zu verschaffen, wurde Portforwarding entwickelt.