EBGP vs IBGP
Både EBGP och IBGP är termer som används med routingprotokollet BGP. Teoretiskt sett är den huvudsakliga skillnaden mellan de två EBGP-körningarna 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 ha en grundläggande förståelse för EBGP och IBGP.
Vad är EBGP?
BGP körs mellan routrar i olika autonoma system. Som standard är IP TTL i EBGP (peering i två olika AS) inställt på 1, vilket innebär att peers antas vara direktanslutna.
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 direktanslutna, till exempel, peering med loopback-gränssnitt eller peering när enheterna är flera hopp bort, måste vi lägga till kommandot "granne xxxx ebgp-multihop"
Annars kommer inte BGP-grannskapet att upprättas. Dessutom kommer EBGP-kollegor att marknadsföra alla de bästa rutter som de känner till eller som de har lärt sig av sina kamrater (oavsett om EBGP-kollegor eller IBGP-kollegor), vilket inte är fallet för IBGP.
Vad är IBGP?
I IBGP finns det ingen begränsning att grannar måste anslutas direkt; en IBGP-kollega kommer dock inte att annonsera om prefixet som den lärde sig från en IBGP-kollega till en annan IBGP-kollega. 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-path, så om vi får tillbaka samma paket som anger vårt AS in-path, vet vi att det är en loop, och det paketet tappas. Men när en rutt annonseras för en IBGP-kollega läggs inte det lokala AS-numret till som-sökväg, eftersom kamraterna är i samma AS.
För att undvika loopar i samma AS finns två metoder som används.
1. Full Meshed Topology: I detta måste alla routrar i samma AS vara anslutna till varandra. Till exempel, om vi 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 ruttreflektorer: Det är en alternativ metod för att övervinna fullmaskarscenariot. I detta fall etableras IBGP-sessioner med en central punkt. Denna centrala punkt kallas Route Reflector och de andra IBGP-routrarna kallas route reflector clients.
|
Vad är skillnaden mellan eBGP och iBGP? 1. EBGP tittar mellan två olika AS, medan IBGP är mellan samma AS (Autonomous System). 2. Rutter som lärts av eBGP-kollegor kommer att annonseras för andra kamrater (BGP eller IBGP); rutter som lärts av IBGP-kollegor kommer dock inte att annonseras för andra IBGP-kamrater. 3. Som standard är EBGP-kollegor inställda med TTL = 1, vilket innebär att grannar antas vara direkt anslutna, vilket inte är fallet med IBGP. Vi kan ändra detta beteende för EBGP genom att använda kommandot "granne xxxx ebgp-multihop". Multihop är den term som endast används i EBGP. 4. EBGP-rutter har ett administrativt avstånd på 20, medan IBGP har 200. 5. Nästa hopp förblir oförändrat när rutten annonseras till IBGP-kollegan; det ändras dock när det annonseras till EBGP-kollegor som standard. Detta standardbeteende hos IBGP kan ändras med kommandot "granne xxxx nästa hopp-jag"; detta ändrar nästa hopp, medan reklam, som en lokal rutt. |