27 Punkte von GN⁺ 2025-11-09 | Noch keine Kommentare. | Auf WhatsApp teilen
  • Eine interaktive Seite, die den Weg der Pakete eines Nutzers über das Internet bis zum Server einer Website in Echtzeit visualisiert
  • Das selbst entwickelte traceroute-Programm ktr nutzt den TTL-Wert von ICMP-Paketen, um Informationen zu jedem Netzwerk-Hop zu sammeln
  • Die Website funktioniert auch ohne JavaScript, wobei der Server die traceroute-Ergebnisse als Stream in das HTML einfließen lässt
  • Für die Pfadanalyse werden WHOIS- und PeeringDB-Daten verwendet, um das Autonome System (AS) und die Unternehmensinformationen zu jeder IP anzuzeigen
  • Durch die Kombination von traceroute und der BGP-basierten Internetstruktur wird gezeigt, dass das Internet aus einer Sammlung von Netzwerken besteht, die über Peering-Beziehungen zwischen Unternehmen verbunden sind

Die Reise Ihres Pakets

  • Das traceroute am Seitenanfang zeigt den Weg der Pakete vom Computer des Nutzers bis zum Server
    • Es durchläuft nacheinander Netzwerke wie Router, ISP, Amazon, NTT Global IP Network und Hetzner
    • Einige Abschnitte werden als „(no response)“ angezeigt, was auf Server zurückzuführen ist, die nicht antworten
  • Innerhalb des Hetzner-Netzwerks erreicht es über mehrere Router schließlich den Zielserver
  • Die IP-Adresse 213.239.252.10 wird über eine Reverse-DNS-Abfrage als core0.fra.hetzner.com angezeigt

Behind the Scenes

  • Wenn die Website eine Anfrage des Nutzers erhält, führt der Server traceroute aus und sendet die Ergebnisse in Echtzeit
  • traceroute verwendet das ICMP-Protokoll und sammelt Antworten von jedem Hop, indem der TTL-Wert (Time To Live) schrittweise um 1 erhöht wird
  • Wenn der TTL-Wert 0 erreicht, gibt der betreffende Router eine Fehlermeldung zurück, wodurch sich der vom Paket durchlaufene Pfad nachverfolgen lässt
  • ktr streamt die traceroute-Ergebnisse und fragt gleichzeitig zu jedem Hop IP-, ASN- und Netzwerkbesitzinformationen ab

Frontend Fun

  • Es funktioniert auch ohne JavaScript, und der Browser erkennt es einfach als langsam ladende Seite
  • Der Server hält die HTTP-Verbindung offen und fügt die traceroute-Ergebnisse nacheinander in das HTML ein
  • Bei jedem Update wird ein CSS-Block eingefügt, um vorherige Ergebnisse auszublenden, wodurch ein Echtzeit-Aktualisierungseffekt entsteht

Front to Back, Back to Front

  • Tatsächlich führt der Server traceroute zur IP des Nutzers aus und zeigt die Ergebnisse in umgekehrter Reihenfolge an
  • Das ist ein „reverse traceroute“; auch wenn der Pfad in beide Richtungen nicht vollständig identisch ist, zeigt es im Großen und Ganzen einen ähnlichen Weg

Netzwerke und Autonome Systeme (AS)

  • Das Internet ist ein Verbund von Netzwerken auf Unternehmensebene, die als Autonome Systeme (Autonomous System, AS) bezeichnet werden
  • Jedes AS besitzt eine eindeutige ASN (Autonomous System Number) und tauscht über Peering Traffic mit anderen aus
  • Das Internet ist kein Besitz einzelner Personen, sondern eine Sammlung von Netzwerken im Besitz von Unternehmen, deren Verbindungen durch finanzielle Verträge und administrative Verfahren bestimmt werden
  • Eine ASN kann über eine der fünf Regional Internet Registries (RIR) beantragt werden

WHOIS und PeeringDB

  • Um das AS zu finden, zu dem jede IP in traceroute gehört, werden das WHOIS-Protokoll und die PeeringDB-Datenbank verwendet
  • WHOIS hat eine einfache Struktur: Nach dem Aufbau einer TCP-Verbindung wird eine Anfrage gesendet, und der Server gibt die Informationen zurück
  • Da sich Feldnamen und Formate je nach Server unterscheiden, ist der Parser als einfache Simulation umgesetzt, die eher der menschlichen Leseweise ähnelt
  • PeeringDB liefert Unternehmensinformationen für etwa ein Drittel aller AS

BGP (Border Gateway Protocol)

  • BGP ist das zentrale Protokoll, das die Form des Internets bestimmt, indem es Pfadinformationen zwischen AS austauscht
  • Border Router pflegen eine BGP-Routing-Tabelle und speichern die ASN-Listen für jeden Pfad
  • Wenn zwei AS Peering betreiben, bauen ihre Router eine BGP-Session auf und tauschen Route Advertisements aus
  • Router wählen unter mehreren Wegen den kürzesten oder bevorzugten Pfad aus und leiten Pakete entsprechend weiter

Die Geschichte von BGP

  • Netzwerkexperimente, die 1969 im ARPANET begannen, führten 1989 mit RFC 1105 von Cisco und IBM zur Einführung von BGP v1
  • Danach wurden BGP v2 (1990) und v4 (1994) veröffentlicht; v4 wird bis heute verwendet
  • BGP etablierte sich als Standardprotokoll zur Bestimmung der Verbindungswege zwischen allen Netzwerken im Internet

Die Beziehung zwischen Traceroute und BGP

  • Beispielpfad: AS16509 → AS2914 → AS24940
    • In der Reihenfolge Amazon (AS16509) → NTT Global IP Network (AS2914) → Hetzner (AS24940)
  • Auch innerhalb derselben ASN gibt es mehrere Hops; diese werden über interne Routing-Protokolle oder statische Pfade verarbeitet
  • Peering-Beziehungen zwischen AS bestimmen die tatsächliche Erreichbarkeit im Internet

Zusammenfassung

  • Die Website führt traceroute zur IP des Nutzers aus und überträgt das Ergebnis als HTTP-Stream
  • traceroute nutzt den TTL-Wert von ICMP-Paketen, um Pfade zwischen Routern zu visualisieren
  • Jeder Router gehört zu einem Autonomen System (AS) und ist über BGP mit anderen verbunden
  • Peering-Beziehungen bestimmen Erreichbarkeit und Struktur des Internets

Epilog

  • Der Autor stellte fest, dass ihm ein tieferes Verständnis der Internetstruktur fehlte, und erstellte deshalb einen interaktiven, protokollzentrierten Lehrtext
  • Statt auf ein großes, hochpoliertes Projekt zu warten, entschied er sich, auch in kleiner Form etwas zu veröffentlichen
  • Das Projekt wurde durch die Ermutigung der Hack-Club-Community vollendet und nutzt ein Open-Source-traceroute-Programm
  • Mit der Botschaft „Auch etwas Kleines ist besser, wenn es fertig ist“ hofft er, dass es als nachhaltiger Webinhalt bestehen bleibt

Noch keine Kommentare.

Noch keine Kommentare.