Een BGP-route vertelt wáár een prefix bereikbaar is, maar niet wat je ermee moet. Daarvoor bestaan communities: labels die je op een route plakt en die met de announcement meereizen. Voor wie zelf BGP draait zijn communities het verschil tussen "de provider bepaalt" en zelf aan de knoppen zitten.
Drie smaken: standard, extended en large
- Standard communities (RFC 1997) — het origineel: 32 bits, genoteerd als
AS:waarde, bijvoorbeeld65001:100. Elk veld is 16 bits — en daar wringt het: een 32-bit AS-nummer zoals ons AS211588 pást niet in dat formaat. - Extended communities — 64 bits, vooral in gebruik voor VPN's (route targets bij MPLS/EVPN), minder voor internet-routing.
- Large communities (RFC 8092) — drie velden van elk 32 bits:
AS:functie:waarde, bijvoorbeeld211588:1:0. Ontworpen voor het 32-bit-ASN-tijdperk en inmiddels de standaard bij moderne netwerken.
Dat is de reden dat je in onze voorbeeldconfiguratie send-community standard extended large ziet staan: zonder die laatste ontvang je van AS211588 geen traffic-engineering-mogelijkheden.
Informatie erin, actie eruit
Communities werken in twee richtingen.
Informatieve communities zet je provider op de routes die jíj ontvangt: waar is deze route geleerd — welke exchange, welke upstream, welk land. Daarmee kun je in je eigen routebeleid onderscheid maken, bijvoorbeeld routes via een specifieke IX een hogere local-preference geven.
Actie-communities stuur jij mee met je eigen announcements, en je provider voert ze uit. De gebruikelijke acties:
- Prepends richting een specifieke upstream of exchange — maak je pad kunstmatig langer bij één buurman, zodat inkomend verkeer een andere route kiest;
- Selectieve announcement — announce een prefix wél naar de ene upstream en niet naar de andere, zonder er zelf aparte sessies voor te hoeven onderhouden;
- Local-preference beïnvloeden binnen het netwerk van je provider;
- Blackholing — al het verkeer naar één IP-adres weggooien, het noodrem-scenario bij een DDoS-aanval.
Well-known communities
Een handvol communities heeft een vaste, wereldwijd afgesproken betekenis:
| Community | Betekenis |
|---|---|
NO_EXPORT (65535:65281) | route niet doorgeven aan externe AS'en |
NO_ADVERTISE (65535:65282) | route helemaal niet verder adverteren |
BLACKHOLE (65535:666, RFC 7999) | verkeer naar dit prefix droppen |
Hoe het eruitziet in je configuratie
Een community meesturen is een kwestie van routebeleid. Op een Arista bijvoorbeeld:
route-map NAAR-TRANSIT permit 10
match ip address prefix-list EIGEN-PREFIXEN
set large-community 211588:2:1
!
router bgp 65001
neighbor 45.83.205.1 route-map NAAR-TRANSIT out
neighbor 45.83.205.1 send-community standard extended large
Wat 211588:2:1 vervolgens dóet — een prepend, een selectieve announcement — bepaalt de community-lijst van je provider. Elke provider hanteert zijn eigen schema; de onze krijg je bij oplevering van je sessie.
Tip: test een actie-community altijd met een looking glass of route collector (zoals RIPE RIS) vóórdat je erop vertrouwt. Je ziet dan van buitenaf of je announcement daadwerkelijk verandert.
Zelf aan de knoppen
Communities zijn geen academische franje — het is het gereedschap waarmee multihoming écht iets oplevert: verkeer sturen, paden ontlasten en bij een aanval binnen seconden ingrijpen. Wij leveren IP-transit met een volledige large-community-set op ons eigen netwerk, en denken graag mee over het routebeleid aan jouw kant van de sessie.