Der neue ShakeAlert von Edgio bietet eine bessere Übersicht über Netzwerkereignisse
Beim Betrieb großer, global verteilter Netzwerke treten Hardware-Ausfälle, Provider-Ausfälle und andere Verhaltensänderungen regelmäßig auf. Daher können Systeme, die bei ersten Anzeichen von Störungen Alarme auslösen, menschliche Bediener oder automatisierte Systeme alarmieren und schnellere Korrekturmaßnahmen ermöglichen. Zu diesem Zweck haben wir ShakeAlert entwickelt, ein Warnsystem, das auf öffentlich zugänglichen externen Daten aufbaut und bei plötzlichen Internetänderungen warnt.
ShakeAlert überwacht Streams von BGP (Border Gateway Protocol) Updates, die von öffentlichen Sammlern auf Pfade aus dem CDN beobachtet werden. Wenn das Volumen der Updates stark zunimmt, löst ShakeAlert einen Alarm aus, der als „Shake“ bezeichnet wird und auf eine mögliche Änderung des Routing-Verhaltens im Internet hinweist und insbesondere darauf, wie externe Netzwerke ihren Datenverkehr an das CDN weiterleiten. Mithilfe der Inhalte dieser Updates liefert ShakeAlert außerdem eine Schätzung der wahrscheinlich betroffenen POPs (Points of Presence), Provider und Präfixe.
Das System ist nach dem Erdbeben-Frühwarnsystem des United States Geological Survey benannt. Dieses System erkennt schneller bewegliche, aber weniger zerstörerische P-Wellen und alarmiert Bewohner, bevor die zerstörerischeren S-Wellen eintreffen. Hier betrachten wir die Steuerungsebene-Signale von BGP als Frühwarnsignal für mögliche Änderungen der Datenebene und des Endnutzerverkehrs.
Hintergrund
Um das Routing zwischen autonomen Systemen (ASEs) im Internet zu erleichtern, kommunizieren Netzwerke über BGP, zu welchen Präfixen sie Routen haben. Im Rahmen dieser Kommunikation sendet ein Netzwerk, wenn sich die Erreichbarkeit eines Präfixes ändert, eine Reihe von Ankündigungen, die als Ankündigungen bezeichnet werden, die die betroffenen Präfixe und den Pfad angeben, den das Netzwerk verwenden würde, um sie zu erreichen.
Beim normalen Betrieb des Internets werden Tausende solcher Nachrichten zwischen Netzwerken ausgetauscht, während sie ihre Routing-Tabellen aktualisieren. Jedes Mal, wenn sich diese Routen ändern, z. B. aufgrund von Netzwerkausfällen, neuer Konnektivität zwischen Netzwerken oder geplanter Wartung, kann ein neuer Satz von Meldungen ausgetauscht werden. Dazu können Änderungen gehören, die vom Ursprungsnetz generiert werden (z. B. durch Ankündigung eines neuen IP-Blocks) oder Änderungen, die nachgelagert vom Ursprung vorgenommen werden (z. B. ändert sich die Konnektivität bei einem Transitanbieter).
Diese Botschaften bieten zwangsläufig einen großen Einblick in den aktuellen Zustand des Internets und zeigen die Vorteile und Verluste der Konnektivität zwischen den Netzen auf. Um diese Informationen nutzen zu können, führen viele Organisationen1 Dienste aus, die als Route Collectors bezeichnet werden. Diese werden mit vielen Netzwerken verglichen und die gesammelten Aktualisierungsnachrichten öffentlich verfügbar gemacht.
Wenn sich die Konnektivität ändert, senden Upstream-Netzwerke BGP-Updates, die schließlich zu BGP-Collectors gelangen.
Um ein Gefühl für diese Verhaltensweisen zu entwickeln, betrachten wir einige erste Beobachtungen. Wir betrachten die resultierenden Update-Feeds für eine Handvoll verschiedener Netzwerke. Wir betrachten zwei große CDN-Netzwerke (CDN A, CDN B), ein Content-Netzwerk (Content), zwei große ISPs (ISP A, ISP B) und einen DNS-Stammbuchstaben. Jeder Netzwerktyp ist für unterschiedliche Zwecke konzipiert und verfügt möglicherweise über verschiedene Peering-Richtlinien. Für jedes Netzwerk gruppieren wir die Aktualisierungen in 1-minütige Zeiträume und berücksichtigen die Anzahl der Nachrichten in jedem Zeitfenster über eine Stunde im Januar 2021.
In der obigen Abbildung wird die Größe der einzelnen Aktualisierungsablagen während dieses Zeitraums dargestellt. Hier sehen wir die CDNs, die beide über große Bereitstellungen verfügen und viele Peers und Provider die meisten Updates für fast den gesamten Zeitraum generieren, wobei das Content-Netzwerk relativ nah dahinter steht. Die ISPs und Root Letters generieren deutlich weniger Updates. Diese dramatischen Unterschiede in der Größenordnung deuten darauf hin, dass die Struktur, die Peers und die Architektur eines Netzwerks wahrscheinlich erhebliche Auswirkungen auf die entsprechenden Nachrichtenvolumina haben. Deshalb müssen wir sicherstellen, dass unser System flexibel auf veränderte Parameter reagieren kann, wie wir im nächsten Abschnitt erörtern.
Das Schüttelwarnsystem
ShakeAlert hört Live-Feeds von 21 Streckensammlern, die Teil des RIS-Projekts2von RIPE NCC sind. Die Daten werden aus diesen Feeds abgerufen und in minutenlange Ablagen gruppiert. Wir zählen dann die Anzahl der Aktualisierungen in jedem bin und ermitteln mithilfe eines Algorithmus zur Erkennung von Ausreißern, ob ein bin im Vergleich zu anderen letzten Minuten eine ungewöhnlich große Anzahl von Aktualisierungen aufweist. Wenn ein solcher Behälter beobachtet wird, erzeugen wir einen Shake.
Zu diesem Zweck verwaltet ShakeAlert ein verschiebbares Fenster der Anzahl der Aktualisierungen, die in den letzten W-Bins angezeigt werden, sodass es vermieden wird, Informationen über Updates zu speichern, die mehr als in den W-Bins alt sind. Sobald ShakeAlert eine Geschichte der W-Bins erstellt hat und das W+1-Fach abgeschlossen ist, wird die Anzahl dieses neuen Bins bW+1 im Vergleich zu den im vorherigen Fenster angegebenen Bins berücksichtigt. Während einige Mechanismen zur Erkennung potenzieller Anomalien (z. B. modifizierter z-Score und Schätzungen der Standardabweichung, statische Schwellenwerte und verschiedene Techniken zur Erkennung von Veränderungen) verwendet werden könnten, verwenden wir einen dichtebasierten Erkennungsmechanismus34.
Um eine dichtebasierte Anomalie-Erkennung durchzuführen, betrachten wir einen Radius R und eine Nachbarzahl k. Wir sagen, dass unser neues Zeitfach bW+1 ein Ausreißer ist, wenn es in den letzten W Minuten weniger als k andere Behälter gibt, wobei die Zählungen innerhalb des Radius R um die Zählung des neuen Behälters zentriert sind. Formal hat jeder Ausreißer in den letzten W Minuten weniger als k Bins bi, sodass |bW+1| – |bi| <R. Wir bezeichnen alle Ausreißer als Schüttelwarnungen oder einfach Schüttelbewegungen und die Aktualisierungszählungen dieser Schüttelungen als Größe.
Der gesamte Erkennungsprozess von ShakeAlert
Die Grundlage unserer Hypothese ist, dass große und störende Änderungen am Internet-Routing die größten dieser Ereignisse verursachen: Routen, die einen erheblichen Datenverkehr transportieren, werden wahrscheinlich von vielen nachgelagerten Netzwerken und Sammlern gehört. Grundsätzlich sind jedoch viele Änderungen mit einer hohen Anzahl von Aktualisierungen verbunden, die nicht in diese Kategorie fallen. Zum Beispiel regelmäßige Wartungsarbeiten, für die wir Anycast-Ankündigungen zurückziehen.
Der Inhalt der Aktualisierungen im bin kann weiter beobachtet werden, um Details über die Art des Netzwerkereignisses zu erfahren. Mit den Präfixen in den Aktualisierungen können Sie bestimmen, welche POPS- und Anycast-Bereiche potenziell von den entsprechenden Netzwerkänderungen betroffen sind. Wir können die beobachteten Pfade in den Aktualisierungen weiter untersuchen und schätzen, welche vorgelagerten Netzwerke am wahrscheinlichsten betroffen sind. Schließlich können wir die Wichtigkeit von Warnmeldungen anhand ihrer Bedeutung für den eingehenden CDN-Datenverkehr ermitteln.
Bei unserer CDN-Bereitstellung verwenden wir ein Fenster W von 360 Minuten und k von 5, sodass wir keine Warnmeldungen über häufig beobachtete stündliche Verhaltensweisen erhalten. Wir nehmen R auch als Abstand zwischen dem 5. Und 95. Perzentil der Behältergrößen, die im Fenster beobachtet werden. Um den betrieblichen Kontext zu erhöhen, unterteilen wir die Bins weiter in POP-spezifische Zeitreihen, basierend auf den Präfixen und Pfaden, die in den Updates beobachtet werden, und warnen sie einzeln. Schließlich betrachten wir eine Reihe spezifischer Optimierungen, beispielsweise die Festlegung von Mindestgrößen für Warnmeldungen auf der Grundlage unserer Beobachtungen im Netz.
ShakeAlert in Aktion
Als Nächstes betrachten wir ein einfaches Beispiel, das zeigt, wie Schüttelbewegungen in freier Wildbahn auftreten. Im obigen Beispiel vom September 2022 konzentrieren wir uns auf einen bestimmten CDN-POP, wobei wir die viel geringere Anzahl von Aktualisierungen entlang der Y-Achse und der linearen Skala als in der früheren Abbildung feststellen. Während dieses Zeitraums ist die Anzahl der Updates fast vollständig 0, bis sie plötzlich zunimmt, wodurch eine viel größere Anzahl von Updates um 12:14 und eine zweite Spitze kurz danach um 12:20 generiert wurde, die beide zu Verwacklungen führten. Diese Updates wurden durch eine unerwartete Unterbrechung der Konnektivität zu einem Provider verursacht.
Bewertung
Um zu messen, ob die Schüttelungen interessante Ereignisse darstellen oder nicht, betrachten wir die folgende Analyse. Für jeden Shake, der im Sommer 2022 über 30 Tage generiert wurde, untersuchen wir unsere internen Kennzahlen am entsprechenden Standort, um festzustellen, ob wir innerhalb von 10 Minuten nach dem Shake ein anomales Verhalten beobachtet haben. Bei unseren Anomalien berücksichtigen wir Folgendes: Router zurücksetzen (z. B. ein Router neu gestartet oder anderweitig offline gegangen ist), BGP-Statusänderungen auf einem Provider-Link (d. h., eine Provider BGP-Sitzung hat den ETABLIERTEN Status beendet), Änderungen in den Ankündigungen, die von einer Site angekündigt wurden, und Paketverlust zwischen der entsprechenden Site und mindestens fünf anderen Standorten festgestellt.
Die obige Abbildung zeigt die Aufschlüsselung dieser Ereignisse über 30 Tage. Hier sehen wir, dass alle Buckets entsprechende Ereignisse für mindestens 60 % der Shakes hatten, und im Durchschnitt hatten 80 % der Shakes übereinstimmende Ereignisse. Diese Ergebnisse bestätigen, dass die größten Verwacklungen mit wichtigen und häufig auf den Verkehr auswirkenden Ereignissen übereinstimmen. Sie betonen jedoch auch die Bandbreite der Ereignisse, die von der routinemäßigen Wartung bis hin zu akuten Ausfällen reichen, die zu solchen Erschütterungen führen können.
Schlussfolgerung
ShakeAlert bietet eine neue Sichtbarkeit unserer bereits umfangreichen CDN-Überwachung. Indem wir die Daten aus einer externen Quelle abrufen, wissen wir, dass sie grundlegend andere Einblicke in das Verhalten des Internets bieten. In unserer laufenden Arbeit am System untersuchen wir, wie die Daten weiter mit interner Überwachung kombiniert werden können, um die Genauigkeit der Warnungen zu verbessern und automatisierte Korrekturmaßnahmen zu ermöglichen.
Ein besonderer Dank gilt dem Research Team, dem Networking Reliability Engineering Team und allen internen Engineering Teams, die diese Arbeit ermöglicht haben. Ein weiterer Dank gilt vielen externen Experten für Routing-Daten, darunter Emile Aben, Stephen Strowes und Mingwei Zhang, die hilfreiches Feedback und Diskussionen gegeben haben.
1 Z. B. Routeviews, Ris
2 das System kann grundsätzlich alle Sammler verwenden. Hier konzentrieren wir uns aufgrund der Flexibilität der WebSocket-Schnittstelle einfach auf RIS
3 M. Gupta, J. Gao, C. C. Aggarwal und J. Han. Ausreißererkennung für Zeitdaten: Eine Umfrage. IEEE Transactions on Knowledge and Data Engineering, 2014.
4 T. Kitabatake, R. Fontugne und H. Esaki. BLT: Ein Taxonomie- und Klassifizierungstool für das Mining von bgp-Update-Nachrichten. In Proz. Von INFOCOM ’18, 2018.