EBGP versus IBGP
Zowel EBGP als IBGP zijn termen die worden gebruikt met het routeringsprotocol BGP. In theoretische termen is het belangrijkste verschil tussen de twee EBGP-runs tussen twee BGP-routers in verschillende Autonomous System (AS), maar IBGP-runs tussen twee BGP-routers in hetzelfde AS. Voordat we de verschillen tussen EBGP en IBGP bespreken, moeten we eerst een basiskennis hebben van EBGP en IBGP.
Wat is EBGP?
BGP werkt tussen routers in verschillende autonome systemen. Standaard is in EBGP (peering in twee verschillende AS) IP TTL ingesteld op 1, wat betekent dat wordt aangenomen dat peers rechtstreeks verbonden zijn.
In dit geval, wanneer het pakket één router passeert, wordt TTL 0 en wordt het pakket daarna verwijderd. In gevallen waarin de twee buren niet rechtstreeks zijn verbonden, bijvoorbeeld peering met loopback-interfaces of peering wanneer apparaten meerdere hops verwijderd zijn, moeten we het commando "Neighbor xxxx ebgp-multihop" toevoegen
Anders komt er geen BGP-buurschap tot stand. Bovendien zal EBGP-peer reclame maken voor alle beste routes die hij kent of die hij heeft geleerd van zijn peers (of het nu gaat om EBGP-peer of IBGP-peer), wat niet het geval is in het geval van IBGP.
Wat is IBGP?
In IBGP is er geen beperking dat buren rechtstreeks verbonden moeten zijn; een IBGP-peer zal het voorvoegsel dat het van een IBGP-peer heeft geleerd echter niet adverteren naar een andere IBGP-peer. Deze beperking is er om lussen binnen hetzelfde AS te vermijden. Om dit te verduidelijken: wanneer een route wordt doorgegeven aan een EBGP-peer, wordt het lokale AS-nummer toegevoegd aan het voorvoegsel in as-path, dus als we hetzelfde pakket terugkrijgen met vermelding van ons AS in as-path, weten we dat het een loop, en dat pakket wordt verwijderd. Wanneer een route echter wordt geadverteerd naar een IBGP-peer, wordt het lokale AS-nummer niet toegevoegd aan as-path, aangezien de peers zich in hetzelfde AS bevinden.
Om lussen in hetzelfde AS te vermijden, zijn er twee methoden.
1. Full Meshed Topology: hierbij moeten alle routers in hetzelfde AS met elkaar zijn verbonden. Als we bijvoorbeeld N-routers hebben, moeten we N (N-1) / 2 IBGP-sessies hebben. Dit kunnen we voorkomen door Route Reflectors te introduceren.
2. Gebruik van route-reflectoren: het is een alternatieve methode om een volledig mesh-scenario te overwinnen. In dit geval worden IBGP-sessies opgezet met een centraal punt. Dit centrale punt heet Route Reflector en de andere IBGP-routers worden route-reflectorclients genoemd.
Wat is het verschil tussen eBGP en iBGP? 1. EBGP peering tussen twee verschillende AS, terwijl IBGP tussen hetzelfde AS (Autonomous System) is. 2. Routes die worden geleerd van eBGP-peer zullen worden geadverteerd naar andere peers (BGP of IBGP); routes die van IBGP-peer worden geleerd, zullen echter niet worden geadverteerd naar andere IBGP-peers. 3. Standaard worden EBGP-peers ingesteld op TTL = 1, wat betekent dat wordt aangenomen dat buren rechtstreeks verbonden zijn, wat niet het geval is bij IBGP. We kunnen dit gedrag voor EBGP veranderen door het commando "buur xxxx ebgp-multihop" te gebruiken. Multihop is de term die alleen in EBGP wordt gebruikt. 4. EBGP-routes hebben een administratieve afstand van 20, terwijl IBGP 200 heeft. 5. De volgende hop blijft ongewijzigd wanneer de route wordt geadverteerd naar de IBGP-peer; het wordt echter standaard gewijzigd wanneer het wordt geadverteerd naar EBGP-peer. Dit standaardgedrag van IBGP kan worden gewijzigd met het commando "Neighbor xxxx next-hop-self"; dit verandert de volgende hop, terwijl hij reclame maakt, als een lokale route. |