Network Address Translation
===========>
NAT !width="20%" align="center" style="border: 1px #aaa solid;"|Quell-IP !width="20%" align="center" style="border: 1px #aaa solid;"|Ziel-IP |- |align="center" style="border: 1px #aaa solid;"|'''192.168.0.2''' |align="center" style="border: 1px #aaa solid;"|170.0.0.1 |align="center" style="border: 1px #aaa solid;"|'''205.0.0.2''' |align="center" style="border: 1px #aaa solid;"|170.0.0.1 |- |align="center" style="border: 1px #aaa solid;"|'''192.168.0.3''' |align="center" style="border: 1px #aaa solid;"|170.0.0.1 |align="center" style="border: 1px #aaa solid;"|'''205.0.0.4''' |align="center" style="border: 1px #aaa solid;"|170.0.0.1 |- |align="center" style="border: 1px #aaa solid;"|'''192.168.0.4''' |align="center" style="border: 1px #aaa solid;"|170.0.0.1 |align="center" style="border: 1px #aaa solid;"|'''205.0.0.3''' |align="center" style="border: 1px #aaa solid;"|170.0.0.1 |} Bei ausgehenden [[Datenpaket|Paketen]] wird die (private) Quell-IP-Adresse durch eine noch nicht benutzte (öffentliche) IP-Adresse ersetzt. Dabei merkt sich das NAT-Gerät diese Umsetzung: *192.168.0.2 ⇔ 205.0.0.2 *192.168.0.3 ⇔ 205.0.0.4 *192.168.0.4 ⇔ 205.0.0.3 '''Destination NAT:''' {| cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0; background: #f9f9f9; border-collapse:collapse; font-size: 95%;" |align="center" colspan="2" style="background: white;"|lokales Netz (LAN) |style="background: white;"| |align="center" colspan="2" style="background: white;"|öffentliches Netz (WAN) |- !width="20%" align="center" style="border: 1px #aaa solid;"|Quell-IP !width="20%" align="center" style="border: 1px #aaa solid;"|Ziel-IP !rowspan="4" align="center" style="background: white;"| Router
<===========
NAT !width="20%" align="center" style="border: 1px #aaa solid;"|Quell-IP !width="20%" align="center" style="border: 1px #aaa solid;"|Ziel-IP |- |align="center" style="border: 1px #aaa solid;"|170.0.0.1 |align="center" style="border: 1px #aaa solid;"|'''192.168.0.2''' |align="center" style="border: 1px #aaa solid;"|170.0.0.1 |align="center" style="border: 1px #aaa solid;"|'''205.0.0.2''' |- |align="center" style="border: 1px #aaa solid;"|170.0.0.1 |align="center" style="border: 1px #aaa solid;"|'''192.168.0.3''' |align="center" style="border: 1px #aaa solid;"|170.0.0.1 |align="center" style="border: 1px #aaa solid;"|'''205.0.0.4''' |- |align="center" style="border: 1px #aaa solid;"|170.0.0.1 |align="center" style="border: 1px #aaa solid;"|'''192.168.0.4''' |align="center" style="border: 1px #aaa solid;"|170.0.0.1 |align="center" style="border: 1px #aaa solid;"|'''205.0.0.3''' |} Bei eingehenden Paketen kann anhand der IP-Adresse (welche nun die Ziel-IP-Adresse ist) und des Tabelleneintrags festgestellt werden, welcher Computer die Pakete angefordert hatte (hier: 192.168.0.2, 192.168.0.3 und 192.168.0.4). Das NAT-Gerät kann dadurch die (öffentliche) Ziel-IP-Adresse durch die ursprüngliche Quell-IP-Adresse 192.168.0.2, 192.168.0.3 bzw. 192.168.0.4 austauschen. Für die beteiligten [[Host|Endgeräte]] im internen Netz (z.B. 192.168.0.2) oder externen Netz sind diese Vorgänge transparent, d.h. sie bekommen von der Adressumsetzung nichts mit. == Kritik == Das größte Problem an NAT ist, dass die saubere Trennung der Netzwerkschichten nicht eingehalten wird. [[Netzwerkprotokoll]]e der Ebene 4 funktionieren durch NAT-Router hindurch oft nur, wenn der NAT-Router diese Protokolle explizit unterstützt. Das erschwert die Entwicklung neuer Protokolle. Besonders betroffen sind hier beispielsweise (aktives) [[File Transfer Protocol|FTP]] und [[VoIP]]-Protokolle. Dies ist auch das stärkste Argument der zügigen Einführung von [[IPv6]]. Der Adressenreichtum von IPv6 würde NAT faktisch unnötig machen. Protokollkomplikationen durch NAT sind beschrieben in RFC 3027. Um (Antwort-)Paketen aus dem Internet über einen NAT-Gateway die richtige (interne) Zieladresse eintragen zu können, muss auf dem Gateway eine Tabelle mit offenen Verbindungen vorgehalten werden. Dies nennt man '''connection tracking''' (Verbindungszuordnung). Es leuchtet ein, dass diese Tabelle und das Nachschlagen darin Ressourcen verbraucht. Kostengünstige Router mit kleinen Tabellen haben häufig schon Probleme wenn nur ein einziger Rechner im internen Netz viele Verbindungen ins Internet öffnet oder unterhält (typischerweise bei P2P Systemen). Es werden dann Verbindungen "vergessen" und am Router ankommende Antwortpakete können keiner internen Adresse zugeordnet werden. Dieser Flaschenhals wäre ohne NAT nicht gegeben. == Weblinks == * RFC 3022 (englisch) * [http://freshmeat.net/projects/nat-traverse/ Tunnel durch NAT-Gateways ohne Notwendigkeit zur Anpassung der beteiligten Router] (englisch) * [http://www.wown.com/articles_tutorials/NAT_Windows_2003_Setup_Configuration.html Einrichtung NAT unter Windows 2003] (englisch) [[Kategorie:Netzwerkprotokoll]] [[cs:Network address translation]] [[da:Network Address Translation]] [[en:Network address translation]] [[es:Traducción de dirección de red]] [[fi:Osoitteenmuunnos]] [[fr:Network address translation]] [[he:NAT]] [[it:Network address translation]] [[ja:IPマスカレード]] [[nl:Network address translation]] [[no:NAT]] [[pl:NAT]] [[pt:NAT]] [[ru:NAT]] [[sv:Network Address Translation]] [[tr:NAT]] [[zh:网络地址转换]]
Diese Version des Artikels stammt vom 11.03.2006.
Der Inhalt dieser Seite basiert auf dem Artikel „Network Address Translation“ aus der freien Enzyklop�die Wikipedia und ist unter der GNU-Lizenz f�r freie Dokumentation ver�ffentlicht. Auf der Wikipedia-Seite ist eine Liste der Autoren einzusehen.