Border Gateway Protocol

Het Border Gateway Protocol (BGP) is het belangrijkste routeringsprotocol van het internet: het wordt gebruikt om verkeer tussen verschillende providers te routeren.[1] Binnen het netwerk van een provider (een zogenaamd autonoom systeem) kiest de provider voor een bepaald intra-routeringsprotocol zoals OSPF of Routing Information Protocol, maar om routes uit te wisselen met andere providers wordt exclusief gebruikgemaakt van BGP. Het is dus niet zo dat BGP het meest gebruikte routeringsprotocol is, maar zonder BGP zou er geen internet zijn. Dan was er slechts een verzameling losse netwerken die niet met elkaar kunnen communiceren.

BGP werkt door een tabel van IP-netwerken of 'prefixes' bij te houden die de netwerkbereikbaarheid tussen autonome systemen aangeeft. Het is beschreven als een path vector protocol. BGP gebruikt geen technische metrics, maar neemt routeringsbeslissingen gebaseerd op network policies of regels. De huidige versie van BGP, versie 4, is gespecificeerd in RFC 4271.

BGP is fundamenteel een ander type routeringsprotocol dan de andere protocollen: het is meer een methode om andere BGP-routers te vertellen dat bepaalde prefixes bereikbaar zijn via die router. Het daadwerkelijke routeren binnen dat netwerk wordt via een van de interne routeringsprotocollen gedaan: BGP zal niet automatisch de beste route naar een bepaalde bestemming kunnen bepalen.

Wanneer twee BGP-routers met elkaar een sessie opzetten, zijn ze elkaars "peer". In jargon wordt het opzetten van een BGP-sessie tussen twee verschillende netwerken zonder dat ervoor betaald wordt, ook wel "peering" genoemd. BGP wordt ook gebruikt om een netwerk te voorzien van internet. Wanneer een netwerk (bijvoorbeeld een kleine internetprovider) twee of meer uplinks (grotere internetproviders) heeft, kan het interessant zijn om door middel van BGP zelfstandig een beslissing over de routering te nemen. In dat geval is er sprake van een transitverbinding. Hoewel dit nog steeds peering is, wordt het transit genoemd omdat men immers van netwerk A naar netwerk C gaat via netwerk B. Netwerk B is in dat geval het transitnetwerk. Voor transit moet meestal worden betaald.

Van BGP bestaan twee hoofdvormen: externe BGP (eBGP) en interne BGP (iBGP). Bij eBGP is er sprake van twee verschillende autonome systemen die elkaar voorzien van routinginformatie. Bij iBGP is er sprake van een internetrelatie in één autonoom systeem. Deze vorm wordt vaak gebruikt om grote hoeveelheden routinginformatie intern te verspreiden, omdat BGP beter schaalt dan bijvoorbeeld OSPF of IS-IS. Ook wordt BGP gebruikt voor de signalering van andere diensten zoals layer-3 VPNS.

Op internetknooppunten zoals de AMS-IX of NL-ix kunnen internetproviders (nationaal en internationaal) elkaars "peer" worden via een zogenaamd "shared-LAN".

Incidenten

Wanneer cruciale BGP-servers uitvallen, dan zijn sommige IP-adressen “onzichtbaar” en dus onbereikbaar. Een dergelijk incident was mede de oorzaak van de urenlange storing bij facebook op 4 oktober 2021.[2]

Zie ook