BGP (Border Gateway Protocol) is een gestandaardiseerd extern gatewayprotocol dat wordt gebruikt om de uitwisseling van routerings- en bereikbaarheidsinformatie tussen verschillende autonome systemen (AS’s) op internet te vergemakkelijken. In tegenstelling tot Interior Gateway Protocols (IGP’s) die binnen één AS werken, werkt BGP als een interdomein routeringsprotocol, waardoor routers in verschillende AS’s routeringsinformatie kunnen uitwisselen en routeringsbeslissingen kunnen nemen op basis van beleid, netwerkbereikbaarheid en padvoorkeuren. BGP is van cruciaal belang voor het in stand houden van de connectiviteit en het bepalen van optimale paden binnen het complexe en diverse netwerk van AS’s op het internet, waardoor het essentieel is voor wereldwijde routering.
Het belangrijkste voordeel van het gebruik van BGP ligt in de schaalbaarheid en flexibiliteit bij het beheren van grootschalige netwerken en divers routeringsbeleid. Met BGP kunnen autonome systemen specifiek routeringsbeleid toepassen op basis van factoren zoals netwerkprestaties, kosten en administratieve voorkeuren. Dankzij deze flexibiliteit kunnen organisaties bepalen hoe het verkeer over hun netwerken stroomt, routeringspaden optimaliseren voor efficiëntie en verkeerstechnische strategieën implementeren. Bovendien ondersteunt de mogelijkheid van BGP om gedetailleerde routeringsinformatie uit te wisselen, inclusief padkenmerken en netwerkbeleid, betrouwbare en efficiënte routeringsbeslissingen in complexe netwerkomgevingen.
BGP opereert op basis van verschillende fundamentele regels die haar gedrag en werking bepalen. Deze regels omvatten het opzetten van BGP-sessies tussen aangrenzende routers of BGP-luidsprekers met behulp van TCP-verbindingen, de uitwisseling van routeringsupdates met informatie over de netwerkbereikbaarheid (voorvoegsels) en bijbehorende attributen, de berekening van de beste paden op basis van beleidsregels en padattributen zoals AS-paden en metrieken en de verspreiding van routeringsinformatie over AS-grenzen heen. Deze regels zorgen ervoor dat BGP-routers nauwkeurig en efficiënt de beste paden kunnen bepalen om bestemmingsnetwerken te bereiken, terwijl ze zich houden aan geconfigureerd beleid en operationele vereisten.
De primaire functie van BGP is het bepalen van de beste paden voor het routeren van pakketten over het internet en tussen autonome systemen. BGP-routers wisselen routeringsinformatie uit in de vorm van BGP-updates, die netwerkvoorvoegsels (IP-adresbereiken) en bijbehorende kenmerken bevatten, zoals AS-paden, informatie over de volgende hop en routevoorkeuren. Door deze kenmerken te evalueren en geconfigureerd beleid toe te passen, berekenen BGP-routers de optimale paden naar bestemmingsnetwerken en werken ze hun routeringstabellen dienovereenkomstig bij. Dankzij dit proces kan BGP zich dynamisch aanpassen aan netwerkveranderingen, de verkeersroutering optimaliseren en een consistente netwerkbereikbaarheid via internet behouden.
BGP wordt vaak een laag 7-protocol genoemd omdat het werkt op de applicatielaag (laag 7) van het OSI-model. Hoewel BGP zelf TCP gebruikt als transportprotocol (werkzaam op Laag 4), wordt aangenomen dat het BGP-protocol zelf functioneert op de applicatielaag vanwege zijn rol bij het uitwisselen van informatie over netwerkbereikbaarheid en beleidsbeslissingen tussen autonome systemen. BGP-sessies omvatten het onderhandelen over mogelijkheden, het uitwisselen van routeringsinformatie en het toepassen van beleid dat bepaalt hoe verkeer over het internet wordt gerouteerd. Deze functionaliteit op de applicatielaag onderscheidt BGP van protocollen op een lagere laag, zoals TCP en UDP, en benadrukt de rol ervan bij routering tussen domeinen en het afdwingen van netwerkbeleid op een hoger abstractieniveau.