Border Gateway Protokoll

Border Gateway Protokoll (BGP) ist standardisiert Außenprotokoll zum Austausch entworfen Routing und Erreichbarkeitsinformationen unter Autonome Systeme (As) auf der Internet.[1] BGP wird als a klassifiziert Pfadvektor-Routing-Protokoll,[2] Und es macht Routing Entscheidungen basierend auf Pfaden, Netzwerkrichtlinien oder von a konfigurierten Regelsätzen Netzwerkadministrator.

BGP zum Routing innerhalb eines autonomen Systems wird genannt Innengrenzeprotokoll, Interne BGP (IBGP). Im Gegensatz dazu wird die Internetanwendung des Protokolls genannt Außengrenzprotokoll, Externe BGP (EBGP).

Geschichte

Das Border Gateway-Protokoll wurde 1989 von Ingenieuren auf der Rückseite von "Drei Ketchup-Flecken-Servietten" skizziert und ist immer noch bekannt als die Drei-Napkin-Protokoll.[3] Es wurde erstmals 1989 in RFC 1105 beschrieben und seit 1994 im Internet verwendet.[4] IPv6 BGP wurde zuerst in definiert in RFC 1654 1994 und es wurde verbessert zu RFC2283 In 1998.

Die aktuelle Version von BGP ist Version 4 (BGP4), die 2006 als RFC 4271 veröffentlicht wurde.[5] RFC 4271 korrigierte Fehler, geklärte Unklarheiten und aktualisierte die Spezifikation mit gemeinsamen Branchenpraktiken. Die Hauptverstärkung war die Unterstützung für Classless Inter-Domain Routing (CIDR) und Verwendung von Routenaggregation zu verringern die Größe von Routing -Tabellen. Der neue RFC ermöglicht BGP4, eine breite Palette von zu tragen IPv4 und IPv6 "Adressfamilien". Es wird auch als Multiprotokollverlängerungen bezeichnet, das Multiprotocol BGP (MP-BGP) ist.

Betrieb

BGP -Nachbarn, Peers genannt, werden durch manuelle Konfiguration untergebracht Router a TCP Sitzung auf Hafen 179. Ein BGP-Lautsprecher sendet alle 30 Sekunden 19-Byte-Keep-Alive-Nachrichten (Protokoll-Standardwert, abstimmbar), um die Verbindung aufrechtzuerhalten.[6] Unter den Routing -Protokollen ist BGP einzigartig bei der Verwendung von TCP als Transportprotokoll.

Wenn BGP zwischen zwei Kollegen im selben läuft Autonomes System (As), es wird als bezeichnet als Interne BGP (IBGP oder Innengrenzeprotokoll). Wenn es zwischen verschiedenen autonomen Systemen läuft, heißt es Externe BGP (EBGP oder Außengrenzprotokoll). Router an der Grenze von einem als Austausch von Informationen mit einem anderen, wie heißt es heißt Grenze oder Edge Router oder einfach EBGP -Kollegen und sind in der Regel direkt verbunden IBGP -Kollegen kann durch andere Zwischenrouter miteinander verbunden werden. Andere Bereitstellung Topologien sind ebenfalls möglich, wie zum Beispiel das Ausführen von EBGP -Spitzen in a VPN Tunnel, sodass zwei entfernte Websites sicher und isoliertes Routing -Informationen austauschen können.

Der Hauptunterschied zwischen IBGP und EBGP Peering besteht darin, dass Routen, die von einem Peer empfangen wurden, typischerweise standardmäßig an andere Kollegen ausgegeben werden:

  • Neue Routen, die von einem EBGP-Peer gelernt werden, werden an alle IBGP- und EBGP-Peers neu geführt.
  • Neue Routen von einem IBGP-Peer werden nur an alle EBGP-Kollegen nachgezogen.

Diese Routenpropagationsregeln erfordern effektiv, dass alle IBGP-Kollegen in einem AS in einem vollständigen Netz mit IBGP-Sitzungen miteinander verbunden sind.

Wie Routen vermehrt werden, können im Detail über die kontrolliert werden Routenkarten Mechanismus. Dieser Mechanismus besteht aus einer Reihe von Regeln. Jede Regel beschreibt für Routen, die einigen bestimmten Kriterien entsprechen, welche Maßnahmen ergriffen werden sollten. Die Aktion könnte darin bestehen, die Route fallen zu lassen, oder es könnte sein, dass einige Attribute der Route geändert werden Routing-Tabelle.

Erweiterungsverhandlungen

BGP -Zustandsmaschine

Während des Peering -Handschlags können BGP -Sprecher, wenn offene Nachrichten ausgetauscht werden, optionale Funktionen der Sitzung aushandeln.[7] einschließlich Multiprotokollverlängerungen[8] und verschiedene Wiederherstellungsmodi. Wenn die Multiprotokollverlängerungen gegen BGP zum Zeitpunkt der Erstellung ausgehandelt werden, kann der BGP -Sprecher die Informationen zur Erreichbarkeit von Netzwerkschichten (NLRI) mit einem Adressfamilienpräfix auswirken. Diese Familien umfassen die IPv4 (Standard), IPv6, IPv4/IPv6 Virtuelle private Netzwerke und Multicast -BGP. Zunehmend wird BGP als verallgemeinertes Signalprotokoll verwendet, um Informationen über Routen zu übertragen, die möglicherweise nicht Teil des globalen Internets wie VPNs sind.[9]

Um Entscheidungen in seinen Operationen mit Kollegen zu treffen, verwendet ein BGP -Peer einen einfachen endliche Zustandsmaschine (FSM) Das besteht aus sechs Staaten: Leerlauf; Verbinden; Aktiv; OpenSent; Openconfirm; und etabliert. Für jede Peer-to-Peer-Sitzung verwaltet eine BGP-Implementierung eine staatliche Variable, in der erfasst, in welcher dieser sechs Staaten sich die Sitzung befindet. Die BGP definiert die Nachrichten, die jeder Peer austauschen sollte, um die Sitzung von einem Zustand in einen anderen zu ändern.

Der erste Zustand ist der Leerlaufzustand. Im Leerlaufzustand initialisiert BGP alle Ressourcen, lehnt alle eingehenden BGP -Verbindungsversuche ab und initiiert eine TCP -Verbindung zum Peer. Der zweite Zustand ist eine Verbindung. Im Connect -Status wartet der Router darauf, dass die TCP -Verbindung falls erfolgreich abgeschlossen ist und in den openszierenden Zustand übergeht. Wenn er nicht erfolgreich ist, startet es den Sinektretretrie -Timer und übergeht nach Ablauf zum aktiven Zustand. Im aktiven Status setzt der Router den Sinctretry -Timer auf Null zurück und kehrt in den Verbindungsstatus zurück. Im OpenSent -Status sendet der Router eine offene Nachricht und wartet auf eine Gegenleistung, um zum OpenConfirm -Staat zu wechseln. Keepalive -Nachrichten werden ausgetauscht, und nach erfolgreichem Empfang wird der Router in den etablierten Zustand gebracht. Im etablierten Zustand kann der Router senden und empfangen: Keepalive; Aktualisieren; und Benachrichtigungsnachrichten an und von seinem Kollegen.

  • Leerlaufzustand:
    • Müll alle eingehenden BGP -Verbindungen ab.
    • Beginnen Sie die Initialisierung von Ereignisauslöschern.
    • Initiiert eine TCP -Verbindung mit seinem konfigurierten BGP -Peer.
    • Hört eine TCP -Verbindung von seinem Peer an.
    • Ändert seinen Zustand in Verbindung.
    • Wenn ein Fehler in einem Zustand des FSM -Prozesses auftritt, wird die BGP -Sitzung sofort beendet und in den Leerlaufzustand zurückgegeben. Einige der Gründe, warum ein Router nicht aus dem Leerlaufzustand voranschreitet, sind:
      • TCP -Port 179 ist nicht geöffnet.
      • Ein zufälliger TCP -Port über 1023 ist nicht geöffnet.
      • Peer -Adresse auf beiden Router fälschlicherweise konfiguriert.
      • Als Nummer fälschlicherweise auf beiden Router konfiguriert.
  • Status verbinden:
    • Wartet auf eine erfolgreiche TCP -Verhandlung mit Peer.
    • BGP verbringt nicht viel Zeit in diesem Zustand, wenn die TCP -Sitzung erfolgreich festgelegt wurde.
    • Sendet eine offene Nachricht an Peer und ändert den Status an openSent.
    • Wenn ein Fehler auftritt, wechselt BGP in den aktiven Zustand. Einige Gründe für den Fehler sind:
      • TCP -Port 179 ist nicht geöffnet.
      • Ein zufälliger TCP -Port über 1023 ist nicht geöffnet.
      • Peer -Adresse auf beiden Router fälschlicherweise konfiguriert.
      • Als Nummer fälschlicherweise auf beiden Router konfiguriert.
  • Aktiver Zustand:
    • Wenn der Router keine erfolgreiche TCP -Sitzung festlegen konnte, landet er im aktiven Zustand.
    • BGP FSM versucht eine weitere TCP -Sitzung mit dem Peer neu und sendet bei Erfolg eine offene Nachricht an den Peer.
    • Wenn es wieder erfolglos ist, wird der FSM auf den Leerlaufstatus zurückgesetzt.
    • Wiederholte Fehler können zu einem Router -Radfahren zwischen den Leerlauf- und den aktiven Zuständen führen. Einige der Gründe dafür sind:
      • TCP -Port 179 ist nicht geöffnet.
      • Ein zufälliger TCP -Port über 1023 ist nicht geöffnet.
      • BGP -Konfigurationsfehler.
      • Netzüberlastung.
      • Flapping -Netzwerkschnittstelle.
  • OpenSent -Zustand:
    • BGP FSM hört eine offene Nachricht von seinem Peer zu.
    • Sobald die Nachricht empfangen wurde, überprüft der Router die Gültigkeit der offenen Nachricht.
    • Wenn es einen Fehler gibt, liegt dies daran Angeben, warum der Fehler aufgetreten ist.
    • Wenn kein Fehler vorliegt, wird eine Keepalive -Nachricht gesendet, verschiedene Timer festgelegt und der Zustand in openConfirm geändert.
  • OpenConfirm State:
    • Der Peer hört auf eine Keepalive -Nachricht von seinem Peer zu.
    • Wenn eine Keepalive -Nachricht empfangen wird und vor der Empfang des Keepalive kein Timer abgelaufen ist, wechselt BGP in den etablierten Zustand.
    • Wenn ein Timer vor einer Keepalive -Nachricht abläuft oder wenn eine Fehlerbedingung auftritt, wechselt der Router zurück in den Leerlaufzustand.
  • Etablierter Staat:
    • In diesem Zustand senden die Kollegen Aktualisierungsnachrichten, um Informationen über jede Route aus dem BGP -Peer auszutauschen.
    • Wenn in der Aktualisierungsnachricht ein Fehler vorliegt, wird eine Benachrichtigungsmeldung an den Peer gesendet, und BGP wechselt zurück in den Leerlaufzustand.

Router -Konnektivitäts- und Lernrouten

In der einfachsten Anordnung müssen alle Router innerhalb eines einzelnen AS und an BGP -Routing in einem vollständigen Netz konfiguriert werden: Jeder Router muss als Peer für jeden anderen Router konfiguriert werden. Dies verursacht Skalierungsprobleme, da die Anzahl der erforderlichen Verbindungen erforderlich ist wächst quadratisch mit der Anzahl der beteiligten Router. Um das Problem zu lindern, implementiert BGP zwei Optionen: Routenreflektoren (RFC 4456) und BGP -Konföderationen (RFC 5065). Die folgende Diskussion über die grundlegende Update -Verarbeitung wird ein vollständiges IBGP -Netz angenommen.

Ein gegebener BGP-Router kann die Aktualisierung von Network-Layer-Erreichbarkeitsinformationen (Network-Layer-Erreichbarkeitsinformationen) von mehreren Nachbarn akzeptieren und NLRI für denselben oder einen anderen Satz von Nachbarn bewerben. Konzeptionell unterhält BGP eine eigene Master -Routing -Tabelle, genannt die lokal Routing -Informationsbasis (Loc-rib), getrennt von der Hauptrouting-Tabelle des Routers. Für jeden Nachbarn beibehält der BGP -Prozess ein konzeptionelles Konzept angrenzende Routing -Informationsbasis, eingehende Einführung (Adj-rib-in) mit dem vom Nachbarn erhaltenen NLRI und einer konzeptionellen Ausgangsinformationsbasis (adj-rib-out), damit NLRI an den Nachbarn gesendet wird.

Die physische Speicherung und Struktur dieser konzeptionellen Tabellen werden vom Implementierer des BGP -Codes entschieden. Ihre Struktur ist für andere BGP -Router nicht sichtbar, obwohl sie normalerweise mit Verwaltungsbefehlen auf dem lokalen Router abgefragt werden können. Beispielsweise ist es beispielsweise häufig, die beiden Adj-Ribs und das LOC-RIB in derselben Datenstruktur zusammen zu speichern, wobei zusätzliche Informationen an die Rippeneinträge angeschlossen sind. Die zusätzlichen Informationen geben dem BGP Seien Sie beim Routing -Tabellenverwaltung des Routing -Tischs des lokalen Routers eingereicht.

BGP legt die Routen vor, die es am besten für den Hauptrouting -Tabellenprozess berücksichtigt. Abhängig von der Implementierung dieses Prozesses wird die BGP -Route nicht unbedingt ausgewählt. Beispielsweise ist ein direkt angeschlossenes Präfix, das aus der eigenen Hardware des Routers gelernt wird, normalerweise am meisten bevorzugt. Solange die Grenzfläche der direkt angeschlossenen Route aktiv ist, wird die BGP -Route zum Ziel nicht in die Routing -Tabelle eingesetzt. Sobald die Schnittstelle nachgekommen ist und es keine bevorzugten Routen mehr gibt, würde die LOC-RIB-Route in der Hauptrouting-Tabelle installiert.

BGP enthält die Informationen, mit denen Regeln innerhalb von BGP-sprechenden Routern Richtlinienentscheidungen treffen können. Einige der übertragenen Informationen, die ausdrücklich in politischen Entscheidungen verwendet werden sollen, sind Gemeinschaften und Diskriminatoren für mehreren Exits (MED).

Der BGP-Standard gibt eine Reihe von Entscheidungsfaktoren an, mehr als diejenigen, die von einem anderen gemeinsamen Routing-Prozess verwendet werden, um NLRI für die LOC-RIB auszuwählen. Der erste Entscheidungspunkt für die Bewertung von NLRI ist, dass sein nächstes Hop-Attribut erreichbar (oder lösbar) sein muss. Eine andere Möglichkeit zu sagen, dass der nächste Hop erreichbar sein muss, ist, dass es eine aktive Route, bereits in der Hauptrouting-Tabelle des Routers, zu dem Präfix geben muss, in dem die Next-Hop-Adresse erreichbar ist.

Als nächstes wendet der BGP-Prozess für jeden Nachbarn verschiedene Standard- und implementierungsabhängige Kriterien an, um zu entscheiden, welche Routen konzeptionell in das Adj-Rib-In eingehen sollten. Der Nachbar könnte mehrere mögliche Routen an ein Ziel senden, aber die erste Präferenzstufe liegt auf Nachbarebene. Im konzeptionellen Adj-Rib-In wird nur eine Route zu jedem Ziel installiert. Dieser Prozess löscht auch alle Routen, die vom Nachbarn zurückgezogen werden.

Immer wenn sich ein konzeptioneller Adj-Rib-In ändert, entscheidet der Haupt-BGP-Prozess, ob einer der neuen Routen des Nachbarn den bereits in der LOC-RIB vorgezogenen Routen bevorzugt. Wenn ja, ersetzt es sie. Wenn eine bestimmte Route von einem Nachbarn zurückgezogen wird und es keine andere Route zu diesem Ziel gibt, wird die Route von der LOC-RIB entfernt und nicht mehr von BGP an den Hauptmanager für Routing-Tabellen gesendet. Wenn der Router keine Route zu diesem Ziel von einer Nicht-BGP-Quelle hat, wird die zurückgezogene Route aus der Hauptrouting-Tabelle entfernt.

Nach der Überprüfung, dass der nächste Hopfen erreichbar ist, ist die erste Regel, die von einem internen (d. H. IBGP) Peer stammt, die erste Regel, die nach dem Standard gilt Lokale Präferenz Attribut. Wenn es mehrere IBGP -Routen vom Nachbarn gibt, wird die mit der höchsten lokalen Präferenz ausgewählt, es sei denn, es gibt mehrere Routen mit derselben lokalen Präferenz. Im letzteren Fall bewegt sich der Routenauswahlprozess zum nächsten Tiebreaker. Während die lokale Präferenz die erste Regel im Standard ist, berücksichtigen Cisco und mehrere andere Anbieter, sobald die Erreichbarkeit des nächsten Hops verifiziert ist Gewicht Das ist lokal zum Router (d. H. Nicht durch BGP übertragen). Die Route mit dem höchsten Gewicht wird bevorzugt.

Die lokalen Präferenz, Gewicht und andere Kriterien können durch lokale Konfigurations- und Softwarefunktionen manipuliert werden. Eine solche Manipulation liegt zwar üblicherweise außerhalb des Rahmens des Standards. Zum Beispiel die Gemeinschaft Attribut (siehe unten) wird nicht direkt vom BGP -Auswahlverfahren verwendet. Der BGP-Nachbarprozess kann jedoch über eine Regel verfügen, um die lokale Präferenz oder einen anderen Faktor auf der Grundlage einer manuell programmierten Regel festzulegen, um das Attribut festzulegen, wenn der Community-Wert einem Muster-Matching-Kriterium entspricht. Wenn die Route von einem externen Peer gelernt wurde, berechnet der BGP-Prozess pro Nachmittag einen lokalen Präferenzwert aus lokalen Richtlinienregeln und vergleicht dann die lokale Präferenz aller Routen des Nachbarn.

Auf der Ebene pro Nachmittag-Ignorieren implementierungsspezifischen politischen Modifikatoren-lautet die Reihenfolge der Bindungsregeln:

  1. Bevorzugen Sie die Route mit dem kürzesten Als Weg. Ein AS -Pfad ist der Satz von AS -Zahlen, die durchquert werden müssen, um das beworbene Ziel zu erreichen. AS1 - AS2 - AS3 ist kürzer als AS4 -AS5 -AS6 -AS7.
  2. Bevorzugen Sie Routen mit dem niedrigsten Wert ihres Ursprungsattributs.
  3. Bevorzugen Sie Routen mit den niedrigsten Multi-Exit-Diskriminator oder med) Wert.[a]

Sobald Kandidatenrouten von Nachbarn empfangen wurden, wendet die LoC-RIB-Software zusätzliche Verbindungsbreaker auf Routen zum selben Ziel an.

  1. Wenn mindestens eine Route von einem externen Nachbarn gelernt wurde (d. H. Die Route wurde aus EBGP gelernt), lassen Sie alle von IBGP gelernten Routen fallen.
  2. Bevorzugen Sie die Route mit den niedrigsten Innenkosten für den nächsten Hop, so die Hauptrouting -Tabelle. Wenn zwei Nachbarn die gleiche Route beworben haben, aber ein Nachbar über eine Low-Bitrate-Verbindung und den anderen durch eine Hochbitratverbindung erreichbar ist, und das Innenrouting-Protokoll berechnet die niedrigsten Kosten, die auf dem höchsten Bitrate basieren, die Route durch die Hoch-Bitrate-Verbindung basiert würde bevorzugt und andere Routen fallen gelassen.
Wenn zu diesem Zeitpunkt mehr als eine Route gebunden ist, bieten mehrere BGP-Implementierungen eine konfigurierbare Option, um zwischen den Routen zu laden und alle (oder alle bis zu einer beliebigen Anzahl) zu akzeptieren.
  1. Bevorzugen Sie die vom BGP -Lautsprecher gelernte Route mit der numerisch niedrigsten BGP -Kennung
  2. Bevorzugen Sie die vom BGP -Lautsprecher gelernte Route mit der niedrigsten Peer -IP -Adresse

Gemeinschaften

BGP -Communities sind Attribut -Tags, die auf eingehende oder ausgehende Präfixe angewendet werden können, um ein gemeinsames Ziel zu erreichen.[10] Während es üblich ist zu sagen, dass BGP einem Administrator Richtlinien dafür festlegen kann, wie Präfixe von ISPs behandelt werden, ist dies im Allgemeinen nicht möglich. Zum Beispiel hat BGP nativ kein Konzept, einen zu ermöglichen, einen anderen zu erzählen, dass die Werbung eines Präfixes nur auf nordamerikanische Penering -Kunden einschränkt. Stattdessen veröffentlicht ein ISP im Allgemeinen eine Liste bekannter oder proprietärer Gemeinschaften mit einer Beschreibung für jeden einzelnen, was im Wesentlichen zu einer Vereinbarung darüber wird, wie Präfixe behandelt werden sollen. RFC 1997 definiert drei bekannte Gemeinschaften, die eine globale Bedeutung haben. NO_EXPORT, NO_ADVERTISE und NO_EXPORT_SUBCONFED. RFC 7611 definiert Accept_own. Beispiele für gemeinsame Gemeinschaften sind lokale Präferenzanpassungen, geografische oder Peer -Typ -Beschränkungen, Denial-of-Service-Angriff Identifizierung und als Vorbereitungsoptionen. Ein ISP könnte angeben, dass alle von Kunden mit Community XXX: 500 erhaltenen Strecken allen Kollegen (Standard) beworben werden, während die Community XXX: 501 nur nach Nordamerika beworben wird. Der Kunde passt lediglich seine Konfiguration an die richtige Community oder Communities für jede Route an, und der ISP ist dafür verantwortlich, zu kontrollieren, an wen das Präfix ausgeschrieben wird. Der Endbenutzer hat keine technische Fähigkeit, korrekte Maßnahmen durch das ISP durchzusetzen, obwohl Probleme in diesem Bereich im Allgemeinen selten und zufällig sind.

Es ist eine übliche Taktik für Endkunden, BGP -Communities (normalerweise ASN: 70,80,90,100) zu verwenden, um die lokale Präferenz zu kontrollieren, die der ISP den beworbenen Routen zuweist, anstatt Med zu verwenden (der Effekt ist ähnlich). Das Community-Attribut ist transitiv, aber Gemeinschaften, die vom Kunden angewendet werden, propagiert sich sehr selten außerhalb des nächsten Hops als. Nicht alle ISPs geben ihre Gemeinden an die Öffentlichkeit weiter.[11]

Das BGP Extended Community -Attribut wurde 2006 hinzugefügt, um den Bereich solcher Attribute zu erweitern und eine Community -Attributstruktur mithilfe eines Typs zu bieten. Das erweiterte Format besteht aus einem oder zwei Oktetten für das Typenfeld, gefolgt von sieben oder sechs Oktetten für den jeweiligen Community -Attributinhalt. Die Definition dieses erweiterten Community -Attributs ist in RFC 4360 dokumentiert. Die IANA verwaltet die Registrierung für BGP Extended Communities -Typen.[12] Das Attribut für erweiterte Gemeinschaften selbst ist ein transitives optionales BGP -Attribut. Ein bisschen im Typ des Typs innerhalb des Attributs entscheidet jedoch, ob die codierte erweiterte Gemeinschaft transitiv oder nicht transitiv ist. Das IANA -Register bietet daher unterschiedliche Zahlenbereiche für die Attributarten. Aufgrund des erweiterten Attributbereichs kann die Verwendung vielfältig sein. RFC 4360 definiert beispielhaft die "Zwei-Okte-Octet als spezifische erweiterte Community", die "IPv4 adressiert spezifische erweiterte Community", die "undurchsichtige erweiterte Gemeinschaft", die "Routenziel-Community" und die "Route Origin Community". Eine Reihe von BGP-QoS-Entwürfen verwenden diese erweiterte Attributstruktur für die erweiterte Community auch für die QoS-Signalübertragung zwischen Domänen.[13]

Mit der Einführung von 32-Bit als Zahlen waren einige Probleme mit dem Community-Attribut sofort offensichtlich, das nur ein 16-Bit-ASN-Feld definiert, das die Übereinstimmung zwischen diesem Feld und dem realen ASN-Wert verhindert. Seit RFC 7153 sind erweiterte Gemeinschaften mit 32-Bit-ASNs kompatibel. RFC 8092 und RFC 8195 führen ein großes Community -Attribut von 12 Bytes ein, das jeweils drei 4 Bytes unterteilt ist (als: Funktion: Parameter).[14]

Multi-Exit-Diskriminatoren

Medikamente, die im Haupt -BGP -Standard definiert sind, sollten sich ursprünglich einem anderen Nachbarn als Werbung als Präferenz für die bevorzugten Verknüpfungen für eingehenden Verkehr zeigen. Eine weitere Anwendung von Medikamenten besteht darin, den Wert, der normalerweise auf der Verzögerung basiert, von mehreren Arschs zu werben, die bei einem präsent sind Ixp, dass sie auferlegen, den Verkehr an ein Ziel zu senden.

Message Header -Format

BGP Version 4 Message Header Format[15]
Bit Offset 0–15 16–23 24–31
0 Marker
32
64
96
128 Länge Typ
  • Marker: Für die Kompatibilität muss auf alle eingestellt werden.
  • Länge: Gesamtlänge der Nachricht in Oktetten, einschließlich des Headers.
  • Typ: Art der BGP -Nachricht. Die folgenden Werte werden definiert:
    • Offen (1)
    • Update (2)
    • Benachrichtigung (3)
    • Keepalive (4)
    • Route-Refresh (5)

Interne Skalierbarkeit

BGP ist "das skalierbarste aller Routing -Protokolle".[16]

Ein autonomes System mit internem BGP (IBGP) muss alle IBGP -Peers in a herstellen. Volles Netz (wo jeder direkt mit allen spricht). Diese Konfiguration mit voller Mesh erfordert, dass jeder Router eine Sitzung mit jedem anderen Router unterhält. In großen Netzwerken kann diese Anzahl der Sitzungen die Leistung von Routern entweder aufgrund mangelnder Speicher- oder hoher CPU -Prozessanforderungen beeinträchtigen.

Routenreflektoren

Routenreflektoren (RRS) Reduzieren Sie die Anzahl der in einem AS erforderlichen Verbindungen. Ein einzelner Router (oder zwei für die Redundanz) kann mit RR: Andere Router im AS -Bedarf nur als Gleichaltrige für sie konfiguriert werden. Ein RR bietet eine Alternative zur logischen Vollmachtanforderung von IBGP. Der Zweck der RR ist die Konzentration. Mehrere BGP -Router können mit einem zentralen Punkt, dem RR - als RR -Server - und nicht mit jedem anderen Router in einem vollständigen Netz peer und eher als RR -Server fungieren. Alle anderen IBGP -Router werden RR -Kunden.[17]

Dieser Ansatz ähnlich wie OSPFDie DR/BDR -Funktion von DR/BDR bietet große Netzwerke mit zusätzlicher IBGP -Skalierbarkeit. In einem vollständig verbundenen IBGP-Netzwerk von 10 Routern werden 90 einzelne CLI-Aussagen (verteilt in allen Routern in der Topologie) benötigt, um die Fernbedienung eines jeden Peer zu definieren: Dies wird schnell zu einem Kopfschmerz für die Verwaltung. Eine RR -Topologie kann diese 90 Aussagen auf 18 reduzieren und eine praktikable Lösung für die größeren von ISPs verwalteten Netzwerke bieten.

Ein RR ist a der Punkt des VersagensDaher kann mindestens eine zweite RR konfiguriert werden, um Redundanz bereitzustellen. Da es sich um ein zusätzliches Peer für die anderen 10 Router handelt, verdoppelt es ungefähr die Anzahl der CLI 11 × 2 - 2 = 20 Aussagen in diesem Fall. In einer BGP -Multipath -Umgebung kann das zusätzliche RR auch dem Netzwerk zugute kommen, indem sie einen lokalen Routing -Durchsatz hinzufügen, wenn die RRS als herkömmliche Router anstelle einer dedizierten RR -Serverrolle fungieren.

Regeln

Eine typische Konfiguration der BGP -RR -Bereitstellung, wie in Abschnitt 6, RFC 4456 vorgeschlagen.

RR -Server verbreiten Routen innerhalb der AS, die auf den folgenden Regeln basieren:

  • Routen spiegeln EBGP -Kollegen immer wider.
  • Routen spiegeln dem Urheber der Route niemals wider.
  • Wenn eine Route von einem Nichtklienten-Kollegen empfangen wird, reflektieren Sie Kundenkollegen.
  • Wenn eine Route von einem Kundenpeer empfangen wird, reflektieren Sie Kollegen und Nichtklient-Kollegen.

Cluster

RR und seine Kunden bilden a Cluster. Das Cluster -ID wird dann an jede von RR an seine Kunden oder nicht klientische Kollegen beworbene Route beigefügt. Eine Cluster-ID ist ein kumulatives, nicht-transitives BGP-Attribut, und jeder RR muss die lokale Cluster-ID auf die Clusterliste vorbereiten, um Routing-Schleifen zu vermeiden. RRs und Konföderationen reduzieren beide die Anzahl der IBGP -Kollegen auf jeden Router und somit somit die Verarbeitungsaufwand. RRs sind eine reine leistungssteigernde Technik, während Konföderationen auch verwendet werden können, um eine feinkörnige Richtlinie zu implementieren.

BGP -Konföderation

Konföderationen sind Sätze autonomer Systeme. In der allgemeinen Praxis,[18] Nur eine der Konföderation als Zahlen wird vom Internet als Ganzes gesehen. Konföderationen werden in sehr großen Netzwerken verwendet, in denen ein großer, der so konfiguriert werden kann, dass sie kleinere, überschaubarere interne Arschs umfassen.

Das Konföderierte, wie es aus mehreren Arsch besteht. Jedes konföderierte Konföderierte hat IBGP vollständig veraltet und hat Verbindungen zu einem anderen Arsch innerhalb der Konföderation. Obwohl diese Arsch Peers in der Konföderation zu ASS zum Arsch haben, verwendete der Ass -Austausch, als ob sie IBGP verwendeten. Auf diese Weise bewahrt die Konföderation den nächsten Hop-, Metrik- und lokalen Präferenzinformationen. In der Außenwelt scheint die Konföderation ein einzelner AS zu sein. Mit dieser Lösung können IBGP -Transit als Probleme behoben werden, da IBGP ein vollständiges Netz zwischen allen BGP -Routern erfordert: eine große Anzahl von TCP -Sitzungen und unnötige Duplikation des Routing -Verkehrs.

Konföderationen können in Verbindung mit Routenreflektoren verwendet werden. Sowohl Konföderationen als auch Routenreflektoren können einer anhaltenden Schwingung unterliegen, es sei denn, spezifische Entwurfsregeln, die sowohl BGP als auch das Innenrouting -Protokoll beeinflussen, werden befolgt.[19]

Diese Alternativen können jedoch eigene Probleme einführen, einschließlich Folgendes:

  • Routenschwingung
  • Suboptimales Routing
  • Erhöhung der BGP -Konvergenzzeit[20]

Darüber hinaus wurden Routenreflektoren und BGP -Konföderationen nicht so konzipiert, dass die BGP -Routerkonfiguration erleichtert wird. Dies sind jedoch gängige Tools für erfahrene BGP -Netzwerkarchitekten. Diese Tools können beispielsweise als Hierarchie von Routenreflektoren kombiniert werden.

Stabilität

Die von einer BGP -Implementierung verwalteten Routing -Tabellen werden kontinuierlich angepasst, um die tatsächlichen Änderungen im Netzwerk widerzuspiegeln, z. Im Netzwerk als Ganzes ist es normal, dass diese Änderungen fast kontinuierlich auftreten, aber für einen bestimmten Router oder eine bestimmte Verbindung sollen Änderungen relativ selten sein. Wenn ein Router falsch konfiguriert oder schlecht verwaltet ist, kann er in einen schnellen Zyklus zwischen Down- und Up -Zuständen geraten. Dieses Muster des wiederholten Rückzugs und der Neuankündigung als bekannt als als Routenklatschen Kann in allen anderen Routern zu übermäßige Aktivitäten führen, die über das kaputte Link Bescheid wissen, da die gleiche Route kontinuierlich injiziert und aus den Routing -Tischen zurückgezogen wird. Das BGP -Design ist so, dass die Lieferung des Datenverkehrs möglicherweise nicht funktioniert, während Routen aktualisiert werden. Im Internet kann eine BGP -Routing -Änderung einige Minuten lang Ausfälle verursachen.

Ein Merkmal bekannt als als Routenklappendämpfung (RFC 2439) ist in viele BGP -Implementierungen integriert, um die Auswirkungen des Routenklatschens zu mildern. Ohne Dämpfung kann die übermäßige Aktivität eine starke Verarbeitungslast für Router verursachen, was wiederum Updates auf anderen Routen verzögern kann und somit die allgemeine Routing -Stabilität beeinflusst. Mit der Dämpfung ist das Flattern einer Route exponentiell verfallen. In erster Linie, wenn eine Route nicht verfügbar ist und schnell wieder auftaucht, wirkt sich die Dämpfung nicht aus, um die normalen Ausfallzeiten von BGP aufrechtzuerhalten. Beim zweiten Ereignis meidet BGP, die für eine bestimmte Zeitspanne Präfix; Nachfolgende Ereignisse sind exponentiell zeitlich festgelegt. Nachdem die Anomalien eingestellt haben und eine geeignete Zeitspanne für die beleidigende Route vergangen ist, können Präfixe wieder eingestellt und seine Schiefer sauber gelöscht werden. Dämpfung kann auch mildern Denial of Service Anschläge; Dämpfungszeiten sind sehr anpassbar.

Es wird auch in RFC 2439 (unter "Auswahl von Designauswahl -> Stabilitätsempfindliche Unterdrückung der Routenwerbung") vorgeschlagen, dass die Dämpfung der Routenklappe eine wünschenswertere Merkmale ist, wenn sie in Außenborten -Gateway -Protokoll -Sitzungen (EBGP -Sitzungen oder einfach nur als Außenpeers bezeichnet) und nicht genannt) und nicht implementiert werden) und nicht auf Innengrenze -Gateway -Protokollsitzungen (IBGP -Sitzungen oder einfach als interne Kollegen bezeichnet); Mit diesem Ansatz, wenn ein Weg in ein autonomes System klappt, wird es nicht an den äußeren Arsch ausgebildet. Einflattern Sie einen Weg zu einem EBGP, hat eine Kette von Flattern für die jeweilige Route im Rückgrat. Diese Methode vermeidet auch erfolgreich den Overhead der Dämpfung der Routenklappe für IBGP -Sitzungen.

Nachfolgende Untersuchungen haben jedoch gezeigt, dass die Dämpfung der Klappen in einigen Fällen die Konvergenzzeiten tatsächlich verlängern kann und auch unter Einflattern von Verbindungen zu Unterbrechungen der Konnektivität führen kann.[21][22] Da Backbone -Links und Router -Prozessoren schneller geworden sind, haben einige Netzwerkarchitekten vorgeschlagen, dass die Dämpfung der Lappen möglicherweise nicht so wichtig ist wie früher, da Änderungen an der Routing -Tabelle von Routern viel schneller behandelt werden können.[23] Dies hat die Reifenarbeitsgruppe dazu veranlasst, zu schreiben, dass "mit den aktuellen Implementierungen der BGP -Klappendämpfung die Anwendung der Klappendämpfung in ISP -Netzwerken nicht empfohlen wird. -Effekte für ihre Kunden und die Internetnutzer der Inhalte und Dienstleistungen ihrer Kunden .... Diese Nebenwirkungen wären sehr wahrscheinlich schlechter als die Auswirkungen, die durch einfaches Ausführen der Klappendämpfung verursacht werden. "[24] Die Verbesserung der Stabilität ohne die Probleme der Klappendämpfung ist Gegenstand der aktuellen Forschung.[25]

Routing -Tabellenwachstum

BGP -Tabellenwachstum im Internet
Anzahl der AS im Internet gegen die Anzahl der registrierten als

Eines der größten Probleme, mit denen BGP und die Internetinfrastruktur insgesamt konfrontiert sind, ist das Wachstum der Internet -Routing -Tabelle. Wenn die globale Routing -Tabelle bis zu dem Punkt wächst, an dem einige ältere, weniger fähige Router nicht mit den Speicheranforderungen oder der CPU -Ladung zur Aufrechterhaltung der Tabelle fertig werden, werden diese Router aufhören, effektive Gateways zwischen den Teilen des Internets zu sein, mit dem sie verbunden sind. Darüber hinaus und vielleicht noch wichtiger ist, dass größere Routing -Tabellen nach einer größeren Konnektivitätsänderung länger stabilisieren (siehe oben), wodurch der Netzwerkdienst in der Zwischenzeit unzuverlässig oder sogar nicht verfügbar ist.

Bis Ende 2001 war die globale Routing -Tabelle exponentiell wachseneine eventuelle weit verbreitete Aufschlüsselung der Konnektivität. In einem Versuch, dies zu verhindern, kooperierte ISPs mit der Verwendung der globalen Routing -Tabelle so klein wie möglich, indem sie verwendet werden Classless Inter-Domain Routing (CIDR) und Routenaggregation. Dies verlangsamte das Wachstum der Routing -Tabelle mit der erweiterten Nachfrage nach einem linearen Prozess für mehrere Jahre Multihoming Nach Endbenutzernetzwerken war das Wachstum Mitte 2004 erneut superlinear.

512k Tag

Ein Y2K-ähnlicher Überlauf, der 2014 für die Modelle ausgelöst wurde, die nicht angemessen aktualisiert wurden.

Während eine vollständige IPv4 -BGP -Tabelle im August 2014 (512k Tag)[26][27] war mehr als 512.000 Präfixe,[28] Viele ältere Router hatten eine Grenze von 512.000–524.288 (512.000 bis 524.288).[29][30] Routing -Tabelleneinträge. Am 12. August 2014 Ausfälle, die sich aus den Tischtischen ergeben Ebay, LastPass und Microsoft Azure unter anderen.[31] Eine Reihe von Cisco -Routern, die häufig verwendet wurden TCAM, eine Form von Hochgeschwindigkeiten Inhaltsadressible Speicher, zum Speichern von BGP beworbenen Routen. Bei betroffenen Routern wurde die TCAM standardmäßig als 512K -IPv4 -Routen und 256K -IPv6 -Routen zugewiesen. Während die gemeldete Anzahl von von IPv6 angekündigten Routen nur etwa 20.000 betrug, erreichte die Anzahl der beworbenen IPv4 -Routen die Standardlimit, was ein verursachte a Spillover -Effekt als Router versuchten, das Problem durch langsames Software -Routing zu kompensieren (im Gegensatz zu Fast Hardware -Routing über TCAM). Die Hauptmethode für den Umgang mit diesem Problem besteht darin, dass die Betreiber die TCAM -Allokation ändern, um mehr IPv4 -Einträge zu ermöglichen, indem einige der für IPv6 -Routen reservierten TCAM neu verteilt werden, was einen Neustart für die meisten Router erfordert. Das 512K -Problem wurde von einer Reihe von IT -Profis vorhergesagt.[32][33][34]

Die tatsächlichen Zuteilungen, die die Anzahl der Routen über 512K drückten, waren die Ankündigung von etwa 15.000 neuen Strecken in kurzer Zeit, ab 07:48 UTC. Fast alle diese Routen waren zu Verizon Autonome Systeme 701 und 705, erstellt als Ergebnis von Deaggregation von größeren Blöcken, die Tausende von Neuen einführen /24 Routenund die Routing -Tabelle erreichen 515.000 Einträge. Die neuen Routen scheinen innerhalb von 5 Minuten reaggregiert worden zu sein, aber die Instabilität im Internet dauerte offenbar einige Stunden lang.[35] Selbst wenn Verizon nicht dazu geführt hätte, dass die Routing -Tabelle 512K -Einträge in der kurzen Spitze überschritten hätte, wäre dies sowieso durch natürliches Wachstum bald passiert.

Die Zusammenfassung der Routen wird häufig verwendet, um die Aggregation der BGP Global Routing -Tabelle zu verbessern, wodurch die erforderliche Tabellengröße in Routern eines AS verringert wird. Betrachten Sie, dass AS1 den großen Adressraum von zugewiesen wurde 172.16.0.0/16Dies würde als eine Route in der Tabelle gezählt, aber aufgrund der Kundenanforderung oder der Verkehrstechnik möchte AS1 kleinere, spezifischere Wege von ankündigen 172.16.0.0/18, 172.16.64.0/18, und 172.16.128.0/18. Das Präfix 172.16.192.0/18 Hat keine Hosts, so dass AS1 keine bestimmte Route bekannt gibt 172.16.192.0/18. Dies alles zählt als AS1, in dem vier Routen angekündigt werden.

AS2 wird die vier Routen von AS1 (Sehen Sie172.16.0.0/16, 172.16.0.0/18, 172.16.64.0/18, und 172.16.128.0/18) und es liegt an der Routing -Richtlinie von AS2, zu entscheiden, ob eine Kopie der vier Strecken oder, als, als 172.16.0.0/16 Überlappt alle anderen spezifischen Routen, um die Zusammenfassung zu speichern. 172.16.0.0/16.

Wenn AS2 Daten an Präfix senden möchte 172.16.192.0/18Es wird auf die Route an die Router von AS1 gesendet 172.16.0.0/16. Auf dem Router von AS1 wird es entweder fallen gelassen oder ein Ziel nicht erreichbar ICMP Die Nachricht wird je nach Konfiguration der Router von AS1 zurückgesendet.

Wenn AS1 später beschließt, die Route fallen zu lassen 172.16.0.0/16, Verlassen 172.16.0.0/18, 172.16.64.0/18, und 172.16.128.0/18, AS1 wird die Anzahl der von ihm angekündigten Routen auf drei fallen lassen. AS2 wird die drei Strecken sehen und abhängig von der Routing -Richtlinie von AS2 speichern eine Kopie der drei Strecken oder aggregiert die Präfixe des Präfixes 172.16.0.0/18 und 172.16.64.0/18 zu 172.16.0.0/17reduziert damit die Anzahl der Routen, die AS2 -Speicher auf nur zwei aufnehmen: 172.16.0.0/17 und 172.16.128.0/18.

Wenn AS2 Daten an Präfix senden möchte 172.16.192.0/18Es wird fallen gelassen, oder es wird ein nicht erreichbares Ziel -ICMP -Nachrichten an die Router von AS2 zurückgesandt (nicht wie zuvor) 172.16.192.0/18 wäre nicht in der Routing -Tabelle.

Als Zahlen Depletion und 32-Bit-ASNs

Der RFC 1771 (Ein Grenzgateway-Protokoll 4 (BGP-4)) plante die Kodierung von AS -Zahlen auf 16 Bits für 64510 möglich, da ASN 64512 bis 65534 für den privaten Gebrauch reserviert war (0 und 65535 verboten). Im Jahr 2011 waren noch nur 15000 als Zahlen verfügbar und Projektionen[36] stellten sich eine vollständige Erschöpfung der verfügbaren verfügbaren als Zahlen im September 2013 vor.

RFC 6793 erstreckt sich als Codierung von 16 bis 32 Bit (die 16 Bits als Bereich von 0 bis 65535 und ihre Reservierung als Zahlen), was nun bis zu 4 Milliarden verfügbar ist. Ein zusätzlicher Privatbereich als Reichweite ist auch in RFC 6996 definiert (von 4200000000 bis 4294967294, 4294967295 wird von RFC 7300 verboten).

Um die Durchführung von Router -Gruppen zu ermöglichen, die diese neuen ASNs nicht verwalten können, wird das neue Attribut von AS4_Path verwendet.

32-Bit-ASN-Aufgaben wurden 2007 begonnen.

Lastverteilung

Ein weiterer Faktor, der dieses Wachstum der Routing-Tabelle verursacht, ist die Notwendigkeit eines Lastausgleichs von Multi-Homed-Netzwerken. Es ist keine triviale Aufgabe, den eingehenden Verkehr aufgrund der Begrenzung des BGP-Routenauswahlprozesses auf ein multi-homed-Netzwerk auf seinen mehrfach eingehenden Pfaden auszugleichen. Wenn es für ein Mehr-Homed-Netzwerk in allen BGP-Kollegen dieselben Netzwerkblöcke angibt Satz von überlasteten Pfaden als optimal. Wie die meisten anderen Routing -Protokolle erkennt BGP keine Überlastung.

Um dieses Problem zu umgehen Blöcke dieses mehrköpfigen Netzwerks. Solche Fälle erhöhen die Anzahl der Routen, die in der globalen BGP -Tabelle zu sehen sind.

Eine Methode, die immer beliebter wird, um das Problem der Lastausgleich anzugehen, besteht darin, BGP/LISP bereitzustellen (Locator/Identifier -Trennungsprotokoll) Gateways innerhalb eines Internetaustauschpunkt Um das Verkehrstechnik über mehrere Verbindungen hinweg zu ermöglichen. Diese Technik erhöht nicht die Anzahl der Routen in der globalen BGP -Tabelle.

Sicherheit

Für Design akzeptieren Router, die BGP ausführen, beworbene Routen von anderen BGP -Routern standardmäßig. Dies ermöglicht eine automatische und dezentrale Routing des Datenverkehrs im Internet, bleibt jedoch auch das Internet potenziell anfällig für versehentliche oder böswillige Störungen, bekannt als als bekannt BGP -Hijacking. Aufgrund des Ausmaßes, in dem BGP in die Kernsysteme des Internets eingebettet ist, und in der Anzahl der verschiedenen Netzwerke, die von vielen verschiedenen Organisationen betrieben werden, die zusammen das Internet ausmachen, korrigieren Sie diese Sicherheitsanfälligkeit (z. B. durch Einführung der Verwendung von kryptografischen Schlüssel zur Überprüfung Die Identität von BGP -Routern) ist ein technisch und wirtschaftlich herausforderndes Problem.[37]

Erweiterungen

Eine Erweiterung auf BGP ist die Verwendung von Multipathing-dies erfordert typischerweise identische Medikamente, Gewicht, Herkunft und AS-Path, obwohl einige Implementierungen die Möglichkeit bieten, die AS-Path-Überprüfung zu entspannen, um nur eine gleiche Pfadlänge als die tatsächlichen als Zahlen zu erwarten auf dem Weg erwartet, dass es auch übereinstimmt. Dies kann dann mit Funktionen wie DMZLink-BW von Cisco weiter erweitert werden, die ein Verhältnis der Verkehrsfreigabe ermöglicht, die auf Bandbreitenwerten basiert, die auf einzelnen Links konfiguriert sind.

Multiprotokollverlängerungen für BGP (MBGP), manchmal als Multiprotocol BGP oder Multicast BGP bezeichnet und in IETF RFC 4760 definiert, sind eine Erweiterung an (BGP), die es ermöglicht, unterschiedliche Arten von Adressen (bekannt als Adressfamilien) parallel verteilt zu werden. Während Standard -BGP nur IPv4 -Unicast -Adressen unterstützt, unterstützt Multiprotocol BGP IPv4- und IPv6 -Adressen und unterstützt Unicast- und Multicast -Varianten von jedem. Multiprotocol BGP ermöglicht Informationen über die Topologie von IP-Multicast-fähigen Routern, die getrennt von der Topologie der normalen IPv4-Unicast-Router ausgetauscht werden können. Somit ermöglicht es einer Multicast -Routing -Topologie von der Unicast -Routing -Topologie. Obwohl MBGP den Austausch von Multicast-Routing-Informationen zwischen Domänen ermöglicht, werden andere Protokolle wie die protokollunabhängige Multicast-Familie zum Bau von Bäumen und zum Weiterleiten von Multicast-Verkehr benötigt.

Multiprotocol BGP wird auch im Falle von MPLS L3 VPN weit verbreitet, um VPN -Labels aus den Strecken von den Kundenstandorten über das MPLS -Netzwerk auszutauschen, um zwischen verschiedenen Kundenstandorten zu unterscheiden, wenn der Datenverkehr von den anderen Kundenstandorten zum Anbieter kommt Edge Router (PE -Router) zum Routing.

Verwendet

BGP4 ist Standard für das Internet -Routing und ist für die meisten erforderlich Internetanbieter (ISPs), um Routing zwischeneinander zu etablieren. Sehr groß privat IP Netzwerke verwenden BGP intern. Ein Beispiel ist das Verbinden einer Reihe großer großer öffne den kürzesten Weg zuerst (OSPF) Netzwerke, wenn OSPF an sich nicht auf die erforderliche Größe skaliert. Ein weiterer Grund für die Verwendung von BGP ist das Multihoming in einem Netzwerk für eine bessere Redundanz, entweder für mehrere Zugriffspunkte eines einzelnen ISP oder für mehrere ISPs.

Implementierungen

Router, insbesondere kleine, die für bestimmt sind kleines Büro/Heimbüro (SOHO) Verwenden, darf die BGP -Software möglicherweise nicht enthalten. Einige Soho -Router sind einfach nicht in der Lage, BGP auszuführen oder BGP -Routing -Tabellen einer beliebigen Größe zu verwenden. Andere kommerzielle Router benötigen möglicherweise ein spezifisches ausführbares Software -Bild, das BGP enthält, oder eine Lizenz, die es ermöglicht. Open-Source-Pakete, die BGP ausführen Gnu Zebra, Quagga, OpenBGPD, VOGEL, Xorp, und Vyatta. Geräte vermarktet wie Schicht 3 Schalter ist weniger wahrscheinlich, dass BGP als Geräte unterstützt werden Router, aber High-End-Schicht 3-Schalter können normalerweise BGP ausführen.

Als Schalter vermarktete Produkte können eine Größenbeschränkung für BGP -Tabellen wie 20.000 Routen haben, die weitaus kleiner als eine vollständige Internettabelle plus interne Routen sind. Diese Geräte sind jedoch möglicherweise vollkommen vernünftig und nützlich, wenn sie für die BGP-Routing eines kleineren Teils des Netzwerks, wie beispielsweise eines Konföderationsverband Enterprise, das einen ISP Routen ankündigt, akzeptiert aber nur a Standardroute und vielleicht eine kleine Anzahl von aggregierten Routen.

Ein BGP -Router, der nur für ein Netzwerk mit einem einzigen Eintrittspunkt für das Internet verwendet wird, hat möglicherweise eine viel kleinere Routing -Tabellengröße (und damit die RAM- und CPU -Anforderung) als ein mehrhomedes Netzwerk. Selbst einfaches Multihoming kann eine bescheidene Routing -Tabellengröße haben. Siehe RFC 4098 für vendor-unabhängige Leistungsparameter für die Konvergenz von Einzel-BGP-Router in der Kontrollebene. Die tatsächliche Menge an Speicher, die in einem BGP -Router erforderlich ist, hängt von der Menge an BGP -Informationen ab, die mit anderen BGP -Lautsprechern ausgetauscht wurden, und der Art und Weise, wie der jeweilige Router BGP -Informationen speichert. Der Router muss möglicherweise mehr als eine Kopie einer Route behalten, damit er unterschiedliche Richtlinien für die Routenwerbung und die Annahme eines bestimmten Nachbarn AS verwalten kann. Der Begriff Aussicht wird oft für diese verschiedenen politischen Beziehungen zu einem laufenden Router verwendet.

Wenn eine Router -Implementierung mehr Speicher pro Route als eine andere Implementierung nimmt, kann dies eine legitime Auswahl des Designs und die Handelsverarbeitungsgeschwindigkeit gegen den Speicher sein. Eine vollständige IPv4 -BGP -Tabelle im August 2015 ist mehr als 590.000 Präfixe.[28] Große ISPs können weitere 50% für interne und Kundenrouten hinzufügen. In Abhängigkeit von der Implementierung können für jede Ansicht eines anderen Peer als separate Tabellen aufbewahrt werden.

Bemerkenswerte kostenlose und Open-Source-Implementierungen von BGP umfassen:

Systeme zum Testen von BGP -Konformität, Last oder Spannungsleistung stammen von Anbietern wie:

Standarddokumente

  • RFC1772, Anwendung des Border Gateway-Protokolls im Internet-Protokoll (BGP-4) mit SMIV2
  • RFC1997, BGP Communities Attribut
  • RFC2439, BGP -Routenklappendämpfung
  • RFC2918, Routen-Aktualisierungsfunktion für BGP-4
  • RFC3765, Nopeer Community für Border Gateway Protocol (BGP) Route Scope Control
  • RFC4271, Ein Grenzgateway-Protokoll 4 (BGP-4)
  • RFC4272, BGP Security Schwachstellenanalyse
  • RFC4273, Definitionen von verwalteten Objekten für BGP-4
  • RFC4274, BGP-4-Protokollanalyse
  • RFC4275, BGP-4 MIB-Implementierungsumfrage
  • RFC4276, BGP-4-Implementierungsbericht
  • RFC4277Erfahrung mit dem BGP-4-Protokoll
  • RFC4278, Standards-Reife-Varianz in Bezug auf die TCP MD5-Signaturoption (RFC 2385) und die BGP-4
  • RFC4360, BGP Extended Communities Attribut
  • RFC4456, BGP -Routenreflexion - eine Alternative zu vollem Maschinnen BGP (IBGP)
  • RFC4724, Anmutiger Neustartmechanismus für BGP
  • RFC4760, Multiprotokollverlängerungen für BGP-4
  • RFC5065, Autonome System -Konföderationen für BGP
  • RFC5492, Funktionswerbung mit BGP-4
  • RFC5575, Verbreitung der Durchflussspezifikationsregeln
  • RFC5701, IPv6 -Adresse spezifisches BGP Extended Community -Attribut
  • RFC6793, BGP-Unterstützung für das Vier-Octet-Autonomus-System (AS) Zahlenraum
  • RFC7153, IANA Registries für BGP Extended Communities
  • RFC7606, Überarbeitete Fehlerbehandlung für BGP -Update -Nachrichten
  • RFC7752, Verteilung von Linkstaaten und Verkehrstechnik mit BGP in Nord gebunden
  • RFC7911, Werbung mehrerer Pfade in BGP
  • RFC8092, BGP Large Communities Attribut
  • RFC8195, Verwendung von BGP großen Gemeinschaften
  • RFC8642, Politisches Verhalten für bekannte BGP-Gemeinschaften
  • Draft-ITF-Idr-Custom-Decision-08- BGP Custom Entscheidungsprozess, 3. Februar 2017
  • Selektive Routenanfrischung für BGP, IETF -Entwurf
  • RFC1105, Veraltet - Grenzgateway -Protokoll (BGP)
  • RFC1654, Veraltet-ein Grenzgateway-Protokoll 4 (BGP-4)
  • RFC1655, Veraltet - Anwendung des Border Gateway -Protokolls im Internet
  • RFC1657, Veraltet - Definitionen von verwalteten Objekten für die vierte Version des Border Gateways
  • RFC1771, Veraltet-ein Grenzgateway-Protokoll 4 (BGP-4)
  • RFC1965, Veraltet - autonomes System -Konföderationen für BGP
  • RFC2796, Veraltet - BGP -Routenreflexion - eine Alternative zu vollem Mesh IBGP
  • RFC2858, Veraltet-Multiprotokollverlängerungen für BGP-4
  • RFC3065, Veraltet - autonomes System -Konföderationen für BGP
  • RFC3392, Veraltet-Funktionswerbung mit BGP-4
  • RFC4893, Veraltet-BGP-Unterstützung für Vier-Octet als Zahlenraum

Siehe auch

Anmerkungen

  1. ^ Vor der neuesten Ausgabe des BGP -Standards erstellten mehrere Implementierungen, wenn ein Update keinen MED -Wert hatte, ein MED mit dem höchstmöglichen Wert. Der aktuelle Standard gibt jedoch an, dass fehlende Medikamente als niedrigstmöglichen Wert behandelt werden. Da die aktuelle Regel ein anderes Verhalten verursachen kann als die Anbieter -Interpretationen, haben BGP -Implementierungen, die den nicht standardmäßigen Standardwert verwendeten, eine Konfigurationsfunktion, mit der die alte oder Standardregel ausgewählt werden kann.

Verweise

  1. ^ "BGP: Border Gateway -Protokoll erklärt". Orbit-Computer Solutions.com. Archiviert von das Original 2013-09-28. Abgerufen 2013-10-08.
  2. ^ Sobrinho, João Luís (2003). "Netzwerkrouting mit Pfadvektorprotokollen: Theorie und Anwendungen" (PDF). Abgerufen 16. März, 2018.
  3. ^ Timberg, Craig (31. Mai 2015). "Netto der Unsicherheit; Schnelle Lösung für ein frühes Internetproblem lebt später in einem Vierteljahrhundert". Die Washington Post. Archiviert Aus dem Original am 1. Juni 2015. Abgerufen 4. Januar 2021. Als sich die Aussicht auf das System-Zusammenbruch aufwies, begannen die Männer, Ideen für eine Lösung auf die Rückseite einer von Ketchup gefärbten Serviette zu kritzeln. Dann eine Sekunde. Dann ein drittes. Das „Drei-Napkins-Protokoll“, wie seine Erfinder es scherzhaft nannten, würde das Internet bald revolutionieren. Und obwohl es anhaltende Probleme gab, sahen die Ingenieure ihre Schöpfung als „Hack“ oder „Kludge“, um eine kurzfristige Lösung zu finden, um ersetzt zu werden, sobald eine bessere Alternative eintraf.
  4. ^ "Die Geschichte des Grenztateway -Protokolls". blog.datapath.io. Archiviert von das Original am 20. Oktober 2020.
  5. ^ Ein Grenzgateway-Protokoll 4 (BGP-4). RFC 4271.
  6. ^ RFC 4274
  7. ^ R. Chandra; J. Scudder (Mai 2000). Fähigkeiten Werbung mit BGP-4. doi:10.17487/rfc2842. RFC 2842.
  8. ^ T. Bates; et al. (Juni 2000). Multiprotokollverlängerungen für BGP-4. doi:10.17487/rfc2858. RFC 2858.
  9. ^ E. Rosen; Y. Rekhter (April 2004). BGP/MPLS VPNs. doi:10.17487/rfc2547. RFC 2547.
  10. ^ RFC 1997
  11. ^ "BGP Community Guides". Abgerufen 13. April 2015.
  12. ^ IANA -Register für BGP erweiterte Gemeinschaften Typen, Iana, 2008
  13. ^ IETF -Entwürfe auf BGP signalisierten QoS Archiviert 2009-02-23 bei der Wayback -Maschine, Thomas Knoll, 2008
  14. ^ "Große BGP -Gemeinschaften". Abgerufen 2021-11-27.
  15. ^ Y. Rekhter; T. li; S. Hasen, Hrsg. (Januar 2006). Ein Grenzgateway-Protokoll 4 (BGP-4). Netzwerkarbeitsgruppe. doi:10.17487/RFC4271. RFC 4271. Sek. 4.1.
  16. ^ "Border Gateway Protocol (BGP)". Cisco.com.
  17. ^ T. Bates; et al. (April 2006). BGP -Routenreflexion: Eine Alternative zu vollem Maschen -internen BGP (IBGP). RFC 4456.
  18. ^ "Die Info". www.ietf.org. Abgerufen 2019-12-17.
  19. ^ "Die Info". www.ietf.org. Abgerufen 2019-12-17.
  20. ^ "Die Info". www.ietf.org. Abgerufen 2019-12-17.
  21. ^ "Die Dämpfung der Strecke verschärft das Internet -Routing -Konvergenz" (PDF). November 1998.
  22. ^ Zhang, Beichuan; Pei Dan; Daniel Massey; Lixia Zhang (Juni 2005). "Timer -Wechselwirkung in der Dämpfung der Routenklappe" (PDF). IEEE 25. Internationale Konferenz über verteilte Computersysteme. Abgerufen 2006-09-26. Wir zeigen, dass das aktuelle Dämpfungsdesign zu dem beabsichtigten Verhalten nur unter anhaltendem Routenflattern führt. Wenn die Anzahl der Klappen gering ist, weicht die globale Routing -Dynamik mit einer längeren Konvergenzverzögerung erheblich vom erwarteten Verhalten ab.
  23. ^ Villamizar, Curtis; Chandra, Ravi; Govindan, Ramesh (November 1998). "BGP -Routenklappendämpfung". Tools.ietf.org.
  24. ^ "Reife Routing-Arbeitsgruppenempfehlungen zur Dämpfung von Routen-Lappen". Reife Netzwerkkoordinierungszentrum. 2006-05-10. Abgerufen 2013-12-04.
  25. ^ "Draft-mbk-rfd-usable-02-Streckenklappe Dämpfung verwendbar machen". Tools.ietf.org. Abgerufen 2013-12-04.
  26. ^ Ab dem 12. August 2014 multiple multiple Internetrouter, Hergestellt von Cisco und andere Anbieter stießen auf ein Standardsoftware -Limit von 512.000 - 524.288) "Cisco Switch Problem".
  27. ^ "Renesys 512K Globale Routen".
  28. ^ a b "BGP berichtet". Potaroo.net.
  29. ^ "Router und Switches TCAM -Allokationsanpassungsverfahren der Serie CAT 6500 und 7600". Cisco. 9. März 2015.
  30. ^ Jim Cowie. "Internet berührt eine halbe Million Routen: Ausfälle nächste Woche möglich". Dyn Forschung.
  31. ^ Garside, Juliette; Gibbs, Samuel (14. August 2014). "Internet -Infrastruktur 'muss aktualisiert werden oder mehr Stromausfälle werden stattfinden."". Der Wächter. Abgerufen 15. August 2014.
  32. ^ "BOF -Bericht" (PDF). www.nanog.org. Abgerufen 2019-12-17.
  33. ^ Greg Ferro (26. Januar 2011). "TCAM - Ein tieferer Ausdruck und die Auswirkungen von IPv6". Ätheralmind.
  34. ^ "Die IPv4 -Depletion -Site". ipv4depletion.com.
  35. ^ "Was hat das heutige Internet -Schluckauf verursacht". bgpmon.net.
  36. ^ 16-Bit autonomer Systembericht, Geoff Huston 2011 (Original archiviert bei https://web.archive.org/web/20110906085724/http://www.potaroo.net/tools/asn16/)
  37. ^ Craig Timberg (2015-05-31). "Eine schnelle Lösung für ein frühes Internetproblem lebt später in einem vierteljährlichen Jahrhundert". Die Washington Post. Abgerufen 2015-06-01.
  38. ^ "Gnu Zebra".

Weitere Lektüre

Externe Links