Skillnad mellan EBGP och IBGP

EBGP vs IBGP

Både EBGP och IBGP är termer som används med routingsprotokollet BGP. I teoretiska termer är den huvudsakliga skillnaden mellan de två EBGP mellan två BGP-routrar i olika autonoma system (AS), men IBGP går mellan två BGP-routrar i samma AS. Innan vi diskuterar skillnaderna mellan EBGP och IBGP, låt oss få en grundläggande förståelse för EBGP och IBGP.

Vad är EBGP?

BGP går mellan routrar i olika autonoma system. Som standard, i EBGP (peering i två olika AS), IP TTL är satt till 1, vilket innebär att jämlikar antas vara direkt anslutna.

I det här fallet när paketet passerar en router blir TTL 0 och sedan kommer paketet att släppas bortom det. I de fall där de två grannarna inte är direktkopplade, till exempel, peering med loopback-gränssnitt eller peering när enheterna är flera humle bort, måste vi lägga till kommando "granne x.x.x.x ebgp-multihop"

Annars kommer inte BGP-neighborship att etableras. Dessutom kommer EBGP peer att annonsera alla de bästa rutorna som den vet eller har lärt sig av sina kamrater (om EBGP-peer eller IBGP-peer), vilket inte är fallet med IBGP.

Vad är IBGP?

I IBGP finns det ingen begränsning att grannar måste anslutas direkt. emellertid kommer en IBGP-peer inte att annonsera prefixet som det lärt sig från en IBGP-peer till en annan IBGP-peer. Denna begränsning finns för att undvika loopar inom samma AS. För att klargöra detta, när en rutt skickas till en EBGP-peer, läggs det lokala AS-numret till prefixet i as-sökvägen, så om vi mottar samma paket tillbaka med angivande av vår AS i as-vägen, vet vi att det är en loop och det paketet släpps. När en rutt är annonserad till en IBGP-peer, läggs det lokala AS-numret inte till as-bana, eftersom kamraterna är i samma AS.

För att undvika loopar i samma AS, finns det två metoder.

1. Full Meshed Topology: I detta måste alla routrar i samma AS vara anslutna till varandra. Om vi ​​till exempel har N-routrar måste vi ha N (N-1) / 2 IBGP-sessioner. Vi kan undvika detta genom att införa Route Reflectors.

2. Användning av ruttreflektor: Det är en alternativ metod för att övervinna fullmaskscenario. I detta fall etableras IBGP-sessioner med en central punkt. Denna central punkt kallas Ruttreflektor och de andra IBGP-routrarna kallas ruttreflektorklienter.

Vad är skillnaden mellan eBGP och iBGP?

1. EBGP hyser mellan två olika AS, medan IBGP ligger mellan samma AS (autonoma system).

2. Rutter som lärs från eBGP-peer kommer att annonseras till andra kamrater (BGP eller IBGP); emellertid kommer linjer som lärs från IBGP-peer inte att annonseras till andra IBGP-kamrater.

3. Som standard är EBGP-jämnställda inställda med TTL = 1, vilket innebär att grannar antas vara direktkopplade, vilket inte är fallet med IBGP. Vi kan ändra detta beteende för EBGP genom att använda kommandot "grann x.x.x.x ebgp-multihop". Multihop är termen som används endast i EBGP.

4. EBGP-sträckor har administrativt avstånd på 20, medan IBGP har 200.

5. Nästa hop förblir oförändrat när rutten är annonserad till IBGP-peer; Det ändras dock när det annonseras till EBGP-peer som standard.

Detta standardbeteende hos IBGP kan ändras med kommandot "grann x.x.x.x next-hop-self"; Detta ändrar nästa hop, medan annonsering, som en lokal rutt.