OSPF oder iBGP für das interne Routing-Protokoll?


8

Es ist also geplant, zwei Core-Router mit jeweils einer eBGP-Sitzung an einen von zwei ISPs mit vollständigen Routen zu senden. Beide Router veröffentlichen ihre vollständigen Tabellen untereinander, damit sie den Verkehrsfluss über iBGP intelligenter steuern können.

Aus Gründen der Argumentation haben drei Zugriffsrouter einen Pfad zu jedem Kernrouter. Ich wollte iBGP konfigurieren und eine Standardroute von jedem Core-Router veröffentlichen, damit diese eine gewisse Ausfallsicherheit gegen Hardwarefehler aufweisen, und mithilfe von Filtern steuern, welche Routen tatsächlich an die Zugriffsgeräte gesendet werden.

Ich habe gehört, dass Leute OSPF generell für ihre IGP verwenden, natürlich gibt es ein Element, das fallspezifisch ist.

Meine Frage ist: Was wäre der Vorteil, wenn iBGP durch OSPF ersetzt würde?


Hat Ihnen eine der Antworten geholfen? Wenn ja, sollten Sie die Antwort akzeptieren, damit die Frage nicht für immer auftaucht und nach einer Antwort sucht. Alternativ können Sie Ihre eigene Frage beantworten und die Antwort akzeptieren.
Ron Maupin

Antworten:


10

iBGP erfordert ein vollständiges Netz oder die Verwendung von Schadensbegrenzungsmaßnahmen wie Konföderationen oder Routenreflektoren. BGP konvergiert nicht mit der Geschwindigkeit von OSPF usw.

Jeder OSPF-Router verfügt über ein umfassendes Verständnis aller Routen in dem Bereich, in dem er sich befindet, ohne dass ein vollständiges Netz erforderlich ist, und er konvergiert sehr, sehr schnell.

Die Verwendung eines IGP wird mit iBGP empfohlen. Ohne IGP muss iBGP an nach außen gerichteten Schnittstellen benachbart sein. Mit einem IGP kann iBGP an Loopback-Schnittstellen angrenzen, die niemals ausfallen, und mehrere Pfade erreichen.

Ich habe iBGP-only für lokales Routing gesehen, aber es ist schwieriger und fragiler.


7

Zunächst einmal würde ich die Behauptung bestreiten, dass einige andere dafür gesorgt haben, dass OSPF schneller konvergiert als BGP, aber dazu später mehr. Um zuerst die OP-Frage zu beantworten.

Du willst beides.

iBGP wurde für die Ausführung zwischen Loopback-Schnittstellen auf Routern entwickelt und ändert (zumindest ohne einige Knöpfe zu optimieren und zu drehen) keine Attribute (einschließlich des nächsten Hops) der von ihm beworbenen Routen.

Was bedeutet das?

Nennen wir Ihre Grenzrouter Router A und Router B und Ihre drei Zugriffsrouter Router 1, Router 2 und Router 3.

A und B des Routers erhalten vollständige Internet-Feeds von Ihren Upstreams, wobei der nächste Hop auf die Schnittstellenadresse des Upstreams auf der Verbindungsverbindung eingestellt ist. Wenn diese Routen erneut über iBGP weitergeleitet werden, ist der nächste Hop der Route, die die Router 1, 2 und 3 empfangen, die IP-Adresse auf der anderen Seite dieser Verbindungsverbindung.

Router führen eine rekursive Suche durch, um den Pfad zu dieser IP-Adresse zu finden, und verwenden dann diesen nächsten Hop, wenn die Route in der Weiterleitungstabelle installiert ist. "Aber", sagst du, "ich werde Next-Hop-Self verwenden." Wie das funktioniert, erfahren Sie im nächsten Absatz.

"Aber", können Sie auch sagen, "ich werbe nur standardmäßig für die Router 1, 2 und 3." OK, aber diese Standardroute muss von irgendwoher kommen ... Wenn es sich um eine bereits vorhandene Standardroute handelt (z. B. eine statische), wird ein nächster Hop verwendet. Wenn es sich um einen generierten Standard handelt, wird wahrscheinlich die Loopback-Adresse, auf der die iBGP-Sitzung ausgeführt wird, als nächster Hop verwendet. Auch dies wird in den Routern 1, 2 und 3 nicht als Schnittstelle oder direkt verbundene Route angesehen, sodass sie immer noch eine rekursive Suche durchführen müssen, um sie zu finden.

Sie benötigen also eine Art IGP-Ausführung, z. B. OSPF, IS-IS oder EIGRP, oder sogar nur eine Menge Probleme bei der Verwaltung der Statik, damit die rekursiven Suchvorgänge erreichbar sind.

"Aber", sagen Sie noch einmal, "ich werde die iBGP-Sitzungen eher auf den Schnittstellenadressen als auf den Loopbacks ausführen. OK, aber jetzt hängt Ihre BGP-Peering-Sitzung davon ab, dass die Schnittstelle" betriebsbereit "ist. So zum Beispiel Wenn die Schnittstelle zwischen Router 1 und Router A ausfällt, fällt auch die iBGP-Peering-Sitzung auf dieser Schnittstelle aus. Router 1 kann jedoch weiterhin Datenverkehr an Router A senden. Dies muss nur über Router B erfolgen Ich möchte, dass die iBGP-Sitzung aktiv bleibt, auch wenn diese Schnittstellen ausfallen, da Ihr ultimativer nächster Hop immer noch drüben ist und drüben immer noch über einen anderen Pfad erreichbar ist ... OSPF (Ich verwende OSPF, aber Sie können IS- sub- IS und EIGRP, wo immer Sie OSPF hier sehen, werden diesen anderen internen Pfad herausfinden und dafür sorgen, dass die Weiterleitungstabelle in dieser rekursiven Suche korrekt erstellt wird.

Also, ja, Sie können wahrscheinlich genug Regler drehen und ein reines iBGP-Setup ohne IGP-Setup zum Laufen bringen ... aber bitte nicht ... es wird eine Menge Arbeit sein, es wird mit ziemlicher Sicherheit Flakey sein.

Tun Sie sich selbst einen Gefallen und aktivieren Sie OSPF, IS-IS oder sogar EIGRP, wenn Sie ein reiner Cisco-Shop sind (aber überlegen Sie bitte, ob Sie diese Lieferantenbindung wirklich akzeptieren möchten, wenn Sie ... zukünftige potenzielle Entscheidungen in Betracht ziehen die Ausrüstung eines anderen Anbieters zu verwenden ... auch wenn nur versucht wird, Cisco bei der Preisgestaltung ehrlich zu halten). Aktivieren Sie es für alle Ihre Schnittstellen zwischen Ihren Routern und richten Sie es auch auf Ihrer Upstream-Verbindung mit der passiven Einstellung und wahrscheinlich auch auf Ihren Downstreams von Ihren Zugriffsroutern mit der passiven Einstellung ein. Richten Sie dann Ihre iBGP-Peerings zwischen Ihren Loopbacks ein. Ziehen Sie Routenreflektoren in Betracht (wahrscheinlich auf den Routern A und B), um den erforderlichen Konfigurationsaufwand zu verringern. Bei etwa 5 Routern ist es sinnvoll, damit zu beginnen.

Es ist wirklich der vernünftigste Weg, dies zu tun.

Nun zu Protokollkonvergenzgeschwindigkeiten.

Die meisten Leute denken, dass BGP langsam ist und OSPF (oder was auch immer) schnell ist, da diese Protokolle häufig verwendet werden. In der Regel wird das gesamte Internet oder zumindest ein erheblicher Teil davon in BGP integriert, während nur interne Routen in OSPF verarbeitet werden (10 bis 100 Sekunden, möglicherweise nur wenige Tausend Routen). Nehmen wir also an, Sie ziehen die Hälfte der Internetrouten in BGP. Versuchen Sie, ein OSPF-Gebiet mit mehr als 250.000 Routen aufzubauen, und lassen Sie mich wissen, wie das für Sie funktioniert. Mal sehen, ob das schneller konvergiert als BGP ... oder jemals, es sei denn, Sie haben eine wirklich bullige Steuerebene auf Ihren Routern.

BGP kann in einer bestimmten Situation häufig schneller konvergieren oder konvergieren als OSPF und andere, zumindest abhängig davon, wie Sie es messen. Wenn Sie die Nachbarerkennung von OSPF in ein Broadcast-Netzwerk aufnehmen, wird BGP mit ziemlicher Sicherheit für eine ähnliche Mischung von Routen gewinnen.

Der andere Unterschied besteht darin, dass BGP Routen in Routing- und Weiterleitungstabellen einfügt, bevor die (erneute) Konvergenz abgeschlossen ist. Dies kann von Vorteil sein, während OSPF-Implementierungen mit ziemlicher Sicherheit bis zum Ende warten, bevor Routen in Routing- und Weiterleitungstabellen eingefügt werden . Manchmal kann es nützlich sein, einen Teilroutensatz konvergiert zu haben. Manchmal nicht.


1
Ich denke, Sie machen dies komplizierter als nötig. Obwohl ich Ihre Kommentare im Allgemeinen nicht bestreite, gibt es in diesem Fall nichts zu gewinnen, wenn Sie ein IGP hinzufügen. In diesem Szenario kündigt BGP eine Standardroute zu den Zugriffsroutern an. Ob dies ein interner oder ein externer Weg ist, spielt keine Rolle. Entweder geht der Datenverkehr an Router A oder an Router B. Durch Hinzufügen von OSPF wird dies nicht einfacher oder schneller. Die Verwendung einer Loopback-Adresse für das iBGP-Peering bringt nicht viel, wenn Sie eine Standardroute bewerben. - Wenn die Verbindung zu A ausfällt, gibt es keinen Grund, Datenverkehr an A zu senden.
Ron Trunk

Selbst wenn A der beste Ausgangspfad ist, gelangt der Datenverkehr über B dorthin. Dies gilt auch, wenn Sie iBGP mit einem Loopback auf der Schnittstelle oder ein IGP verwenden.
Ron Trunk

1
Sie sind nicht falsch, aber Sie werden müssen , um eine Art „IGP“, auch wenn das „IGP“ für die Loopback von Router A eine manuelle statisch ist (und B). Zugegeben, ich bin ziemlich zufrieden mit der Ausführung von BGP und OSPF, daher möchte ich dies für einige Zukunftssicherungen einrichten (dh es gibt einige ziemlich gute Argumente, um diese Internetrouten bis zu den Routern 1, 2 und 3 zuzulassen Sie können bessere Entscheidungen darüber treffen, welchen Exit sie verwenden und an welchen von Router A oder B sie weiterleiten möchten. Und ja, das kann auch ohne ein vollständiges IGP gemacht werden, aber es fügt wirklich nicht viel Komplexität hinzu, um es zu einem saubereren Setup zu machen.
Jeff McAdams

Sie haben die Frage des OP nicht beantwortet: "Was wäre der Vorteil, wenn iBGP durch OSPF ersetzt würde?" Das Ausführen eines IGP mit iBGP ist die bevorzugte Methode, aber die Frage ist spezifisch und nicht das, was Sie beantwortet haben.
Ron Maupin

3

Während alles, was @RonMaupin sagt, wahr ist, gibt es in Ihrem speziellen Fall mit nur fünf Routern nicht viel zu gewinnen, wenn Sie ein weiteres Routing-Protokoll hinzufügen.

Da Sie kein vollständiges Netz haben, müssen Sie Ihre Core-Router als Routenreflektoren konfigurieren.

Der einzige wirkliche Nachteil ist, dass BGP langsamer konvergiert als OSPF, aber es gibt Möglichkeiten, diesen Mangel zu minimieren.


Ich bin mir nicht sicher, ob es tatsächlich ein vollständiges Netz gibt, es sei denn, die Core-Router sind als Routenreflektoren konfiguriert. Das OP sagte nichts über jeden der drei Zugriffsrouter, die mit jedem der anderen Zugriffsrouter verbunden waren, sondern nur über die Kernrouter. Ein vollständiges Netz oder eine Minderung muss implementiert werden.
Ron Maupin

Du hast recht. Ich habe das falsch verstanden. Ich werde meine Antwort bearbeiten.
Ron Trunk

1
Ich bin mir nicht sicher, welche Absichten Sie in Bezug auf Ihre Ratschläge zu Full-Mesh haben, aber um zu klären, dass ... die Full-Mesh-Anforderung gilt für iBGP-Sitzungen, nicht für Konnektivität. Selbst wenn zwei Router keine direkte Verbindung zwischen ihnen haben, sollten sie eine iBGP-Peering-Sitzung zwischen sich haben, da der IGP den nächsten Hop rekursiv zu dem Zwischenrouter auflöst, den er benötigt, um zum iBGP-Peer zu gelangen. Die Routenreflexion ist bei etwa 5 Routen eine gute Idee, um den Verwaltungsaufwand zu verringern. Sie hat eigentlich nichts mit physischen Konnektivitätspfaden zu tun.
Jeff McAdams

1
Ohne ein vollständiges Netz (entweder logisch oder physisch) oder eine Schadensbegrenzung kann iBGP zu Routingproblemen führen, da der AS-PATH nicht aktualisiert wird, sodass iBGP keine von einem iBGP-Peer gelernten Routen ankündigt. Der Zugriffsrouter A lernt niemals die Routen, die von den Zugriffsroutern B und C stammen. Routenreflektoren mildern dies ab. iBGP hatte schon immer eine vollständige Netzanforderung.
Ron Maupin

2
Szenario: Access Router Eine aktive Standardroute führt zu Core Router 1, und die Verbindung von Access Router B zu Core Router 1 ist unterbrochen. Was passiert, wenn ein Host auf Access Router A an einen Host auf Access Router B senden möchte? Der Datenverkehr erreicht niemals Access Router B, da Core 1 keine Route mehr zu Access Router B hat, da er diese Routen nicht von Core lernen kann Router 2. iBGP benötigt ein vollständiges Netz oder eine Schadensbegrenzung, und dies war schon immer erforderlich.
Ron Maupin
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.