BGP (Border Gateway Protocol)

  • Fabian Sinner
  • Februar 28, 2024

Inhaltsverzeichnis

    BGP (Border Gateway Protocol)

    Das Border Gateway Protocol (BGP) ist das standardmäßige Routing-Protokoll, das verwendet wird, um Datenpakete im Internet zu leiten. Es ermöglicht Internet Service Providern (ISPs) und anderen großen Netzwerken, effizient miteinander zu kommunizieren und Routing-Informationen auszutauschen, um die bestmöglichen Pfade für den Datenverkehr durch das immense Netzwerk von verbundenen Systemen im Internet zu bestimmen.

    Wofür wird das Border Gateway Protocol (BGP) verwendet?

    Das Border Gateway Protocol (BGP) ist ein Path-Vector-Protokoll, das zur Kategorie der Exterior Gateway Protokolle (EGPs) gehört, was bedeutet, dass es für das Routing zwischen autonomen Systemen (AS) verwendet wird, also zwischen getrennten Verwaltungsdomänen im Internet. Jedes autonome System wird durch eine einzigartige AS-Nummer (ASN) identifiziert.

    Die Hauptfunktion von BGP besteht darin, Stabilität im Internet-Routing zu gewährleisten, indem es die Erreichbarkeit von Netzwerken bekannt gibt und die Routen auf der Basis von Richtlinien und Pfadattributen auswählt, die die Entscheidungen über den besten Weg beeinflussen können. Zu diesen Attributen gehören beispielsweise die Pfadlänge, die Richtlinien der beteiligten AS und die Verfügbarkeit von Netzwerkpfaden.

    BGP kann auch verwendet werden, um Routing-Entscheidungen zu treffen, die auf einer Vielzahl von administrativen Überlegungen basieren, wie Verkehrssteuerung, Lastverteilung, Vermeidung von Schleifenbildung und die Implementierung von Sicherheitsrichtlinien.

    Wie funktioniert das Border Gateway Protocol (BGP)?

    Das Border Gateway Protocol funktioniert durch den Austausch von Routing- und Erreichbarkeitsinformationen zwischen autonomen Systemen (AS) im Internet. Ein autonomes System ist eine Sammlung von IP-Netzwerken und Routern unter der Kontrolle einer einzigen Organisation, die eine gemeinsame Routing-Strategie verfolgt.

    BGP ermöglicht es diesen Systemen, effizient zu bestimmen, wie Datenpakete zwischen ihnen über das Internet übertragen werden sollen.

    1. Aufbau von BGP-Sitzungen: Zwei BGP-Router (Peers) bauen eine TCP-Verbindung auf dem Standardport 179 zueinander auf, um eine BGP-Sitzung zu starten. Diese Verbindung wird genutzt, um Routing-Informationen auszutauschen. Dabei wird eine Keepalive-Nachricht verwendet, um die Verbindung aufrechtzuerhalten.
    2. Austausch von Routing-Informationen: Nachdem die BGP-Sitzung etabliert wurde, tauschen die Peers ihre vollständigen Routing-Tabellen aus. Anschließend senden sie nur noch inkrementelle Updates, wenn sich Änderungen in ihrem lokalen Routing ergeben. Dies reduziert den Bandbreitenbedarf und die Belastung der Router.
    3. Path-Vector-Protokoll: BGP ist ein Path-Vector-Protokoll, was bedeutet, dass es die Pfade (d.h. die Sequenz von AS, die Datenpakete durchlaufen müssen, um ein Ziel zu erreichen) kommuniziert, die zur Erreichung jedes Netzwerks verwendet werden können. Jeder Router fügt seine AS-Nummer zu dem Pfad hinzu, wenn er eine Routing-Information weitergibt, was hilft, Schleifen zu vermeiden.
    4. Best-Path-Auswahl: BGP-Router verwenden eine Reihe von Kriterien, um aus den verfügbaren Pfaden den besten Pfad zu einem Zielnetzwerk zu bestimmen. Diese Kriterien umfassen unter anderem die Pfadlänge (Anzahl der AS-Hops), Präferenzwerte (Local Preference), ob der Pfad über einen direkt verbundenen Nachbarn führt (Multi-Exit Discriminator, MED), und Routing-Policies der Organisation.
    5. Propagierung der besten Pfade: Nachdem ein BGP-Router den besten Pfad zu einem Zielnetzwerk bestimmt hat, propagiert er diese Information zu seinen BGP-Nachbarn. Dieser Prozess wiederholt sich über das gesamte Internet, sodass alle AS effektive und effiziente Pfade zu allen anderen Netzwerken kennen.
    6. Pflege des Routing-Informationen: BGP-Router überwachen ständig die Verfügbarkeit der Pfade und aktualisieren ihre Routing-Tabellen bei Bedarf, um auf Änderungen in der Netzwerktopologie oder Ausfälle zu reagieren. Wenn ein Pfad nicht mehr verfügbar ist, wählt der Router einen alternativen Pfad basierend auf den verbleibenden verfügbaren Pfaden.

    Von wem wird die Technik genutzt?

    Internet Service Provider (ISPs) sind die primären Nutzer von BGP, da sie große Netzwerke betreiben, die Datenpakete über das Internet leiten. Sie verwenden BGP, um Routing-Informationen mit anderen ISPs auszutauschen und den besten Pfad für den Datenverkehr durch das Internet zu bestimmen.

    Unternehmen mit umfangreichen Netzwerkoperationen, insbesondere solche, die mehrere Standorte über geografisch verteilte Gebiete hinweg verbinden, nutzen ebenfalls BGP, um ihre internen Netzwerke mit dem Internet zu verbinden und den Datenverkehr effizient zu routen.

    Content Delivery Networks (CDNs) verwenden BGP, um Inhalte möglichst effizient an Endnutzer zu liefern. Die Technologie hilft ihnen, die beste Route zu wählen, um die Latenz zu minimieren und die Leistung zu maximieren.

    Anbieter von Cloud-Diensten und Betreiber von Rechenzentren nutzen BGP, um ihre Infrastrukturen mit dem Internet zu verbinden und eine optimale Erreichbarkeit ihrer Dienste zu gewährleisten. BGP ermöglicht es ihnen, den Datenverkehr basierend auf Verfügbarkeit, Leistung und Kosten zu steuern.

    Einige große Universitäten und Forschungsinstitute, die über autonome Systeme verfügen, setzen BGP ein, um ihre Netzwerke mit dem globalen Internet zu verbinden und den Datenverkehr zu verwalten. Einige Regierungsbehörden und militärische Organisationen, die über eigene Netzwerkinfrastrukturen verfügen, nutzen BGP für die Verwaltung des Datenverkehrs und die Gewährleistung der Kommunikationssicherheit.

    BGP ist relevant für jeden, der ein autonomes System im Internet betreibt. Es ist entscheidend für die Skalierbarkeit des Internets, da es die dynamische und effiziente Weiterleitung von Datenpaketen über komplexe, sich ständig verändernde Pfade zwischen Netzwerken ermöglicht.

    Was ist der Unterschied zwischen internem und externem BGP?

    Der Hauptunterschied zwischen internem BGP (Interior Border Gateway Protocol, iBGP) und externem BGP (Exterior Border Gateway Protocol, eBGP) liegt in ihrem Anwendungsbereich und Zweck innerhalb der Netzwerkhierarchie, insbesondere in Bezug darauf, wie sie zur Weiterleitung von Daten zwischen autonomen Systemen (AS) und innerhalb eines einzelnen AS verwendet werden.

    Externes BGP (eBGP)

    eBGP wird zwischen verschiedenen autonomen Systemen eingesetzt. Das bedeutet, es verbindet Netzwerke, die verschiedenen Organisationen angehören, wie zum Beispiel verschiedene Internet Service Provider (ISPs) oder ein ISP und ein großes Unternehmen. Der Hauptzweck von eBGP ist es, die Erreichbarkeit von Netzwerkadressen zwischen unterschiedlichen AS zu ermöglichen und den besten Pfad für den Datenverkehr zu ermitteln, der über das globale Internet läuft.

    eBGP ermöglicht eine sehr detaillierte und granulare Steuerung der Routing-Politik, einschließlich der Auswahl von Pfaden basierend auf verschiedenen Attributen wie AS-Pfadlängen, Präferenzen, Kosten und anderen Kriterien. Da eBGP zwischen verschiedenen Organisationen betrieben wird, sind Sicherheitsmaßnahmen wie die Authentifizierung von BGP-Sitzungen von großer Bedeutung, um die Integrität der ausgetauschten Routing-Informationen zu gewährleisten.

    Internes BGP (iBGP)

    iBGP wird innerhalb eines einzelnen autonomen Systems eingesetzt. Es ermöglicht die Kommunikation und den Austausch von Routing-Informationen zwischen Routern innerhalb desselben AS. iBGP verteilt Erreichbarkeitsinformationen und externe Routing-Entscheidungen, die durch eBGP erlangt wurden, innerhalb des AS. Dies hilft, interne Routing-Entscheidungen konsistent mit den externen Präferenzen und Policies des AS zu halten.

    Um Routing-Schleifen zu vermeiden und die Konsistenz der Routing-Informationen zu gewährleisten, erfordert iBGP oft eine Vollvermaschung zwischen allen iBGP-Routern innerhalb eines AS, oder es werden Route Reflektoren verwendet, um die Notwendigkeit einer vollständigen Vermaschung zu umgehen. iBGP verändert die meisten Attribute nicht, wenn es Informationen innerhalb des AS weitergibt. Dies sorgt für eine konsistente Sicht auf die Routing-Informationen und ermöglicht eine effektive interne Verbreitung von externen Präferenzen.

    Zusammenfassend kann gesagt werden, dass eBGP für die Kommunikation zwischen verschiedenen autonomen Systemen verwendet wird, um das Internet-Routing zu ermöglichen, während iBGP für die interne Verbreitung von Routing-Informationen innerhalb eines einzelnen AS eingesetzt wird, um eine konsistente und effiziente Nutzung der durch eBGP erhaltenen externen Routen zu gewährleisten.

    CeBIT 2016: Bundeskanzlerin Angela Merkel besuchte Stand von Link11
    Distributed Disruption: Die COVID-19-Pandemie birgt die Gefahr vermehrter Cyberangriffe
    X