Events

BGP-Instabilität identifizieren

Das Netz unter der Lupe

01. September 2020, 07:30 Uhr   |  Jos Op ’t Root/jos

Das Netz unter der Lupe
© Bild: Netcor

Bild 1: Verschiedene Zustände einer BGP-Verbindung.

Es gibt viele Elemente, die eine Auswirkung auf die Verfügbarkeit von netzwerkübergreifenden Diensten haben. Daher ist Redundanz in der Topologie – verbunden mit Ausfallsicherheit in der Konfiguration – von entscheidender Bedeutung. Routing-Protokolle dienen dazu, diese Redundanz und das Failover auf Sicherungsverkehrspfaden zu verwalten, falls im aktiven Pfad ein Fehler auftritt. Damit dies erfolgreich funktioniert, ist es wichtig, solche Änderungen in Routing-Konfigurationen im Blick zu behalten, die sich auf die Netzwerkstabilität auswirken.

Das Border Gateway Protocol (BGP – und insbesondere die aktuelle Version 4) kommt zum Einsatz, um Netzwerke miteinander zu verbinden. Damit zum einen sichergestellt ist, dass Subnetze erreichbar sind, und zum anderen redundante und ausfallsichere Pfade zwischen Netzwerken existieren, um die Verfügbarkeit von Diensten auch im Fall eines Fehlers zu gewährleisten. Im BGP wird eine Peering-Beziehung zwischen Routern in separaten autonomen Systemen (AS) hergestellt und Routing-Präfixinformationen ausgetauscht. Diese Daten dienen dann dazu, den „besten“ Pfad zu berechnen. Maßgeblich ist dabei die Qualität des Pfads. Sie lässt sich standardmäßig über die Anzahl der AS kalkulieren, die die Daten für die Übertragung von der Quelle zum Ziel durchqueren müssen.

Wie vermutlich jeder Netzwerkadministrator bestätigen kann, verursacht die Instabilität des BGP-Peerings bei großen Netzwerken alle Arten von Leistungsproblemen. Ereignisse – etwa dauerhafte Verbindungsfehler – können Update-Sequenzen entlang von Pfaden im Netzwerk auslösen, die folgende Auswirkungen haben können: Temporäre Forwarding-Loops für betroffene Netzwerkpräfixe während der Konvergenz, extremen Bandbreitenverbrauch aufgrund erhöhter Kommunikationsaktivität zwischen Netzwerkknoten sowie eine steigende CPU-Auslastung in Netzwerkknoten aufgrund der Notwendigkeit, große Mengen sich ständig ändernder Daten verarbeiten zu müssen. Ein Beispiel: Internet-Routing-Tabellen haben Größen erreicht, sodass sie nie vollständig konvergieren. Dies ist symptomatisch für die kontinuierlichen Aktualisierungen und Löschungen von Routing-Einträgen, die durch Verbindungsereignisse innerhalb und zwischen den AS entstehen, wie sie rund um die Uhr und auf der ganzen Welt auftreten.

Daten von regionalen Internetregistraren – den Organisationen, die für die Zuweisung und Verwaltung von Internetadressen und AS-Nummern verantwortlich sind – zeigen, dass mit zunehmender Größe der Internet-Routing-Tabelle die Anzahl der täglichen Updates schrittweise zunimmt. Dies kann sich auf bis zu einem Viertel der gesamten Einträge in der Routing-Tabelle auswirken.

Wie stabil ist „stabil“?

BGP dient üblicherweise in einem Unternehmen dazu, separate Netzwerke miteinander zu verbinden. Die Verwaltung geschieht häufig von verschiedenen Organisationen oder verschiedenen Teilen derselben Organisation aus. Daraus folgt, dass die Verbindungen, sobald sie einmal zustande gekommen sind, idealerweise für lange Zeiträume bestehen bleiben sollten. Gibt es dabei Änderungen, kann dies weitreichende Konsequenzen haben. Es lohnt sich daher, die Stabilität dieses Peerings kontinuierlich im Auge zu behalten.
Aber wie genau können Betreiber diese Stabilität messen? Wie können sie insbesondere feststellen, ob und wann das BGP-Peering seinen stabilen Zustand nicht aufrechterhält? Dazu kann man sich auf zwei ganz spezielle Eigenschaften der Peer-Beziehung konzentrieren.

605 LANline 2020-09 Netcor abbildung_02
© Bild: Netcor

 Bild 2: Manuelle Abfrage der BGP-Peers.

BGP funktioniert, indem es zunächst eine Reihe von Peering-Beziehungen zwischen Router-Paaren herstellt und dann Präfixinformationen über diese hergestellten Verbindungen austauscht. Der Peering-Prozess durchläuft mehrere Phasen in einer bestimmten Reihenfolge, um sicherzustellen, dass beide Nachbarn die zwischen ihnen übertragenen Daten korrekt austauschen und verstehen können (Teaserbild). Um die Stabilität zu bestimmen, lassen sich für jede BGP-Nachbarbeziehung im Netzwerk spezifische Fragen beantworten: Wie ist der aktuelle Stand der Peer-Verhandlungen? Ist die Beziehung vollständig aufgebaut oder verhandelt sie noch in Richtung des Zustands „Established“? Wenn sie „etabliert“ ist, wie lange besteht dann die Peer-Beziehung in diesem Zustand? Ist der Zeitraum kurz, kann dies ein Indikator dafür sein, dass ein regelmäßiger Zustandswechsel stattfindet.
Um die allgemeine Stabilität oder die des BGP-Peerings im Netzwerk manuell zu überprüfen, kann ein Netzwerkadministrator folgende Schritte durchführen:

1. Anmeldung bei jedem Gerät mit Routing-Funktionen (also Router, Layer-3-Switch und Firewall) im Netzwerk,
2. mit Hilfe der herstellerspezifischen CLI-Befehle feststellen, ob BGP-Sitzungen konfiguriert sind,
3. Überprüfung des Status jeder BGP-Peering-Beziehung, die den relevanten Knoten enthält,
4. Festhalten der Ergebnisse in einer Tabelle und
5. (möglicherweise) Weitergabe der Details an einen erfahreneren Netzwerkexperten zur Analyse.

Abhängig von der Größe des jeweiligen Netzwerkes können zwischen zehn und mehreren Hundert von BGP-Peering-Beziehungen bestehen, deren Überprüfung somit eine sehr arbeitsintensive Aufgabe darstellt. Außerdem ist ein erfahrener Netzwerkexperte nötig, um feststellen zu können, wo Instabilität auftreten kann und wo die Ressourcenverfügbarkeit möglicherweise eingeschränkt ist.
 

Seite 1 von 2

1. Das Netz unter der Lupe
2. Automatisierung der Administrationsprozesse

Auf Facebook teilenAuf Twitter teilenAuf Linkedin teilenVia Mail teilen