Tylko jedna ścieżka w lustrze

10

Rozumiem, że tylko najlepsza ścieżka jest reklamowana sąsiadom eBGP, ale czy tak jest w przypadku iBGP? Gdybym peerował z dwoma dostawcami, miałem wrażenie, że każdy, kto podgląda obu moich dostawców, miałby do mnie dwie ścieżki. Po sprawdzeniu kilku okularów wygląda na to, że tak nie jest.

Dennis Olvany
źródło

Odpowiedzi:

12

BGP zawsze reklamuje najlepszą drogę do swoich rówieśników. Dotyczy to eBGP, iBGP, odbicia trasy (co jest jedynie specjalnym przypadkiem iBGP) i każdego innego sposobu, w jaki możesz użyć BGP.

Ale tak, masz rację, jeśli wysyłasz reklamy do dostawców A i B, a ja mam połączenia i sesje BGP również z dostawcami A i B, to powinienem zobaczyć obie ścieżki w moich tabelach BGP. Nie widzę wielu tras utworzonych w moich tabelach routingu ... to jest kwestia konfiguracji moich urządzeń i czy zezwalam na wstawienie wielu tras o równych długościach ścieżek AS do tabeli routingu ... zazwyczaj BGP zainstaluje tylko jedna trasa. Tabele BGP powinny jednak zawierać reklamy obu dostawców.

Właściwie ... nawet jeśli peeruję z dostawcami B i C, a nawet C i D, nadal powinienem widzieć wiele ścieżek w moich tabelach BGP, o ile jesteś osiągalny przez B, C i D. Wszystkie inne rzeczy są równe, moje urządzenia powinny wybrać B, ponieważ powinna to być najkrótsza ŚCIEŻKA AS, ale nadal widziałbym ścieżki o dłuższych ŚCIEŻKACH AS z C i D. Być może zarówno C, jak i D zdecydowali, że ścieżka przez A jest lepsza niż ścieżka przez B, wtedy ścieżki, które widziałbym, miałyby JAKIE ŚCIEŻKI „AC” i „AD”, więc wyglądałoby na to, że wcale nie byłeś podłączony do B, ale gdyby ścieżka przez A odeszła, wtedy ścieżka przez B byłaby propagowana dalej przez C i D.

Jeśli możesz podać jakieś szczegóły ... może nawet twoje bloki, które reklamujesz, jeśli chcesz się tym podzielić ... inni mogą spojrzeć na to, co widzimy i być może udzielić bardziej szczegółowych wskazówek.

Jeff McAdams
źródło
2

Jednym aspektem, który nie jest jeszcze objęty tymi odpowiedziami, jest „ścieżka dodawania” BGP, która pozwala peerowi BGP wysłać nie tylko najlepszą trasę, ale także niektóre lub wszystkie ich alternatywne.

Jest to najbardziej przydatne (i prawdopodobnie działa) na iBGP i daje lepszy ECMP.

W przypadku EBGP, jeśli masz wiele sesji do tego samego peera na jednym routerze, powinieneś używać BGP „multipath”, aby umożliwić ECMP. W zależności od tego, jak i gdzie odbywa się odbicie trasy w sieci SP, może to skutkować równomiernym wykorzystaniem wszystkich sesji.

Oto prezentacja Dave'a Warda (wtedy w Juniper, teraz w Cisco) na temat ścieżki dodawania:

http://www.nanog.org/meetings/nanog48/presentations/T Tuesday/Ward_AddPath_N48.pdf

LapTop006
źródło
2

Zazwyczaj peery BGP mogą wysyłać do siebie tylko jedną ścieżkę, a wszelkie aktualizacje tej ścieżki zastępują istniejącą.

Istnieje jednak rozszerzenie BGP, zwykle znane jako, additional-pathsktóre umieszcza identyfikator na każdej trasie wysyłanej do peera, a tym samym umożliwia peerom BGP wymianę wielu tras do ścieżki, co daje nie tylko większy zakres inżynierii ruchu, ale także skrócony czas konwergencji w przypadku wycofania ścieżki, ponieważ prefiks (y) nienajlepszej ścieżki można zainstalować w FIB jako trasy zapasowe, które zostaną wykorzystane w momencie wycofania najlepszej ścieżki - ma to szczególne znaczenie, jeśli „ ponownie uruchamiam pełne tabele internetowe, ponieważ skaner BGP na routerze Cisco będzie działał co najwyżej co 30 sekund, a pokonanie 300 000 tras będzie miało swoje żniwo.

Zauważ, że dodatkowe ścieżki BGP nie mają nic wspólnego z ECMP, ponieważ oczywiście mówimy o otrzymywaniu wielu prefiksów z tym samym następnym przeskokiem - jedynym wyjątkiem są przypadki, w których używasz iBGP i nie używasz next-hop-self(lub robisz brudnych rzeczy) z eBGP, w którym zachowany jest Nexthop)

Ponieważ jest to rozszerzenie, oba routery muszą go obsługiwać i negocjować tę funkcję w momencie połączenia (lub ewentualnie wynegocjować funkcję dynamiczną). Można go używać zarówno z eBGP, jak i iBGP.

Olipro
źródło
0

Próba szukania własnych tras w okularach nie zawsze działa tak, jak się spodziewasz, szczególnie jeśli kupujesz od osoby, która kupuje dużo tranzytu. Na przykład Internap kupuje tranzyt od wielu innych dużych dostawców usług internetowych. Jeśli kupisz od Internap, a następnie od kogoś innego, istnieje duża szansa, że ​​twoja trasa u innego dostawcy zostanie ukryta z powodu tego, że nie jest najlepsza. Większość dostawców usług internetowych preferuje własne trasy dla klientów. Widząc lub nie widząc własnych tras w lustrze, ma niewiele wspólnego z tym, czy trasa przebiega prawidłowo, czy nie.

Aaron
źródło
0

Twoje pytanie dotyczy nie samego BGP, ale zasad ISP. Nie zawsze - przez polisę lub przez pomyłkę - twoi dostawcy podadzą twoją przestrzeń do upstamów. Nawiasem mówiąc, używasz PI lub PA?

Łukasz Bromirski
źródło
0

Jest tyle filtrowania między tobą a LG (lustro), które mogą usunąć twój prefiks z drogi lub innej. Jaka jest długość reklamowanego przedrostka? Czy masz przestrzeń PI lub PA? Ponieważ najlepsza ścieżka jest reklamowana w sieci równorzędnej, dwie ścieżki mogą konkurować ze sobą w górę i tylko jedna dotrze do LG. Jeśli zamkniesz jedną ze swoich ścieżek, to czy pojawi się ona w LG po konwergencji? To powie ci, że tracisz jedną z najlepszych ścieżek. Wypróbuj LG ze swoimi dostawcami, aby potwierdzić, że twój prefiks jest tam pierwszy, a następnie spróbuj przejść do następnego SP.

W przypadku pytania dotyczącego najlepszej ścieżki iBGP domyślnie jest reklamowane tylko jedno.

generalnetworkerror
źródło
-1

Odpowiedź nie jest prostym „tak” lub „nie”, ale myślę, że zasadniczo twoja obserwacja jest prawdziwa, że ​​„tak nie jest”.

Aby uzyskać więcej informacji, zobacz tutaj .

Ze względu na ciekawość, SE woli jednak od odpowiedzi, które są czysto linkami do innych stron, więc powielę niektóre z nich tutaj na wypadek, gdyby źródło kiedyś zniknęło lub uległo zmianie.

Jak działa algorytm najlepszej ścieżki

BGP przypisuje pierwszą prawidłową ścieżkę jako bieżącą najlepszą ścieżkę. Następnie BGP porównuje najlepszą ścieżkę z następną ścieżką na liście, dopóki BGP nie osiągnie końca listy prawidłowych ścieżek. Ta lista zawiera reguły używane do określenia najlepszej ścieżki:

1) Preferuj ścieżkę o najwyższej Wadze.

Uwaga: WAGA jest parametrem specyficznym dla Cisco. Jest lokalny dla routera, na którym jest skonfigurowany.

2) Preferuj ścieżkę o najwyższym LOCAL_PREF.

Uwaga: Uważa się, że ścieżka bez LOCAL_PREF miała wartość ustawioną za pomocą domyślnej komendy preferencji lokalnych bgp lub domyślnie ma wartość 100.

3) Preferuj ścieżkę lokalnie pochodzącą z sieci lub podkomendy BGP lub poprzez redystrybucję z IGP.

Lokalne ścieżki pozyskiwane z sieci lub polecenia redystrybucji są preferowane nad lokalnymi agregatami pochodzącymi z komendy agregate-address.

4) Preferuj ścieżkę o najkrótszym AS_PATH.

Uwaga: pamiętaj o tych elementach:

Ten krok zostanie pominięty, jeśli skonfigurowano komendę bgp bestpath as-path ignore.

AS_SET liczy się jako 1, bez względu na to, ile AS jest w zestawie.

AS_CONFED_SEQUENCE i AS_CONFED_SET nie są uwzględnione w długości AS_PATH.

5) Preferuj ścieżkę o najniższym typie początku.

Uwaga: IGP jest niższy niż protokół bramki zewnętrznej (EGP), a EGP jest niższy niż NIEKOMPLETNY.

6) Preferuj ścieżkę z najniższym dyskryminatorem z wieloma wyjściami (MED).

Uwaga: pamiętaj o tych elementach:

To porównanie występuje tylko wtedy, gdy pierwszy (sąsiedni) AS jest taki sam na dwóch ścieżkach. Wszelkie podsystemy AS konfederacji są ignorowane.

Innymi słowy, MED są porównywane tylko wtedy, gdy pierwszy AS w AS_SEQUENCE jest taki sam dla wielu ścieżek. Wszelkie poprzednie AS_CONFED_SEQUENCE są ignorowane.

Jeśli włączona jest opcja bgp always-Compare-med, MED są porównywane dla wszystkich ścieżek.

Musisz wyłączyć tę opcję w całym AS. W przeciwnym razie mogą wystąpić pętle routingu.

Jeśli włączona jest opcja bgp bestpath med-confed, MED są porównywane dla wszystkich ścieżek, które składają się tylko z AS_CONFED_SEQUENCE.

Ścieżki te powstały w ramach lokalnej konfederacji.

MED ścieżek otrzymanych od sąsiada z MED o wartości 4 294 967 295 jest zmieniany przed wstawieniem do tabeli BGP. MED zmienia się na 4 294 967 294.

Ścieżkom otrzymanym bez MED jest przypisany MED o wartości 0, chyba że włączyłeś opcję bgp bestpath med brakującą jako najgorszą.

Jeśli włączyłeś bgp bestpath z brakującym jako najgorszym, ścieżkom przypisano MED wynoszący 4 294 967 294.

Polecenie bgp deterministic-med może również wpływać na ten krok.

Zobacz, w jaki sposób routery BGP używają dyskryminatora wielu wyjść w celu wybrania najlepszej ścieżki do demonstracji.

7) Preferuj eBGP zamiast ścieżek iBGP.

Jeśli wybrano najlepszą ścieżkę, przejdź do kroku 9 (wiele ścieżek).

Uwaga: Ścieżki zawierające AS_CONFED_SEQUENCE i AS_CONFED_SET są lokalne dla konfederacji. Dlatego ścieżki te są traktowane jako ścieżki wewnętrzne. Nie ma różnicy między Konfederacją Zewnętrzną a Konfederacją Wewnętrzną.

8) Preferuj ścieżkę o najniższym wskaźniku IGP niż następny skok BGP.

Kontynuuj, nawet jeśli najlepsza ścieżka jest już wybrana.

9) Sprawdź, czy wiele ścieżek wymaga instalacji w tabeli routingu dla BGP Multipath.

Kontynuuj, jeśli najlepsza ścieżka nie jest jeszcze wybrana.

10) Gdy obie ścieżki są zewnętrzne, preferuj ścieżkę otrzymaną jako pierwszą (najstarszą).

Ten krok minimalizuje klapę trasy, ponieważ nowsza ścieżka nie zastępuje starszej, nawet jeśli nowsza ścieżka byłaby preferowaną trasą w oparciu o kolejne kryteria decyzyjne (kroki 11, 12 i 13).

Pomiń ten krok, jeśli którykolwiek z tych elementów jest prawdziwy:

Włączyłeś polecenie bgp best path Compare-routerid.

Uwaga: Wydano to polecenie w oprogramowaniu Cisco IOS 12.0.11S, 12.0.11SC, 12.0.11S3, 12.1.3, 12.1.3AA, 12.1.3.T i 12.1.3.E.

Identyfikator routera jest taki sam dla wielu ścieżek, ponieważ trasy zostały odebrane z tego samego routera.

Nie ma obecnie najlepszej najlepszej ścieżki.

Bieżącą najlepszą ścieżkę można utracić, gdy na przykład sąsiad, który ją oferuje, spadnie.

11) Preferuj trasę prowadzącą z routera BGP o najniższym identyfikatorze routera.

Identyfikator routera to najwyższy adres IP na routerze, z pierwszeństwem dla adresów sprzężenia zwrotnego. Możesz także użyć polecenia bgp router-id, aby ręcznie ustawić identyfikator routera.

Uwaga: Jeśli ścieżka zawiera atrybuty reflektora trasy (RR), identyfikator nadawcy zastępuje identyfikator routera w procesie wyboru ścieżki.

12) Jeśli identyfikator nadawcy lub routera jest taki sam dla wielu ścieżek, preferuj ścieżkę o minimalnej długości listy klastrów.

Jest to obecne tylko w środowiskach RR BGP. Umożliwia klientom peerowanie z RR lub klientami w innych klastrach. W tym scenariuszu klient musi znać atrybut BGP specyficzny dla RR.

13) Preferuj ścieżkę pochodzącą z najniższego adresu sąsiada.

Ten adres jest adresem IP używanym w konfiguracji sąsiada BGP. Adres odpowiada zdalnemu peerowi używanemu w połączeniu TCP z routerem lokalnym.

To powiedziawszy, jednak mogę się mylić. Jestem raczej nowicjuszem w tej dziedzinie.

Osteoboon
źródło
Podczas gdy algorytm decyzyjny BGP jest zdecydowanie przydatny i coś, co należy wiedzieć dość dobrze, nie sądzę, że szczególnie odpowiada na pytanie PO (chyba że źle go odczytałem)
Aaron
Sieci SOHO, sieci korporacyjne, sieci dostawców ... wszystko opiera się na tych samych podstawach.
Dennis Olvany