fbpx
Zaznacz stronę

BGP community – co to jest i w czym może ci pomoc?

utworzone przez Sty 31, 2019BGP, teoria

Po ostatnim wpisie o Nfsen, Nfdump i Netflow wracamy do BGP. Skończyliśmy na atrybutach BGP. W dzisiejszym artykule rozwiniemy temat BGP community.

Z artykułu dowiesz się:

Co to jest community?
Jakie są rodzaje community?
Po co community w twojej sieci?
Gdzie znajdziesz informacje o community innych operatorów?

Co to jest BGP community?

Community można porównać do grup. Wszycy członkowie grupy mają jakąś wspólna cechę, która ich scala. Wspólny mianownik. W przypadku BGP community członkami grupy są prefiksy, a wspólną cechą może być np.: pochodzenie prefiksu (peering lokalny lub punkt wymiany ruchu), lokalizacja geograficzna (prefiks pochodzi np.: z routera z Warszawy czy z Krakowa), sieć rozgłaszająca prefiks (np.: ISP lub operator Data Center) itp.

Technicznie, community to 32-bitowa wartość. Jest przyjęte, że community jest przedstawiane w postaci:

XXX:ZX

Gdzie XXX to numer systemu autonomicznego, a ZX to wartość nadana przez autora community.

Jakie są rodzaje BGP community?

Są zdefiniowane 4 podstawowe community, nazywane well-known.

INTERNET – prefiks z tym community ma zostać rozgłoszony do wszystkich sąsiadów BGP

NO-ADVERTISE – prefiks nie może zostać rozgłoszony do sąsiadów BGP

NO-EXPORT – prefiks nie może zostać rozgłoszony do sąsiadów eBGP

LOCAL-AS – nie rozgłaszaj prefiksu poza sub-AS (konfiguracja sieci z konfederacjami)

Po co community w mojej sieci?

Jak już mamy wstęp teoretyczny za sobą, możemy przejść do odpowiedzi na pytanie. Po co community w twojej sieci?

Tak, jak wcześniej napisałem community grupują prefiksy/trasy które mają coś wspólnego ze sobą.

Wytłumaczę wykorzystanie BGP community na przykładzie sieci.

Nasza sieć ma AS2. Mamy zestawione klienckie sesje BGP z AS3. Są też zestawione sesje do dwóch punktów wymiany ruchu IX1 i IX2. Od AS100 i AS200 dostajemy dostęp do Internetu.

 AS3, który jest naszym klientem, chce od nas tylko i wyłącznie trasy z IX1. Jak zrealizować takie zamówienie?

  1. Możesz “dać” klientowi wszystko i powiedzieć, aby sobie odfiltrował na brzegu to czego nie potrzebuje – słabe rozwiązanie i mało profesjonalne.
  2. Możesz skonfigurować politykę, która będzie “łapała” wszystkie AS-path, które zawierają numer AS sieci będącej w punkcie wymiany ruchu IX1 – możliwe do wykonania, ale utrzymanie takiego rozwiązania może być trudne.
  3. Możesz zastosować BGP community. W polityce routingu zaimplementowanej na sesji BGP do IX1 dodajesz polecenie, aby wszystkie prefiksy “przychodzące” z IX1 dostawały community 2:1.

Dobra, ale co to nam daje? Już wyjaśniam.

W polityce routingu, na sesji do AS3 dodajesz warunek.

Rozgłaszaj tylko i wyłącznie prefiksy z community 2:1.

Po poprawnej implementacji klient (AS3) powinien dostać tylko i wyłącznie trasy/prefiksy dostępne z IX1.

Jakie są zalety rozwiązania numer 3?

Prosta implementacja – za pomocą polityki “na wejściu” dodajemy community. Każda zmiana w tablicy routingu nie zmusza nas do rekonfiguracji polityk i filtrów na sesjach BGP do naszych klientów i dostawców.  

Powtarzalność – jeśli inny klient, np.: AS5, też będzie chciał dostęp do IX1, ale bez IX2 możemy wykorzystać to samo community.

BGP community jest również wykorzystywane do kształtowania ruchu w sieciach naszych dostawców i sąsiadów BGP.

Gdzie znajde informacje o BGP community innych operatorów?

Najlepszym miejsce gdzie znajdziesz aktualne informację na tamt community i polityki routingu operatorów są bazy RIR. RIR są to instytucje, które zajmują się zarządzaniem adresacją IP i numerami systemów autonomicznych. Wszystkie dane są publikowane w ogólnodostępnych bazach. Dla Europy, Rosji i Bliskiego Wschodu bazą i zasobami zarządza RIPE NCC.

OK, teraz przykład. Poniżej widzisz wycinek z RIPE opisujący publiczne community dostępne w AS5617 (Orange Polska S.A.)

 

remarks:         ================================================

remarks:         Communities used in AS5617

remarks:         ================================================

remarks:        

remarks:         5617:103 – prefix is not announced to foreign peers

remarks:        

remarks:         We do not accept all RFC1997 communities (no-export etc.)

remarks:        

remarks:         communities for specific link are 5617:ab0x :

remarks:         x=0 for „do not advertise”; x=1,2,3 for „prepend 1,2,3 times”

remarks:        

remarks:         for AS1299 Telia 5617:110x

remarks:         for AS5511 OpenTransit 5617:120x

remarks:         for AS16283 Lodman 5617:220x

remarks:         for AS8664 ICM 5617:240x

remarks:         for AS8501 Pionier 5617:250x

remarks:         for AS8890 Kampus Ochota 5617:260x

remarks:         for AS12464 Politechnika W-wska 5617:270x

remarks:         for AS8508 Silweb 5617:280x

remarks:         for AS5550 TASK 5617:290x

remarks:        

    Jak to czytać?

    5617:103 – prefix is not announced to foreign peers

    Prefiks oznaczony community 5617:103 nie zostanie rozgłoszony do obcych sąsiadów.

    remarks:         communities for specific link are 5617:ab0x :

    remarks:         x=0 for „do not advertise”; x=1,2,3 for „prepend 1,2,3 times”

    remarks:        

    remarks:         for AS1299 Telia 5617:110x

    Orange pozwala na zdalne wydłużanie as-path. Jeśli mamy zestawioną sesje z AS5617 i oznaczymy prefiks community 5617:1102 to as-path dla tego prefiksu zostanie przedłużony 2 razy i taki as-path zostanie rozgłoszony tylko w kierunku Telia

    Orange wykorzystuje community do oznaczania punktu “wejścia” prefiksu do sieci.

    remarks:         ENTRY POINT INDICATORS IN AS5617

    remarks:        

    remarks:         ================================================

    remarks:        

    remarks:         5617:3385: Bialystok

    remarks:         5617:3352: Bydgoszcz

    remarks:         5617:3358: Gdansk

    remarks:         5617:3332: Katowice

    remarks:         5617:3341: Kielce

    remarks:         5617:3312: Krakow

    remarks:         5617:3342: Lodz

    remarks:         5617:3381: Lublin

    remarks:         5617:3389: Olsztyn

    remarks:         5617:3361: Poznan

    remarks:         5617:3317: Rzeszow

    remarks:         5617:3391: Szczecin

    remarks:         5617:3322: Warszawa

    remarks:         5617:3371: Wroclaw

    62.21.0.0/17 (1 entry, 1 announced)
                   Age: 1w0d 7:47:14 Metric2: 0
                   AS path: 13110 I (Originator) Aggregator: 13110 10.253.27.1
                   AS path: Cluster list:  42.0.5.1 61.0.0.2
                   AS path: Originator ID: 213.25.2.36
                   Communities: 5617:3361 5617:8814
                   Localpref: 150

    Prefiks 62.21.0.0/17 “wszedł” do sieci Orange przez router w Poznaniu.

    Podsumowanie

    Warto w swojej sieci wdrożyć BGP community aby zmniejszyć nakład pracy wymaganej w obsługę polityk routingu i filtrów. Jak już masz community, to proszę aktualizuje wpisy w bazie RIR. Ułatwi to pracę innym i tobie. 🙂

    Tomasz Mikołajek

    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.

    Share This