Die IPv4 Adressübersetzung (Network Address Translation, NAT)
Schon seit vielen Jahren hat das Internet damit zu kämpfen, das nicht ausreichend Adressraum für das Internet Protokoll Version 4 (IPv4) zur Verfügung steht, um alle Geräte eineindeutig adressieren zu können. Die seit langem angewandte Lösung ist, die IP Adressen von mehreren Geräten unter Zuhilfenahme weiterer Identifikationsinformation höherer Protokolle (UDP/TCP), auf eine gemeinsame IPv4 Adresse zu übersetzen. Damit können viele Geräte aus z.B. einem Heimnetzwerk gemeinsam an einer extern weltweit eineindeutigen IPv4 Adresse betrieben und adressiert werden.
Notiz: In der Praxis hat die IPv4 Adressübersetzung dazu geführt, dass der eigentlich knappe IPv4 Adressraum noch für viele Jahre ausreichend war und die Einführung von IPv6 erheblich verzögerte. Inzwischen ist das Problem, dass es nicht genügend IPv4 Adressen gibt, für manche Internetanbieter so dringlich geworden, dass die Einführung von IPv6 begonnen hat. So nach und nach über die nächsten Jahre werden wahrscheinlich auch Sie damit in Berührung kommen.
Im folgenden wird die IPv4 Adressübersetzung (engl. Network Address Translation, NAT) an einem fiktiven Beispiel erläutert.
Das Szenario: Drei Endgeräte in Ihrem Heimnetzwerk kommunizieren gleichzeitig in das Internet. Alle drei Endgeräte haben eine andere IPv4 Adresse aus dem privaten Adressbereich (192.168.0.0 /16 ). Alle Endgeräte surfen im Internet und rufen Daten von Websites auf. Das wird durch die sogenannte Portnummer, der Zahl hinter dem Doppelpunkt identifiziert (z.B. Port 80 für http). Diese drei privaten IPv4 Adressen werden auf die eine externe eineindeutige IPv4 Adresse 88.102.37.3 übersetzt (die benutzte IPv4 Adresse ist nur ein Beispiel). Unterschieden wird jetzt durch die Portnummer der Quelle welche eineindeutig von einer IPv4 Adresse zu einer Portnummer übersetzt wird. Der Clou ist jetzt, dass der Rechner am Ziel die Quellinformationen eines empfangenen Datenpaktes zur Bearbeitung nicht benötigt, sondern einfach unverändert als Zieladresse und Zielportnummer für seine Antwort kopiert. Somit kommt dann als Antwort am Internet-Router ein Datenpaket mit z.B. der Zieladresse 88.102.37.3 : 49152 an. Der Internet-Router kann dieses Datenpaket dann wieder auf 192.168.1.2 : 80 zurückübersetzen.
Hier ein Beispiel einer Adressübersetzungstabelle:
Quelladresse (Heimnetzwerk) | übersetzt in Quelladresse (Internet) |
---|---|
192.168.1.2 : 80 | 88.102.37.3 : 49152 |
192.168.1.3 : 80 | 88.102.37.3 : 49153 |
192.168.1.4 : 80 | 88.102.37.3 : 49154 |
Die IPv4 Adressübersetzung findet dynamisch statt. Das bedeutet es gibt keine statische Übersetzungstabelle sondern ein Übersetzungseintrag wird erst dann erstellt und einer Kommunikation zugewiesen, wenn diese auch stattfindet. Das hat eine sehr interessante und wichtige Konsequenz. Nur Sie selbst können aus Ihrem Heimnetzwerk heraus aktiv eine Kommunikation beginnen und nur die passende Antwort wird dann aus dem Internet wieder in Ihr Heimnetzwerk geleitet. Andere Datenpakete z.B. von Hackern gelangen ohne weiteres gar nicht erst in Ihr Heimnetzwerk da es für extern initiierte Datenverbindungen keine passende Übersetzung in der Adressübersetzungstabelle gibt. Das ist übrigens ein Grund warum Hacker gerne versuchen per E-Mail und Anhänge ein Programm auf Ihren Rechner zu schleusen. Denn wenn Sie selbst, bzw. ein Trojaner aus Ihrem Heimnetzwerk heraus eine Kommunikation initiiert, dann wird diese brav übersetzt und weitergeleitet.
Das Blocken von extern initiierten Datenverbindungen ist eine meist sehr willkommene Eigenschaft, da dies Ihr Heimnetzwerk sichert. In sehr seltenen Fällen kann es vorkommen das Sie selbst ein eigenes Interesse daran haben, das eine von außen kommende Datenverbindung bis in Ihr Heimnetzwerk gelangt. Beispiele hierfür können Online Games oder andere Anwendungen sein, welche eine Verbindung nur Vermitteln und die eigentliche Verbindung wird von einem anderen Rechner initiiert. Für diese neue Verbindung gibt es keinen Eintrag in der Adressübersetzungstabelle und somit scheitert ein Verbindungsversuch. Für solche Fälle können Sie in Ihrem Internet-Router eine sogenannte Port-Forwarding Regel konfigurieren. Das ist im Prinzip eine statische Übersetzungsregel, welche immer Gültigkeit hat oder im Falle des Port Triggerung durch ein bestimmtes Ereignis aus dem Heimnetzwerk heraus aktiviert wird. Mehr Informationen hierzu finden im Kapitel zur Konfiguration der Firewall eines Internet-Routers.
Notiz: Üblicherweise findet die IP Adressübersetzung in Ihrem Internet-Router statt. Manche Internetanbieter (hauptsächlich Kabelnetzbetreiber) sind aber dazu übergegangen, selbst eine IP Adressübersetzung durchzuführen. Ursache ist, das dem Internetanbieter nicht mehr genügend IPv4 Adressen zur Verfügung stehen, um jedes Heimnetzwerk mit einer eineindeutigen Adresse versehen zu können. Siehe hierfür auch das Kapitel über DS-Lite. Normalerweise ist diese Adressübersetzung für Sie transparent. Ein externer Zugriff auf Ihr Heimnetzwerk z.B. für ein Virtual Private Network (VPN), wird dadurch jedoch schwieriger.