Równoważenie obciążenia przychodzącego BGP z tego samego routera ISP

10

Mam dwa routery BGP dla DIA z problemem z jednym dostawcą, ponieważ dwa łącza do tego dostawcy lądują na tym samym routerze SP. Moje połączenia ethernetowe za pośrednictwem dwóch oddzielnych łączy MetroE od innego dostawcy w imieniu mojego głównego dostawcy, ponieważ jeden dostawca miał już światłowód do bldg. Jeśli ktoś mógłby również wyjaśnić terminologię dostawcy usług internetowych, gdy jeden dostawca przenosi usługi dla innego, doceniłbym to. Oba obwody kończą L3 z tym samym routerem SP, więc każdy z moich dwóch routerów korzysta z tego samego routera dostawcy. Przydzielono mi przestrzeń PA z tego SP.

Nie mam problemów z równoważeniem obciążenia wychodzącego (lub z podziałem obciążenia, jak sądzę, byłoby bardziej technicznie dokładne). Wychodzące, wykonuję ECLB na zaporze ogniowej, która wybiera jeden z dwóch routerów brzegowych na podstawie skrótu srcip / dstip .

Ten konkretny przewoźnik - zapomnij o przewoźniku, który po prostu zapewnia transport - nie równoważy obciążenia ruchu przychodzącego z ich jednego routera przez dwa łącza do moich dwóch routerów, i to jest kierunek, w którym moglibyśmy użyć połączonego 5x50Mb BW, który mamy zakontraktowany. SP widzi dla nas równe ścieżki dla tej samej reklamowanej sieci i zasadniczo tylko pierwsza ścieżka, której się uczą, jest najlepszą ścieżką.

Poniżej wymieniłem to, co rozważam jako moje opcje uzyskania ruchu przez oba obwody, i chciałbym wiedzieć, co eksperci tutaj uważają za najlepsze, szczególnie jeśli znasz typowe SPO SP . Ponieważ mam umowę, zmiana umowy w tej chwili nie jest opcją, aby przebudować ją w inny sposób.

Zezwolenie maximum-paths 2na to w sieci SP naprawia to, ale dotyczy to wszystkich ich klientów BGP na tym samym routerze, na który nie sądzę, że pozwolą. Co najmniej jedna opcja, która będzie działać, obejmuje trasy statyczne, ale nie tego wolałbym.

Poniżej znajdują się opcje, które rozważałem w mojej kolejności preferencji.

  1. Zezwalaj BGPmaximum-paths 2 na routerze SP (dotyczy wszystkich klientów BGP tam przebywających), więc / 24 jest używany, gdy jest reklamowany w obu obwodach

  2. Podziel my / 24 na pół i reklamuj osobno / 25s na każdym linku wraz z / 24. SP niedawno stwierdził, że można by użyć nieudokumentowanej społeczności do akceptowania prefiksów> / 24. Wymaga to manipulowania NAT na mojej zaporze ogniowej, aby używać adresów globalnych w obu / 25, ponieważ większość ruchu jest teraz kierowana z powrotem tylko do kilku adresów w dolnej / 25.

  3. SP trasy statyczne do / 24 w celu wymuszenia równoważenia obciążenia w / BGP / 24 (trasa zmienna).

  4. SP statyczne trasy do / 25s w celu wymuszenia ECLB z prefiksem BGP / 24 (w RIB, ale nie są używane, chyba że wystąpi błąd / 25s).

Myślę, że reklama / 25s w BGP jest najlepszą opcją, o której dowiedziałem się dopiero niedawno, że jest możliwa w nieudokumentowanej społeczności SP, ale czy istnieją inne opcje, których nie rozważałem, lub obawy dotyczące pakietów poza kolejnością przy niektórych z tych opcji ?

Jest to rodzaj problemu odwrotnego równoważenia obciążenia, który większość osób pyta o BGP.

generalnetworkerror
źródło
1
Maksymalne ścieżki mogą działać, nawet jeśli jesteś multihomed na dwóch różnych routerach, w przypadku gdy każdy wejściowy PE w sieci operatora musi mieć włączoną maksymalną ścieżkę i musi odbierać obie ścieżki z iBGP.
ytti
Miałem co do tego wątpliwości, kiedy to napisałem ... Q poprawione.
generalnetworkerror

Odpowiedzi:

8

Poprosiłbym o „maksymalne ścieżki” (zwykle w ECMP i standardach nazywa się to ECMP, a nie ECLB). A jeśli ECMP nie uruchamia się, powróć do planu / 25.

Inne akronimy, których nie mogłem od razu zrozumieć, to DIA (dedykowany dostęp do Internetu?) I SOP (standardowa procedura operacyjna?). Nie jestem pewien, czy są to tak uniwersalne akronimy, że powinny być używane w zamianie stosów bez przynajmniej tekstu aktywowanego w celu ich rozwiązania.

iti
źródło
Dzięki, wiedziałem, że ECLB nie brzmi dobrze, ale nie pamiętałem ECMP z głowy. I masz rację w TLA. ;-) DIA jest uniwersalnym terminem, którego używa jeden z dostawców Internetu pierwszego poziomu, z którego korzystałem w ciągu ostatniej dekady w kontraktach na usługi internetowe za pośrednictwem bezpośrednich łączy. SOP jest również uniwersalny, ale dam wam, że to było rozciągnięcie przy użyciu go w obładowanej akronimem linii, takiej jak NE.
generalnetworkerror
6

Mówiąc o terminologii, którą tak naprawdę już powiedziałeś, transport, który moim zdaniem jest najczęściej nazywany tego typu usługą. Czasami ludzie będą też nazywać to „liną”.

Masz inną opcję przeniesienia interfejsu po tej samej stronie do tego samego routera, a następnie skonfigurowania eBGP multihop *** między tobą a twoim dostawcą. Tak, tracisz nadmiarowość po swojej stronie, ale po przeciwnej stronie i tak idzie do tego samego routera, więc jest to coś spornego. Eliminuje to również konieczność korzystania przez dostawcę z wielościeżkowego eBGP, na wypadek, gdyby nie był on skłonny zrobić tego z tobą (ale zauważyłem, że generalnie większość dostawców jest w porządku z włączeniem tego, jeśli nie jest jeszcze włączone) .

Jeśli nie wydaje się to prawdopodobne, ogłoszenie dwóch / 25 jest prawdopodobnie najlepszym wyborem, chyba że twój dostawca jest skłonny się włączyć maximum-paths(ponownie, zakładając, że jeszcze tego nie zrobił).

*** Wykonywanie równoważenia obciążenia za pomocą eBGP multihop w Twoim scenariuszu będzie obejmować:

  1. Przenieś drugie połączenie ISP do jednego routera po swojej stronie.
  2. Zarówno ty, jak i dostawca konfigurujecie update-source Loopback0na każdej sesji - nie musicie używać Lo0, jeśli nie chcecie, pod warunkiem, że uzgodnicie adres do trasy statycznej.
  3. Skonfiguruj 2x / 32 statyczne trasy do wzajemnych pętli sprzężenia zwrotnego za pośrednictwem połączonych interfejsów (lub adresów IP następnego skoku) - tak działa równoważenie obciążenia, ponieważ tak naprawdę jest to po prostu ECMP.
  4. Skonfiguruj ebgp-multihop 2nawzajem sesje (chcesz, aby ten numer był jak najmniejszy, aby uniknąć przejęcia sesji TCP).

Voila, równoważenie obciążenia. To skaluje się również dla poszczególnych interfejsów, ponieważ dodanie nowego portu będzie wymagało dodania innego interfejsu i trasy statycznej.

John Jensen
źródło
Czy możesz wyjaśnić, w jaki sposób operator zacznie wysyłać ruch przez oba łącza, przenosząc eBGP na tym samym routerze po stronie klienta, jeśli nie jest włączona obsługa wielu ścieżek.
ytti
Jasne, zmodyfikuję moją odpowiedź.
John Jensen
Ściśle mówiąc, nie wymaga to wielu przeskoków ani migracji do tego samego routera. Wymaga to tylko zmiany następnego protokołu BGP, aby był taki sam zarówno w równorzędnych eBGP, jak i dostawcy akceptującym „zdalny nexthop” i statyczną trasę do nich.
ytti
Nie jestem pewny co masz na myśli. Korzystanie eBGP multihop dla równoważenia obciążenia w ten sposób nie wymaga równoległych połączeń pomiędzy tymi samymi 2 routery.
John Jensen
Nie musisz przenosić istniejących sesji eBGP. Możesz po prostu zresetować następny przeskok w mapie trasy do jakiegoś adresu, tak samo w obu eBGP (nie musisz nawet konfigurować adresu IP nigdzie). Tak długo, jak dostawca akceptuje ten zmodyfikowany następny skok (musi przełączać się w IOS i JunOS) i konfiguruje trasy statyczne, jak wyjaśniono, działa dobrze bez multihopa lub przenoszenia eBGP po stronie klienta.
ytti
3

Optymalnym rozwiązaniem jest tutaj BGP ECMP poprzez maximum-paths 2- powiem jednak, że „akceptowanie tras> / 24” wymagające znacznika społeczności brzmi jak epicka głupota - zakładając, że jesteś ich klientem, powinni zaakceptować wszystko, co im dasz maksymalną liczbę prefiksów i po prostu filtruj dane wychodzące zgodnie z wszelkimi umowami zawartymi z innymi partnerami. jeden z trendów, które postawiłem na podobnej łódce w związku z tym, że nie wykonuję ECMP, zawsze oczekuję, że będę mógł poinformować przewoźnika tranzytowego o dowolnym rozmiarze prefiksu i pozwolić mu go użyć.

Zatem, biorąc pod uwagę, że nie brzmią zbyt kompetentnie, aby zrównoważyć ruch, nie wycofuj prefiksu / 24 - zamiast tego pozostaw to i upewnij się, że twoje / 25 tras są oznaczone NO_EXPORT oprócz tego, co rzekomo ma twój dostawca wymaga, aby twoje / 25-y nie wyciekły przypadkowo z ich AS (nie żeby to prawdopodobnie zaszło bardzo daleko, jeśli to zrobi).

Ostatnia uwaga - upewnij się, że ta „nieudokumentowana społeczność” nie jest w rzeczywistości społecznością czarnych dziur, ponieważ byłoby ... no wiesz, źle .

Olipro
źródło
To od znanego poziomu 1 i od wszystkich dostawców usług internetowych, dla których zrobiłem BGP, nie zezwalam gt 24jako ogólna zasada. Planowałem ustawić NO_EXPORT na / 25s.
generalnetworkerror
wszystkie moje upstumy zaakceptują ode mnie> / 24, po prostu nie wyeksportują tego. Faktycznie używam tego efektu do manewrowania ruchem, ponieważ nie wykonują ECMP.
Olipro
dodatkowo, coś takiego byłoby straszne w przypadku ataku - jeśli nie możesz ogłosić / 32 do swojego górnego biegu ze społecznością Blackhole, masz kłopoty.
Olipro,
Pozwalają na ogłoszenia czarnych dziur dowolnego rozmiaru w odpowiedniej społeczności.
generalnetworkerror