Strona 1 z 1

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

: 30 maja 2016, 01:01
autor: judge dredd
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

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

: 30 maja 2016, 07:46
autor: martino76
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,