BGP community – co to jest i w czym może ci pomoc?
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)
Poznaj nasze programy edukacyjne.
KLIKNIJ TUTAJ
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?
- Możesz “dać” klientowi wszystko i powiedzieć, aby sobie odfiltrował na brzegu to czego nie potrzebuje – słabe rozwiązanie i mało profesjonalne.
- 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.
- 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.
|
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
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.