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.