Multitopologie-Routing in cRPD
Multitopologie in cRPD
cRPD ermöglicht BGP die Funktionalität mehrerer RIBs zur Unterstützung von Multitopologie-Routing (MTR) basierend auf der Routing-Richtlinie mit Linux-FIBs (routes in forwarding plane). Die Anwendungen können die erforderliche Routing-Tabelle basierend auf der Routing-Richtlinie aus der Linux FIB in cRPD für verschiedene Datenverkehrstypen auswählen. Jeder Datenverkehrstyp wird durch eine Topologie definiert, die zum Erstellen einer neuen Routing-Tabelle für diese Topologie verwendet wird. Jede Topologie verwendet die einheitliche Steuerungsebene, um Routing-Entscheidungen für den Datenverkehr zu treffen, der mit dieser Topologie verbunden ist. Außerdem verfügt jede Topologie über eine eigene Weiterleitungstabelle und damit über eine dedizierte Weiterleitungsebene für jede Topologie.
Service Provider und Unternehmen können Multitopologie-Routing (MTR) verwenden, um den Datenverkehrsfluss in einem Netzwerk zu optimieren. MTR kann mit direkten und statischen Routen, IS-IS, OSPF und BGP verwendet werden. In einem Netzwerk, das mehrere Datenverkehrstypen trägt, müssen Sie häufig verschiedene Arten von Anwendungsdatenverkehr über mehrere Links leiten, abhängig von ihren Verbindungsmerkmalen. Communitys werden für BGP beim Exportieren von Routen in die Multitopologie verwendet. OSPFv3 unterstützt MTR nicht. MTR erkennt IGP-Routen und ist in der Lage, BGP-Routen gegen benutzerdefinierte Topologien mit statischen und OSPF-Routen aufzulösen.
Sie können separate Topologien so konfigurieren, dass sie bei Bedarf dieselben Netzwerkverbindungen gemeinsam nutzen. MTR verwendet eine Kombination aus Filtern der Steuerungsebene (Routing) und der Weiterleitungsebene.
MTR bietet die Möglichkeit, Weiterleitungstabellen basierend auf den aufgelösten Einträgen in den Routing-Tabellen für die von Ihnen erstellten Topologien zu generieren. MTR und Weiterleitung sind nur auf der Master-Routing-Instanz verfügbar. Eine dedizierte RIB wird zum Speichern der Multitopologie-Routen erstellt. BGP-Multipath ist in Topologien nicht aktiviert.
Wenn Routing-Topologien unter routing-optionskonfiguriert werden, wird für jede Topologie eine neue Routing-Tabelle erstellt. Jedes Routingprotokoll erstellt eine Routing-Tabelle basierend auf dem Namen der Topologie, dem Instanznamen und dem Zweck der Tabelle.
Beispiel: Konfigurieren von Multitopologie-Routing mit BGP in cRPD
In diesem Beispiel wird gezeigt, wie Sie Community-basierte Mehrfachtopologien mit BGP in cRPD konfigurieren und den Datenverkehr mithilfe von Multitopologie-Routing (MTR) über Netzwerkpfade übertragen.
Anforderungen
Für dieses Beispiel ist die folgende Softwareversion erforderlich:
-
cRPD 19.4R1 oder höher.
Überblick
Die Multitopologie-Routing-Unterstützung für BGP basiert auf dem Community-Wert einer BGP-Route. Diese Konfiguration bestimmt die Zuordnung zwischen Topologie und einem oder mehreren Community-Werten und füllt die Topologie-Routing-Tabellen auf. Eintreffende BGP-Updates, die einen übereinstimmenden Community-Wert aufweisen, werden in der zugeordneten Topologie-Routing-Tabelle repliziert.
Konfigurieren Sie die Topologien mit der BGP-Familie inet , und überprüfen Sie die BGP-Importroute in Topologie-RIB (auch als Routing-Tabelle bezeichnet). Für jede Topologie muss eine Liste von Community-Objekten bereitgestellt werden, damit die Routing-Software eine interne ribgroup und die entsprechende sekundäre Tabellenimportrichtlinie einrichten kann.
Topologie
Abbildung 1 zeigt die Topologie für die Konfiguration des Multitopologie-Routings mit BGP.
Konfiguration
So konfigurieren Sie Multitopologie-Routing für BGP:
CLI Schnellkonfiguration
set routing-options topologies family inet topology red table-id 40
set routing-options topologies family inet topology blue table-id 41
set routing-options topologies family inet topology green table-id 42
set routing-options router-id 10.2.2.2
set routing-options autonomous-system 65500
set routing-options rib :red.inet.0 static route 10.1.1.1/32 next-hop 10.15.0.2
set routing-options rib :green.inet.0 static route 10.1.1.1/32 next-hop 10.13.0.2
set routing-options rib :blue.inet.0 static route 10.1.1.1/32 next-hop 10.17.0.2
set protocols bgp group ibgp-app-rr-ser type internal
set protocols bgp group ibgp-app-rr-ser traceoptions file bgp size 100m
set protocols bgp group ibgp-app-rr-ser traceoptions flag update
set protocols bgp group ibgp-app-rr-ser traceoptions flag state
set protocols bgp group ibgp-app-rr-ser local-address 10.77.1.1
set protocols bgp group ibgp-app-rr-ser family inet unicast add-path send path-count 6
set protocols bgp family inet unicast topology red community 1:1
set protocols bgp family inet unicast topology green community 1:2
set protocols bgp family inet unicast topology blue community 1:3
Konfiguration von BGP über Multitopologie-Routing
Schritt-für-Schritt-Anleitung
-
Konfigurieren Sie mehrere Topologien.
[edit routing-options topologies] user@crpd# set family inet topology red table-id 40 user@crpd# set family inet topology blue table-id 41 user@crpd# set family inet topology green table-id 42 -
Konfigurieren Sie statische Routen.
[edit routing-options] user@crpd# set router-id 10.2.2.2 user@crpd# set autonomous-system 65500 user@crpd# set rib :red.inet.0 static route 10.1.1.1/32 next-hop 10.15.0.2 user@crpd# set rib :green.inet.0 static route 10.1.1.1/32 next-hop 10.13.0.2 user@crpd# set rib :blue.inet.0 static route 10.1.1.1/32 next-hop 10.17.0.2 -
Konfigurieren Sie BGP-Gruppenparameter, um die passende Route in die Topologie-Routing-Tabellen zu importieren. BGP verwendet den Ziel-Community-Bezeichner, um die erlernten Routen in der entsprechenden Routing-Tabelle zu installieren.
[edit protocols bgp] user@crpd# set group ibgp-app-rr-ser type internal user@crpd# set group ibgp-app-rr-ser traceoptions file bgp size 100m user@crpd# set group ibgp-app-rr-ser traceoptions flag update user@crpd# set group ibgp-app-rr-ser traceoptions flag state user@crpd# set group ibgp-app-rr-ser local-address 10.77.1.1 user@crpd# set group ibgp-app-rr-ser family inet unicast add-path send path-count 6 user@crpd# set family inet unicast topology red community 1:1 user@crpd# set family inet unicast topology green community 1:2 user@crpd# set family inet unicast topology blue community 1:3
Befund
Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration, indem Sie die show protocols bgp Befehle und show routing-options eingeben. Wenn in der Ausgabe nicht die beabsichtigte Konfiguration angezeigt wird, wiederholen Sie die Anweisungen in diesem Beispiel, um die Konfiguration zu korrigieren.
show routing-options
topologies {
family inet {
topology red {
table-id 40;
}
topology blue {
table-id 41;
}
topology green {
table-id 42;
}
}
}
rib :red.inet.0 {
static {
route 10.1.1.1/32 next-hop 10.15.0.2;
}
}
rib :green.inet.0 {
static {
route 10.1.1.1/32 next-hop 10.13.0.2;
}
}
rib :blue.inet.0 {
static {
route 10.1.1.1/32 next-hop 10.17.0.2;
}
}
user@crpd# show protocols bgp
family inet {
unicast {
topology red {
community 1:1;
}
topology green {
community 1:2;
}
topology blue {
community 1:3;
}
}
group ibgp-app-rr-ser {
type internal;
traceoptions {
file bgp size 100m;
flag update;
}
local-address 10.77.1.1;
family inet {
unicast {
add-path {
send {
path-count 6;
}
}
}
}
}
}
Wenn Sie mit der Konfiguration des Geräts fertig sind, geben Sie den Befehl aus dem commit Konfigurationsmodus ein.
Verifizierung
Überprüfen von BGP-Routen
Zweck
So überprüfen Sie die übereinstimmenden BGP-Routen:
Aktion
Geben Sie im Betriebsmodus den show route protocol bgp all table folgenden Befehl ein:
user@crpd> show route protocol bgp all table
:red.inet.0: 11 destinations, 11 routes (8 active, 0 holddown, 3 hidden)
+ = Active Route, - = Last Active, * = Both
10.99.9.1/32 [BGP/170] 00:05:07, localpref 100, from 10.49.114.118
AS path: I, validation-state: unverified
> to 10.15.0.2 via ens4f1
10.99.9.2/32 [BGP/170] 00:05:07, localpref 100, from 10.49.114.118
AS path: I, validation-state: unverified
> to 10.15.0.2 via ens4f1
10.99.9.5/32 [BGP/170] 00:05:07, localpref 100, from 10.49.114.118
AS path: I, validation-state: unverified
> to 10.15.0.2 via ens4f1
:green.inet.0: 10 destinations, 10 routes (8 active, 0 holddown, 2 hidden)
+ = Active Route, - = Last Active, * = Both
10.9.9.1/32 [BGP/170] 00:05:07, localpref 100, from 10.49.114.118
AS path: I, validation-state: unverified
> to 10.13.0.2 via ens4f1
10.9.9.4/32 [BGP/170] 00:05:07, localpref 100, from 10.49.114.118
AS path: I, validation-state: unverified
> to 10.13.0.2 via ens4f1
:blue.inet.0: 11 destinations, 11 routes (8 active, 0 holddown, 3 hidden)
+ = Active Route, - = Last Active, * = Both
10.99.9.3/32 [BGP/170] 00:05:07, localpref 100, from 10.49.114.118
AS path: I, validation-state: unverified
> to 10.17.0.2 via ens4f1
10.99.9.4/32 [BGP/170] 00:05:07, localpref 100, from 10.49.114.118
AS path: I, validation-state: unverified
> to 10.17.0.2 via ens4f1
10.99.9.5/32 [BGP/170] 00:05:07, localpref 100, from 10.49.114.118
AS path: I, validation-state: unverified
> to 10.17.0.2 via ens4f1
Geben Sie im Betriebsmodus den show route protocol bgp all table inet.0 folgenden Befehl ein:
user@crpd> show route protocol bgp all table inet.0
inet.0: 20 destinations, 20 routes (20 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
10.99.9.1/32 *[BGP/170] 00:00:14, localpref 100, from 10.49.114.118
AS path: I, validation-state: unverified
> to 1.15.0.2 via ens4f1
10.99.9.2/32 *[BGP/170] 00:00:14, localpref 100, from 10.49.114.118
AS path: I, validation-state: unverified
> to 1.15.0.2 via ens4f1
10.99.9.3/32 *[BGP/170] 00:00:14, localpref 100, from 10.49.114.118
AS path: I, validation-state: unverified
> to 1.15.0.2 via ens4f1
10.99.9.4/32 *[BGP/170] 00:00:14, localpref 100, from 10.49.114.118
AS path: I, validation-state: unverified
> to 1.15.0.2 via ens4f1
10.99.9.5/32 *[BGP/170] 00:00:14, localpref 100, from 10.49.114.118
AS path: I, validation-state: unverified
> to 1.15.0.2 via ens4f1
Bedeutung
Sie können die BGP-Abgleichsrouten, die in Routing-Tabellen installiert sind, und wann die Routen ohne Community-Ziele verfügbar sind, nur in der inet.0 Routing-Tabelle anzeigen.