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?
Odpowiedzi:
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.
źródło
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).
źródło
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.
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ę:
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ł.
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.
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.
źródło
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:
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.
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.
źródło
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.
źródło