Better Enterprise Multihoming

33

Chciałbym uzyskać opinie na temat sposobów ulepszenia konstrukcji podwójnego dostawcy BGP i podwójnego routera. Każdy dostawca zapewnia podsieć publiczną / 24. Odniosę się do routerów, obwodów, podsieci, grup HSRP i dostawców odpowiednio do A i B. Szerokość pasma w każdym obwodzie jest odpowiednia dla całego obciążenia.

Obecny projekt

Obecny projekt stara się osiągnąć symetrię poszczególnych dostawców. W stanie ustalonym zamierzona logika routingu polega na tym, że ruch do / z podsieci A przesyła tylko obwód A, a ruch do / z podsieci B przesyła tylko obwód B. Obwody podtrzymywałyby się nawzajem w stanie awarii.

Dostawcy reklamują tylko domyślną trasę. Routing wychodzący pociąga za sobą połączenie PBR i HSRP. Routery nie mają między nimi routingu: bez iBGP, bez OSPF, bez routingu statycznego. Zamiast tego istnieją dwie grupy HSRP śledzące domyślną trasę. Router A ma pierwszorzędne znaczenie dla grupy A HSRP, a router B ma pierwszorzędne znaczenie dla grupy HSRP B. Kolejne urządzenia mają domyślną trasę wskazującą na grupę HSRP A i PBR, która kieruje ruchem pochodzącym z podsieci B do grupy HSRP B. Na routing przychodzący ma wpływ wstępne i społeczności. Podsieć A jest dołączana i komunikowana w obwodzie B, a podsieć B jest dołączana i komunikowana w obwodzie A.

Widzę dużo miejsca na ulepszenia w tym projekcie. Brak świadomości topologii Internetu w połączeniu z powinowactwem obwodu całkowicie eliminuje wybór najlepszej ścieżki. Istnieją obawy dotyczące oznaczenia dostawców na poziomie warstwy, a projekt został zracjonalizowany jako zapewniający „akceptowalną wydajność” i prostszy w rozwiązywaniu problemów. Rzeczywiście, projekt nie mógłby być prostszy. Wykazałem, że tranzyt dodatkowego AS dodaje 6 przeskoków i 63 ms (+ 421%) do RTT. Wolałbym nie godzić się na akceptowalne.

Lepszy design

Lepsza konstrukcja zapewnia routerom możliwie największą świadomość topologii Internetu. Został algorytm najlepszej ścieżki do określenia logiki routingu przychodzącego i wychodzącego. Obwody podtrzymywałyby się nawzajem w stanie awarii.

Dostawcy reklamują pełny widok. Routery obsługują iBGP i OSPF. HSRP został wyeliminowany. Trasa wychodząca byłaby najlepszą ścieżką opartą wyłącznie na miejscu docelowym, a routing przychodzący byłby pozostawiony algorytmowi najlepszej ścieżki i kaprysom dostawcy tranzytu.

Teraz, kiedy to piszę, wydaje się to prostsze. Przynajmniej wyjaśnienie wymagało mniej słów. Istnieją obawy dotyczące asymetrii, ale widziałem wiele asymetrii w obecnym projekcie. Sądzę, że prawdopodobnie są równie podatni na asymetrię i to mnie naprawdę nie martwi. W rezultacie nigdy nie widzieliśmy problemów. Obecnie jest przenoszony do królestwa ifs: „Co by było, gdybyśmy musieli coś rozwiązać?”

Czy jestem tutaj daleko od bazy, czy uderzyłem się w głowę? Jak inni rozwiązali ten problem? Co zrobiłby Google?

Dennis Olvany
źródło
Świetne szczegóły i wyjaśnienia. Witamy!
Pandom
Tradycyjnie pytania „Chciałbym uzyskać opinie na temat mojego projektu” nie są tak naprawdę świetnymi pytaniami SE ... Ale można to omówić na stronie meta
Aaron

Odpowiedzi:

16

Tak, trafiłeś w gwóźdź.

Otrzymasz asymetrię w ulepszonym projekcie, ale asymetria jest faktem w Internecie i naprawdę nie ma dobrego powodu, aby oczekiwać symetrycznego routingu ruchu do / z. Strzelaj, cała koncepcja routingu pakietów polega na tym, że oddzielne pakiety są kierowane niezależnie od siebie i mogą podążać różnymi ścieżkami, nawet pakiety idące w tym samym kierunku.

Osobiście nie lubię PBR. Jest to jedna z tych technologii, która, kiedy uznaję, że jest to najlepsze rozwiązanie problemu, zatrzymuję się i robię krok do tyłu, aby zobaczyć, czy naprawdę rozumiem prawdziwą naturę problemu, nawet w celu ustalenia, jaki problem biznesowy należy rozwiązać. jest. Kiedy to robię, prawie zawsze stwierdzam, że istnieje sposób na rozwiązanie problemu bez użycia takiej technologii.

Posiadanie pełnych tras internetowych w routerach wymaga pewnego przyzwyczajenia się, ale gdy już się do tego przyzwyczaisz, jest to naprawdę bardzo łatwe do zrozumienia i rozwiązania problemów. Z pewnością jest mniej „ruchomych części” różnych protokołów, o które należy się martwić.

Nie chcesz mieć pełnych tras internetowych w bazie danych OSPF, więc będziesz chciał zareklamować domyślne ustawienie za pośrednictwem OSPF do wnętrza twojej sieci (a może statyczne domyślne ... osobiście wolę domyślne w OSPF). Spowoduje to przesunięcie ruchu w kierunku routerów internetowych mówiących w BGP, które mogą podjąć bardziej świadomą decyzję o posiadaniu pełnych tras internetowych.

To da ci blisko „najlepszej ścieżki opartej na celu”. Nadal będą przypadki, w których ruch zrobi rzeczy, których się nie spodziewasz, więc będziesz chciał zapoznać się z procesem wyboru trasy BGP.

Jeff McAdams
źródło
Dzięki, Jeff. Zgadzam się z twoją dyspozycją w sprawie PBR. Widziałem to w koszmarny sposób. Wyrwałem więcej PBR z sieci, niż pamiętam. Kiedyś zarządzałem warstwowym środowiskiem, w którym PBR został wdrożony jako wirtualny mechanizm routingu z unikalną mapą trasy dla SVI (100's). PBR zawierał także klauzule zezwolenia / braku ustawienia, które spowodowały zmianę procesu. W wersji drukowanej było to około 60 stron konfiguracji. Nie trzeba dodawać, że wziąłem do niej kulę rozbicia; zastąpił go VRF.
Dennis Olvany
6

Aby zaoferować inne podejście do innych już podanych, które może, ale nie musi być lepsze niż istniejące pomysły, ale przede wszystkim poprzez dodatkowe pomysły;

Powiedziałbym, że dwa proste kroki, które można podjąć w celu poprawy obecnej sytuacji, są następujące;

Krok 1 ;

Uzyskaj pełne tabele BGP od obu dostawców - Teraz będziesz mieć bardziej optymalne routing wychodzący, ponieważ będziesz routować za pośrednictwem dostawcy tranzytu z najmniejszą ścieżką AS do miejsca docelowego. Jak już powiedziałeś, możesz usunąć HSRP i po prostu ogłosić domyślną trasę w OSPF i uruchomić iBGP między dwoma routerami brzegowymi.

Krok 2 ;

Skonfiguruj AS prepends i społeczności itp. Na swoich dwóch routerach brzegowych, aby precyzyjnie kontrolować ruch wychodzący, jak potrzebujesz. Tak więc ISP B może mieć lepszą drogę do jakiejś podsieci, ale możesz kupić więcej tranzytu od ISP A, a raczej za pośrednictwem nich, i tak dalej.


Zakładając, że dwie / 24, o których wspomniałeś, że są niezależną przestrzenią adresową PI, więc ogłaszasz je za pośrednictwem obu dostawców lub obaj dostawcy zgadzają się ogłosić dla ciebie tę samą przestrzeń adresową IP, możesz teraz ogłosić oba prefiksy obu dostawcom z obu routerów bez wstępów i społeczności, a także uzyskać lepszy routing przychodzący (oczywiście, chyba że masz jakieś CDR, które musisz wykonać lub podobne, w takim przypadku możesz dostroić zgodnie z wymaganiami).

jwbensley
źródło
Dzięki, javano. Myślę, że zgadzamy się, że zasady routingu przychodzącego i wychodzącego są szkodliwe. Całkowicie chcę pozbyć się PBR, przygotowywania i społeczności!
Dennis Olvany
3

Zacznij od prostego, a następnie dodaj złożoność tylko w razie potrzeby. Chciałbym zapytać, czy istnieje potrzeba uruchomienia OSPF na routerach końcowych Internetu. Uruchom PBR na krawężniku i używaj go tylko w wewnętrznej sieci.

  1. Wybieraj pełne trasy internetowe, jeśli router ma pamięć, ale filtruj! Rzuć czymkolwiek gt a / 24.
  2. Wybierz domyślną trasę z punktu A i B.
  3. Należy uruchomić iBGP, aby umożliwić routerom podejmowanie najlepszych decyzji dotyczących ścieżek, biorąc pod uwagę wszystkie prefiksy otrzymane od A i B.
  4. Jeśli planujesz używać zarówno A, jak i B / 24s z oboma dostawcami, możesz lepiej wpływać na ruch przychodzący, przygotowując A / 24 w sieci B i odwrotnie. Oba / 24s muszą być reklamowane! Skontaktuj się ze swoim dostawcą usług internetowych, aby dowiedzieć się, jakie są jego społeczności.
  5. Użyj dwóch różnych grup HSRP dla ruchu wychodzącego z zapory; możesz skonfigurować ECLB do współdzielenia obciążenia na dwóch routerach. Równoważenie obciążenia kosztami .

Wszystko to można uprościć, jeśli używasz pojedynczego / 24 reklamowanego zarówno w A, jak i B.

Później przyjrzyj się bardziej złożoności, aby uzyskać lepszą inżynierię ruchu i ochronę:

  1. Zapoznaj się ze społecznościami A i B, ponieważ możesz preferować używanie map tras równorzędnych, aby ustawić localpref w celu ustalenia, które trasy używają A w porównaniu z B.
  2. Ustaw pływającą statyczną domyślną trasę na obu routerach jako awaryjną kopię zapasową wszystkich innych elementów na wypadek, gdyby twój BGP wybuchł.

    ip route 0.0.0.0 0.0.0.0 a.b.c.d 254
    
  3. Przyjrzyj się bardziej złożonym sposobom reklamowania kontroli nad polityką ruchu przychodzącego, takimi jak połowa przestrzeni IP przechodzącej przez A, a druga połowa przez B. Dla danego / 24 możesz reklamować / 24 do A i B, ale podzielić to na dwa / 25 i reklamuj dolne / 25 do A, a górne / 25 do B.

  4. Użyj miękkiej rekonfiguracji, aby poprawić ustawienia i wykonać miękki reset sesji BGP, aby nie powodować tłumienia prefiksów po drugiej stronie, jeśli całkowicie zresetujesz (lub wyczyścisz) sesję. Zmiany zasad wymagają zresetowania.

generalnetworkerror
źródło
1

Rozumiem więc na podstawie tego, że tak naprawdę nie trzeba podejmować decyzji w oparciu o ścieżki AS, aby dotrzeć do zewnętrznych podsieci, a jedynym celem podwójnego bazowania dwóch dostawców usług internetowych jest zakup redundancji w celu uzyskania dostępu do Internetu. W takim przypadku tak naprawdę nie trzeba uruchamiać BGP. Możesz po prostu zaakceptować te same trasy domyślne, które już otrzymujesz od usługodawcy. Teraz dla lokalnej strony sieci, uruchom jeden obszar ospf na routerach, które łączą się z ISP na interfejsie skierowanym do twojej sieci LAN (nie dołączaj interfejsu ISP do procesu) i w zależności od tego, jak prosty musi być projekt możesz dodawać routery w różnych obszarach i podsumowywać podsieci na granicach sieci, ale myślę, że w przypadku dwóch podsieci rozmiar bazy danych OSPF lub liczba zalewania LSA nie jest wielkim problemem,

Na każdym routerze OSPF, który łączy się z usługodawcą internetowym, rozpowszechnij wyuczone trasy domyślne w OSPF, używając instrukcji „informacje o domyślnej inicjacji”.

Kilka zalet:

  1. Dzięki takiemu projektowi, gdy rozwijasz sieć, możesz włączyć BGP u dostawców usług i po prostu zaakceptować domyślną trasę bez dotykania jakichkolwiek urządzeń znajdujących się dalej. Dopóki nie potwierdzisz, że otrzymujesz domyślną trasę z BGP, jesteś dobry.

  2. Ilekroć potrzebujesz obsługiwać ruch od dostawcy usług internetowych w celu konserwacji, po prostu usuń „domyślne informacje pochodzą” z procesu OSPF na tym routerze i kontynuuj konserwację. Nic więcej nie jest potrzebne.

I zgadzam się z poprzednią odpowiedzią, że routing symetryczny jest zawyżony, wolę raczej skalowalność i łatwość konserwacji.

Vinny
źródło
Jeśli rozumiem plany @ user161, celem jest bardziej inteligentny wybór ścieżki wychodzącej. Jak to osiągnąć w rozwiązaniu opartym na OSPF?
Paul Gear
Dzięki, Vinny. Przełączanie awaryjne z ruchu wychodzącego nie stanowi problemu, ale czy nie potrzebowałbym BGP do przełączania awaryjnego? Jeśli to tylko użytkownicy wprowadzający PAT do Internetu, może to być wykonalne, ale jest to środowisko hostingowe.
Dennis Olvany
@ user161: Oczywiście, jeśli potrzebujemy przychodzącego przełączania awaryjnego dla twoich podsieci, musisz uruchomić BGP. Skontaktuj się z dostawcą usług internetowych, aby sprawdzić, czy obsługuje on funkcję ORF dla komunikacji równorzędnej BGP, jeśli możesz reklamować lokalnie utworzone podsieci za pośrednictwem BGP z filtrem ruchu przychodzącego na routerach granicznych, aby zaakceptować domyślną trasę i / lub wybrać kilka podsieci z routerów ISP. Jeśli dostawca usług internetowych nie obsługuje ORF, to naprawdę nie ma lepszych możliwości niż zakup routera z większą ilością soku.
Vinny
1

Jeśli pełna tabela BGP jest dla Ciebie za duża, myślę, że możesz rozważyć otrzymanie porcji. Być może każdy z dostawców A i B reklamuje domyślną trasę i lokalne trasy AS. Będziesz musiał uruchomić iBGP wewnętrznie. W ten sposób będziesz mieć najkrótszą trasę dla wszystkiego, co jest bezpośrednio połączone z dostawcami, i wybierzesz trasę dla dalszych tras AS.

Kelly McDowell
źródło
Dzięki, Kelly. Lepszy projekt działałby iBGP. Odświeżenie sprzętu skłania do przeglądu architektury, więc nie martwię się zbytnio o to, że routery mogą to obsłużyć. Zespół sprzedaży twierdzi, że przejście z IOS na JUNOS to bułka z masłem. Jak dotąd nie jestem pewien, czy się zgadzam.
Dennis Olvany
Nie wiem, czy powiedziałbym, że to bułka z masłem ... zniechęcenie do nauki, nie tylko nowa składnia, ale nowa koncepcja składni. Powiem jednak, że uważam, że warto. JunOS sprawi, że będziesz drapał się przez chwilę, ale w pewnym momencie kliknie i wszystko zacznie mieć sens. Oczywiście nadal będziesz musiał sprawdzić różne rzeczy (znajomość składni języka nie jest tym samym, co znajomość słownictwa), ale ogólnie będzie to miało sens.
Jeff McAdams,