Skip to content

BGP — Border Gateway Protocol

BGP is het routingprotocol van het internet. Alle andere protocollen (OSPF, EIGRP, ...) zijn interior protocols — ze werken binnen één beheerde omgeving. BGP is exterior — het verbindt aparte autonome systemen met elkaar. Huidige versie: BGP-4.


Interior vs Exterior

Interior (IGP) Exterior (EGP)
Peer discovery Automatisch Manueel geconfigureerd
Vertrouwen Routers in eigen netwerk Externe netwerken
Routedistributie Naar alle routers in het AS Enkel naar geconfigureerde peers
Voorbeelden OSPF, EIGRP, RIP BGP

Routetypes

Type Beschrijving
Static routes Manueel geconfigureerd
Connected routes Automatisch aangemaakt wanneer interface up gaat
Interior routes Binnen een AS (via IGP)
Exterior routes Buiten een AS (via BGP)

BGP eigenschappen

  • Enige protocol dat meerdere verbindingen naar niet-gerelateerde routing domains aankan
  • Ontworpen voor de schaal van het internet
  • Policy-based — elke AS kan zelf bepalen welke routes hij accepteert, adverteert en prefereert
  • Decentralized — elke AS neemt autonoom beslissingen
  • Weinig bandbreedte- en processoroverhead
  • Loopdetectie ingebouwd

Autonomous System (AS)

Een Autonomous System is een verzameling IP-prefixen (netwerken) onder één gemeenschappelijke routingpolicy.

  • Geïdentificeerd door een AS-nummer (publiek of privaat)
  • Geregistreerd bij een RIR (Regional Internet Registry)
  • Intern: één routing protocol (IGP), extern: BGP voor verbinding met andere AS'en
  • Voorbeelden van entiteiten met een AS: service providers, multi-homed customers, grote organisaties

iBGP vs eBGP

iBGP eBGP
Wanneer AS-nummers van beide peers zijn gelijk AS-nummers zijn verschillend
Gebruik Intern in een AS, tussen border routers Tussen AS'en onderling
router bgp 100
 network 220.220.8.0 mask 255.255.255.0
 neighbor 222.222.10.1 remote-as 101    ← eBGP (ander AS)

BGP Protocol

BGP peers bouwen een TCP verbinding op poort 179 op vooraleer routes uitgewisseld worden.

Berichttypes

Type Beschrijving
Open Initiatie van de BGP verbinding — identificeert zichzelf en start routewisseling
Update Kern van het protocol — bevat reachability info en pad-attributen
Keepalive Verifieert periodiek dat de peer nog bereikbaar is
Notification Foutmeldingen en control berichten

Update message structuur

BGP Header
├── Withdrawn Routes       (routes die niet meer beschikbaar zijn)
├── Path Attributes        (Origin, AS Path, Next Hop, MED, Local Pref, ...)
└── NLRI                   (Network Layer Reachability Info — nieuwe routes)

AS-Path Attribute

Het AS-Path attribuut is de lijst van AS-nummers die een route heeft doorlopen — een soort routegeschiedenis.

  • Elke AS voegt zijn eigen nummer toe aan het pad wanneer hij de route doorstuurt
  • Dient voor loop detection: een AS verwerpt routes waarbij zijn eigen AS-nummer al in het pad staat
  • Wordt ook gebruikt voor policy — bepaal voorkeurspaden op basis van AS-pad lengte of inhoud

Next Hop Attribute

Het Next Hop attribuut geeft aan via welk IP-adres een netwerk bereikbaar is.

  • In een eBGP sessie: het IP van de interface waarmee de eBGP peer verbonden is
  • Next hop wordt bijgewerkt bij elke eBGP hop — elke AS stelt de next hop in op zijn eigen interface naar de volgende peer