Heute schauen wir uns das BGP-Protokoll an. Wir werden nicht lange darüber sprechen, warum es so ist und warum es als einziges Protokoll verwendet wird. Zu diesem Thema gibt es zum Beispiel sehr viele Informationen.
Was ist BGP? BGP ist ein dynamisches Routing-Protokoll, das das einzige EGP-Protokoll (External Gateway Protocol) ist. Dieses Protokoll wird zum Erstellen von Routing im Internet verwendet. Überlegen Sie, wie die Nachbarschaft zwischen zwei BGP-Routern aufgebaut ist.

Betrachten Sie die Nachbarschaft zwischen Router1 und Router3. Wir werden sie mit den folgenden Befehlen konfigurieren:
router bgp 10 network 192.168.12.0 network 192.168.13.0 neighbor 192.168.13.3 remote-as 10 router bgp 10 network 192.168.13.0 network 192.168.24.0 neighbor 192.168.13.1 remote-as 10
Die Nachbarschaft innerhalb eines autonomen Systems ist AS 10. Nach Eingabe von Daten auf einem Router, beispielsweise auf Router1, versucht dieser Router, eine Nachbarschaftsbeziehung mit Router3 aufzubauen. Der Ausgangszustand, in dem nichts passiert, heißt
Leerlauf . Sobald bgp auf Router1 konfiguriert ist, hört es auf den TCP-Port 179 - es wechselt in den Verbindungsstatus und wenn es versucht, eine Sitzung mit Router3 zu öffnen, wechselt es in den
aktiven Status.
Nachdem die Sitzung zwischen Router1 und Router3 eingerichtet wurde, findet ein offener Nachrichtenaustausch statt. Wenn diese Nachricht von Router1 gesendet wird, wird dieser Status als "
Offen gesendet" bezeichnet . Wenn eine offene Nachricht von Router3 empfangen wird, wechselt sie in den Status "
Offen bestätigen" . Betrachten Sie den offenen Beitrag genauer:

Diese Nachricht enthält Informationen zum vom Router verwendeten BGP-Protokoll. Durch den Austausch offener Nachrichten kommunizieren Router1 und Router3 Informationen über ihre Einstellungen miteinander. Folgende Parameter werden übergeben:
- Version : Dies schließt die BGP-Version ein, die der Router verwendet. Die aktuelle Version von BGP ist Version 4, die in RFC 4271 beschrieben ist. Zwei BGP-Router versuchen, eine kompatible Version auszuhandeln. Wenn eine Nichtübereinstimmung vorliegt, findet keine BGP-Sitzung statt.
- Mein AS : Dies beinhaltet die AS-Nummer des BGP-Routers, die Router müssen sich auf die AS-Nummer (n) einigen und es wird auch definiert, ob sie iBGP oder eBGP ausführen.
- Haltezeit : Wenn BGP für die Dauer der Haltezeit keine Keepalive- oder Aktualisierungsnachrichten von der anderen Seite empfängt, wird die andere Seite für "tot" erklärt und die BGP-Sitzung abgebrochen. Standardmäßig ist die Haltezeit auf Cisco IOS-Routern auf 180 Sekunden eingestellt. Die Keepalive-Nachricht wird alle 60 Sekunden gesendet. Beide Router müssen sich auf die Haltezeit einigen, sonst findet keine BGP-Sitzung statt.
- BGP-Kennung : Dies ist die lokale BGP-Router-ID, die genau wie OSPF gewählt wird:
- Verwenden Sie die Router-ID, die manuell mit dem Befehl bgp router-id konfiguriert wurde.
- Verwenden Sie die höchste IP-Adresse auf einer Loopback-Schnittstelle.
- Verwenden Sie die höchste IP-Adresse auf einer physischen Schnittstelle.
- Optionale Parameter : Hier finden Sie einige optionale Funktionen des BGP-Routers. Dieses Feld wurde hinzugefügt, damit BGP neue Funktionen hinzugefügt werden können, ohne dass eine neue Version erstellt werden muss. Folgende Dinge finden Sie möglicherweise:
- Unterstützung für MP-BGP (Multi Protocol BGP).
- Unterstützung für Route Refresh.
- Unterstützung für 4-Oktett-AS-Nummern.
Um eine Nachbarschaft zu gründen, müssen folgende Bedingungen erfüllt sein:
- Versionsnummer. Aktuelle Version 4.
- Die AS-Nummer muss mit der Nummer übereinstimmen, die Sie als Nachbar 192.168.13.3 remote-as 10 konfiguriert haben.
- Die Router-ID muss sich vom Nachbarn unterscheiden.
Wenn einer der Parameter diese Bedingungen nicht erfüllt, sendet der Router eine
Benachrichtigungsnachricht , in der ein Fehler angezeigt wird. Nach dem Senden und Empfangen von offenen Nachrichten wechselt die Nachbarschaftsbeziehung in den
Status ESTABLISHED . Danach können Router Informationen über Routen austauschen und dies mithilfe von
Aktualisierungsnachrichten tun. Hier ist eine Update-Nachricht, die Router1 an Router3 sendet:

Geben Sie hier die Netzwerke an, die von den Attributen Router1 und Path gemeldet werden und die den Metriken entsprechen. Wir werden detaillierter auf Pfadattribute eingehen. Außerdem werden Keepalive-Nachrichten innerhalb der TCP-Sitzung übertragen. Sie werden standardmäßig alle 60 Sekunden übertragen. Dies ist ein Keepalive-Timer. Wenn die Keepalive-Nachricht während des Hold-Timers nicht empfangen wird, bedeutet dies einen Kommunikationsverlust mit dem Nachbarn. Standardmäßig beträgt sie - 180 Sekunden.
Nützlicher Teller:

Es scheint herausgefunden zu haben, wie die Router Informationen untereinander übertragen. Versuchen wir nun, die Logik des BGP-Protokolls herauszufinden.
Um eine Route zur BGP-Tabelle anzukündigen, wird wie in den IGP-Protokollen der Netzwerkbefehl verwendet, die Betriebslogik ist jedoch unterschiedlich. Wenn IGP in IGP nach Angabe einer Route im Netzwerkbefehl prüft, welche Schnittstellen zu diesem Subnetz gehören, und diese in seine Tabelle aufnimmt, sucht der Netzwerkbefehl in BGP in der Routing-Tabelle nach einer
genauen Übereinstimmung mit der Route im Netzwerkbefehl. Wenn diese gefunden werden, fallen diese Routen in die BGP-Tabelle.
Suchen Sie in der aktuellen IP-Routing-Tabelle des Routers nach einer Route, die genau den Parametern des Netzwerkbefehls entspricht. Wenn die IP-Route vorhanden ist, fügen Sie den entsprechenden NLRI in die lokale BGP-Tabelle ein.
Jetzt erhöhen wir den BGP auf alle verbleibenden und sehen, wie die Route innerhalb eines AS ausgewählt wird. Nachdem der BGP-Router Routen vom Nachbarn empfangen hat, beginnt die Auswahl der optimalen Route. Hier müssen Sie verstehen, welche Art von Nachbarn sein können - intern und extern. Versteht der Konfigurationsrouter, ob der konfigurierte Nachbar intern oder extern ist? Wenn in einem Team:
neighbor 192.168.13.3 remote-as 10
Als Remote-as-Parameter wird der AS angegeben, der auf dem Router selbst mit dem Befehl router bgp 10 konfiguriert wird. Routen, die vom internen AS stammen, werden als intern und Routen vom externen AS als extern betrachtet. Und in Bezug auf jedes funktioniert eine andere Logik des Empfangens und Sendens. Betrachten Sie die folgende Topologie:

Jeder Router verfügt über eine Loopback-Schnittstelle, die mit ip konfiguriert ist: xxxx 255.255.255.0 - wobei x die Nummer des Routers ist. Auf Router9 haben wir eine Loopback-Schnittstelle mit der Adresse - 9.9.9.9 255.255.255.0. Wir werden es auf BGP bekannt geben und sehen, wie es verteilt wird. Diese Route wird an Router8 und Router12 übertragen. Bei Router8 wird diese Route zu Router6 geleitet, bei Router5 jedoch nicht in der Routing-Tabelle. Auf Router12 wird diese Route ebenfalls in die Tabelle aufgenommen, auf Router11 jedoch auch nicht. Versuchen wir es herauszufinden. Überlegen Sie, welche Daten und Parameter von Router9 an seine Nachbarn übertragen werden, und melden Sie diese Route. Das folgende Paket wird von Router9 an Router8 gesendet.

Routeninformationen bestehen aus Pfadattributen.
Pfadattribute sind in 4 Kategorien unterteilt:
- Bekannt obligatorisch - Alle BGP-Router müssen diese Attribute erkennen. Muss in allen Updates vorhanden sein.
- Bekannter Ermessensspielraum - Alle BGP-Router müssen diese Attribute erkennen. Sie können in Updates vorhanden sein, ihre Anwesenheit ist jedoch nicht erforderlich.
- Optionales Transitiv - wird möglicherweise nicht von allen BGP-Implementierungen erkannt. Wenn der Router das Attribut nicht erkennt, markiert er die Aktualisierung als teilweise und sendet sie weiter an die Nachbarn, wobei das nicht erkannte Attribut beibehalten wird.
- Optional nicht transitiv - wird möglicherweise nicht von allen BGP-Implementierungen erkannt. Wenn der Router das Attribut nicht erkennt, wird das Attribut ignoriert und bei der Übertragung an Nachbarn verworfen.
Beispiele für BGP-Attribute:
- Bekannte Pflicht :
- Autonomer Systempfad
- Nächster Sprung
- Herkunft
- Bekannter Ermessensspielraum :
- Lokale Präferenz
- Atomaggregat
- Optionaler Transitiv :
- Optional nicht transitiv :
- Multi-Exit-Diskriminator (MED)
- Absender-ID
- Clusterliste
In diesem Fall interessieren wir uns für Origin, Next-Hop, AS Path. Da die Route zwischen Router8 und Router9 verläuft, dh innerhalb desselben AS, wird sie als intern betrachtet und wir werden auf Origin achten.
Ursprungsattribut - Gibt an, wie die Route beim Update empfangen wurde. Mögliche Attributwerte:
- 0 - IGP: NLRI, das innerhalb des ursprünglichen autonomen Systems erhalten wurde;
- 1 - EGP: NLRI, gelernt vom Exterior Gateway Protocol (EGP). BGP-Vorgänger, nicht verwendet
- 2 - Unvollständig: NLRI wurde auf andere Weise gelernt
In unserem Fall ist es, wie aus dem Paket ersichtlich ist, 0. Wenn diese Route an Router12 übertragen wird, hat dieser Code den Code - 1.
Als nächstes Next-Hop. Next-Hop-Attribut
- Dies ist die IP-Adresse des eBGP-Routers, über den der Pfad zum Zielnetzwerk verläuft.
- Das Attribut ändert sich, wenn das Präfix an einen anderen AS übergeben wird.
Im Fall von iBGP, dh innerhalb eines AS, wird Next-Hop als derjenige angezeigt, der von dieser Route erfahren oder erzählt hat. In unserem Fall ist es 192.168.89.9. Wenn diese Route jedoch von Router8 auf Router6 übertragen wird, ändert Router8 sie und ersetzt sie durch eine eigene. Der nächste Sprung wird - 192.168.68.8 sein. Dies führt uns zu zwei Regeln:
- Wenn der Router die Route an seinen internen Nachbarn weiterleitet, ändert er den Next-Hop-Parameter nicht.
- Wenn der Router die Route an seinen externen Nachbarn sendet, ändert er den Next-Hop in die IP der Schnittstelle, von der dieser Router sendet.
Dies führt uns zum Verständnis des ersten Problems - Warum es in der Routing-Tabelle auf Router5 und Router11 keine Route gibt. Lassen Sie uns genauer betrachten. Daher hat Router6 die Routeninformationen 9.9.9.0/24 empfangen und sicher zur Routing-Tabelle hinzugefügt:
Router6#show ip route bgp Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP a - application route + - replicated route, % - next hop override, p - overrides from PfR Gateway of last resort is not set 9.0.0.0/24 is subnetted, 1 subnets B 9.9.9.0 [20/0] via 192.168.68.8, 00:38:25
Jetzt hat Router6 die Route Router5 übergeben und die erste Next-Hop-Regel nicht geändert. Das heißt, Router5 sollte
9.9.9.0 [20/0] über 192.168.68.8 hinzufügen, hat jedoch keine Route zu 192.168.68.8 und daher wird diese Route nicht hinzugefügt, obwohl Informationen zu dieser Route in der BGP-Tabelle gespeichert werden:
<b>Router5#show ip bgp BGP table version is 1, local router ID is 5.5.5.5 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, x best-external, a additional-path, c RIB-compressed, Origin codes: i - IGP, e - EGP, ? - incomplete RPKI validation codes: V valid, I invalid, N Not found Network Next Hop Metric LocPrf Weight Path * i 9.9.9.0/24 192.168.68.8 0 100 0 45 i</b>
Die gleiche Situation tritt zwischen Router11 und Router12 auf. Um eine solche Situation zu vermeiden, muss konfiguriert werden, dass Router6 oder Router12, die die Route an ihre internen Nachbarn weitergeben, ihre IP-Adresse als Next-Hop ersetzen. Dies geschieht mit dem folgenden Befehl:
neighbor 192.168.56.5 next-hop-self
Nach diesem Befehl sendet Router6 eine Aktualisierungsnachricht, in der für die Routen als Next-Hop die IP der Gi0 / 0-Schnittstelle von Router6 angezeigt wird - 192.168.56.6. Danach befindet sich diese Route bereits in der Routing-Tabelle.
Lassen Sie uns sehen, ob diese Route auf Router7 und Router10 angezeigt wird. Es wird nicht in der Routing-Tabelle angezeigt und wir denken möglicherweise, dass das Problem wie im ersten mit dem Next-Hop-Parameter ist. Wenn wir uns jedoch die Ausgabe des Befehls show ip bgp ansehen, werden wir feststellen, dass die Route dort auch mit dem falschen Next-Hop nicht empfangen wurde bedeutet, dass die Route nicht einmal übertragen wurde. Und dies wird uns zur Existenz einer anderen Regel führen:
Von internen Nachbarn empfangene Routen werden nicht an andere interne Nachbarn übertragen.
Da Router5 die Route von Router6 empfangen hat, wird sie nicht an seinen anderen internen Nachbarn übertragen. Damit die Übertragung stattfinden kann, müssen Sie die
Route Reflector- Funktion konfigurieren oder vollständig verbundene Nachbarschaftsbeziehungen (Full Mesh) konfigurieren, dh Router5-7 ist jeweils ein Nachbar. In diesem Fall verwenden wir den Routenreflektor. Auf Router5 müssen Sie diesen Befehl verwenden:
neighbor 192.168.57.7 route-reflector-client
Route-Reflector ändert das Verhalten von BGP beim Übertragen einer Route an einen internen Nachbarn. Wenn der interne Nachbar als
Route-Reflector-Client angegeben ist , werden diesen Clients interne Routen angekündigt.
Wurde die Route nicht auf Router7 angezeigt? Vergessen Sie auch nicht Next-Hop. Nach diesen Manipulationen sollte die Route auch auf Router7 erfolgen, dies geschieht jedoch nicht. Dies bringt uns zu einer anderen Regel:
Die Next-Hop-Regel funktioniert nur für externe Routen. Bei internen Routen wird das Next-Hop-Attribut nicht ersetzt.
Und wir bekommen eine Situation, in der Sie eine Umgebung mit statischem Routing oder IGP erstellen müssen, um Router über alle Routen innerhalb des AS zu informieren. Wir werden die statischen Routen auf Router6 und Router7 registrieren und danach die gewünschte Route in der Tabelle des Routers erhalten. In AS 678 werden wir etwas anders vorgehen - wir werden die statischen Routen für 192.168.112.0/24 auf Router10 und 192.168.110.0/24 auf Router12 schreiben. Als nächstes stellen wir die Nachbarschaftsbeziehung zwischen Router10 und Router12 her. Wir konfigurieren Router12 auch so, dass sein nächster Hop für Router10 gesendet wird:
neighbor 192.168.110.10 next-hop-self
Das Ergebnis ist, dass Router10 die Route 9.9.9.0/24 empfängt, die sowohl von Router7 als auch von Router12 empfangen wird. Mal sehen, welche Wahl Router10 trifft:
Router10#show ip bgp BGP table version is 3, local router ID is 6.6.6.6 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, x best-external, a additional-path, c RIB-compressed, Origin codes: i - IGP, e - EGP, ? - incomplete RPKI validation codes: V valid, I invalid, N Not found Network Next Hop Metric LocPrf Weight Path *>i 9.9.9.0/24 192.168.112.12 0 100 0 45 i 192.168.107.7 0 123 45 i
Wie wir sehen können, bedeuten zwei Routen und ein Pfeil (>), dass die Route durch 192.168.112.12 ausgewählt ist.
Mal sehen, wie der Routenauswahlprozess abläuft:
- Zunächst wird nach Erhalt der Route die Verfügbarkeit des nächsten Hops überprüft. Aus diesem Grund wurde diese Route nicht weiter zur Verarbeitung übermittelt, als wir eine Route auf Router5 ohne Einstellung von Next-Hop-Self erhalten haben.
- Als nächstes kommt der Weight-Parameter. Dieser Parameter ist kein Pfadattribut (PA) und wird nicht in BGP-Nachrichten übertragen. Es wird lokal auf jedem Router konfiguriert und nur zur Manipulation der Routenauswahl auf dem Router selbst verwendet. Betrachten Sie ein Beispiel. Es ist oben gezeigt, dass Router10 die Route für 9.9.9.0/24 über Router12 (192.168.112.12) gewählt hat. Um den Wieght-Parameter zu ändern, können Sie mithilfe der Routenkarte bestimmte Routen festlegen oder dem Nachbarn mit dem folgenden Befehl Gewicht zuweisen:
neighbor 192.168.107.7 weight 200
Jetzt haben alle Routen von diesem Nachbarn ein solches Gewicht. Mal sehen, wie sich die Routenwahl nach dieser Manipulation ändert:
Router10#show bgp *Mar 2 11:58:13.956: %SYS-5-CONFIG_I: Configured from console by console BGP table version is 2, local router ID is 6.6.6.6 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, x best-external, a additional-path, c RIB-compressed, Origin codes: i - IGP, e - EGP, ? - incomplete RPKI validation codes: V valid, I invalid, N Not found Network Next Hop Metric LocPrf Weight Path *> 9.9.9.0/24 192.168.107.7 200 123 45 i * i 192.168.112.12 0 100 0 45 i
Wie Sie sehen können, ist jetzt die Route durch Router7 ausgewählt, dies hat jedoch keine Auswirkungen auf die anderen Router. - An dritter Stelle haben wir - Lokale Präferenz. Dieser Parameter ist ein bekanntes diskretionäres Attribut, was bedeutet, dass sein Vorhandensein optional ist. Dieser Parameter ist nur innerhalb eines AS gültig und wirkt sich nur für interne Nachbarn auf die Pfadwahl aus. Aus diesem Grund wird es nur in Aktualisierungsnachrichten übertragen, die für den internen Nachbarn bestimmt sind. In Update-Nachrichten für externe Nachbarn fehlt es. Daher wurde er dem bekannten Ermessensspielraum zugewiesen. Versuchen wir es auf Router5 anzuwenden. Auf Router5 sollten wir zwei Routen für 9.9.9.0/24 haben - eine über Router6 und die zweite über Router7.
Wir schauen:
Router5#show bgp BGP table version is 2, local router ID is 5.5.5.5 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, x best-external, a additional-path, c RIB-compressed, Origin codes: i - IGP, e - EGP, ? - incomplete RPKI validation codes: V valid, I invalid, N Not found Network Next Hop Metric LocPrf Weight Path *>i 9.9.9.0/24 192.168.56.6 0 100 0 45 i
Aber wie Sie eine Route durch Router6 sehen können. Und wo ist die Route durch Router7? Vielleicht existiert es nicht einmal auf Router7? Wir schauen:
Router#show bgp BGP table version is 10, local router ID is 7.7.7.7 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, x best-external, a additional-path, c RIB-compressed, Origin codes: i - IGP, e - EGP, ? - incomplete RPKI validation codes: V valid, I invalid, N Not found Network Next Hop Metric LocPrf Weight Path *>i 9.9.9.0/24 192.168.56.6 0 100 0 45 i 192.168.107.10 0 678 45 i
Seltsam, alles scheint in Ordnung zu sein. Warum wird es nicht an Router5 übertragen? Die Sache ist, dass BGP eine Regel hat:
Der Router überträgt nur die Routen, die er selbst verwendet.
Router7 verwendet die Route durch Router5, sodass die Route durch Router10 nicht übertragen wird. Zurück zur lokalen Präferenz. Lassen Sie uns die lokalen Einstellungen für Router7 festlegen und sehen, wie Router5 darauf reagiert:
route-map BGP permit 10 match ip address 10 set local-preference 250 access-list 10 permit any router bgp 123 neighbor 192.168.107.10 route-map BGP in</b>
Also haben wir eine Routenkarte erstellt, in die alle Routen fallen, und Router7 angewiesen, den Parameter Local Preference beim Empfang auf 250 zu ändern. Standardmäßig ist es 100. Wir sehen uns an, was auf Router5 passiert ist:
Router5#show bgp BGP table version is 8, local router ID is 5.5.5.5 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, x best-external, a additional-path, c RIB-compressed, Origin codes: i - IGP, e - EGP, ? - incomplete RPKI validation codes: V valid, I invalid, N Not found Network Next Hop Metric LocPrf Weight Path *>i 9.9.9.0/24 192.168.57.7 0 250 0 678 45 i
Wie wir jetzt sehen, bevorzugt Router5 die Route durch Router7. Das gleiche Bild wird auf Router6 zu sehen sein, obwohl es für ihn rentabler ist, eine Route über Router8 zu wählen. Wir fügen hinzu, dass eine Änderung dieses Parameters einen Neustart der Nachbarschaft erfordert, damit die Änderung wirksam wird. Lesen Sie hier . Mit lokalen Einstellungen aussortiert. Gehen Sie zum nächsten Parameter. - Routenpräferenz mit Next-Hop-Parameter 0.0.0.0, d. H. Lokale oder aggregierte Routen. Nach Eingabe des Netzwerkbefehls wird diesen Routen automatisch der Parameter Weight zugewiesen, der dem Maximum entspricht - 32678:
Router#show bgp BGP table version is 2, local router ID is 9.9.9.9 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, x best-external, a additional-path, c RIB-compressed, Origin codes: i - IGP, e - EGP, ? - incomplete RPKI validation codes: V valid, I invalid, N Not found Network Next Hop Metric LocPrf Weight Path *> 9.9.9.0/24 0.0.0.0 0 32768 i
- Der kürzeste Weg durch AS. Der kürzeste Parameter AS_Path ist ausgewählt. Je weniger AS die Route durchquert, desto besser ist sie. Betrachten Sie die Route zu 9.9.9.0/24 auf Router10:
Router10#show bgp BGP table version is 2, local router ID is 6.6.6.6 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, x best-external, a additional-path, c RIB-compressed, Origin codes: i - IGP, e - EGP, ? - incomplete RPKI validation codes: V valid, I invalid, N Not found Network Next Hop Metric LocPrf Weight Path * 9.9.9.0/24 192.168.107.7 0 123 45 i *>i 192.168.112.12 0 100 0 45 i
Wie Sie sehen können, hat Router10 die Route bis 192.168.112.12 ausgewählt, da der Parameter AS_Path nur 45 für diese Route und 123 und 45 im anderen Fall enthält. Intuitiv. - Der nächste Parameter ist Origin. IGP (Route erhalten mit BGP) ist besser als EGP (Route erhalten mit BGP-Vorgänger, wird jetzt nicht verwendet), und EGP ist besser als unvollständig? (auf andere Weise erhalten, zum Beispiel durch Umverteilung).
- Der nächste Parameter ist MED. Wir hatten Wieght, das nur lokal am Router funktionierte. Es gab eine lokale Präferenz, die nur innerhalb eines autonomen Systems funktionierte. Wie Sie sich vorstellen können, ist MED ein Parameter, der zwischen autonomen Systemen übertragen wird. Sehr guter Artikel zu dieser Option.
Weitere Attribute werden nicht verwendet. Wenn jedoch die beiden Routen dieselben Attribute haben, werden die folgenden Regeln verwendet:
- Wählen Sie einen Pfad durch den nächsten IGP-Nachbarn.
- Wählen Sie die älteste Route für den eBGP-Pfad.
- Wählen Sie einen Pfad durch den Nachbarn mit der niedrigsten BGP-Router-ID.
- Wählen Sie einen Pfad durch den Nachbarn mit der niedrigsten IP-Adresse.
Betrachten Sie nun das Problem der BGP-Konvergenz.Mal sehen, was passiert, wenn beispielsweise Router6 die Route 9.9.9.0/24 durch Router9 verliert. Schalten Sie die Gi0 / 1 Router6-Schnittstelle aus, die sofort erkennt, dass die BGP-Sitzung mit Router8 getrennt und der Nachbar weg ist, was bedeutet, dass die von ihr empfangene Route ungültig ist. Router6 sendet sofort Aktualisierungsnachrichten, in denen das Netzwerk 9.9.9.0/24 im Feld Zurückgezogene Routen angezeigt wird. Sobald Router5 eine ähnliche Nachricht empfängt, senden Sie diese an Router7. Da Router7 jedoch eine Route über Router10 hat, sendet er sofort ein Update mit einer neuen Route als Antwort. Wenn der Sturz des Nachbarn vom Status der Schnittstelle nicht erkannt werden kann, müssen Sie warten, bis der Hold-Timer ausgelöst wird.
Konföderation.Wenn Sie sich erinnern, haben wir darüber gesprochen, dass Sie häufig eine vollständig verbundene Topologie verwenden müssen. Bei einer großen Anzahl von Routern in einem AS kann dies zu großen Problemen führen. Um dies zu vermeiden, müssen Konföderationen verwendet werden. Ein AS ist in mehrere Unter-AS unterteilt, sodass er ohne die Notwendigkeit einer vollständig verbundenen Topologie arbeiten kann.

Hier ist ein Link zu diesem
Labor und
hier ist die Konfiguration für GNS3.
, AS 2345 , Confederation, . . AS 2345,
laForge Picard Data Worf ,
Crusher . ,
laForge ,
Crusher Worf -,
Data .
Route-Reflector . AS 2345 4 sub-AS ( 2,3,4,5) , .
.
Quellen:
- CCIE Routing and Switching v5.0 Official Cert Guide, Volume 2, Fifth Edition, Narbik Kocharians, Terry Vinson.
- xgu.ru
- GNS3Vault .