Odpowiedź nie jest prostym „tak” lub „nie”, ale myślę, że zasadniczo twoja obserwacja jest prawdziwa, że „tak nie jest”.
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.