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