Die Abkürzung BGP steht für Border Gateway Protocol. Es handelt sich um ein sogenanntes Path-Vector-Routing-Protokoll, mit dem die verschiedenen Autonomen Systeme (AS) des Internets miteinander verbunden und Daten über AS-Grenzen hinweg geroutet werden können.
Den Berichten zufolge ging ein Update der BGP-Software schief und führte zum Ausfall von Facebook.
Das Border Gateway Protocol kann AS-übergreifend verwendet werden. Innerhalb eines AS arbeitet es oft mit sogenannten Interior Gateway Protocols (IGP) wie Open Shortest Path First (OSPF) oder Intermediate System to Intermediate System (IS-IS).
Das Border Gateway Protocol (BGP) ist ein Netzwerkstandard, der die logischen Verbindungswege zwischen autonomen Systemen herstellt, durch die Daten geleitet werden. Die Hauptfunktionen von BGP sind in RFC 1163 beschrieben. Die aktuell verwendete Version ist BGPv4, die unter anderem in den RFCs 4271, 4760 und 4364 definiert ist.
Das Border Gateway Protocol ist nicht auf das Routing von IPv4 oder IPv6 beschränkt, sondern kann auch für andere Protokolle oder MPLS-Labels verwendet werden. BGP ist skalierbar und zuverlässig. Es ist ein schwierig einzurichtender Routing-Mechanismus, und es dauert einige Zeit, bis die Verbindungspfade zusammenlaufen.
Wie funktioniert das Border Gateway Protocol?
Das Border Gateway Protocol arbeitet pfadvektorbasiert. Um Routing-Informationen zu übermitteln, bauen die Router sichere TCP-Verbindungen untereinander auf. Über diese BGP-Sitzungen werden Nachrichten und Informationen gesendet und empfangen. Der dafür verwendete Port ist TCP-Port 179. Mögliche Nachrichtentypen sind:
- OFFEN: um den Informationsaustausch innerhalb einer Sitzung zu starten
- KEEPALIVE: um eine OPEN-Meldung zu bestätigen und die Sitzungen aufrechtzuerhalten. Die Sitzungen werden durch regelmäßige KEEPALIVE-Nachrichten von den verbundenen Routern am Leben gehalten
- UPDATE: um über Pfadänderungen zu informieren
- BENACHRICHTIGUNG: zum Beenden einer Verbindung und zum Löschen von Pfaden, z. B. weil keine KEEPALIVE-Nachrichten mehr empfangen werden
Die UPDATE-Nachrichten spielen eine zentrale Rolle innerhalb des Border Gateway Protocol. Die Router nutzen diese Benachrichtigungen, um sich über neue Routen zu informieren oder sich über das Verschwinden bestehender zu informieren. Der Router kann einen Graphen erstellen, der die Vernetzung autonomer Systeme basierend auf den empfangenen Daten darstellt. Das Verfahren zum Generieren des Graphen ignoriert Schleifen und berücksichtigt die Eigenschaften der Pfade, die in das Update aufgenommen wurden. Mögliche Attribute einer Route sind:
- AS_PATH: Information, welches AS als Ziel erreicht werden kann. Die autonomen Systeme werden durch AS-Nummern dargestellt
- Next Hop: IP-Adresse des nächsten Zwischenknotens auf dem Weg zu einem Präfix
- IGP-Metrik: Informationen zu den Kosten durch das eigene Netzwerk
- Multi-Exit Discriminator (MED): zur Priorisierung paralleler Verbindungen
- Routing-Tags oder Communities: 32 Bit lange Werte, mit denen Präfixe zu Filterzwecken markiert werden können
- Local Preference: zur Auswahl eines Pfades innerhalb einer AS
- Herkunft: Quelle eines Präfixes. Mögliche Werte sind intern, extern oder unvollständig
Unterscheidung zwischen EBGP und IBGP
Mit dem Border Gateway Protocol können nicht nur verschiedene autonome Systeme verbunden werden. Das Routing-Protokoll kann auch verwendet werden, um Router innerhalb eines AS miteinander zu verbinden. Je nach Verwendung spricht man von externem oder internem BGP (EBGP oder IBGP).
Die Daten werden über die Router eines an IBGP angeschlossenen AS durch ein autonomes System geleitet. Dazu propagieren die Router die über EBGP gelernten Routen innerhalb ihres eigenen AS. Dadurch ist es möglich, die BGP-spezifischen Attribute der Präfixe zu übertragen. BGP-Sitzungen müssen zwischen allen Routern eingerichtet werden, die das Border Gateway Protocol zur Kommunikation verwenden.
Für die eigentliche Verbindung zwischen den Routern wird in der Regel ein Interior Gateway Protocol (IGP) wie OSPF (Open Shortest Path First) oder IS-IS benötigt. Routenreflektoren sind eine Methode, die verwendet wird, um Skalierungsschwierigkeiten aufgrund vollständiger Maschen in großen Netzwerken zu vermeiden. Jeder BGP-Router benötigt nur eine Verbindung zum Route Reflector, der alle über EBGP empfangenen Routen verfolgt und über IBGP an alle Router im AS verteilt.