TCP/IP-Wartung

Verbindungsprüfung

Verbindung zwischen Rechnern

Die Verbindung zwischen Rechnern kann aus unterschiedlichsten Gründen nicht funktionieren. Dies kann seinen Grund in falscher Verkabelung, falscher Konfiguration oder fehlerhaften Routing-Einträgen haben.
ICMP und ping
Die Verbindung zwischen zwei Rechnern wird am einfachsten über den ping-Befehl geprüft. ping verwendet ICMP-Pakete. ICMP ist eine Protokoll-Ebene, die zur internen Verarbeitung verwendet werden. ICMP-Pakete werden versandt, wenn \begin{itemize} \item der Zielrechner in Daten ersäuft. \item ein Zwischenrechner erkennt, daß das Ziel unerreichbar ist \item ein Routingeintrag fehlerhaft ist, und das Senden über ein anderes Gateway sinnvoller ist. \item eine Prüfung der Strecke erforderlich ist. \end{itemize} Obwohl einige Router die Möglichkeit bieten, ICMP-Pakete auszuschließen, sollte dies nur mit Bedacht getan werden. Man entzieht sich ein wichtiges Hilfsmittel.
ifconfig
Auch der Befehl ifconfig kann bei der Fehlersuche weiterhelfen, wenn ein einzelner Rechner nicht in das Netz will. Mit dem Befehl

    ifconfig  <Verbindung>

wird ausgegeben, welche IP-Nummer der Rechner hat. Es wird auch festgestellt, wenn das TCP/IP nicht sauber installiert ist, indem er eine IOCTL-Fehlermeldung abgibt. Eine arbeitende Schnittstelle sollte die Flags UP und RUNNING besitzen.
traceroute
Der Befehl traceroute (tracerou im PCTCP) liefert Informationen darüber, welche Gateways auf dem Weg von diesem Rechner zum Zielrechner passiert werden.
Protokoll-Analysierer
Es gibt diverse Software-Protokoll-Analysierer auch aus dem Share\-ware-Bereich. Dazu zählen netwatch (DOS), tcpdump (UNIX) oder etherfind (SUN). Die Verwendung ist den jeweiligen Programmdokumentationen zu entnehmen.

Verbindung zwischen Prozessen: netstat

Die Verbindung zwischen Prozessen wird mit Hilfe des Befehls netstat angezeigt. Bei jeder Verbindung werden die beiden Verbindungsendpunkte aufgelistet. Dies ist die IP-Adresse gefolgt von dem verwendeten Port.

Local Address zeigt die Sockets dieser Maschine und Foreign Address die verbundenen Maschinen. Die Zahlen hinter den Maschinen sind die Sockets, die durch die Namen der Ports ersetzt sind, sofern sie in der /etc/services aufgeführt sind.

Unter State steht der Status der Verbindung. Er ist ESTABLISHED, wenn die Verbindung angefordert wurde und von der anderen Seite bestätigt ist. FIN oder FIN_WAIT zeigt an, daß eine Verbindung abgebaut wurde. Beim Aufbau einer Verbindung sendet der Client eine SYN-Anfrage. Der Server sendet daraufhin ein SYN-ACK. Der Client sendet anschließend ein ACK-Data.

[Comer S. 199] zeigt einen endlichen Automaten mit den Übergangszuständen bei Auf- und Abbau von Verbindungen.

Das Problem ist, daß solche abbauenden Verbindungen verhindern, daß der Port wieder vergeben werden können. Ist also beispielsweise ein Server-Prozess abgestürzt, der einen bind auf den well-known port macht, kann er erst wieder gestartet werden, wenn die letzte Verbindung zu diesem Port aufgelöst wurde.

Problemprotokolle

Syslog-Dämon

Der Syslog-Dämon schreibt seine Protokolle standardmäßig auf dem Rechner, der unter ``loghost'' in der /etc/hosts hinterlegt ist.

Die Datei /etc/syslog.conf bestimmt, welche Fehler protokolliert werden sollen und wo sie abgestellt werden.

netstat -m

Zeigt die Pufferverwendung und insbesondere deren Überlauf. Auf SCO-Rechnern der Version 3 führt ein solcher Fehler zu schwerwiegenden Folgen.

Probleme mit IP-Nummern

Zwei Probleme können bei IP-Nummern auftreten. Die IP-Nummer befindet sich im falschen Netz oder eine IP-Nummer ist doppelt vergeben. Ein Nummernkonflikt wird häufig in der Datei /usr/adm/messages des Server-Rechners protokolliert.

Tausch einer Netzwerkkarte

Es kann ein Problem auftreten, wenn eine Netzwerkkarte zwischen Rechnern getauscht wurde. Die IP-Nummern werden auf die Ethernet-Nummern der Hardware-Hersteller mit Hilfe des ARP (Address Resolution Protocol) abgebildet. Dazu führt jeder Rechner eine ARP-Tabelle. Wurde nun eine Netzwerkkarte getauscht, läuft evtl. bei anderen Rechnern im Netz diese IP-Nummer noch unter einer anderen Ethernet-Nummer oder umgekehrt. Die ARP-Tabelle kann mit

    arp -a

ausgegeben werden. Auf UNIX-Maschinen kann in der Datei /etc/ethers eineEthernet-Nummer Hostname Zuordnung durchgeführt werden. Neben dem ARP gibt es auch ein RARP (Reverse Address Resolution Protocol), das dazu dient, diskless Workstations ihre IP-Nummer zu vergeben. Dabei sendet die Workstation bei Systemstart per Broadcast ihre Ethernet-Nummer und erwartet von irgendeinem Rechner die zugehörige IP-Nummer. Dieser Vorgang ist nur im Sonderfall der diskless Workstation sinnvoll.
Homepage (C) Copyright 1999 Arnold Willemer