Eingehender BGP-Lastausgleich von demselben ISP-Router


10

Ich habe zwei BGP-Router für DIA mit einem Problem mit einem Anbieter, da die beiden Verbindungen zu diesem Anbieter auf demselben SP-Router landen . Meine Ethernet-Übergaben über zwei separate MetroE-Verbindungen von einem anderen Anbieter im Namen meines Hauptanbieters, da der eine Anbieter bereits über Glasfaser zum Gebäude verfügte. Wenn jemand auch die ISP-Terminologie klären könnte, wenn ein Anbieter Dienste für einen anderen transportiert, würde ich es begrüßen. Die beiden Leitungen beenden L3 mit demselben SP-Router, sodass meine beiden Router jeweils mit demselben Provider-Router arbeiten. Ich habe PA-Speicherplatz von diesem SP zugewiesen.

Ich habe keine Probleme mit dem ausgehenden Lastausgleich (oder der Lastverteilung, da ich denke, dass dies technisch genauer wäre). Ausgehend mache ich ECLB an der Firewall, die einen der beiden Edge-Router basierend auf einem srcip / dstip- Hash auswählt .

Dieser spezielle Netzbetreiber - vergessen Sie, dass der Netzbetreiber nur den Transport bereitstellt - gleicht den eingehenden Datenverkehr von seinem einen Router über die beiden Verbindungen zu meinen beiden Routern nicht aus, und in diese Richtung könnten wir das kombinierte 5 x 50 MB große BW verwenden, das wir haben Vertrag abgeschlossen. Der SP sieht gleiche Wege zu uns für dasselbe beworbene Netzwerk und im Wesentlichen ist nur der erste Weg, den er lernt, der beste Weg.

Ich habe unten aufgeführt, was ich als meine Optionen in Betracht ziehe, um Datenverkehr über beide Leitungen zu erhalten, und möchte wissen, was die Experten hier für am besten halten, insbesondere wenn Sie mit typischen SP-SOPs vertraut sind . Da ich einen Vertrag habe, ist eine Änderung des Vertrags zu diesem Zeitpunkt keine Option, um diesen auf andere Weise neu zu erstellen.

Das Zulassen maximum-paths 2im SP-Netzwerk behebt dies, aber dies gilt für alle BGP-Kunden auf demselben Router, von dem ich nicht glaube, dass sie dies zulassen. Mindestens eine Option, die funktioniert, umfasst statische Routen, aber das würde ich nicht bevorzugen.

Nachfolgend sind die Optionen aufgeführt, die ich in meiner bevorzugten Reihenfolge berücksichtigt habe.

  1. Zulassen von BGPmaximum-paths 2 auf SP-Routern (betrifft alle dort ansässigen BGP-Kunden), sodass / 24 verwendet wird, wenn auf beiden Leitungen angekündigt wird

  2. Teilen Sie meine / 24 in zwei Hälften und bewerben Sie separate / 25s über jeden Link zusammen mit der / 24. Der SP hat kürzlich erklärt, dass eine nicht dokumentierte Community verwendet werden könnte, um> / 24 Präfixe zu akzeptieren. Dies erfordert die Manipulation von NAT in meiner Firewall, um globale Adressen in beiden / 25 zu verwenden, da der größte Teil des Datenverkehrs jetzt nur noch an wenige Adressen in den unteren / 25 an uns zurückgesendet wird.

  3. SP statische Routen zu / 24 , um einen Lastausgleich mit BGP / 24 (schwimmende Route) zu erzwingen.

  4. SP statische Routen zu / 25s , um ECLB mit BGP / 24-Präfix zu erzwingen (in RIB, aber nur verwendet, wenn / 25s fehlschlägt).

Ich denke, Werbung für die / 25s in BGP ist die beste Option, von der ich erst kürzlich herausgefunden habe, dass sie mit der undokumentierten SP-Community möglich ist. Gibt es jedoch andere Optionen, die ich nicht in Betracht gezogen habe, oder Bedenken hinsichtlich nicht ordnungsgemäßer Pakete mit einigen dieser Optionen ?

Dies ist eine Art umgekehrtes Lastausgleichsproblem, das die meisten Leute mit BGP fragen.


1
Maximum-Paths können auch dann funktionieren, wenn Sie mit zwei verschiedenen Routern verbunden sind. In jedem Fall muss für jedes Ingress-PE im Betreibernetzwerk Maximum-Paths aktiviert sein und beide Pfade von iBGP empfangen werden.
Ytti

Hatte meine Zweifel daran, als ich es schrieb ... Q überarbeitet.
Generalnetworkerror

Antworten:


8

Ich würde nach "Maximalpfaden" fragen (in Standards und Dokumenten wird es normalerweise als ECMP bezeichnet, nicht als ECLB). Und wenn ECMP kein Starter ist, greifen Sie auf Ihren / 25-Plan zurück.

Andere Akronyme, die ich nicht sofort herausfinden konnte, waren DIA (dedizierter Internetzugang?) Und SOP (Standardarbeitsanweisung?). Ich bin mir nicht sicher, ob dies wirklich so universelle Akronyme sind, dass sie im Stapelaustausch ohne zumindest Hovertext verwendet werden sollten, um sie aufzulösen.


Danke, ich wusste, dass ECLB nicht richtig klang, aber ich konnte mich nicht an ECMP erinnern. Und Sie haben Recht mit den TLAs. ;-) DIA ist ein universeller Begriff, den jeder der Tier-1-ISPs, die ich in den letzten zehn Jahren verwendet habe, in Verträgen für Internetdienste über direkte Links verwendet. SOP ist auch universell, aber ich gebe Ihnen, dass es eine Strecke war, die es in einer mit Akronymen beladenen Disziplin wie NE verwendet.
Generalnetworkerror

6

Wenn Sie über die Terminologie sprechen, haben Sie wirklich bereits Transport gesagt , was meiner Meinung nach am häufigsten als diese Art von Service bezeichnet wird. Manchmal wird es auch als "Leine" bezeichnet.

Sie haben eine weitere Möglichkeit, die Schnittstelle auf Ihrer Seite auf denselben Router zu verschieben und dann den eBGP-Multihop *** zwischen Ihnen und Ihrem Anbieter einzurichten. Ja, Sie verlieren die Redundanz auf Ihrer Seite, aber auf der anderen Seite geht es trotzdem zum selben Router, also ist das eine Art Streitpunkt. Dadurch entfällt auch die Notwendigkeit für den Anbieter, eBGP-Multipath auszuführen, falls er nicht bereit ist, dies mit Ihnen zu tun (aber ich habe festgestellt, dass die meisten Anbieter dies im Allgemeinen gut aktivieren können, wenn es nicht bereits aktiviert ist). .

Wenn dies nicht plausibel erscheint, ist die Ankündigung von zwei / 25 wahrscheinlich die beste Wahl, es sei denn, Ihr Provider ist natürlich bereit, sich einzuschalten maximum-paths(erneut, sofern dies noch nicht geschehen ist).

*** Der Lastausgleich mit eBGP Multihop in Ihrem Szenario umfasst Folgendes:

  1. Verschieben Sie die zweite ISP-Verbindung zu einem Router auf Ihrer Seite.
  2. Sowohl Sie als auch der Anbieter konfigurieren update-source Loopback0in jeder Ihrer Sitzungen - Sie müssen Lo0 nicht verwenden, wenn Sie dies nicht möchten, solange Sie sich darüber einig sind, an welche Adresse die statische Route gesendet werden soll.
  3. Konfigurieren Sie 2x / 32 statische Routen zu den Loopbacks der anderen über die verbundenen Schnittstellen (oder IPs des nächsten Hops) - so funktioniert der Lastausgleich, da es sich eigentlich nur um ECMP handelt.
  4. Konfigurieren ebgp-multihop 2Sie die Sitzungen der anderen (Sie möchten diese Anzahl so klein wie möglich halten, um die Entführung von TCP-Sitzungen zu vermeiden).

Voila, Lastausgleich. Dies wird auch pro Schnittstelle skaliert, da zum Hinzufügen eines neuen Ports eine weitere Schnittstelle und eine statische Route hinzugefügt werden müssen.


Können Sie erläutern, wie der Betreiber mit dem Senden von Datenverkehr über beide Verbindungen beginnt, indem er das eBGP auf Kundenseite auf denselben Router verschiebt, wenn Multipath nicht aktiviert ist?
Ytti

Klar, ich werde meine Antwort ändern.
John Jensen

Genau genommen erfordert dies keinen Multi-Hop oder eine Migration auf denselben Router. Es ist lediglich erforderlich, dass Sie Ihr BGP-Protokoll im nächsten Hop so ändern, dass es sowohl bei eBGP-Peers als auch bei Anbietern gleich ist, die "Remote Nexthop" und statische Route zu ihnen akzeptieren.
Ytti

Ich bin mir nicht sicher was du meinst. Mit EBGP Multihop für den Lastausgleich in dieser Art und Weise nicht erforderlich parallele Verbindungen zwischen den gleichen zwei Routern.
John Jensen

Sie müssen die vorhandenen eBGP-Sitzungen nicht verschieben. Sie können den nächsten Hop in der Routenkarte einfach auf eine Adresse zurücksetzen, die in beiden eBGP gleich ist (Sie müssen die IP nicht einmal irgendwo konfigurieren). Solange der Anbieter diesen geänderten Next-Hop akzeptiert (muss in IOS und JunOS umgeschaltet werden) und die statischen Routen wie von Ihnen erklärt konfiguriert, funktioniert dies einwandfrei, ohne Multihop oder Verschieben des eBGP auf Kundenseite.
Ytti

3

Die optimale Lösung ist hier BGP ECMP über maximum-paths 2- ich werde jedoch sagen, dass "Akzeptieren von Routen> / 24", für die ein Community-Tag erforderlich ist, wie epische Dummheit klingt - vorausgesetzt, Sie sind ein Kunde von ihnen, sollten sie akzeptieren, was Sie ihnen geben maximale Anzahl von Präfixen und filtern Sie ausgehende Nachrichten einfach nach den Vereinbarungen, die sie mit ihren anderen Kollegen getroffen haben. Einer der Upstreams, die ich habe, versetzt mich in ein ähnliches Boot, weil ich kein ECMP mache. Ich erwarte immer, dass ich einem Transitanbieter jede gewünschte Präfixgröße mitteilen und sie verwenden lassen darf.

So gegeben, dass sie nicht sehr kompetent klingen, um den Datenverkehr, nicht entziehen Ihr / 24 - Präfix - stattdessen lassen Sie es sein und sicherstellen , dass Ihre / 25 Routen mit NO_EXPORT zusätzlich markiert sind, was auch immer es ist , dass Ihr Provider angeblich erfordert, damit Ihre / 25s nicht versehentlich aus ihrem AS austreten (nicht, dass es wahrscheinlich sehr weit kommt, wenn dies der Fall ist).

Ein letzter Hinweis: Stellen Sie sicher, dass diese "undokumentierte Community" keine Blackhole-Community ist, denn das wäre ... weißt du, schlecht .


Dies von einem bekannten Tier 1 und allen ISPs, bei denen ich BGP durchgeführt habe, ist gt 24als allgemeine Richtlinie nicht zulässig . Ich hatte geplant, NO_EXPORT auf die / 25s zu setzen.
Generalnetworkerror

Alle meine Upstreams akzeptieren > / 24 von mir, sie exportieren es einfach nicht. Ich nutze diesen Effekt tatsächlich, um den Verkehr zu leiten, da sie kein ECMP ausführen.
Olipro

Darüber hinaus wäre so etwas im Falle eines Angriffs schrecklich - wenn Sie Ihrem Upstream keine / 32 mit einer Blackhole-Community melden können, sind Sie in Schwierigkeiten.
Olipro

Sie erlauben Blackhole-Ankündigungen jeder Größe mit der richtigen Community.
Generalnetworkerror
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.