Zurück

Automatisierung der BGP-Konfiguration im großen Maßstab

by Phillip Gervasi 10. April 2018

Es macht keinen Sinn mehr, die spezifischen Attribute von BGP-Peers auf Dutzenden von Routern manuell zu konfigurieren. Es ist weniger sinnvoll, dies in großem Umfang zu tun. Ein Großteil der Kosten, die mit der Wartung eines Unternehmensnetzwerks verbunden sind, sind Betriebsausgaben. Warum verbringen wir also immer noch so viel Zeit mit Aufgaben, die Serveradministratoren vor Jahrzehnten herausgefunden haben, wie sie automatisiert werden können?

Eine der Stärken des Border Gateway Protocol oder BGP ist seine hohe Anpassbarkeit, da einem Techniker viele Einstellungen und Konfigurationsoptionen zur Verfügung stehen. BGP unterscheidet sich von anderen Routing-Protokollen dadurch, dass es sich um einen Pfadvektor und nicht um einen Entfernungsvektor oder Verbindungsstatus handelt. Das bedeutet, dass BGP Pfadauswahlentscheidungen basierend auf mehr Faktoren treffen kann als ein typisches IGP wie OSPF oder EIGRP.

Aufgrund seiner Einstellbarkeit hat BGP seinen Weg vom WAN in das Rechenzentrum gefunden, um Server-Racks oder sogar einzelne Server in separate Layer-3-Domänen zu segmentieren. Bedenken Sie, dass auf einem robusten ESXi-Host Dutzende von Servern gleichzeitig ausgeführt werden können. BGP ist nicht nur im WAN allgegenwärtig, sondern wird auch im Rechenzentrum zum Standard.

NetBrain automatisiert, was wir jahrelang manuell gemacht haben. Der alte Weg macht keinen Sinn mehr, und das tat er auch nie.

 

Ob ein Ingenieur BGP im Rechenzentrum nutzt, um zu einzelnen Hypervisoren zu routen, oder im WAN, um Netzwerke auf der ganzen Welt zu routen, die Konfiguration kann sehr schnell komplex werden. Ein gängiges Netzwerkdesign besteht beispielsweise darin, Multiprotokoll-BGP über einen MPLS-Kern zu verwenden, wobei mehrere VRFs und ein oder mehrere IGPs mit Routenumverteilung verwendet werden. In einem großen Netzwerk kann dies zu buchstäblich Hunderten von Codezeilen pro Router führen, um Peers zu erstellen, Präfixe korrekt bekannt zu geben, Verbindungen zu sichern und Datenverkehr über bestimmte Pfade weiterzuleiten.

Stellen Sie sich vor, Sie kopieren diese Art von Konfiguration auf einen Router nach dem anderen und müssen sich genau merken, welche IP-Adresse geändert, welcher Loopback verwendet, welche ACLs umgedreht und welche Präfix-Listen geändert werden müssen. Die Automatisierung macht diesen Prozess erheblich effizienter und ohne das Risiko, dass ein Ingenieur mit übernächtigen Augen auf ein paar Dutzend PuTTY-Fenster starrt.

Wir stoßen auf das gleiche Problem, wenn wir ein Full-Mesh-iBGP-Netzwerk in großem Umfang aufbauen. Jeder einzelne BGP-Lautsprecher im Full Mesh benötigt die gesamte Konfiguration. Wenn Sie die Komplexität zusätzlicher Routing-Protokolle hinzufügen, die für die Erreichbarkeit erforderlich sind, wird dies zu einem Abenteuer beim Kopieren und Einfügen.

Herausforderungen für die Automatisierung von BGP

In extrem großen Netzwerken kann ein IT-Abteilungsteam ein paar scharfsinnige Ingenieure haben, die On-Box-EEM-Skripts oder Off-Box-Python-Skripts verwenden. In der Vergangenheit haben die meisten Netzwerkgeräte jedoch nicht viele On-Box- oder Off-Box-Programmieroptionen unterstützt, sodass die Netzwerkautomatisierung nie Fuß gefasst hat.

Das ändert sich nun aber endlich. Seit einiger Zeit sehnen sich Netzbetreiber nach einer einfacheren Möglichkeit, eine große Anzahl von Geräten mit komplexen Konfigurationen zu konfigurieren, und die Anbieter reagieren endlich. Obwohl dies großartige Neuigkeiten sind, gibt es einige große Hürden zu überwinden.

  1. Erstens betreiben die meisten Netzwerke eine Vielzahl von Plattformen, darunter einige ältere Geräte und Geräte von mehreren Anbietern. Das Erstellen einiger selbst entwickelter Skripte zur Verwaltung dieser Art von Umgebung ist, gelinde gesagt, eine Herausforderung, und wie jeder Programmierer weiß, wird die Wartung dieser Skripte durch Hardwareaktualisierungen und Netzwerkänderungen oft vernachlässigt.
  2. Zweitens, selbst wenn ein Netzwerk nur eine kleine Vielfalt von Plattformen desselben Anbieters betreibt, kann es immer noch ziemliche Unterschiede in den Programmierbarkeitsoptionen von Softwareversion zu Softwareversion geben. Gerät zu Gerät. Zum Beispiel bietet Ciscos NX-OS On-Box-Python und -Bash sowie offene APIs. Cisco IOS-XE bewegt sich in diese Richtung, aber es ist noch nicht dort, wo NX-OS ist.
  3. Drittens lösen die bloßen Kosten für Entwickler, die für die Erstellung und Pflege benutzerdefinierter Skripte für die Bandbreite der Geräte, die wir möglicherweise verwenden, erforderlich sind, das Problem der Ineffizienz und der hohen Betriebskosten nicht. Tatsächlich kann es sie sogar verärgern. Was wir brauchen, ist ein dynamisch Lösung, die eine Vielzahl von Plattformen, eine Vielzahl von Softwareversionen und eine Vielzahl von Programmieroptionen abdeckt.

Deshalb liebe ich was NetBrain macht gerade. Sie bauen keine eigenen Switches oder Netzwerkbetriebssysteme: Sie konzentrieren sich auf das Overlay, um alles – und ich meine alles – zu verwalten, ohne durch manuelle Konfiguration zu leiden. Daher sind sie nicht an das Betriebssystem eines bestimmten Anbieters oder an einen bestimmten Automatisierungsmechanismus gebunden. Eingebaut NetBrainDie Plattform von ist die Fähigkeit, programmgesteuert mit Geräten von Dutzenden von Netzwerkanbietern und Hunderten von Plattformen zu interagieren. Und da Netzwerkanbieter weiterhin das Paradigma der Netzwerkautomatisierung übernehmen, NetBrainDie Automatisierungsplattform von wird nur noch robuster.

Überwindung der Herausforderungen bei der Automatisierung von BGP

Werfen Sie einen Blick auf den folgenden Screenshot eines integrierten automatisierten BGP-Workflows namens a Runbook. Beachten Sie insbesondere, dass mit einem automatisierten Workflow, der in einem einzigen enthalten ist Runbook, kann ich problemlos eine Vielzahl von Echtzeit-BGP-Informationen auf vielen Geräten gleichzeitig überprüfen. Normalerweise erfordert dies, sich bei jedem Gerät anzumelden und die Ausgabe jedes Show-Befehls einzeln zu studieren. Das eingebaute Runbook gibt mir den gleichen Einblick in das Netzwerk, aber programmatisch. Und denken Sie daran, dass dies ein grundlegender Einbau ist Runbook. Sie können auch benutzerdefinierte und viel ausgefeiltere Workflows erstellen.

BGP-Workflow runbookMit der Runbooks können Sie problemlos eine Vielzahl von Echtzeit-BGP-Informationen auf vielen Geräten gleichzeitig überprüfen – anstatt sich bei jedem Gerät anzumelden und die Ausgabe jedes Show-Befehls einzeln zu studieren.

Das ist alles schön und gut, aber ein BGP-Design wie das, das ich zuvor mit Schicht für Schicht erwähnt habe, kann selbst mit all diesen Ausgaben, die uns zur Verfügung stehen, schwer zu visualisieren sein. Die mehrschichtigen Visio-Diagramme, mit denen Netzwerkingenieure zu kämpfen haben, helfen auch nicht viel, weil es schwierig ist, so viele Informationen in ein brauchbares Diagramm zu packen.

NetBrainDie Automatisierungsabstraktion von wird mit visualisiert Dynamic Maps, eine Kerntechnologie zusammen mit Runbooks. Dynamic Maps sind jedoch kein schickes Visio. Sie sind, wie der Name schon sagt, dynamisch, da sie den Zustand des Netzwerks in Echtzeit darstellen. Jeder Knoten ist interaktiv, was bedeutet, dass alle Informationen, die wir normalerweise in Registerkarte für Registerkarte eines veralteten Visio-Diagramms stopfen würden, auf einem Bildschirm verfügbar sind. Von einem Dynamic Map Ein Techniker kann neue Geräte entdecken, nahezu sofortige Sichtbarkeit in Echtzeit erhalten, integrierte oder benutzerdefinierte ausführen Runbooks, oder führen Sie bei Bedarf einen Drilldown zu einzelnen Geräten durch.

Beachten Sie unten, dass iBGP-Nachbarn nach einer automatisierten Netzwerkerkennung automatisch durch eine gepunktete Linie gekennzeichnet werden. NetBrain baute dies dynamic map für Sie, und jeder einzelne Artikel inklusive Links und Geräte kann weiter analysiert werden.

iBGP-KarteIn diesem Screenshot von NetBrain Versuchsumgebung, BGP-Nachbarn werden nach einer automatisierten Netzwerkerkennung automatisch durch eine gepunktete Linie gekennzeichnet.

Wenn Sie sich nur auf einen einzelnen Router wie BGP-R1 konzentrieren müssen, müssen Sie nur das Gerät auswählen und die BGP-Konfiguration aus dem Menü auswählen, um eine automatische Ausgabe zu erhalten.

BGP R1-Details

Die Fehlerbehebung von BGP-Nachbarbeziehungen beginnt normalerweise mit der Überprüfung von Konfigurationsfehlern, wie z. B. falsch konfiguriertem eBGP-Multihop. Beachten Sie in der folgenden Grafik, dass die integrierte BGP-Fehlerbehebung ausgeführt wird Runbook prüft programmgesteuert mit einem Klick alle Geräte im Netzwerk auf mehrere häufige Konfigurationsfehler. Hier können wir das sehen NetBrain entdeckte eine Fehlkonfiguration auf dem Router BGP-R3.

BGP-Fehlkonfigurationsfehler

Obwohl BGP bei der Konfiguration und Fehlerbehebung schwierig sein kann, ist es dennoch ein sehr leistungsfähiges Routing-Protokoll und wird wahrscheinlich in absehbarer Zeit nicht ersetzt werden. Die Tatsache, dass es so anpassbar ist, macht es besonders im Maßstab sehr nützlich. Wir brauchen nur einen besseren Weg, damit umzugehen.

Experimentieren mit NetBrain's Kerntechnologien mit dem Sofortige Testversion um aus erster Hand zu sehen, wie die Automatisierung den Betrieb von Unternehmensnetzwerken verändern kann. Die BGP-Labs sind nicht annähernd so beängstigend wie das Beispiel, das ich zuvor gegeben habe, aber sie zeigen, wie mächtig sie sind Dynamic Maps und Runbooks sind in der Verwaltung einer BGP-Domäne.

NetBrain automatisiert, was wir jahrelang manuell gemacht haben. Der alte Weg macht keinen Sinn mehr, und das tat er auch nie. Automatisierung durch Dynamic Maps und Runbooks reduziert die Betriebskosten für die Verwaltung eines Unternehmens-WANs mit BGP, ohne die Vorteile unseres beliebtesten Routing-Protokolls zu verlieren.

Verbunden