Wat is Border Gateway Protocol (BGP)?


Over het internet reizen datapakketten door een complex peer-netwerk van routers en systemen om hun bestemmingen te bereiken. Dit ingewikkelde proces van het sturen van dataverkeer wordt mogelijk gemaakt door routeringsprotocollen, en de kern van dit globale routeringsysteem ligt het Border Gateway Protocol (BGP).

Network OVHcloud

Wat is BGP?

BGP is het router command protocol waarmee het internet kan functioneren als een familie, door middel van een unified peer netwerk. Het is in wezen de 'postdienst' van de digitale wereld, verantwoordelijk voor het vinden van de meest efficiënte paden voor datapakketten om de vele verschillende netwerken die deel uitmaken van het internet te doorkruisen.

In tegenstelling tot interne gatewayprotocollen (IGP's) die routering binnen een enkel autonoom systeem (AS) beheren, werkt BGP tussen deze AS's, wat communicatie op wereldwijde schaal vergemakkelijkt. BGP speelt een cruciale rol bij het routeren van zowel IPv 4- als IPv 6-verkeer - iets wat een IGP niet doet.

Waarom BGP essentieel is voor internetroutering

BGP is van cruciaal belang voor de internetinfrastructuur, omdat het een netwerkrouter in staat stelt routeringsinformatie uit te wisselen, waardoor gegevens zelfs over ongelooflijk complexe netwerktopologieën de beoogde bestemming kunnen bereiken. Zonder BGP zou het internet een gefragmenteerde verzameling van geïsoleerde netwerken zijn, die niet effectief kunnen communiceren. Dit protocol vormt de basis voor:

Wereldwijde bereikbaarheid

Met BGP kan elke netwerkrouter die met het internet is verbonden, als peer communiceren met elk ander netwerk, ongeacht de locatie van de router of het pad dat de gegevens moeten nemen.

Netwerkstabiliteit

Door routeringsgegevens voortdurend bij te werken, kunnen netwerken zich met BGP aanpassen aan storingen of opstoppingen, zodat gegevens altijd een beschikbaar pad kunnen vinden.

Dataverkeer optimaliseren

Met BGP kunnen netwerkrouterbeheerders bepalen hoe verkeer door hun netwerken stroomt, waardoor prestaties worden geoptimaliseerd en kosten worden beheerd.

In essentie is BGP de onzichtbare hand die datapakketten over het internet leidt, waardoor wereldwijde communicatie mogelijk wordt en de soepele werking van de reeks apparaten in de digitale wereld waarop we vertrouwen wordt gegarandeerd.

Belangrijkste functies van BGP

BGP voert verschillende essentiële opdrachtfuncties uit die een efficiënte en betrouwbare routering via het internet mogelijk maken. Deze functies werken samen om ervoor te zorgen dat gegevens hun weg vinden over het complexe web van onderling verbonden netwerken.

BGP-routes en routeringstabellen

In de kern houdt BGP zich bezig met routes, wat in wezen kaarten zijn die beschrijven hoe specifieke netwerken of voorvoegsels bereikt kunnen worden. Deze routes worden opgeslagen en beheerd in routeringstabellen.

BGP-sessie en peering

Om BGP te laten functioneren, moeten routers sessies met elkaar opzetten en zo een peering-relatie vormen. Bij dit peeringproces worden authenticatie en de uitwisseling van routeringsgegevens met de routerfamilie uitgevoerd.

Padselectie- en beslissingsproces

Wanneer een BGP-router meerdere routes naar dezelfde bestemming ontvangt, moet deze bepalen welk pad moet worden gebruikt. Dit padselectieproces is gebaseerd op een set regels en kenmerken die aan elke route zijn gekoppeld.

Hoe werkt BGP

BGP is een complex router command protocol met ingewikkelde mechanismen voor het uitwisselen van routing informatie en het zorgen voor een efficiënte gegevensoverdracht tussen datacenters en het internet. Hier is een overzicht van de belangrijkste functies:

BGP-peering uitgelegd

BGP baseert zich op het concept "peering" om verbindingen tot stand te brengen tussen routers in verschillende autonome systemen (ASes). Het peer-proces omvat een proces waarbij twee routers instemmen met de uitwisseling van routeringsgegevens.

Ze maken een TCP-verbinding en verifiëren elkaar, waardoor ze een stabiel en betrouwbaar communicatiekanaal vormen. Zodra deze peering-relatie tot stand is gebracht, kunnen routers hun routeringstabellen delen en elkaar op de hoogte houden van de bereikbaarheid van het netwerk.

Deze continue externe uitwisseling van routergegevens zorgt ervoor dat elke router een consistente en up-to-date weergave van de netwerktopologie heeft.
In BGP verwijst een neighbor naar een andere router waarmee een BGP-router een verbinding tot stand brengt om routeringsgegevens uit te wisselen met de neighbor.

Een BGP-kenmerk is een stukje informatie dat is gekoppeld aan elke route die door een BGP-router wordt geadverteerd. Een kenmerk speelt een cruciale rol in het padselectieproces - een kenmerk kan AS_PATH, ORIGIN, LOCAL_PREF, enzovoort zijn. Dit kenmerkbereik helpt routers het beste pad te bepalen om een specifieke bestemming te bereiken.

De rol van autonome systemen (AS)

Autonome systemen (AS's) zijn van fundamenteel belang voor de werking van het BGP-beleid. Een AS is in wezen een verzameling netwerken onder één enkel administratief domein, zoals een grote internetprovider (ISP) of een multinationaal bedrijf.

BGP-routeaankondiging en -filtering

BGP-routers adverteren peerroutes naar hun router-peers en delen informatie over de peernetwerken die ze kunnen bereiken. Deze advertenties bevatten details zoals het voorvoegsel van het doelnetwerk, het pad naar dat netwerk (weergegeven als een reeks AS-nummers) en diverse kenmerken die de padselectie beïnvloeden.

Typen BGP-configuraties

BGP kan op verschillende manieren worden geconfigureerd, afhankelijk van de relatie tussen de deelnemende routers en hun respectieve autonome systemen (ASes). De twee primaire typen BGP-configuraties zijn:

Interne BGP (iBGP)

iBGP wordt gebruikt voor het tot stand brengen van interne BGP-sessies tussen routers binnen hetzelfde AS. Hiermee kan een router binnen een organisatie of netwerk routeringsgegevens uitwisselen en een consistente weergave van de interne netwerktopologie behouden.

Externe BGP (eBGP)

eBGP wordt gebruikt om externe BGP-sessies tot stand te brengen tussen routers in verschillende ASes. Dit is het type externe BGP-configuratie dat ten grondslag ligt aan internetroutering, waardoor verschillende organisaties en ISP's verbinding kunnen maken en routeringsgegevens kunnen uitwisselen.

Verschillen voor iBGP en eBGP

Hoewel zowel het iBGP- als het externe BGP-beleid hetzelfde onderliggende interne BGP-opdrachtprotocol ondersteunen, hebben ze verschillende kenmerken en dienen ze verschillende doelen. iBGP werkt bijvoorbeeld binnen één AS, terwijl eBGP tussen verschillende AS’en werkt.
Interne BGP verspreidt doorgaans geen routes die van de ene iBGP-peer naar de andere worden geleerd, waardoor potentiële routeringstrussen worden voorkomen. In tegenstelling tot interne BGP verspreidt externe BGP daarentegen routes naar andere externe BGP-peers, waardoor wereldwijde bereikbaarheid mogelijk wordt.

Voordelen van het gebruik van BGP

BGP biedt een aantal belangrijke voordelen die het tot het voorkeursprotocol voor routeringsopdrachten maken voor grote netwerken en internetproviders. Dit zijn enkele belangrijke voordelen:

Schaalbaarheid over grote netwerken

BGP is ontworpen om de complexiteit van enorme peer-netwerken aan te kunnen, waardoor het ideaal is voor internetproviders en grote organisaties met een uitgebreide infrastructuur voor internetrouters.
 

Het vermogen om een groot aantal routes efficiënt te beheren en zich aan te passen aan netwerkveranderingen zorgt voor schaalbaarheid, zelfs als netwerken groeien en ontwikkelen.
 

De hiërarchische structuur en routeaggregatiemogelijkheden dragen bij aan de schaalbaarheid ervan door de hoeveelheid externe routeringsgegevens te verminderen die moet worden uitgewisseld en verwerkt.

Verbeterde netwerkcontrole en betrouwbaarheid

BGP geeft netwerkbeheerders fijnmazige controle over hun netwerkverkeer en routeringstabel. Het stelt hen in staat om routeringsbeleid te definiëren op basis van verschillende criteria, zoals padlengte, prestaties of commerciële overeenkomsten.
Dit controleniveau maakt netwerkoptimalisatie, verkeerstechniek en een verbeterde Quality of Service (QoS) mogelijk. Bovendien verbetert BGP de betrouwbaarheid van het netwerk door meerdere paden naar elke bestemming te bieden en zich automatisch aan te passen aan netwerkstoringen of congestie.

Dit zorgt ervoor dat gegevens altijd een beschikbare route kunnen vinden, wat downtime en onderbrekingen minimaliseert.

Verbeterd verkeersbeheer

BGP biedt mechanismen voor geavanceerd beheer van verkeer en routeringstabellen, waardoor netwerkbeheerders kunnen bepalen hoe gegevens door hun netwerk stromen. 

 

Met technieken als AS-padprepending en communitytagging kunnen beheerders routekenmerken manipuleren en de verkeersstroom controleren.

BGP-uitdagingen en -oplossingen

Hoewel BGP essentieel is voor internetroutering, stelt het ook een aantal uitdagingen, voornamelijk in verband met netwerkbeveiliging en -stabiliteit. Hier is een blik op enkele van deze uitdagingen en hun oplossingen:

BGP-kaping voorkomen

BGP-kaping treedt op wanneer een aanvaller kwaadwillig valse routeringsinformatie adverteert en internetverkeer naar zijn eigen netwerk doorstuurt. Dit kan voor verschillende kwaadaardige doeleinden worden gebruikt, zoals afluisteren, diefstal van gegevens of denial-of-service-aanvallen. Sommige voorbeeldtechnieken voorkomen BGP-kaping:

Routefiltering: Implementeer een strikt routefilterbeleid om alleen legitieme routes van geautoriseerde peers te accepteren. Hierbij worden routers geconfigureerd om BGP-aankondigingen te weigeren die afkomstig zijn van onverwachte bronnen of die het eigendom claimen van voorvoegsels die niet bij de omroeper horen.

Resource public key infrastructure (RPKI): Met RPKI kunnen netwerkoperators de herkomst van routeaankondigingen cryptografisch verifiëren, zodat alleen geautoriseerde AS's specifieke voorvoegsels kunnen adverteren. Door het publiceren en valideren van Route Origin Authorisations (ROA's) kunnen netwerkexploitanten het risico op kaping aanzienlijk verminderen.

BGP-monitoring: Voortdurend BGP-routes en verkeerspatronen monitoren op afwijkingen die kunnen duiden op kapingpogingen. Realtime bewakingstools kunnen verdachte wijzigingen in routeringsgegevens detecteren en netwerkbeheerders waarschuwen, zodat ze onmiddellijk corrigerende maatregelen kunnen nemen.

Aanpakken van route-lekken

Route-lekken treden op wanneer een netwerk onbedoeld routes aankondigt die het niet zou moeten ondersteunen. Dit kan de verkeersstroom verstoren en verbindingsproblemen veroorzaken. Dit wordt opgelost door:

Routeaggregatie: Voeg prefixen samen om het aantal geadverteerde routes te verminderen en het risico op lekken te minimaliseren. Door meerdere voorvoegsels samen te vatten in een enkel, algemener voorvoegsel, kunnen netwerkoperators routeringstabellen vereenvoudigen en de kans op onbedoeld lekken van specifieke routes verminderen.

BGP-communitylabels: Gebruik communitylabels om routes te markeren en de verspreiding ervan te controleren, zodat ze niet in onbedoelde delen van het netwerk kunnen lekken. Deze tags bieden een flexibele manier om informatie aan routes toe te voegen en specifieke routeringsbeleidsregels op te leggen, waardoor het bereik van routedoorgifte wordt beperkt.

Best practices voor beveiliging voor BGP

Het implementeren van robuuste beveiligingspraktijken is cruciaal voor het beperken van BGP-gerelateerde risico's. Deze praktijken omvatten bijvoorbeeld:

Veilige BGP-sessies: Gebruik verificatiemechanismen zoals MD5 of TCP MD5 om BGP-peer-sessies te beveiligen en ongeoorloofde lokale en externe toegang te voorkomen. Dit zorgt ervoor dat alleen vertrouwde routers BGP-verbindingen en routeringsgegevens voor externe uitwisselingen kunnen maken.

Regelmatige audits: Voer regelmatig lokale audits uit van routeringsconfiguraties en -beleid om mogelijke kwetsbaarheden te identificeren en te corrigeren. Hiervoor moeten BGP-configuraties, filterregels en routeringsbeleidsregels worden gecontroleerd om ervoor te zorgen dat ze up-to-date zijn en zijn afgestemd op best practices voor beveiliging.

Samenwerking en coördinatie: Neem deel aan initiatieven in de sector en werk samen met andere netwerkbeheerders om informatie te delen en te reageren op lokale beveiligingsincidenten. Dit bevordert een collaboratieve aanpak van BGP-beveiliging en helpt de algehele resilience van het ecosysteem voor internetroutering te verbeteren.

Veelvoorkomende BGP-gebruiksscenario's

De veelzijdigheid van het beleid en de robuuste mogelijkheden van BGP maken het geschikt voor een breed scala aan netwerkscenario's. Dit zijn enkele van de meest voorkomende gebruiksscenario's voor netwerkondersteuning:

Ondersteuning van netwerkinstellingen met meerdere startpunten

Bij multi-homing wordt een netwerk met meerdere Internet Service Providers (ISP's) verbonden om de redundantie te verhogen en de beschikbaarheid van het netwerk te verbeteren. BGP speelt een cruciale rol in multi-homed setups door het netwerk toe te staan zijn prefixen aan te kondigen aan meerdere ISP's en meerdere paden naar het internet te ontvangen.

Load Balancing tussen meerdere ISP's

Met het BGP-beleid kunnen organisaties de taakverdeling van hun internetverkeer over meerdere ISP-verbindingen ondersteunen. Door BGP-kenmerken te manipuleren en technieken voor verkeersbeheer toe te passen, kunnen netwerkbeheerders bepalen hoe verkeer wordt gerouteerd via verschillende ISP-koppelingen.

Verbetering van de stabiliteit en veiligheid op het internet

BGP is van fundamenteel belang voor de stabiliteit en voor veilige routeringsoplossingen op het internet. Door voortdurend routeringsinformatie uit te wisselen, kunnen netwerken zich met BGP snel aanpassen aan storingen en kan de verbinding met de cloud behouden blijven. Dit helpt grote uitval te voorkomen en zorgt voor een soepele werking van online services.

Tools en technologieën ter ondersteuning van BGP

Het beheren en monitoren van BGP-opdrachtprocessen omvat het gebruik van verschillende tools en technologieën om een efficiënte werking te garanderen en de netwerkstabiliteit te behouden. Deze tools bieden waardevolle inzichten in routeringsinformatie, netwerkprestaties en mogelijke beveiligingsrisico's.
Routers van verschillende leveranciers, zoals Cisco, Juniper en Nokia, zijn uitgerust met BGP-routeringssoftware waarmee ze kunnen deelnemen aan het BGP-routeringsproces.
Gespecialiseerde BGP-monitoringtools bieden realtime inzicht in BGP-routes, peering-sessies en netwerkprestaties. Deze tools kunnen afwijkingen detecteren, zoals het kapen van routes of lekken, en kunnen netwerkbeheerders waarschuwen.
Door gebruik te maken van deze tools en technologieën kunnen netwerkingenieurs effectief BGP beheren, de netwerkprestaties optimaliseren en de stabiliteit en beveiliging van hun routeringsinfrastructuur garanderen.

De netwerk- en routeringsoplossingen van OVHcloud

Verbeter uw public cloud en dedicated serveromgeving met onze krachtige netwerk- en cloud-oplossingen. Beheer het netwerkverkeer met onze kosteneffectieve Public Cloud Gateway, wijs statische IP-adressen toe met Floating IP en isoleer instantiecommunicatie met Private Network. 

Deze tools bieden de beveiliging, opdrachtflexibiliteit en prestatieoptimalisatie die uw applicaties nodig hebben.

Gateway OVHcloud

Beheer uw netwerkverkeer met Public Cloud Gateway. Met deze service kunt u inkomend en uitgaand dataverkeer naar uw virtual private cloud (VPC) beheren en monitoren, wat zorgt voor verbeterde beveiliging en geoptimaliseerde prestaties voor uw applicaties.

Floating IP OVHcloud

Voeg flexibiliteit en resilience toe aan uw infrastructuur met Public Cloud Floating IP.  Wijs een statisch, openbaar IP-adres toe aan elke instance binnen uw VPC, waardoor u gemakkelijk verkeer kunt omleiden of een consistent IP-adres kunt behouden, zelfs als uw onderliggende infrastructuur verandert.

Private Network OVHcloud

Creëer veilige en afgeschermde communicatiekanalen tussen uw instances met ons kosteneffectieve Public Cloud Private Network.  Met deze service kunt u uw netwerk segmenteren en bepalen hoe uw resources met elkaar samenwerken, waardoor de beveiliging wordt verbeterd en de prestaties voor kritieke toepassingen worden geoptimaliseerd.