BGP Communities – zaawansowane sterowanie routingiem w sieciach operatorów i przedsiębiorstw
BGP Communities – zaawansowane sterowanie routingiem w sieciach operatorów i przedsiębiorstw
Protokół BGP (Border Gateway Protocol) jest fundamentem działania Internetu. To właśnie BGP odpowiada za wymianę informacji o trasach pomiędzy operatorami, dostawcami chmurowymi oraz dużymi organizacjami.
Jednak w dużych sieciach samo ogłaszanie prefiksów IP jest niewystarczające.
Administrator często potrzebuje przekazać dodatkowe informacje:
- nie rozgłaszaj tej trasy dalej,
- nadaj temu ruchowi niższy priorytet,
- użyj konkretnego operatora,
- oznacz trasę jako klienta,
- przygotuj trasę do filtrowania.
Do tego służą BGP Communities.
Czym są BGP Communities?
BGP Community to specjalny atrybut trasy BGP, który pozwala oznaczać prefiksy dodatkowymi wartościami logicznymi.
Najprościej:
Community jest etykietą dołączoną do trasy BGP, która pozwala routerom podejmować decyzje dotyczące polityki routingu.
Schemat:
Prefix:
203.0.113.0/24
+
Community:
65000:100
↓
Router BGP
↓
Routing Policy
Dlaczego powstały Communities?
Bez Communities administrator musiałby tworzyć bardzo dużo reguł.
Przykład:
203.0.113.0/24
↓
Klient A
↓
Priorytet wysoki
198.51.100.0/24
↓
Klient B
↓
Priorytet niski
Przy tysiącach tras zarządzanie staje się trudne.
Community pozwala oznaczyć trasę:
Customer_HIGH_PRIORITY
Customer_BACKUP
Do_NOT_EXPORT
Budowa klasycznej Community
Najczęściej spotykany format:
ASN:VALUE
Przykład:
65000:100
gdzie:
- 65000 – numer ASN organizacji,
- 100 – znaczenie lokalne.
Przykład działania
Firma posiada kilka prefiksów:
10.10.0.0/16
↓
Community:
65000:100
Router może mieć regułę:
Jeżeli Community = 65000:100
↓
Ustaw Local Preference 200
Efekt:
ruch będzie preferował tę trasę.
BGP Communities a polityki routingu
Community sama niczego nie zmienia.
Jest tylko informacją.
Dopiero polityka routera interpretuje jej znaczenie.
Schemat:
Route
+
Community
↓
Route Map / Policy
↓
Decision
Standardowe typy BGP Communities
Istnieją trzy główne rodzaje:
- Standard Communities
- Extended Communities
- Large Communities
Standard Communities
Najstarszy format:
32 bity
Przykład:
65000:300
Najczęściej stosowany w klasycznych sieciach.
Extended Communities
Powstały dla bardziej zaawansowanych zastosowań.
Wykorzystywane między innymi przez:
- MPLS VPN,
- EVPN,
- Route Target.
Przykład:
Route Target:
65000:500
Large Communities
Nowoczesny format dla dużych operatorów.
Problem:
ASN-y mogą mieć obecnie większe wartości.
Large Community:
ASN:Function:Value
Przykład:
65000:100:200
Najpopularniejsze zastosowania BGP Communities
1. Sterowanie eksportem tras
Przykład:
Firma nie chce, aby trasa była przekazywana dalej.
Community:
NO_EXPORT
Efekt:
Router A
↓
ISP
↓
STOP
↓
Internet
2. NO_EXPORT
Jedna z najczęściej używanych wartości.
Znaczenie:
Nie eksportuj tej trasy poza lokalny system BGP.
Przykład:
Customer Route
↓
NO_EXPORT
↓
Only Internal
3. NO_ADVERTISE
Jeszcze bardziej restrykcyjna.
Znaczenie:
Nie przekazuj tej trasy żadnemu innemu routerowi BGP.
Schemat:
Router A
↓
Router B
X
Router C
4. Blackhole Community
Bardzo popularna podczas ataków DDoS.
Przykład:
203.0.113.50
+
BLACKHOLE
Operator odrzuca ruch:
Attack Traffic
↓
ISP
↓
Drop
Tip eksperta
Blackhole Community jest często używana jako szybka reakcja na DDoS. Organizacja może ogłosić zagrożony adres IP z odpowiednią Community, a operator automatycznie odrzuci ruch zanim dotrze on do infrastruktury klienta.
5. Sterowanie preferencją tras
Przykład:
Dwa łącza Internetowe:
ISP A
↓
Primary
ISP B
↓
Backup
Community:
65000:100
ustawia:
Local Preference:
200
6. Tagowanie klientów
Operator może oznaczać klientów:
65000:101
Customer A
65000:102
Customer B
Później stosuje odpowiednie polityki.
BGP Communities w MPLS VPN
W MPLS VPN ogromne znaczenie mają:
Route Target Communities
Schemat:
VRF Customer A
↓
Route Target:
65000:10
↓
PE Router
Router PE wie:
które VRF mogą wymieniać trasy.

BGP Communities i EVPN
W sieciach Data Center:
VXLAN + EVPN wykorzystuje Communities do wymiany informacji:
- MAC,
- IP,
- segmentów.
Przykład:
EVPN Route
+
Extended Community
↓
Policy Decision
BGP Communities i Anycast
Anycast często wykorzystuje Communities do sterowania ogłaszaniem tras.
Przykład:
Same Prefix
↓
Europe POP
Community:
High Preference
USA POP
Community:
Lower Preference
BGP Communities w praktyce operatora
Operator może udostępnić klientowi dokumentację:
Przykład:
| Community | Znaczenie |
|---|---|
| 65000:100 | Primary Route |
| 65000:200 | Backup Route |
| 65000:300 | Prepend 3x |
| 65000:666 | Blackhole |
BGP Community i AS Path Prepending
Często używane razem.
Cel:
zmniejszenie atrakcyjności trasy.
Przykład:
Normalnie:
AS65000
↓
AS64500
Po prepend:
AS65000
↓
65000
↓
65000
↓
AS64500
Trasa wygląda gorzej.
BGP Communities a Local Preference
Dwie ważne metody sterowania ruchem:
Local Preference
Wpływa na ruch wychodzący.
Higher Local Preference
↓
Preferowana trasa
MED
Wpływa na ruch przychodzący.
Konfiguracja Cisco – przykład
Tworzenie Community:
ip community-list standard CUSTOMER permit 65000:100
Route Map:
route-map SET-PREF permit 10
match community CUSTOMER
set local-preference 200
Konfiguracja Juniper – przykład
set policy-options community CUSTOMER members 65000:100
Diagnostyka BGP Communities
Cisco:
show ip bgp community
Konkretny prefiks:
show ip bgp 203.0.113.0
Linux FRRouting:
show bgp ipv4 unicast
Bezpieczeństwo BGP Communities
BGP Communities mogą być również źródłem problemów.
Ryzyka:
❌ akceptowanie nieznanych Community od klienta
❌ brak filtracji
❌ błędne reguły eksportu
❌ możliwość manipulacji routingiem
Najlepsze praktyki
✅ filtruj przychodzące Communities
✅ dokumentuj własne wartości
✅ stosuj Large Communities w nowych wdrożeniach
✅ ograniczaj możliwość ustawiania krytycznych Community
✅ monitoruj zmiany polityk BGP
✅ testuj reguły przed wdrożeniem
Architektura wykorzystania BGP Communities
Customer Network
|
|
BGP Router
|
|
Community Added
|
↓
ISP Router
|
+-------------+-------------+
| |
Routing Policy Filtering
|
↓
Internet / MPLS / Cloud
Podsumowanie
BGP Communities są jednym z najważniejszych mechanizmów kontroli routingu w dużych sieciach. Same nie zmieniają trasy, ale dostarczają informacji, które routery wykorzystują do podejmowania decyzji.
Najczęstsze zastosowania:
- sterowanie ruchem,
- MPLS VPN,
- EVPN,
- Anycast,
- ochrona przed DDoS,
- filtrowanie tras,
- zarządzanie wieloma operatorami.
W nowoczesnych sieciach BGP Communities współpracują z:
- MPLS – prywatnymi sieciami WAN,
- VXLAN EVPN – Data Center Fabric,
- Anycast – globalnym routingiem usług,
- Segment Routing – kontrolą ścieżek,
- SD-WAN – inteligentnym zarządzaniem WAN.
Najważniejsza zasada:
BGP mówi, gdzie istnieje dana sieć. BGP Communities mówią, jak tę informację traktować. Dzięki nim administrator może sterować Internetem na poziomie polityk, a nie tylko adresów IP.






