Rechnernetze
Home Nach oben

Routen mit ICMP finden

Das Systemprogramm traceroute verwendet die ICMP-Time Exceeded-Nachricht, um den Pfad zu einem Ziel zu bestimmen. Das Programm sendet mit dem Hopcounterwert 1 ein Datagramm an das jeweilige Ziel und der erste Router dekrementiert diesen Zählen; da der Wert null herauskommt, sendet er eine ICMP-Time Exceeded-Nachricht an den Absender. Aus der IP-Adresse des IP-Datagramms kann das Programm traceroute den ersten Router ermitteln. Danach wird die Operation mit dem Hopcounterwert 2 fortgesetzt, usw.

Das Systemprogramm traceroute muss auf eine Reihe von Fehlermöglichkeiten reagieren können.

Werden Datagramme dupliziert, so müssen sie ignoriert werden.
Gehen Datagramm verloren, so müssen sie noch einmal gesendet werden.
Die nötige Wartezeit wird meistens vom Anwender als Parameter gesetzt.
Ändern sich die Pfade dynamisch, so können Überschneidungen der Meldungen auftreten oder falsche Pfade ermittelt werden.
Wird das Ziel erreicht, so kann dieses durch einen Zugriff auf einen nicht existieren Port ermittelt werden
(Protokoll: UDP; Antwort: Destination Unreachable statt Time Exceede).