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:
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.