Ihr Backbone ist nicht das des Internets
Fünf Netze erreichen 94 % der Origins in meiner Tabelle. Einen AS_PATH-Hop weiter sind es fünf andere Netze.
Michel Wijnberg
Der vorige Beitrag endete mit einem Ergebnis, das wie eine Tatsache über das Internet aussieht: Fünf autonome Systeme erreichen 94 % der Origin-ASe in einer Tabelle mit einer Million Pfaden. Hier sind sie.
AS2516. AS7575. AS2497. AS6939. AS1221.
Und jetzt der entscheidende Teil. Das sind asiatisch-pazifische Netze, und ihre Dominanz hier ist eine Eigenschaft dieses Blickpunkts und der beiden Upstreams, die ihn speisen, keine Messung eines globalen Backbones. Ich behaupte bewusst nicht, die Geografie des Collectors habe das verursacht: Die Tabelle zeigt, welche Netze diese bestimmten Upstreams auf diese bestimmten Pfade gesetzt haben, und Upstream-Wahl, Policy und kommerzielle Beziehungen sind darin alle verwoben. In derselben Messung taucht Lumen mit 11 % auf und Cogent mit 6 %, zwei Netze, die die meisten Ingenieure ohne Zögern nennen würden, wenn man sie nach dem Backbone des Internets fragte.
Verschieben Sie den Feed um einen AS_PATH-Hop, und die Antwort lautet auf fünf andere Namen.
Darum geht es in diesem Beitrag, denn es ist keine Kuriosität. Es ist die Eigenschaft, die darüber entscheidet, ob ein Werkzeug Ihnen etwas über das Internet erzählt oder etwas über Ihre eigene Anbindung, und fast nichts kennzeichnet, welches von beidem.
Was das Ranking tatsächlich misst
“Transit-Reichweite” klingt nach einer globalen Eigenschaft. Berechnet wird sie als: Wie viele der Origin-ASe in meiner Tabelle liegen im Kegel dieses AS. Jeder Begriff in diesem Satz ist auf den Feed bezogen, und der Kegel wird über dem dominanten Baum genommen, von dem der vorige Beitrag gezeigt hat, dass er eine Näherung des echten Graphen ist und keine Beschreibung.
Die ehrliche Lesart der fünf Namen oben ist also nicht “das ist der Kern des Internets”. Sie lautet:
Angesichts dessen, wo dieser Router sitzt und was seine zwei Upstreams ihm zu senden beschlossen haben, ruht seine Erreichbarkeit auf diesen fünf Netzen.
Das ist eine wirklich nützliche Antwort. Es ist die, die Sie wollen, bevor Sie entscheiden, welchen Transitvertrag Sie neu verhandeln. Sie ist nur auf niemanden sonst übertragbar, und ein Produkt, das sie so präsentierte, als wäre sie es, würde die Geografie seines Autors als Feature ausliefern.
Deshalb gibt es nirgends in Ospreys Code eine Liste von Tier-1-Netzen, und deshalb wird es auch keine geben. Das Ranking wird pro Feed berechnet, aus Ihrer Tabelle, jedes Mal. Eine fest eingebaute Liste wäre für den richtig, der sie geschrieben hat, und für alle anderen stillschweigend falsch, und das Versagen wäre unsichtbar: Die Namen sähen plausibel aus.
Dieselbe Tabelle, eine dritte Frage, eine vierte Antwort
Bisher in dieser Reihe: nach Präfixanzahl ranken und Sie bekommen Deaggregierer. Nach Transit-Reichweite ranken und Sie bekommen die fünf von oben. Hier eine dritte Achse, die wir gebaut haben, weil “mit wem sollte ich peeren” wiederum eine andere Frage ist.
Ranken Sie den Adressraum, der Sie über Transit erreicht, nach Origin, ab Hop zwei:
AS1136 (KPN). AS6805 (Telefónica Germany). AS9644 (SK Telecom). AS3243 (MEO). AS4739 (iiNet).
Zugangsnetze. Keines davon taucht in einer der beiden vorigen Listen auf. Das sind die Netze, deren Endnutzer derzeit über jemanden ankommen, den Sie bezahlen, und genau diese Menge will eine Peering-Koordinatorin.
Und diese Achse ist weit steiler als die Präfixanzahl, was sie brauchbar macht. Beide Spalten unten sind über derselben Grundgesamtheit gemessen, den über Transit erreichten Origins, sind also direkt miteinander vergleichbar. (Mit den 8,3 % aus dem vorigen Beitrag sind sie nicht vergleichbar: Das waren die Top zwölf nach Präfixanzahl über die ganze Tabelle, ein anderer Nenner.)
| Abdeckung der Über-Transit-Grundgesamtheit | Nach Adressraum | Nach Präfixanzahl |
|---|---|---|
| Top 12 | 42,2 % | 10,9 % |
| Top 48 | 63,5 % | 27,9 % |
Das ist die Achse auf einem anderen Feed, DN42 statt der Full Table, die Namen und Prozente sind also seine eigenen. Was sich überträgt, ist die Kopfzeile: Sie sagt, um wie viele Netze es auf dieser Achse geht, wie viel des Raums die gezeichneten halten, und dass der Rest nicht auf dem Bildschirm ist. Eine Ansicht, die diesen letzten Halbsatz wegließe, sähe identisch aus und bedeutete etwas anderes.
Drei Achsen, drei disjunkte Antworten, eine Tabelle. Keine davon ist das Ranking. Jede ist die Antwort auf eine Frage, die jemand wirklich hat, und der einzige unehrliche Zug, der zur Verfügung steht, ist, eine davon ohne Etikett anzubieten.
Zwei Stellen, an denen unsere eigene Implementierung eine Form annahm, die nicht da war
Beide sind es wert, notiert zu werden, denn sie sind derselbe Fehler in anderer Kleidung: eine globale Eigenschaft aus einer lokalen Struktur berechnen.
Einen Teilbaum zu summieren ist keine Vereinigung. Der erste Entwurf berechnete Transitraum clientseitig, indem er den Adressraum von allem unterhalb eines Knotens addierte. Das ist um den Faktor 1,3 bis 3,6 gegenüber der echten Vereinigung falsch, weil der Adressraum eines Origins nicht vollständig über einen Transit ankommt. Raum, der Sie auf zwei Wegen erreicht, wird doppelt gezählt, und der Fehler ist keine Konstante, die man herauskalibrieren könnte; er hängt davon ab, wie multihomed die Kunden zufällig sind. Das Feld wird jetzt serverseitig als echte Vereinigung über die Präfixe berechnet, die durch das AS laufen, oder es wird gar nicht ausgeliefert.
Die Korrektur ist im Produkt sichtbar statt dahinter versteckt. Beide Zahlen werden gezeigt, die kleinere ist als Baumsumme etikettiert, und die Notiz darunter sagt, welche die ehrliche Antwort ist und warum. Das sind mehr Worte, als eine einzelne Zahl bräuchte, und es ist der Unterschied zwischen einer Zahl und einer Zahl, mit der Sie handeln können.
Ein Kandidat ist nicht notwendigerweise ein Blatt. Die erste Implementierung der dritten Achse nahm nur Blattknoten, mit der Begründung, Origins säßen am Rand. Sie übersprang 276 ASe, die 37 % aller originierten Präfixe tragen. AS9808 originiert 14.214 Präfixe und hat fünf Kunden unter sich. Das ist die 94,4-%-Zahl des vorigen Beitrags, die als Bug statt als Statistik auftaucht: Wenn fast jeder Transit auch originiert, dann ist “Origins sind die Blätter” keine Vereinfachung, sondern ein Filter, der ein Drittel Ihrer Antwort wegwirft.
Beide wurden durch Messen an einer echten Tabelle gefunden. Keiner davon wäre durch DN42 gefunden worden, wo die Struktur klein genug ist, dass die Näherungen zufällig halten.
Der Filter, der hier nichts tut und bei Ihnen funktionieren würde
Noch ein Blickpunkt-Artefakt, und dieses ist beinahe komisch.
Die dritte Achse hat einen Hop-Filter: Zeige Origins ab Distanz zwei, damit Ihre direkten Nachbarn ausgeschlossen sind. Auf diesem Feed entfernt er 3 von 7.578 Origins. Er tut im Grunde nichts, weil der Blickpunkt ein Stub mit zwei Upstreams ist und daher kaum direkte Nachbarn zum Ausschließen hat.
In einem Netz mit echtem Peering ist dasselbe Bedienelement bedeutsam. Gleicher Code, gleicher Default, und seine Nützlichkeit schwankt je nach Einsatzort zwischen entscheidend und wirkungslos.
Wir haben ihn behalten, weil der Wert der Achse in der Raummessung liegt und nicht im Filter, und weil die Alternative wäre, ein Bedienelement gegen einen einzigen Blickpunkt zu tunen. Aber es ist eine schöne Illustration dafür, wie weit der Instinkt “so sieht ein Netz aus” von jedem konkreten Netz entfernt sein kann.
Auch die Abwesenheit hat die Form des Blickpunkts
Beitrag 13 argumentierte, dass das, was in Ihrer Tabelle fehlt, nicht weit weg ist, sondern abwesend, und dass diese Abwesenheit keinen Radius hat. Der Blickpunkt-Aspekt führt diesen Gedanken zu Ende.
Jeder der vier Gründe, aus denen ein Pfad fehlt, ist eine Eigenschaft Ihrer Position. Etwas wurde Ihnen nicht angekündigt. Ihre Policy hat es abgelehnt. Ein Aggregator oberhalb Ihres Feeds hat es kollabiert. Ein Route Server, hinter dem Sie sitzen, hat keinen Hop hinterlassen. Richten Sie denselben Code auf eine andere Tabelle, und eine andere Menge von Dingen wird unsichtbar, lautlos und ohne dass eines davon markiert wäre.
Die Lücken sind also kein Rauschen, das man mit mehr Feeds vom selben Ort herausmitteln könnte. Sie sind durch Ihren Standort strukturiert, was die stärkste Form des Arguments dieses Beitrags ist: Ihr Blickpunkt rankt das Internet nicht bloß anders, er entscheidet, welche Teile davon für Sie überhaupt existieren.
Der Punkt
Alles in diesem Beitrag ist eine korrekt aus einer echten Tabelle berechnete Zahl, und keine davon ist eine Tatsache über das Internet.
Die fünf Netze, auf denen Ihre Tabelle ruht, das Ranking, das konvergiert, ob ein Filter überhaupt etwas tut, sogar ob “Origins sind Blätter” eine sichere Vereinfachung ist: Alles davon hat sich bewegt, als sich der Blickpunkt bewegte, und zwei davon weit genug, um Bugs zu sein.
Wer fragt “wie sieht das Internet von hier aus aus”, stellt die richtige Frage. Das Wort, das die Arbeit leistet, ist hier, und eine Ansicht, die es weglässt, ist nicht einfacher. Sie beantwortet eine Frage, die niemand gestellt hat, mit der Anbindung von jemand anderem.
Als Nächstes: was es kostet, einen vollen Feed zu halten, gemessen statt geschätzt, einschließlich unseres eigenen Defaults, den die Messung erledigt hat. Was ein voller Feed wirklich kostet.