Atrybuty BGP
Atrybuty BGP- co to jest?
Atrybuty BGP to dane “doklejane” do prefiksów BGP. Prefiksy i atrybuty tworzą trasy BGP (BGP routes).
Poprzednie wpisy z serii o BGP, możesz znaleźć na:
Podstawy BGP – co to jest BGP i do czego służy
Stany i wiadomości BGP – jakie wygląda sesja, jakie ma stany i jak jest zestawiana.
Local Preference
Wartość od 0 do 4294967295. Domyślnie na większości routerów ustawiona na 100. LOCAL_PREF jest przekazywany tylko i wyłącznie pomiędzy routerami BGP wewnątrz AS. Zawsze jest preferowana wyższa wartość.
Local preference jest przenoszony pomiędzy routerami BGP, ale tylko wewnątrz AS.
AS path
AS path to lista numerów AS, pomiędzy naszym routerem a routerem z którego pochodzi prefiks. Domyślnie w BGP preferowany jest krótszy AS path.
AS path eliminuje pętle w sieciach BGP. Gdy router BGP natrafi w AS path na swój AS, wtedy ignoruje taką ścieżkę. AS path jest przenoszony pomiędzy AS.
Więcej o AS-path znadziesz w artykule AS-path – Atrybut BGP.
Next hop
Next hop zawiera adres IP routera z którego został przesłany prefiks. Next hop jest przenoszony pomiędzy routerami BGP wewnątrz AS i w sesjach pomiędzy AS-ami.
Multi Exit Discriminator
Multi Exit Discriminator (MED) pozwala na poinformowanie sąsiedniego AS, które połączenie jest preferowane w przypadku wielu połączeń pomiędzy AS-ami. Trasy z niższym MED są preferowane.
We wcześniejszych wersja BGP atrybut MED był nazywany Inter AS Metric. Niektóre implementacje BGP na routerach pokazują MED jako metric.
Origin
Atrybut Origin zawiera źródło rozgłoszenia BGP, ale nie jest to adres IP. Origin może występować w trzech wartościach:
IGP – informacją pochodząca z protokołu IGP (OSPF, ISIS itp.)
EGP – informacja pochodząca z protokołu EGP
INCOMPLETE – niepełny, informacja pochodzi z innego źródła niż IGP i EGP
Communities
Trasa może zawierać jedno lub więcej community. Community składa się 32-bitów i często jest wyrażany 240:34, gdzie 204 to numer AS a 34 to wartość pod którą ukryte może być jakieś działanie.
Community można porównać do nazw grup. Każda grupa zawiera prefiksy, które mają wspólną cechę lub jest przypisane do nich określone działanie.
Communities są przenoszone pomiędzy routerami BGP wewnątrz AS jak i poza AS.
Well-know community
Oprócz community określanych przez operatora, występują też well-known community, których zastosowanie powoduje określone działanie z trasą/prefiksem.
Internet – trasa/prefiks są rozgłaszane do wszystkich sąsiadów BGP
No-Advertise – trasa/prefiks nie będą rozgłaszane do żadnego sąsiada BGP
No-Export – trasa/prefiks nie będą rozgłaszane do żadnego sąsiada iBGP
Local-AS – trasa/prefiks nie będą rozgłaszane po za sub-AS (wykorzystywany w przypadku stosowania konfederacji)
Gdzie znajdę informację na temat community operatorów?
Jest kilka źródeł:
Na stronach operatorów:
RETN https://retn.net/support/bgp-communities/
Orange http://lg.tpnet.pl/info_routing.html
Google https://support.google.com/interconnect/answer/7658603?
W baza RIR (Regional Internet Register)
RIPE – https://apps.db.ripe.net/db-web-ui/#/query?searchtext=
ARIN – https://whois.arin.net/ui/advanced.jsp
AFRINIC – https://www.afrinic.net/
APNIC – https://wq.apnic.net/static/search.html
LACNIC – https://rdap-web.lacnic.net/
W serwisie PeeringDB:
Najświeższe i najpewniejsze informację znajdziesz w bazach RIR. Każdy operator powinien aktualizować wpisy w bazie RIR.
Rozwinięciem tematu BGP community znajdziesz w kolejnym artykule.
ATOMIC_AGGREGATE
Atrybut ATOMIC_AGGREGATE wykorzystywany jest do poinformowania sąsiadów BGP, że lokalny AS wybrał mniej dokładną trasę, pomimo tego, że była dostępna dokładniejsza trasa.
Np.:
Chcemy dostać się do hosta o adresie 10.10.10.2. W tablicy BGP mamy dwie trasy zawierające adres 10.10.10.2.
10.10.10.0/24 i 10.10.0.0/21. BGP powinno wybrać dokładniejszy prefiks (10.10.10.0/24) (more-specific), ale został wybrany 10.10.0.0/21.
ATOMIC_AGGREGATE informuje sąsiada BGP, że taki wybór został dokonany.
AGGREGATOR
Atrybut AGGREGATOR informuje, że prefiksy zostały zagregowane. Zamiast ogłaszać kilka dłuższych prefiksów, zostaje ogłoszony tylko jeden krótki prefiks, zawierający dłuższe prefiksy.
Po co są atrybuty BGP?
Za pomocą atrybutów BGP możemy wpływać na działanie sieci i połączeń BGP.
Możemy decydować jakie trasy akceptujemy i którymi sesjami BGP ruch ma do naszego AS “wchodzić” a którymi ma “wychodzić”.
Najczęściej używanymi atrybutami są Local Preference, AS path, Next Hop i Community.
Podsumowanie
Protokół BGP jest bardzo polityko-lubny. Jest to jego największa zaleta. Atrybuty BGP pozwalają na budowanie polityk routingu.
Tomasz Mikołajek
Założyciel Showroute.pl
Inżynier sieciowy lubiący dzielić się wiedzą i pomagać innym zrozumieć zawiłości działania sieci i Internetu.