Algorytm wyboru najlepszej ścieżki BGP - "locally injected routes"

Pytania dt. certyfikacji CCNP, CCDP, CCSP, CCIP oraz CCVP

Moderatorzy: mikrobi, aron, garfield, gangrena, Seba

Wiadomość
Autor
Awatar użytkownika
judge dredd
wannabe
wannabe
Posty: 144
Rejestracja: 02 sie 2009, 15:23

Algorytm wyboru najlepszej ścieżki BGP - "locally injected routes"

#1

#1 Post autor: judge dredd » 30 maja 2016, 01:01

Cześć!

Uczę się właśnie do CCNP Route i porównując informacje z Cert Guide'a z topologią, którą widziałem działającą produkcyjnie, naszły mnie pewne wątpliwości dotyczące kroku 3 wyboru ścieżki:

BGP Best-Path Algorithm:
0. Next hop: reachable?
1. Weight
2. Local preference
3. Locally injected routes - Locally injected (via "network" or "redistribute") is better than iBGP/eBGP learned.
4. AS_Path length
...

Teoretycznie sama koncepcja jest niby jasna, że jeśli ten sam prefix będzie ogłoszony przy pomocy iBGP lub eBGP oraz zostanie wstawiony "ręcznie" przez network lub redystrybucję, to w 3 kroku wygrywa ścieżka "lokalna". Niby jasne, ale...

Widziałem takie działające środowisko:

http://i64.tinypic.com/2n0q4iv.jpg

I tutaj z poziomu switcha BR1 sieć BR2 10.10.10.0/24 była osiągalna ścieżką bezpośrednią przez MetroEthernet. Ścieżka przez MPLS była traktowana jako zapasowa. Listing komendy "sh ip bgp" z BR1 był następujący:

Kod: Zaznacz cały

   Network          Next Hop            Metric LocPrf Weight Path
*  10.10.10.0/24    10.100.0.1               0             0 65666 ?
*>i                 172.30.0.1               0    100      0 i
No i tutaj moja wątpliwość dotycząca trzeciego kroku wyboru ścieżki przez BGP:

Czy w powyższym przykładzie z punktu widzenia BR1 trasa przez peera iBGP 172.30.0.1 została wybrana w punkcie trzecim dlatego, że na switchu BR2 sieć 10.10.10.0/24 została wprowadzona do BGP komendą "network 10.10.10.10 mask 255.255.255.0"? Czy może zadecydował punkt 4 i krótsze AS_Path przy peerze iBGP?

Chodzi mi o to, co tak na prawdę oznacza "locally injected routes"? Czy "lokalnie" - na tym samym routerze, czy "lokalnie" - w ramach tego samego AS'a BGP? Tutaj sieć 10.10.10.0/24 została wstawiona przy pomocy "network" na switchu BR2. Czy switch BR1 wybiera ją w punkcie 3 algorytmu jako "locally injected", czy dla niego to jest "iBGP learned" i przechodzi do punktu 4 algorytmu gdzie wybiera ją na podstawie AS_Path?

A może jest jakaś magiczna komenda, którą można zobaczyć dlaczego dana ścieżka została wybrana? Czy może np. przy debugowaniu BGP byłaby informacja czemu dana ścieżka została wybrana?

Wątpliwość w sumie trochę książkowa i możliwe, że trochę przekombinowałem, ale może ktoś to już kiedyś drążył. W internecie wszyscy tylko powtarzają jak mantrę "locally means via network or redistribute command" i tyle.

Pozdro!

JD
Ostatnio zmieniony 13 lip 2018, 12:27 przez judge dredd, łącznie zmieniany 1 raz.

martino76
CCIE
CCIE
Posty: 805
Rejestracja: 17 gru 2010, 15:23
Lokalizacja: Dublin

Re: Algorytm wyboru najlepszej ścieżki BGP - "locally injected routes"

#2

#2 Post autor: martino76 » 30 maja 2016, 07:46

Witam,

Lokalnie, znaczy na tym samym urządzeniu, wiec BR1 nie bierze tego atrybutu pod uwagę. Jeśli przyjrzałbyś się show ip bgp na BR2 to zauważyłbyś, ze Waight dla sieci 10.10.10.0/24 jest ustawione na 32768, co dokładnie wskazuje na to, ze dany prefix jest rozgłaszany za pomocą własnie komendy network. W twoim przypadku ma znaczenie AS-PATH atrybut.

Pozdro,

ODPOWIEDZ