BGP is een beleidsgericht protocol en neemt routingbeslissingen op basis van meerdere factoren. Begrijpen hoe BGP routes selecteert is cruciaal voor netwerkprofessionals die netwerkprestaties, redundantie en betrouwbaarheid willen optimaliseren. In dit artikel bespreken we de belangrijkste mechanismen die BGP gebruikt om te bepalen welke route wordt gekozen wanneer meerdere paden beschikbaar zijn.
Het BGP path selectie proces
Wanneer een BGP-router meerdere routes naar hetzelfde netwerk kent, voert het een path selection algoritme uit om de “beste” route te kiezen. Dit proces volgt een vaste volgorde van criteria:
- Highest Weight (Cisco-specifiek): Binnen Cisco-routers wordt eerst de route met het hoogste gewicht gekozen. Het gewicht is lokaal en wordt niet naar andere routers geadverteerd.
- Highest Local Preference: Binnen een AS kan een netwerkbeheerder de voorkeur geven aan bepaalde routes via het local preference attribuut.
- Locally originated routes: Routes die lokaal op de router zijn geconfigureerd krijgen vaak voorrang.
- Shortest AS-path: BGP kiest doorgaans het pad met het minste aantal AS’en.
- Lowest Origin type: Routes afkomstig van IGP (Interior Gateway Protocol) worden vaak hoger gewaardeerd dan die van EGP (Exterior Gateway Protocol) of incomplete bronnen.
- Lowest MED (Multi-Exit Discriminator): BGP kan hiermee aangeven welke route bij voorkeur het AS moet verlaten bij meerdere exitpunten.
- eBGP over iBGP: Externe routes krijgen voorrang boven interne routes.
- Lowest IGP metric to BGP next hop: Als alle andere criteria gelijk zijn, wordt de route gekozen die het dichtst bij de next hop staat volgens IGP.
- Oldest route / router ID: Indien nog steeds gelijk, wordt gekeken naar de oudste route of de router ID als tie-breaker.
BGP attributen en hun invloed
Naast de selectiecriteria gebruikt BGP een reeks attributen om routingbeslissingen te beïnvloeden. Belangrijke attributen zijn:
- AS-path: Lijst van AS’en waar de route doorheen is gegaan. Essentieel voor loop-preventie en path selection.
- Next-hop: IP-adres van de volgende router die verkeer naar het bestemmingsnetwerk stuurt.
- Local Preference: Wordt binnen een AS gebruikt om voorkeuren voor routes aan te geven.
- MED: Helpt bij het sturen van verkeer wanneer een AS meerdere exitpunten heeft.
- Communities: Flexibele tags die beleidsregels kunnen beïnvloeden, bijvoorbeeld inbound of outbound filtering.
Door deze attributen slim in te zetten, kunnen organisaties verkeer optimaliseren, redundantie waarborgen en bedrijfsregels afdwingen.
Veel voorkomende toepassingen van BGP-path selectie
- Load balancing: Verkeer over meerdere providers verdelen door verschillende lokale voorkeuren in te stellen.
- Failover: Bij uitval van de primaire route selecteert BGP automatisch een alternatief pad.
- Traffic engineering: Optimalisatie van inkomend en uitgaand verkeer door AS-path prepending of MED-aanpassing.
Uitdagingen en aandachtspunten
- Complexiteit: Het path selection algoritme is krachtig, maar kan complex zijn wanneer er veel routes en policies aanwezig zijn.
- Consistentie: Inconsistent gebruik van attributen kan leiden tot suboptimale routing of loops.
- Monitoring: Regelmatig monitoren van BGP-routes en attributen is noodzakelijk om netwerkprestaties te waarborgen.
Conclusie
BGP path selectie is een van de kernmechanismen waarmee het protocol flexibiliteit en controle biedt. Door inzicht in de selectiecriteria en attributen kunnen netwerkbeheerders verkeersstromen efficiënt sturen, redundantie realiseren en de algehele netwerkstabiliteit verbeteren. Voor organisaties die met multi-homing, cloudconnecties of complexe netwerken werken, is het begrijpen van BGP-path selectie een essentieel onderdeel van netwerkbeheer.