Ping (Datenübertragung)

elementare Fehlerdiagnose im Internet
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 25. Oktober 2005 um 17:03 Uhr durch 212.117.123.59 (Diskussion) (Beispiel). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Ping ist ein Computerprogramm, mit dem überprüft werden kann, ob ein bestimmter Host in einem IP-Netzwerk erreichbar ist. Entwickelt wurde Ping ursprünglich Ende 1983 von Mike Muuss.

Funktionsweise

Ping (in Anlehnung an das Geräusch eines Sonars) sendet ein ICMP-Echo-Request-Paket an die Zieladresse des zu überprüfenden Hosts. Der Empfänger muss, insofern er das Protokoll unterstützt, laut Protokollspezifikation eine Antwort zurücksenden: ICMP Echo-Reply. Ist der Zielrechner nicht erreichbar, antwortet der Router: Network unreachable (Netzwerk nicht erreichbar) oder Host unreachable (Gegenstelle nicht erreichbar).

Aus einer fehlenden Antwort kann man allerdings nicht eindeutig darauf schließen, dass die Gegenstelle nicht erreichbar ist. Manche Hosts sind nämlich so konfiguriert, dass sie ICMP-Pakete ignorieren und verwerfen. (Siehe: Security through Obscurity).

Übergibt man dem ping-Kommando einen Hostnamen anstatt einer IP-Adresse, lässt das Programm diesen durch das Betriebssystem auflösen. Bei fehlerhaften Konfigurationen (hosts-Datei, lmhosts-Datei, WINS, DNS) kann der Name nicht aufgelöst werden, worauf das Programm eine Fehlermeldung ausgibt.

Einige Parameter sind bei Ping einstellbar. Zum Beispiel bestimmt die Wiederholrate, wie häufig ein Paket gesendet wird. Die Paketgröße bestimmt die Größe des ICMP-Echo-Request-Pakets.

Beispiel

# ping de.wikipedia.org -c 5

PING de.wikipedia.org (130.94.122.197): 56 data bytes
64 bytes from 130.94.122.197: icmp_seq=0 ttl=239 time=222.1 ms
64 bytes from 130.94.122.197: icmp_seq=1 ttl=239 time=222.5 ms
64 bytes from 130.94.122.197: icmp_seq=2 ttl=239 time=222.4 ms
64 bytes from 130.94.122.197: icmp_seq=3 ttl=239 time=223.1 ms
64 bytes from 130.94.122.197: icmp_seq=4 ttl=239 time=223.7 ms

--- de.wikipedia.org ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 222.1/222.7/223.7 ms

Es werden Datenpakete an den Rechner de.wikipedia.org gesandt. Vom Programm wird die Zeit gemessen, bis die Antwort des Hosts eintrifft. Diese Antwort wird als Pong bezeichnet. Die Zeitangabe sagt aus, wie lange es dauert, bis ein Datenpaket zum Host und wieder zurück braucht. Man kann daran grob erkennen, ob die Gegenstelle funktioniert und mit welcher Verzögerung bei einer Verbindung zu rechnen ist. Die Angabe TTL ist dazu da, um grob nachvollziehen zu können, über wie viele Router der Ping-Befehl gelaufen ist (im Beispiel maximal 16, da manche Router um mehr als 1 dekrementieren).

Bewertung der Pingdauer

Um die ermittelten Zeiten objektiv bewerten zu können, muss man sich überlegen, wie lange ein Signal auf die andere Seite der Erde und zurück braucht. Benötigt werden 85ms, wenn man den optimalen Weg (direkt durch die Erde) und die Lichtgeschwindigkeit, als Maximum der Geschwindigkeit wählt, oder 133ms, wenn man einen oberirdischen Weg verwendet. In der Realität ist der Wert noch höher und Werte um 333ms sind nicht ungewöhnlich.

Herkunft des Namens

Der Name ping stammt aus der Kriegstechnik. Seit dem Zweiten Weltkrieg wird Sonar eingesetzt, um U-Boote aufzuspüren. Das dabei ausgestrahlte Schallsignal hört sich in einem U-Boot wie ein hohes Klopfgeräusch an, was als „Ping“ beschrieben wird. Häufig wird ping als Abkürzung von Packet Internet Groper dargestellt, was aber falsch ist. Der Autor des Programms sagte selber: From my point of view PING is not an acronym standing for Packet InterNet Groper, it's a sonar analogy.


Vorlage:WikiReader Internet