TCP-IP Routing, NAT Im zweiten Teil der Einführung in das TCP/IP Protokoll werden das Routing, und die NAT Funktion erklärt, und wie diese aktiv im Internet, aber auch in lokalen Netzen angewendet wird. Am Ende der Einführung finden Sie noch nützliche Tools zur Fehlersuche in eigenen TCP/IP Netzwerken auf Windows basierend.

Routing und Network Adress Translation

Wie bereits festgestellt wurde ist das TCP/IP Protokoll aufgrund seiner Struktur routingfähig. Zum Verbinden verschiedener Netze dienen Gateways oder kurz: Router. Auch ein Router besitzt eine IP-Adresse, Netzdesigner legen diese Adresse meistens an den Anfang oder ans Ende des IP-Ranges, z.B. 10.0.0.1 oder 10.0.0.254 im Netz 10.0.0.0.

Das folgende Bild veranschaulicht das Routing:

Routing

Ganz ohne Routing würde ein Datenpaket von Rechner 10.0.0.2 an Rechner 10.0.0.3 gelangen denn beide Maschinen befinden sich im gleichen Netz. Der Host 10.0.0.2 hat nun jedoch eine Nachricht für die Maschine 10.0.1.23. Anhand des Netzanteils der IP-Adresse des Empfängers schickt 10.0.0.2 die Nachricht nicht in das "eigene" Netz sondern gleich an seinen in der TCP/IP-Konfiguration eingetragenen Standardgateway (Router) weil sich der Empfänger in einem anderen Netz befindet. Der Router, welcher physikalisch in beiden Netzen anwesend ist erkennt vermittels Routingtabelle dass das Paket aus dem Netz 10.0.0.0 in das Netz 10.0.1.0 zu leiten ist und so gelangt das Paket von Maschine 10.0.0.2 zu Maschine 10.0.1.23.

Routingtabellen können statisch oder dynamisch sein. Neben der Netzadresse oder auch einzelner Hostadressen welche geroutet werden sollen beinhaltet eine Routingtable außerdem eine sogenannte Metrik, damit ist festgelegt in welcher Reihenfolge Routen abgearbeitet werden falls es Mehrere gibt (meistens ist dabei die Preisfrage ausschlaggebend).

NAT (Network Adress Translation) ist ein Protokoll welches das Umsetzen von IP-Adressen von einem Netz in ein Anderes beschreibt und kommt ebenfalls auf Routern oder Firewalls zum Einsatz. Mit NAT kann z.B. eine Netzadresse 10.0.0.2 zu 192.168.0.2, eine weitere IP 10.0.0.3 zu 192.168.0.3 usw. umgesetzt werden. Möglich ist es, auf diese Weise auch Ports linear zu übersetzen. Eine Sonderform von NAT liegt vor, wenn die IP-Adressen aller Maschinen in einem Netz (z.B. 10.0.0.2 bis 10.0.0.253) auf eine einzige IP-Adresse umgesetzt werden. Damit lassen sich die IP-Adressen einzelner oder mehrerer Netzwerke verbergen (Mascerading) und ein privates Netzwerk wird dadurch nach außen hin durch eine einzige IP-Adresse presentiert.

NAT und Routing wird von LINUX Maschinen von "Haus aus" soweit unterstützt so dass hier nur die Frage der Konfiguration zu klären wäre. Anders hingegen auf Windows-Rechnern, hier macht sich der Erwerb weiterer Software notwendig, soll ein PC als Router eingesetzt werden.

Der Einsatz einer solche Software wie WinRoute Pro z.B. macht sich erforderlich wenn

  • bestimmte Computer eine andere IP-Adresse aufweisen sollen als die Haupt-Adresse, die vom Rest des Netzwerks genutzt wird.
  • Sie Zweigniederlassungen mit dem WAN (Wide Area Network) mit privatem Adressplatz verbunden haben und sich alle einen Internetzugang teilen sollen.
  • sich Mehrfachsegmente im Hintergrund von WinRoute befinden, von denen ein oder mehrere Segmente DMZ(s) mit öffentlichen IP-Adressen sind.
  • Sie innerhalb Ihres privaten Netzwerks über öffentliche IP-Adressen verfügen möchten. (Denken Sie daran, mit Ihrem ISP abzusprechen, dass diese IP-Adressen an Ihre IP-Adresse geroutet werden.)

TCP/IP im OSI Referenzmodell

  OSI-Modell Ebenen Protokolle
7 Anwenderschicht Application Layer Telnet, SMTP...
6 Darstellungsschicht Presentation Layer  
5 Kommunikations- 
steuerungsschicht
Session Layer  
4 Transportschicht Transport Layer TCP/UDP
3 Vermittlungsschicht Network Layer IP/ICMP
2 Sicherungsschicht Data Link Layer ARP
1 Bitübertragungsschicht Physical Layer Ethernet

Für TCP/IP geschriebene Anwendungen benutzen meist mehrere Protokolle (Telnet, SMTP, http...). Die Summe der Schichten der Protokolle wird als Protocol-Stack bezeichnet. Die Kommunikation beginnt in der obersten Schicht des Protokoll-Stacks. Jede Schicht reicht die Informationen an untere Schichten weiter, bis sie schließlich vom physikalischen Netzwerk übertragen werden. Beim Empfänger verläuft der Prozeß umgekehrt von den unteren zu den oberen Schichten. Diese einfache Betrachtungsweise möge für diesen Artikel genügen.

Tools zur Fehlersuche

Auch Betriebssysteme Windows9x, NT und W2000 stellen ein paar Tools bereit mit welchen sich Fehler im Netzwerk eingrenzen oder fehlerhafte Konfigurationen ermitteln lassen.

winipcfg

Steht unter Windows9x zur Verfügung und zeigt die lokale IP-Konfiguration über ein grafisches Dialogfenster an. Ebenfalls grafisch angezeigt wird die Hilfe wenn winipcfg -? auf der Kommandozeile eingegeben wurde. Mit den Schaltern freigeben und aktualisieren kann geprüft werden ob eine automatische IP-Konfiguration über DHCP funktioniert.

ipconfig

Funktionen wie winipcfg jedoch rein kommandozeilenorientiert. Steht unter Win95 nicht zur Verfügung. Die Schalter weichen unter Win9x und NT geringfügig voneinander ab, in WinNT z.B. steht -a für "all" unter Win9x muss -all notiert werden. Mit Letzerem werden auch die MAC-Adressen der Adapter angezeigt.

netstat

Zeigt Protokollstatistik und aktuelle TCP/IP-Netzwerkverbindungen an., netstat ohne Schalter zeigt aktive Verbindungen:

Aktive Verbindungen

  Proto  Lokale Adresse    Remote-Adresse      Status
  TCP    rolf:ftp          VRONI:1025          ESTABLISHED

netstat -r zeigt den Inhalt der Routing-Tabelle an. Weitere Möglichkeiten werden wie gehabt mit dem Schalter -? angezeigt.

tracert

Ein mächtiges Tool um das Routing zu überprüfen, zum prüfen also welchen "Weg" ein Datenpaket vom Ausgangsrechner zum Zielrechner nimmt. Dabei ist ein hop ein Gerät auf dem Pfad zwischen zwei Geräten.

ping

Das wohl wichtigste Werkzeug in dieser "Sammlung". Mit ping kann geprüft werden ob ein Host überhaupt erreichbar ist in TCP/IP-Netzwerken.


Ping in der MS-DOS Eingabeaufforderung. In die Eingabeaufforderung gelangen Sie über "Start->Ausführen->command"

ping verwendet ICMP (Internet Control Message Protocol). ICMP-Pakete enthalten ein Type-Field und ein Code-Field in welchem die Meldung spezifiziert ist:

Type Code
0 echo reply
3 destination unreachable
4 source quench
5 redirect
8 echo request
11 time exceeded
12 parameter problem
13 timestamp request
14 timestamp reply
17 address mask request
18 address mask reply
nslookup

Mit diesem Utility (nicht unter Win9x) kann geprüft werden ob die Auflösung von Namen im DNS funktioniert. nslookup ohne Schalter zeigt an welcher Nameserver im Default auf der lokalen Station verwendet wird. nslookup ist Scriptfähig, gut zu wissen wenn mit einem Kommando eine ganze Liste von Domains geprüft werden soll: nslookup < liste. nslookup kann sowohl im Batchmode als auch interaktiv verwendet werden, eine umfangreiche Hilfe wird dabei mit dem ? angezeigt.

Vielen dank an Herrn Rolf Rost von I-NetLab, der uns den Artikel zur Verfügung gestellt hat. Bei Fragen können Sie sich an ihn wenden. Auf seiner Webseite finden Sie ein Kontakt-Formular.

Bookmark setzen... These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Bloglines
  • MisterWong
  • MySpace
  • Reddit
  • SEOigg
  • Technorati
  • TwitThis
  • Y!GG
  • Google Bookmarks

Weiterführende Links: