Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ traceroute(1M) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

netstat(1M)

ping(1M)

traceroute(1M)                                               traceroute(1M)

NAME
     traceroute - Paketweg zu einem Zielrechner ausgeben

SYNTAX
     traceroute [-m maxttl] [-n] [-p port] [-q nqueries] [-r] [-s srcaddr]
                [-g addr] [-t tos] [-v] [-w waittime] host [packetsize]

BESCHREIBUNG
     Das Internet ist eine umfangreiche, komplexe Konstellation von Netzen,
     die über Gateways miteinander verbunden sind. Das Nachvollziehen der
     Route, die ein Paket zu den verschiedenen Rechnern nimmt (bzw. das
     Feststellen des Gateways, an dem Pakete verworfen werden) kann mit
     Schwierigkeiten verbunden sein. traceroute wertet das Feld ttl
     ("time-to-live") im IP-Protokollkopf aus und versucht, von jedem Gate-
     way auf dem Weg zu einem bestimmten Rechner die ICMP-Meldung
     TIMEEXCEEDED zu bekommen.

     Hinweis:

     Dieses Kommando sollte nur für Diagnosezwecke benutzt werden

     Der einzige obligatorische Parameter ist der Name bzw. die IP-Adresse
     des Ziel-Rechners. Die Länge des Test-Datagramms beträgt standardmäßig
     38 Byte; allerdings kann auch mit einem höheren Wert gearbeitet wer-
     den, indem nach dem Namen des Ziel-Rechners eine Paketgröße (in Byte)
     angegeben wird.

OPTIONEN
     -m maxttl
          Maximale Lebensdauer (maximale Anzahl der Zwischenstationen
          (hops)) für abgehende Testpakete auf maxttl Zwischenstationen
          festlegen. Standardwert ist 30 Zwischenstationen (derselbe Stan-
          dardwert wie bei TCP-Verbindungen).

     -n   Die Adressen von Zwischenstationen werden nur im numerischen For-
          mat ausgegeben; die symbolische Adresse wird unterdrückt (so
          bleibt dem Namen-Server eine Name/Adreß-Abbildung für jedes Gate-
          way im Übertragungsweg erspart).

     -p port
          port ist die Nummer des UDP-Ports, den Testpakete als ersten Port
          verwenden sollen (Standard: 33434). traceroute hofft, daß an den
          UDP-Ports port bis port+maxttl-1 des Ziel-Rechners keine Netz-
          Dienste warten (und das Nachvollziehen der Route durch die
          zurückgegebene ICMP-Meldung PORTUNREACHABLE beendet wird). Wenn
          innerhalb des Standard-Bereichs ein Netz-Dienst wartet, kann mit
          dieser Option ein nicht benutzter Bereich von Portnummern angege-
          ben werden.







Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

traceroute(1M)                                               traceroute(1M)

     -r   Die Daten werden unter Umgehung der normalen Routing-Tabellen
          direkt an einen Rechner in einem angeschlossenen Netz geschickt.
          Befindet sich der Rechner nicht in einem direkt angeschlossenen
          Netz, wird ein Fehler zurückgegeben. Mit dieser Option kann an
          einen lokalen Rechner mit ping(1M) über eine Schnittstelle, durch
          die keine Route verläuft (z. B. da die Schnittstelle durch
          routed(1M) aufgegeben worden ist), ein Datagramm geschickt wer-
          den.

     -s srcaddr
          Eine IP-Adresse srcaddr (die als IP-Nummer und nicht über einen
          Hostnamen angegeben werden muß) als Ausgangsadresse für abgehende
          Testpakete benutzen. Auf Rechnern mit mehreren IP-Adressen kann
          über diese Option angegeben werden, daß als Ausgangsadresse nicht
          die IP-Adresse der Schnittstelle benutzt werden soll, über die
          das Testpaket abgeschickt wird. Handelt es sich bei der IP-
          Adresse nicht um eine der Schnittstellenadressen des jeweiligen
          Rechners, wird ein Fehler zurückgegeben; es findet dann keine
          Übertragung statt.

     -g addr
          IP-Option LSRR (Loose Source Record Route) zusätzlich zu den
          TTL-Tests einschalten. Hiermit kann angefragt werden, wie der
          Benutzer an der IP-Adresse addr ein bestimmtes Ziel erreicht.

     -t tos
          Type-Of-Service (Serviceklasse) in Testpaketen auf tos setzen
          (Standard: 0). Bei dem Wert muß es sich um eine dezimale Ganzzahl
          im Bereich 0 bis 255 handeln. Über diese Option kann festgestellt
          werden, ob verschiedene Werte in tos zu unterschiedlichen Über-
          tragungswegen führen.

          TOS ist nicht in jeder Einstellung sinnvoll oder zulässig. Sinn-
          volle Werte sind: -t 16 (geringe Verzögerung) und -t 8 (hoher
          Durchsatz).

     -v   Ausführliche Ausgabe. Es werden die empfangenen ICMP-Pakete mit
          Ausnahme von TIMEEXCEEDED und UNREACHABLE aufgelistet.

     -q nqueries
          Ändert die Anzahl der Testpakete (Standard: 3).

     -w waittime
          Wartezeit für eine Antwort auf ein Testpaket auf waittime Sekun-
          den setzen (Standard: 3 Sek.).

   Arbeitsweise von traceroute
     Dieses Testprogramm versucht, die potentielle Route eines IP-Pakets zu
     irgendeinem Internet-Rechner festzustellen, indem UDP-Testpakete mit
     kleinem ttl (time to live, Lebensdauer) abgeschickt werden und dann
     auf die ICMP-Antwort time exceeded von einem Gateway gewartet wird.



Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

traceroute(1M)                                               traceroute(1M)

     Die Testpakete werden üblicherweise mit dem ttl-Wert 1 abgeschickt;
     ttl wird dann so oft um 1 erhöht, bis die ICMP-Meldung port unreacha-
     ble zurückkommt (diese Meldung zeigt die Ankunft des Pakets bei host
     an) oder ein Maximalwert erreicht wird (der Standardwert beträgt hier
     30 Zwischenstationen und kann mit dem Schalter -m geändert werden).

     Bei jeder ttl-Einstellung werden drei Testpakete geschickt (dieser
     Wert kann mit dem Schalter -q geändert werden); in jeder Zeile ist der
     ttl-Wert, die Adresse des Gateway sowie die Zeitdauer enthalten, die
     jedes Testpaket unterwegs war. Kommen die Antworten auf die verschie-
     denen Testpakete von unterschiedlichen Gateways, wird die Adresse
     jedes antwortenden Systems ausgegeben. Wird nicht innerhalb von 3
     Sekunden eine Antwort empfangen (dieser Wert kann mit dem Schalter -w
     geändert werden), wird für dieses Testpaket das Zeichen * ausgegeben.
     Soll das UDP-Testpaket nicht vom Ziel-Rechner verarbeitet werden, so
     wird die Ziel-Portnummer auf einen wahrscheinlich nicht vorhandenen
     Wert gesetzt (sollte dieser Wert auf dem Ziel-Rechner dennoch vorhan-
     den sein, kann er mit dem Schalter -p geändert werden).

BEISPIELE
     Die Kommandozeile mit der zugehörigen Ausgabe kann folgendermaßen aus-
     sehen:

     [yak 71]% traceroute nis.nsf.net.

     traceroute to nis.nsf.net (35.1.1.48), 30 hops max, 56 byte packet
      1 helios.ee.lbl.gov (128.3.112.1) 19 ms 19 ms 0 ms
      2 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 39 ms 19 ms
      3 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 39 ms 19 ms
      4 ccngw-ner-cc.Berkeley.EDU (128.32.136.23) 39 ms 40 ms 39 ms
      5 ccn-nerif22.Berkeley.EDU (128.32.168.22) 39 ms 39 ms 39 ms
      6 128.32.197.4 (128.32.197.4) 40 ms 59 ms 59 ms
      7 131.119.2.5 (131.119.2.5) 59 ms 59 ms 59 ms
      8 129.140.70.13 (129.140.70.13) 99 ms 99 ms 80 ms
      9 129.140.71.6 (129.140.71.6) 139 ms 239 ms 319 ms
     10 129.140.81.7 (129.140.81.7) 220 ms 199 ms 199 ms
     11 nic.merit.edu (35.1.1.48) 239 ms 239 ms 239 ms

     Beachten Sie, daß die Zeilen 2 und 3 identisch sind. Dies ist auf
     einen fehlerhaften Systemkern auf der zweiten Zwischenstation (lbl-
     csam.arpa) zurückzuführen, die das Paket mit dem ttl-Wert 0 weiterlei-
     tet (hierbei handelt es sich um einen Fehler in einer 4.3BSD-
     Freigabe).











Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

traceroute(1M)                                               traceroute(1M)

     Ein weiteres Beispiel:

     [yak 72]% traceroute allspice.lcs.mit.edu.

     traceroute to allspice.lcs.mit.edu (18.26.0.115), 30 hops max
     1 helios.ee.lbl.gov (128.3.112.1) 0 ms 0 ms 0 ms
     2 lilac-dmc.Berkeley.EDU (128.32.216.1) 19 ms 19 ms 19 ms
     3 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 19 ms 19 ms
     4 ccngw-ner-cc.Berkeley.EDU (128.32.136.23) 19 ms 39 ms 39 ms
     5 ccn-nerif22.Berkeley.EDU (128.32.168.22) 20 ms 39 ms 39 ms
     6 128.32.197.4 (128.32.197.4) 59 ms 119 ms 39 ms
     7 131.119.2.5 (131.119.2.5) 59 ms 59 ms 39 ms
     8 129.140.70.13 (129.140.70.13) 80 ms 79 ms 99 ms
     9 129.140.71.6 (129.140.71.6) 139 ms 139 ms 159 ms
     10 129.140.81.7 (129.140.81.7) 199 ms 180 ms 300 ms
     11 129.140.72.17 (129.140.72.17) 300 ms 239 ms 239 ms
     12 * * *
     13 128.121.54.72 (128.121.54.72) 259 ms 499 ms 279 ms
     14 * * *
     15 * * *
     16 * * *
     17 * * *
     18 ALLSPICE.LCS.MIT.EDU (18.26.0.115) 339 ms 279 ms 279 ms

     Beachten Sie, daß die Gateways, die um 12, 14, 15, 16 und 17 Zwischen-
     stationen entfernt sind, die ICMP-Meldung time exceeded entweder übe-
     rhaupt nicht abschicken oder sie mit einem zu kleinen ttl-Wert
     abschicken, so daß sie den lokalen Rechner nicht erreichen kann. Auf
     14-17 läuft der MIT C Gateway-Code, der keine time exceeded-Meldungen
     abschickt. Die Gründe für das Problem mit Gateway 12 sind unbekannt.

     Daß Gateway 12 im obigen Beispiel keine Meldung schickt, kann auf
     einen Fehler im Netzcode von 4.[23]BSD (und seinen Derivaten) zurück-
     zuführen sein: 4.x (x < 3) schickt eine UNREACHABLE-Meldung mit dem
     ttl-Wert, der jeweils im ursprünglichen Datagramm verblieben ist. Da
     der verbleibende ttl-Wert für Gateways 0 ist, kann die ICMP-Meldung
     time exceeded mit Sicherheit nicht zu dem lokalen Rechner zurückkeh-
     ren. Das Verhalten dieses Fehlers ist etwas interessanter, wenn er auf
     dem Ziel-System auftritt:















Seite 4                      Reliant UNIX 5.44               Gedruckt 11/98

traceroute(1M)                                               traceroute(1M)

     1 helios.ee.lbl.gov (128.3.112.1) 0 ms 0 ms 0 ms
     2 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 19 ms 39 ms
     3 lilac-dmc.Berkeley.EDU (128.32.216.1) 19 ms 39 ms 19 ms
     4 ccngw-ner-cc.Berkeley.EDU (128.32.136.23) 39 ms 40 ms 19 ms
     5 ccn-nerif35.Berkeley.EDU (128.32.168.35) 39 ms 39 ms 39 ms
     6 csgw.Berkeley.EDU (128.32.133.254) 39 ms 59 ms 39 ms
     7 * * *
     8 * * *
     9 * * *
     10 * * *
     11 * * *
     12 * * *
     13 rip.Berkeley.EDU (128.32.131.22) 59 ms! 39 ms! 39 ms!

     Beachten Sie, daß es 12 gateways gibt (13 ist das endgültige Ziel),
     von denen genau die Hälfte "fehlt". Dazu ist es folgendermaßen gekom-
     men: rip benutzt den ttl-Wert aus dem angekommenen Datagramm als ttl-
     Wert in seiner ICMP-Antwort. Deshalb löst die Antwort auf ihrem Rück-
     weg eine Zeitlimitüberschreitung aus (die aber nicht gemeldet wird, da
     für ICMP-Meldungen selbst keine ICMP-Meldungen abgeschickt werden).
     Daher muß ein ttl-Wert eingesetzt werden, der mindestens das Doppelte
     der Länge des Übertragungswegs beträgt. Somit ist rip in Wirklichkeit
     lediglich um sieben Zwischenstationen entfernt. Wenn eine Antwort mit
     dem ttl-Wert 1 zurückkehrt, ist dies ein Hinweis darauf, daß es dieses
     Problem gibt. traceroute gibt nach der Zeitangabe bei einem ttl-Wert
     kleiner gleich 1 ein Ausrufezeichen (!) aus. Da von den Herstellern
     häufig eine Menge veralteter oder Nicht-Standard-Software ausgeliefert
     wird, sollte man sich auf das häufige Auftreten dieses Problems ein-
     stellen oder bei der Auswahl der Ziel-Rechner für die Testpakete sorg-
     fältig sein.

     Weitere Meldungen nach der Zeitangabe können sein:

     -  !H, KN, !P

        (betreffender Rechner, Netz bzw. Protokoll nicht erreichbar)

     -  !S oder !F

        (Störung in Ausgangs-Route oder Fragmentierung notwendig - diese
        Hinweise sollten jedoch in keinem Fall erscheinen und weisen gege-
        benenfalls auf eine Störung im betreffenden Gateway hin).












Seite 5                      Reliant UNIX 5.44               Gedruckt 11/98

traceroute(1M)                                               traceroute(1M)

     Wenn so gut wie alle Testpakete zum Ergebnis "unreachable" führen,
     startet traceroute keinen neuen Versuch und beendet sich.

          traceroute -g 10.3.0.5 128.182.0.0

     zeigt den Übertragungsweg zwischen Cambridge Mailbridge und PSC;

          traceroute -g 192.5.146.4-g 10.3.0.5 35.0.0.0

     dagegen zeigt, wie Merit von Cambridge Mailbridge erreicht wird; dabei
     wird PSC zum Erreichen von Mailbridge benutzt.

     Dieses Programm ist zum Einsatz beim Testen, Messen und Verwalten von
     Netzen bestimmt. Es sollte hauptsächlich zur manuellen Fehlerlokali-
     sierung benutzt werden.

     Um eine Überlastung des Netzes zu verhindern, sollte traceroute mög-
     lichst nicht während des Normalbetriebs oder innerhalb von Kommandos-
     kripts benutzt werden.

SIEHE AUCH
     netstat(1M), ping(1M).
































Seite 6                      Reliant UNIX 5.44               Gedruckt 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026