Die 8 häufigsten BGP-Communities
Was ist eine BGP-Community?
Eine BGP-Community ist ein optionales, transitives BGP-Attribut, das erkannt und an andere BGP-Peers übergeben wird. Möglicherweise sehen Sie eine BGP-Community als Tag, das an die BGP-Routen angehängt ist, die zwischen zwei BGP-Peers ausgetauscht werden.
Schauen wir uns zunächst an, wie eine auf eine Route festgelegte BGP-Community in einer Aktualisierungsnachricht aussieht. Betrachten Sie dieses einfache Netzwerk, in dem R111 die 10.10.10.0 / 24-Route an den AS 11 BGP-Peer weitergibt. R111 setzt die Community 1:110 auf den Routen, die sie an R11 bewirbt.
Wenn wir uns die BGP-Aktualisierungsnachricht von R111 (1.1.3.2) in Richtung R11 (1.1.3.1) ansehen, können wir mehrere BGP-Attribute zusammen mit ihrem Wert sehen. Eines dieser BGP-Attribute ist die Community. Denken Sie daran, dass dieses Attribut optional ist und angezeigt wird, da es vor der Ankündigung auf der Route festgelegt wurde:
Wenn wir die Route auf R11 überprüfen (da R11 die Route akzeptiert hat und auch keine Operation in der Community ausführt), können wir die Route mit der 1:110-Community sehen:
R11#show ip bg 10.10.10.0/24BGP routing table entry for 10.10.10.0/24, version 2Paths: (1 available, best #1, table default) Advertised to update-groups: 1 Refresh Epoch 1 111 1.1.3.2 from 1.1.3.2 (10.10.10.1) Origin IGP, metric 0, localpref 100, valid, external, best Community: 1:110 rx pathid: 0, tx pathid: 0x0R11#
Nachdem Sie nun gesehen haben, wie eine BGP-Community in einer Aktualisierungsnachricht aussieht, beginnen wir mit der Untersuchung der fortgeschritteneren Konzepte, die dieses Attribut umgeben.
Erweiterte BGP-Community-Konzepte
Eine Community ist ein 32-Bit-Wert, der in zwei 16-Bit-Abschnitte unterteilt ist. Die ersten 16 Bits codieren die AS-Nummer, aus der die Community stammt, und die letzten 16 Bits stellen eine eindeutige Nummer dar, die vom AS zugewiesen wurde. Da jede AS-Nummer einzigartig ist, ist auch jede Community im Internet einzigartig. Dies bedeutet, dass eine AS mit der ASN 9999 (die in Hex 0x270F ist) Communities im Bereich 0x270F0000 – 0x270FFFFF haben kann.
Bekannte BGP-Communities
Im Folgenden sind einige bekannte Communities aufgeführt, die von allen Community-fähigen BGP-Implementierungen erkannt werden müssen.
Community ohne Werbung
Wenn eine Community ohne Werbung an eine Route angehängt ist, gibt der BGP-Sprecher die Route nicht an interne oder externe BGP-Peers weiter.
Das folgende Beispiel zeigt eine Route ohne Werbung (10.10.10.0/24), die von R1 nicht an die Peers R11, R12, R111 beworben wird.
No-Export Community
Wenn eine No-Export Community an eine Route angehängt ist, gibt der Router die Route nicht an externe Peers weiter – nur an interne Peers.
Das folgende Beispiel zeigt eine Route ohne Export (10.10.10.0/24), die nicht von R1, R11 oder R12 an ihren externen Peer R111 beworben wird.
In diesem speziellen Fall wird R1 die Route nicht zu R111, sondern nur zu R11 und R12 bekannt geben, da es sich bei diesen beiden um interne BGP-Peers handelt. Anschließend geben R11 und R12 keine der beiden Routen an R111 weiter, da es sich um einen externen BGP-Peer handelt.
Local AS Community
Um BGP-Routingschleifen zu vermeiden, gibt es eine wichtige Regel bezüglich der internen BGP-Nachbarn: Ein IBGP-Nachbar kann keine Route zu einem IBGP-Nachbarn ankündigen, wenn er diese Route von einem anderen IBGP-Nachbarn erhalten hat.
Das folgende Beispiel zeigt eine lokale AS-Route (10.10.10.0/24), die nicht zwischen IBGP-Nachbarn (R11 und R111) innerhalb des lokalen AS angekündigt wird.
Genauer gesagt wirbt R11 für die Route zu R22, aber R22 wirbt nicht für die Route zu R111, basierend auf der oben genannten Regel. Damit R111 die Route hat, gibt es mehrere Lösungen, z. B. das Erstellen eines vollständigen Netzes von IBGP-Sitzungen zwischen den Routern von AS11 oder das Aufteilen des AS 11 in einen Sub-AS innerhalb einer Konföderation.
Die Welt außerhalb von AS11 kennt AS 1000 und AS1001 nicht. Auf diese Weise kann R111 die 10.10.10.0 / 24-Route empfangen, ohne dass ein BGP-Peering mit vollem Mesh erforderlich ist. Die Local-AS-Community kündigt keine Routen außerhalb der Sub-AS an.
Graceful Shutdown Community
Die Graceful_SHUTDOWN (65535:0) Community wird verwendet, um Pfade, die ein Router verwenden könnte, reibungslos herunterzufahren, wenn sein Peer-Router absichtlich heruntergefahren werden soll. Angenommen, R111 verwendet R11, um das Subnetz 10.10.10.0 / 24 zu erreichen, aber R11 wird für einen Neustart heruntergefahren, um ein Upgrade durchzuführen:
Sobald R11 für diese Community wirbt, reagiert R111, indem der Datenverkehr mit minimalen Auswirkungen auf R12 umgeschaltet wird:
Erweiterte Community
Eine erweiterte Community ist ein 8-Byte-Wert, der in zwei Hauptabschnitte unterteilt ist:
- Erste 2 Bytes: Gibt den Community-Typ an
- Letzte 6 Bytes: Bietet eindeutige Informationen, die für den Community-Typ spezifisch sind
Eine erweiterte Community verfügt über drei Felder: Typ, Administrator, zugewiesene Nummer (Typ:administrator: zugewiesene Nummer). Basierend auf dem Wert des höherwertigen Bytes im Feld Typ kann das Administratorfeld eine AS- oder eine IP-Adresse sein.
Die bekannteste Anwendung für erweiterte Communities ist MPLS-VPN, das zwei erweiterte Communities verwendet:
- Route Target Community: Identifiziert die Router, die einen bestimmten Satz von Routen empfangen können.
- Route Herkunft Gemeinschaft: Identifiziert die Router, die einen bestimmten Satz von Routen in BGP einfügen.
Eine virtuelle Routing- und Weiterleitungstabelle (VRF) ist eine virtuelle Routingtabelle, die über eigene Routingrichtlinien verfügen kann, die von der globalen Routingtabelle oder von anderen VRFs getrennt sind. Grundsätzlich können Sie mehrere Standorte eines Kunden verbinden und nur für diesen Kunden eine separate Routingtabelle (VRF) im gesamten Netzwerk haben und Routingrichtlinien implementieren, die sich von den Routingrichtlinien eines anderen Kunden unterscheiden.
Diese Trennung ist durch Multiprotokoll-BGP-Erweiterungen und MPLS möglich.
Route Target Community
Die Route Target Community wird in MPLS VPN-Umgebungen verwendet, um zwei Kunden-Routing-Tabellen zu trennen, wie im folgenden Diagramm gezeigt:
In diesem speziellen Fall ist VRF Customer RED nur auf R1 und R12 und VRF Customer BLUE nur auf R11 und R22 vorhanden, sie könnten jedoch auf allen vier Routern vorhanden gewesen sein.
Wenn eine Route über BGP aus VRF Red exportiert wird, wird der Route über Export das Route-Target 100:100 zugewiesen. Wenn die Route R12 erreicht, importiert sie die Route von R1, sodass die mit R1 und R12 verbundenen Sites kommunizieren können.
Route Origin Community
In einer MPLS-VPN-Umgebung wird die Route origin Community verwendet, um zu identifizieren, woher Routen stammen, sodass eine erneute Werbung für diese Site vermieden wird.
Wenn PE1 in diesem Fall die Route von CE1 empfängt, hängt es neben dem Routenziel, das an die Route angehängt ist (mithilfe des Exports), auch den Routenursprungort an.
Die Route erreicht PE2, aber PE2 kündigt sie CE2 nicht an, da es weiß, dass sie von der Site stammt.
Große Communities
Eine große Community ist eine 12-Byte-BGP-Community, die entwickelt wurde, als die 4-Byte-AS zugewiesen wurde. Da jede der Standard- oder erweiterten Communities 2-Byte-Werte für die AS verwendet, würde ein 4-Byte-AS nicht in den Standard-2-Byte-Wert passen.
The Large community is displayed as follows:
32-bit-ASN:32-bit-value:32-bit-value.
BGP Bester Pfadauswahlalgorithmus
Wie Sie gesehen haben, haben BGP-Communities mehrere Anwendungen. Sie sind wichtig, um Routen zu markieren, den Datenverkehr zu manipulieren und verschiedene Aktionen für die BGP-Attribute von Routen auszuführen, die bestimmten Communities entsprechen.
Wenn ein Router bestimmen muss, welcher von vielen Pfaden zu einem bestimmten Ziel führt, muss er dem BGP Best Path Selection-Algorithmus folgen, der BGP-Attribute auswertet. Sie können mehr über den besten BGP-Pfadauswahlalgorithmus in unserem vorherigen Artikel BGP-Attribute lesen.
BGP-Community-Beispiele
Dieser Abschnitt zeigt, wie eine an eine Route angehängte BGP-Community den Upload- und Download-Datenverkehr von und zu Hosts von dieser Route aus beeinflussen kann.
Upload
Es gibt mehrere Möglichkeiten, den Upload-Verkehrspfad zu beeinflussen, am häufigsten wird jedoch die lokale Präferenz verwendet.
Wie Sie im Artikel BGP-Attribute gesehen haben, ist es umso wahrscheinlicher, dass der Pfad vom BGP-Algorithmus für die beste Pfadauswahl ausgewählt wird, je höher der Wert der lokalen Präferenz für eine Route ist.
In der folgenden Abbildung sind R11 und R12 so konfiguriert, dass:
- Legen Sie die lokale Voreinstellung auf 205 fest, wenn sie eine Route mit Community 1:205 erhalten.
- Setzen Sie die lokale Voreinstellung auf 210, wenn sie eine Route mit Community 1:210 erhalten.
Beide Router geben die Routen an R1 weiter, das entscheiden muss, welchen Pfad verwendet werden soll. In diesem Fall verwendet R1 den Pfad von R11, was bedeutet, dass der Datenverkehr folgendermaßen fließt:
Router-Ausgabe hochladen
R1#sh ip bgp 10.10.10.0BGP routing table entry for 10.10.10.0/24, version 2Paths: (2 available, best #1, table default) Not advertised to any peer Refresh Epoch 1 111 1.1.3.2 (metric 20) from 1.1.1.2 (1.1.100.11) Origin IGP, metric 0, localpref 210, valid, internal, best Community: 1:210 rx pathid: 0, tx pathid: 0x0 Refresh Epoch 1 111 1.1.4.2 (metric 20) from 1.1.2.2 (1.1.100.12) Origin IGP, metric 0, localpref 205, valid, internal Community: 1:205 rx pathid: 0, tx pathid: 0R1#
Download
Eine gängige Methode zur Beeinflussung Ihres Download-Datenverkehrspfads (oder der Art und Weise, wie andere Datenverkehr an Ihren AS senden) besteht darin, AS_PATH für Ihren AS AS_PATH . Je länger der AS_PATH ist, desto unwahrscheinlicher ist es, dass dieser Pfad vom besten Pfadauswahlalgorithmus ausgewählt wird.
In der nächsten Abbildung bevorzugt AS1, dass von AS111 weitergeleiteter Datenverkehr von R12 gesendet wird.
AS 111 (wegen R111) hat eine Richtlinie, die besagt, dass, wenn AS 1 ein Präfix mit der Community 1 ankündigt:1, führen Sie eine AS_PATH voranstellen. Daher setzt R111 den AS_PATH der Route als . Wenn die Route mit dem Verhältnis 1:3 kommt, führen Sie drei AS_PATH prepends () .
R111 empfängt die beiden Pfade und muss auf der Grundlage der an diese Pfade gebundenen Gemeinschaft handeln. Da es die Route von R12 bevorzugt, fließt der Verkehr wie folgt:
Router-Ausgabe herunterladen
R111#sh ip bgp 10.10.10.0/24BGP routing table entry for 10.10.10.0/24, version 4Paths: (2 available, best #2, table default) Advertised to update-groups: 6 Refresh Epoch 2 1 1 1 1 1.1.3.1 from 1.1.3.1 (1.1.100.11) Origin IGP, metric 100, localpref 100, valid, external Community: 1:3 rx pathid: 0, tx pathid: 0 Refresh Epoch 2 1 1 1.1.4.1 from 1.1.4.1 (1.1.100.12) Origin IGP, localpref 100, valid, external, best Community: 1:1 rx pathid: 0, tx pathid: 0x0R111#
Zusammenfassung
In diesem Artikel haben wir die gängigsten BGP-Communities, die für das BGP-Community-Attribut verfügbar sind, und ihre Verwendung zur Weiterleitung des Datenverkehrs erörtert. Obwohl BGP-Communities optionale Attribute sind, sind sie sowohl für das interne als auch für das externe Traffic-Routing leistungsfähig. Sie können sie sogar verwenden, um die Verkehrsumleitung für geplante Neustarts und Herunterfahren vorzubereiten.
Weitere Informationen zu BGP-Konzepten finden Sie in unserem Netzwerkadministratorhandbuch.
Leave a Reply