KennisbankNetwerk

BGP-communities: routes taggen en verkeer sturen

28 mei 20266 min leestijd

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, bijvoorbeeld 65001: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, bijvoorbeeld 211588: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:

CommunityBetekenis
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.

Veelgestelde vragen

Veelgestelde vragen

Waarom werken standard communities niet met alle AS-nummers?

Een standard community is 32 bits, gelezen als twee 16-bit velden (AS:waarde). Een 32-bit AS-nummer zoals AS211588 past niet in dat eerste veld. Daarom bestaan large communities (RFC 8092), met drie velden van elk 32 bits — genoeg ruimte voor elk AS-nummer.

Waar vind ik welke communities mijn provider ondersteunt?

In de documentatie van je transitprovider, vaak ook op diens PeeringDB- of website-pagina. Bij Xyphen IT krijg je de volledige community-lijst bij oplevering van je transitsessie.

Worden communities over het hele internet doorgegeven?

Nee. Communities zijn transitief van opzet, maar veel netwerken strippen of filteren ze op de edge. Reken er alleen op dat de communities van je directe provider werken zoals afgesproken — verder dan één AS-hop is niets gegarandeerd.

Antwoord niet gevonden?

Stel je vraag direct aan een engineer — we reageren doorgaans binnen één werkdag.