EBGP vs IBGP
Tant EBGP com IBGP són termes utilitzats amb el protocol d'encaminament BGP. En termes teòrics, la principal diferència entre els dos és que EBGP s'executa entre dos encaminadors BGP en diferents sistemes autònoms (AS), però, IBGP s'executa entre dos encaminadors BGP al mateix AS. Abans de parlar de les diferències entre EBGP i IBGP, tinguem una comprensió bàsica d'EBGP i IBGP.
Què és EBGP?
BGP s'executa entre encaminadors en diferents sistemes autònoms. De manera predeterminada, a EBGP (peering en dos AS diferents), IP TTL s'estableix en 1, el que significa que se suposa que els iguals estan connectats directament.
En aquest cas, quan el paquet creua un encaminador, el TTL es converteix en 0 i, a continuació, el paquet s'eliminarà més enllà. En els casos en què els dos veïns no estan connectats directament, per exemple, mirant amb interfícies de bucle invertit o mirant quan els dispositius estan a diversos s alts de distància, hem d'afegir l'ordre "neighbor x.x.x.x ebgp-multihop"
En cas contrari, no s'establirà el veïnat BGP. A més, EBGP peer anunciarà totes les millors rutes que conegui o que hagi après dels seus companys (ja siguin EBGP peer o IBGP peer), cosa que no ho és, en el cas d'IBGP.
Què és IBGP?
A IBGP, no hi ha cap restricció que els veïns hagin d'estar connectats directament; tanmateix, un peer IBGP no anunciarà el prefix que va aprendre d'un igual IBGP a un altre igual IBGP. Aquesta restricció està allà per evitar bucles dins del mateix AS. Per aclarir-ho, quan es passa una ruta a un parell EBGP, el número AS local s'afegeix al prefix a as-path, de manera que si rebem el mateix paquet indicant el nostre AS a as-path, sabem que és un bucle, i aquest paquet es deixa caure. Tanmateix, quan s'anuncia una ruta a un parell IBGP, el número d'AS local no s'afegeix a com-path, ja que els parells es troben al mateix AS.
Per evitar bucles al mateix AS, s'utilitzen dos mètodes.
1. Topologia de malla completa: en això, tots els encaminadors del mateix AS han d'estar connectats entre si. Per exemple, si tenim N encaminadors, hem de tenir N (N-1)/2 sessions IBGP. Ho podem evitar introduint els reflectors de ruta.
2. Ús de reflectors de ruta: és un mètode alternatiu per superar l'escenari de malla completa. En aquest cas, les sessions IBGP s'estableixen amb un punt central. Aquest punt central s'anomena Route Reflector i els altres encaminadors IBGP s'anomenen Route Reflector clients.
Quina diferència hi ha entre eBGP i iBGP?
1. EBGP es troba entre dos AS diferents, mentre que IBGP es troba entre el mateix AS (sistema autònom).
2. Les rutes apreses d'eBGP peer s'anunciaran a altres companys (BGP o IBGP); tanmateix, les rutes apreses d'IBGP peer no s'anunciaran a altres companys d'IBGP.
3. Per defecte, els parells EBGP s'estableixen amb TTL=1, la qual cosa significa que se suposa que els veïns estan connectats directament, cosa que no és en el cas d'IBGP. Podem canviar aquest comportament per a EBGP utilitzant l'ordre "neighbor x.x.x.x ebgp-multihop". Multihop és el terme utilitzat només a EBGP.
4. Les rutes EBGP tenen una distància administrativa de 20, mentre que l'IBGP té 200.
5. El següent s alt es manté sense canvis quan la ruta s'anuncia al peer d'IBGP; tanmateix, es canvia quan s'anuncia a EBGP peer de manera predeterminada.
Aquest comportament predeterminat d'IBGP es pot canviar amb l'ordre "neighbor x.x.x.x next-hop-self"; això canvia el següent s alt, mentre es fa publicitat, com a ruta local.