Mike Muuss brachte sein neues Programm noch vor Sonnenaufgang zum Laufen. Zu diesem Zeitpunkt hatte sein Kollege Chuck Kennedy die Netzwerk-Hardware, die es untersuchen sollte, bereits repariert. Muuss hatte die Nacht damit verbracht, ein Werkzeug für ein Problem zu entwickeln, das verschwunden war, bevor er sein erstes Testpaket senden konnte. Er nannte das Programm ping.[1]

Im Dezember 1983 befasste sich Muuss mit einem seltsamen Verhalten im IP-Netzwerk des Ballistic Research Laboratory der US-Armee. Eine Bemerkung, die er Monate zuvor gehört hatte, bot einen Ausgangspunkt. Auf einem DARPA-Treffen in Norwegen im Juli hatte Dave Mills beschrieben, wie sich durch das Messen elektronischer Echo-Laufzeiten bestimmen lässt, wie lange Nachrichten für den Weg über ein Netzwerk benötigen. Muuss erinnerte sich an die Idee und begann zu programmieren.[1]

Sein Programm kompilierte erfolgreich, weigerte sich dann aber zu funktionieren. Der darunterliegende UNIX-Kernel unterstützte die rohen ICMP-Sockets nicht, die sein Code benötigte. Muuss beschrieb sich selbst als „wütend“. Er schrieb auch die fehlende Kernel-Unterstützung und brachte beide Teile noch vor Tagesanbruch zum Laufen. Kennedy, bekannt als Kermit, hatte die Hardware bereits gefunden und repariert, als Muuss sein erstes Ping-Paket starten konnte.[1]

Muuss hatte im College Sonar- und Radarsysteme modelliert und den Klang des Sonars für den Namen übernommen. Ein Impuls breitet sich aus; ein Echo kehrt zurück. Seine Software verwendete Nachrichten, die bereits im Internet Control Message Protocol definiert waren: Echo und Echo Reply. Das Protokoll legte fest, dass die empfangende Maschine die an sie gesendeten Daten zurücksenden sollte. Die Zeitmessung dieses Austauschs gab Muuss eine Möglichkeit, die Reise zu einer anderen Maschine und zurück zu untersuchen.[1][2]

In Berkeley übernahmen Entwickler den Quellcode und seine Kernel-Modifikationen in Berkeley UNIX. Die Notfallreparatur war ohne ping durchgeführt worden, aber andere Leute konnten die nächste Kopie nutzen, ohne selbst eine Übernacht-Lösung schreiben zu müssen. Muuss beschrieb sein Programm später als einen tausendzeiligen Abend-Hack und scherzte, dass er, hätte er gewusst, dass es seine berühmteste Leistung werden würde, vielleicht ein oder zwei weitere Tage damit verbracht hätte, Optionen hinzuzufügen.[1]

Ein modernes Linux-Handbuch beschreibt den gleichen Austausch von Anfragen und Antworten, mit Round-Trip-Zeiten und Paketverluststatistiken. Es bietet auch eine akustische Option. Das Programm kann einen Ton erzeugen, wenn eine Antwort eintrifft, sodass jemand auf eine funktionierende Verbindung lauschen kann, anstatt jede neue Zeile erscheinen zu sehen.[3]

Auf einer USENIX-Konferenz hörte Muuss eine Geschichte über einen Administrator, der diese Zuhör-Idee erheblich weiterentwickelt hatte. Laut dem von Muuss aufgezeichneten Bericht verband der Mann ping mit einem Vocoder, speiste dessen Ausgabe über seine Büro-Stereoanlage und drehte die Lautstärke so laut auf, wie er es ertragen konnte. Einmal pro Sekunde schrie der Computer „Ping, ping, ping...“, während er durch das Gebäude ging und an Ethernet-Anschlüssen wackelte.[1]

Muuss nannte es die beste Ping-Geschichte, die er je gehört hatte. Der Name, den er dem Sonar entlehnt hatte, war zu einem hörbaren Fehlersuchwerkzeug geworden: Der Administrator bewegte sich von Anschluss zu Anschluss, bis das Schreien aufhörte. Diese Stille verriet ihm, wo der zeitweilige Fehler lag.[1]

Quellen

  1. Mike Muuss, Die Geschichte des PING-Programms
  2. RFC 792, Internet Control Message Protocol
  3. Linux-Handbuch, ping(8)

Foto: Chuck Kennedy (links), Mike Muuss (Mitte) und Doug Kingston im Ballistic Research Laboratory. Dieses Foto zeigt nicht die Nacht, in der ping geschrieben wurde. Ron Natalie, Wikimedia Commons, CC BY-SA 4.0. Zugeschnitten und in der Größe geändert; Derivat unter derselben Lizenz.