Das Border Gateway Protocol (BGP) ist das Routing-Protokoll für das Internet. Ähnlich wie ein Sortierzentrum der Post wählt BGP die effizienteste Route für die „Zustellung“ von Internet-Traffic aus.
Nach Lektüre dieses Artikels können Sie Folgendes:
Ähnliche Inhalte
Abonnieren Sie theNET, Cloudflares monatliche Zusammenfassung der beliebtesten Einblicke in das Internet!
Link zum Artikel kopieren
Das Border Gateway Protocol (BGP) ist die Post des Internets.
Wenn jemand einen Brief in ein Postbriefkasten wirft, verarbeitet die Post diese Sendung und wählt einen schnellen und effizienten Weg, um den Brief beim Empfänger zuzustellen. Wenn jemand Daten über das Internet übermittelt, ist BGP in ähnlicher Weise dafür verantwortlich, alle verfügbaren Pfade zu prüfen, die Daten zurücklegen können, und die beste Route auszuwählen, was normalerweise bedeutet, zwischen autonomen Systemen zu wechseln.
BGP ist das Protokoll, mit dem das Internet funktionsfähig ist, da es die Weiterleitung von Daten ermöglicht. Wenn ein Benutzer in Singapur eine Website mit Ursprungsserver in Argentinien lädt, dann ist BGP das Protokoll, mit dem diese Kommunikation schnell und effizient erfolgen kann.
Das Internet ist ein Netzwerk von Netzwerken. Es ist in Hunderttausende kleinerer Netze unterteilt, die als autonome Systeme (ASes) bezeichnet werden. Jedes dieser Netze ist im Wesentlichen ein großer Pool von Routern, die von einer einzigen Organisation betrieben werden.
Wenn wir uns BGP weiterhin als die Post des Internets vorstellen, sind die AS wie einzelne Postfilialen. Eine Stadt kann Hunderte von Postbriefkästen haben, aber die Post in diesen Kästen muss über die örtliche Postfiliale laufen, bevor sie an einen anderen Ort weitergeleitet wird. Die internen Router innerhalb eines AS sind wie Postbriefkästen. Sie leiten ihre ausgehenden Übertragungen an das AS weiter, das dann das BGP-Routing nutzt, um diese Übertragungen an ihre Ziele zu bringen.
Das obige Diagramm zeigt eine vereinfachte Version von BGP. In dieser Version gibt es nur 6 autonome Systeme im Internet. Wenn AS1 ein Paket an AS3 routen muss, stehen zwei verschiedene Optionen zur Verfügung:
Hop zu AS2 und dann weiter zu AS3:
AS2 → AS3
Oder Hop zu AS6, dann zu AS5, AS4 und schließlich zu AS3:
AS6 → AS5 → AS4 → AS3
In diesem vereinfachten Modell scheint die Entscheidung klar zu sein. Die AS2-Route erfordert weniger Sprünge als die AS6-Route und ist daher die schnellste und effizienteste. Stellen Sie sich aber nun vor, dass es Hunderttausende AS gibt und dass die Anzahl der Sprünge nur ein Teil eines komplexen Algorithmus für die Auswahl der Route ist. Das ist die Realität des BGP-Routings im Internet.
Die Struktur des Internets ändert sich ständig, neue Systeme tauchen auf und bestehende Systeme sind nicht mehr verfügbar. Aus diesem Grund muss jedes AS mit Informationen zu neuen und veralteten Routen auf dem aktuellen Stand gehalten werden. Das erfolgt durch Peering-Sitzungen, in denen alle AS mit TCP/IP-Verbindungen zu benachbarten AS Routing-Informationen austauschen. Mit diesen Informationen können alle AS abgehende Datenübertragungen ordnungsgemäß weiterleiten.
Hier passt ein Teil unserer Analogie nicht. Im Gegensatz zu Postfilialen sind nicht alle autonomen Systeme Teil derselben Organisation. Oft gehören sie sogar zu konkurrierenden Unternehmen. Aus diesem Grund berücksichtigen BGP-Routen manchmal geschäftliche Überlegungen. Autonome Systeme stellen den Datentransport über ihre Netzwerke häufig in Rechnung. Dieser Zugangspreis kann berücksichtigt werden bei der Entscheidung, welche Route letztendlich ausgewählt wird.
ASes gehören in der Regel Internet Service Providern (ISPs) oder anderen großen Organisationen wie Technologieunternehmen, Universitäten, Regierungsbehörden und wissenschaftlichen Einrichtungen. Jedes AS, das Routing-Informationen austauschen möchte, muss eine registrierte AS-Nummer (ASN) haben. Die Internet Assigned Numbers Authority (IANA) weist Regional Internet Registraries (RIRs) ASNs zu, die sie wiederum ISPs und Netzwerken zuweisen. ASNs sind 16-Bit-Nummern zwischen 1 und 65534 und 32-Bit-Nummern zwischen 131072 und 4294967294. Mit Stand 2018 werden weltweit ungefähr 64.000 ASNs verwendet. Diese ASN werden nur für externes BGP benötigt.
Der Austausch der Routen und der Internet-Traffic werden mit externem BGP bzw. eBGP übertragen. Autonome Systeme können auch eine interne Variante des BGP, die als internes BGP oder kurz iBGP bezeichnet wird, zum Routen in ihren internen Netzwerken einsetzen. Es ist zu beachten, dass die Verwendung von internem BGP KEINE Voraussetzung für die Verwendung des externen BGP ist. Autonome Systeme können aus einer Reihe interner Protokolle auswählen, um die Router in ihrem internen Netzwerk zu verbinden.
Externes BGP ist wie internationaler Postversand. Es gibt bestimmte Standards und Richtlinien, die beim internationalen Versand einer Post beachtet werden müssen. Sobald die Sendung ihr Zielland erreicht hat, muss sie den lokalen Postdienst des Ziellandes durchlaufen, um sein endgültiges Ziel zu erreichen. Jedes Land hat seinen eigenen internen Postdienst, der nicht unbedingt den gleichen Richtlinien wie die anderer Länder folgt. In ähnlicher Weise kann jedes autonome System sein eigenes internes Routing-Protokoll zum Weiterleiten von Daten innerhalb seines eigenen Netzwerks haben.
Insgesamt versucht BGP, den effizientesten Weg für den Netzverkehr zu finden. Doch wie bereits erwähnt, ist die Anzahl der Sprünge nicht der einzige Faktor, den BGP-Router bei der Suche nach diesen Pfaden verwenden. BGP weist jedem Pfad Attribute zu, und diese Attribute helfen den Routern bei der Auswahl eines Pfades, wenn es mehrere Optionen gibt. Bei vielen Routern können Administratoren die Attribute anpassen, um den Datenverkehr in ihren Netzwerken genauer zu steuern. Einige Beispiele für BGP-Attribute sind:
Darüber hinaus gibt es noch weitere BGP-Attribute. Alle diese Attribute sind für BGP-Router nach Priorität geordnet, so dass ein BGP-Router beispielsweise zuerst prüft, welche Route das höchste Gewicht hat, dann die lokale Präferenz prüft, dann prüft, ob der Router die Route erstellt hat, und so weiter. (Wenn also alle empfangenen Routen das gleiche Gewicht haben, wählt der Router stattdessen einen Pfad auf der Grundlage der lokalen Präferenz).
Im Jahr 2004 hat ein türkischer ISP namens TTNet versehentlich inkorrekte BGP-Routen an seine Nachbarn gesendet. Diese Routen behaupteten, dass TTNet selbst das beste Ziel für allen Internet-Traffic sei. Als diese Routen an immer mehr autonome Systeme gelangten, kam es zu einer massiven Störung, die zu einer eintägigen Krise führte, in der viele Menschen auf der ganzen Welt nicht oder nur teilweise auf das Internet zugreifen konnten.
In einem ähnlichen Fall versuchte 2008 ein pakistanischer ISP, eine BGP-Route zu verwenden, um pakistanische Nutzer daran zu hindern, YouTube zu besuchen. Der ISP hat diese Routen dann versehentlich seinen benachbarten AS bekanntgegeben und die Route verbreitete sich schnell über das BGP-Netzwerk des Internets. Die Route führte dazu, dass Nutzer, die versuchten, auf YouTube zuzugreifen, in eine Sackgasse gerieten, was wiederum dazu führte, dass YouTube mehrere Stunden lang nicht erreichbar war.
Ein weiterer Vorfall dieser Art ereignete sich im Juni 2019, als ein kleines Unternehmen in Pennsylvania den bevorzugten Pfad für Routen durch das Netz von Verizon wählte, wodurch ein Großteil des Internets für mehrere Stunden nicht mehr verfügbar war.
Das sind Beispiele für einen Vorgang namens BGP-Hijacking, der nicht immer versehentlich ist. Im April 2018 haben Angreifer absichtlich schlechte BGP-Routen erstellt, um den für den DNS-Dienst von Amazon bestimmten Traffic umzuleiten. Die Angreifer konnten Kryptowährung im Wert von über 100.000 USD stehlen, indem sie den Traffic zu sich selbst umleiteten.
BGP-Hijacking kann für verschiedene Arten von Angriffen genutzt werden:
Solche Vorfälle können passieren, weil die Routen-Verbreitung mit BGP auf Vertrauen beruht und autonome Systeme implizit den Routen vertrauen, die ihnen mitgeteilt werden. Wenn Peers (absichtlich oder unabsichtlich) falsche Routeninformationen bekannt geben, wird der Traffic dorthin geleitet, wo er nicht hingehört, was zu bösartigen Ergebnissen führen kann.
Glücklicherweise wurden bei der Sicherung von BGP einige Fortschritte erzielt. Vor allem wurde 2008 ein Sicherheitsframework für das Routing namens Resource Public Key Infrastructure (RPKI) eingeführt. RPKI verwendet kryptografisch signierte Datensätze, so genannte Route Origin Authorization (ROAs), um zu überprüfen, welcher Netzbetreiber die IP-Adressen einer Organisation über BGP ankündigen darf. Dadurch wird sichergestellt, dass nur autorisierte Parteien die Präfixe einer Organisation ankündigen.
Aber die Existenz des RPKI allein reicht nicht aus. Wenn große Netzwerke die Best Practices für BGP-Sicherheit nicht befolgen, können sie groß angelegte Hijacking-Angriffe verbreiten. Gegenwärtig unterstützen über 50 % der führenden Internet-Provider RPKI in gewissem Umfang, aber eine größere Mehrheit ist erforderlich, um BGP vollständig abzusichern. Netzwerkbetreiber können ihre Netzwerke schützen, indem sie RPKI implementieren und Netzwerkwarntechnologien wie Cloudflare Route Leak Detection verwenden. Diese Funktion hilft dabei, BGP-Hijacking-Angriffe zu verhindern, indem sie die Kunden darüber informiert, wenn nicht autorisierte Parteien ihre Präfixe bewerben.