BGP
BGP Protocol Overzicht
Border Gateway Protocol (BGP) is het standaard Exterior Gateway Protocol (EGP) dat wordt gebruikt om routinginformatie uit te wisselen tussen autonome systemen (AS's). Het is een path-vector protocol dat routingbeslissingen baseert op beleidsregels die worden geconfigureerd door de netwerkbeheerder.
BGP Types
| Type | Beschrijving |
|---|---|
| eBGP | Externe BGP tussen verschillende AS's |
| iBGP | Interne BGP binnen hetzelfde AS |
| BGP4 | De huidige versie van BGP die ondersteuning biedt voor Classless Inter-Domain Routing (CIDR) en route aggregation. |
| BGP-LS | Link State Distribution via BGP om netwerk topologie-informatie door te geven aan controllers. |
BGP Neighbor Relationships
BGP peers kunnen in verschillende toestanden zijn die de status van de verbinding tussen de routers beschrijven. Deze toestanden zijn:
- Idle: Initiële status; de router zoekt geen verbinding.
- Connect: TCP verbinding opgezet, wacht op de BGP Open Message.
- Active: De router probeert een verbinding te maken.
- OpenSent: BGP Open bericht is verzonden, wacht op antwoord.
- OpenConfirm: Open bericht is bevestigd, wacht op KEEPALIVE.
- Established: BGP peers zijn succesvol verbonden en uitwisselen routes.
BGP Attributen (In-Depth)
BGP route selection wordt voornamelijk beïnvloed door de volgende attributen:
| Naam | Beschrijving | Type | Voorkeur |
|---|---|---|---|
| Weight | Lokale voorkeur van de router. Wordt alleen toegepast op de lokale router en niet gedeeld met peers. | Cisco Proprietary | Hoger is beter |
| Local Preference | Wordt toegepast binnen een AS om te bepalen welke uitgaande route wordt gebruikt. | Well-known discretionary | Hoger is beter |
| AS Path | Een lijst van AS's die een route heeft doorgelopen. Minimalisatie van AS-hops heeft de voorkeur. | Well-known mandatory | Korter is beter |
| Next Hop | Het IP-adres van de volgende router in de route. | Well-known mandatory | N.v.t. |
| MED | De Multi-Exit Discriminator wordt gebruikt om te bepalen welke externe route in het geval van meerdere exits wordt gekozen. | Optional nontransitive | Lager is beter |
| Origin | Geeft aan hoe de route is geleerd: via IGP, EGP, of Incomplete. | Well-known mandatory | IGP > EGP > Incomplete |
BGP Route Selection Process
Het BGP route selection proces doorloopt de volgende stappen:
- Selecteer de route met de hoogste Weight.
- Selecteer de route met de hoogste Local Preference.
- Voorkeur voor direct geadverteerde routes (iBGP > eBGP).
- Selecteer de route met het kortste AS Path.
- Selecteer de route met de laagste Origin waarde (IGP > EGP > Incomplete).
- Selecteer de route met de laagste MED waarde.
- Selecteer de route met de laagste IGP kostprijs naar de Next Hop.
- Voorkeur voor de oudste eBGP sessie.
- Selecteer de route met de laagste Router-ID.
BGP Community Strings
BGP Community strings bieden een mechanisme voor tagging en het toepassen van routingbeleidsregels. Enkele standaard community waarden zijn:
- NO_EXPORT: De route mag niet worden geëxporteerd buiten het huidige AS.
- NO_ADVERTISE: De route mag niet worden geadverteerd naar andere peers.
- NO_EXPORT_SUBCONFED: De route mag niet worden geadverteerd buiten de sub-AS (wanneer confederaties worden gebruikt).
- Local-AS: De route blijft binnen het AS maar mag wel naar iBGP peers worden verzonden.
BGP Confederations & Route Reflectors
In grote netwerken kan het gebruik van iBGP zonder optimalisatie leiden tot een explosie van het aantal verbindingen. Om dit te verhelpen worden vaak confederaties en route reflectors gebruikt.
- Confederations: Een enkel AS wordt verdeeld in kleinere sub-AS's, en BGP wordt binnen elke sub-AS als een aparte entiteit uitgevoerd.
- Route Reflectors: Stelt een enkele router in staat routes te herdistribueren naar andere iBGP peers, waardoor het aantal benodigde verbindingen wordt verminderd.
BGP Veiligheid
Enkele methoden om BGP-beveiliging te waarborgen zijn:
- TCP MD5 Authentication: Authenticeer BGP-verbindingen met behulp van een MD5-hash om ongeautoriseerde sessies te voorkomen.
- Prefix Filtering: Beperk het aantal prefixes dat geaccepteerd of geadverteerd wordt via BGP.
- Route Flap Dampening: Verminder de impact van routes die frequent aan- en uitvallen.
- RPKI (Resource Public Key Infrastructure): Authenticeer de legitimiteit van routes op basis van toegewezen IP-adressen.
Veelvoorkomende BGP Foutoplossingstips
- show ip bgp summary: Toont een overzicht van alle BGP peers en de status van hun verbindingen.
- show ip bgp: Geeft de BGP routing tabel weer.
- debug ip bgp: Real-time foutopsporing van BGP-Het lijkt erop dat ik je onderbreekte tijdens het proces. Hier is het volledige eindresultaat van je geavanceerde BGP-cheatsheet:
```html
BGP Path Attributes en Path Selection
BGP gebruikt meerdere attributen om het beste pad te kiezen. Dit is de volgorde waarin de attributen worden vergeleken:
- Weight (Cisco propriëtair).
- Local Preference.
- AS Path lengte.
- Origin code (IGP > EGP > Incomplete).
- MED (Multi-Exit Discriminator).
- Next Hop bereikbaarheid.
- IGP Cost naar de next hop.
- Router-ID van de adverteerder (laagste waarde heeft de voorkeur).
- Ouderdom van de route (oudere routes hebben de voorkeur).
Geavanceerde BGP-optimalisatie
- BGP Route Reflection: Vermindert de noodzaak voor volledige mesh iBGP-verbindingen door een router routes te laten reflecteren naar andere iBGP peers.
- BGP Confederations: Grote AS's kunnen worden opgesplitst in kleinere sub-AS's die intern iBGP gebruiken maar extern als één AS verschijnen.
- BGP Aggregation: Vereenvoudigt de routering door meerdere prefixes te aggregeren tot één prefix.
- Soft Reconfiguration: Past route-instellingen aan zonder de BGP sessies opnieuw op te zetten.
- Route Filtering: Gebruik van prefix-lijsten of route-maps om ongewenste routes te blokkeren of te manipuleren.
BGP Beveiligingsmaatregelen
- TCP MD5 Authentication: Voorkomt ongeautoriseerde BGP-sessies door authenticatie via een MD5 hash.
- Prefix Filtering: Zorg ervoor dat alleen geautoriseerde prefixes worden geaccepteerd of geadverteerd.
- Route Dampening: Vermindert de impact van routeflapping door instabiele routes tijdelijk te onderdrukken.
- RPKI (Resource Public Key Infrastructure): Authenticeert routes om te voorkomen dat IP-adressen frauduleus worden geadverteerd.
- Maximum Prefix Limit: Beperk het aantal prefixes dat een BGP peer kan adverteren om overbelasting te voorkomen.
iBGP vs eBGP
Kenmerk iBGP eBGP Next Hop Wordt niet gewijzigd Wordt gewijzigd naar de router die de route adverteert TTL TTL wordt standaard niet gewijzigd TTL wordt meestal ingesteld op 1 (directe buren) Route Advertisement Wordt niet hergeadverteerd naar andere iBGP peers zonder een route reflector Wordt standaard naar alle eBGP peers geadverteerd BGP Policy Control Tools
- Route-maps: Geven flexibiliteit bij het filteren en manipuleren van routes.
- Prefix-lists: Worden gebruikt om bepaalde prefixes te filteren.
- AS-path access-lists: Gebruikt om routes te filteren op basis van de AS-path.
- Distribute-lists: Bepalen welke routes worden geaccepteerd of geadverteerd.
BGP Monitoring en Logging
Het is belangrijk om BGP-sessies goed te monitoren en logs bij te houden om problemen vroegtijdig te detecteren. Enkele nuttige commando's voor monitoring zijn:
- show ip bgp neighbors: Geeft gedetailleerde informatie over de status van de BGP buren.
- show ip bgp summary: Een samenvatting van de status van alle BGP buren.
- show ip bgp routes: Geeft de routes weer die worden geleerd en doorgegeven via BGP.
- debug ip bgp: Realtime foutopsporingsinformatie voor BGP-sessies.
Bezoekerscounter
Totaal aantal bezoekers: 284