Verschil tussen EBGP en IBGP

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 werkt tussen twee BGP-routers in dezelfde 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 peers worden verondersteld rechtstreeks verbonden te zijn.

In dit geval, wanneer het pakket één router passeert, wordt TTL 0 en wordt het pakket daarna verder gedaald. In gevallen waarbij de twee buren niet rechtstreeks zijn verbonden, bijvoorbeeld peering met loopback-interfaces of peering wanneer apparaten meerdere hops verderop zijn, moeten we het commando "neighbor x.x.x.x ebgp-multihop" toevoegen

Anders wordt het BGP-burenschap niet gevestigd. Bovendien zal EBGP peer alle beste routes adverteren die het kent of heeft geleerd van zijn peers (of het EBGP peer of IBGP peer is), wat niet het geval is in het geval van IBGP.

Wat is IBGP?

In IBGP is er geen beperking dat buren direct verbonden moeten zijn; een IBGP-peer zal echter niet adverteren voor het voorvoegsel dat het van een IBGP-peer heeft geleerd voor een andere IBGP-peer. Deze beperking is er om lussen binnen dezelfde AS te voorkomen. Om dit te verduidelijken, wanneer een route wordt doorgegeven aan een EBGP-peer, wordt het lokale AS-nummer toegevoegd aan het prefix in as-path, dus als we hetzelfde pakket terug ontvangen met vermelding van ons AS-as-pad, 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, omdat de peers zich in hetzelfde AS bevinden.

Om lussen in dezelfde AS te voorkomen, worden er twee methoden gebruikt.

1. Volledige maattopologie: Hierin 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. We kunnen dit voorkomen door Route Reflectors te introduceren.

2. Gebruik van route-reflectoren: Het is een alternatieve methode om een ​​scenario met volledige mazen te overwinnen. In dit geval worden IBGP-sessies opgezet met een centraal punt. Dit centrale punt wordt Route Reflector genoemd en de andere IBGP-routers worden routereflectorclients genoemd.

Wat is het verschil tussen eBGP en iBGP?

1. EBGP is peering tussen twee verschillende AS, terwijl IBGP zich tussen dezelfde AS (autonoom systeem) bevindt.

2. Routes geleerd van eBGP-peer zullen worden geadverteerd aan andere peers (BGP of IBGP); routes die worden geleerd van IBGP-collega's zullen echter niet worden geadverteerd bij andere IBGP-collega's.

3. Standaard zijn EBGP-peers ingesteld met 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 wijzigen door het commando "neighbour x.x.x.x 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 aan IBGP-peer; het is echter gewijzigd wanneer het standaard wordt geadverteerd naar EBGP-peer.

Dit standaardgedrag van IBGP kan worden gewijzigd door het commando "neighbor x.x.x.x next-hop-self"; dit verandert de volgende hop, terwijl het adverteren, als een lokale route.