EBGP contro IBGP
Sia EBGP che IBGP sono termini utilizzati con il protocollo di routing BGP. In termini teorici, la differenza principale tra i due è che EBGP viene eseguito tra due router BGP in diversi Autonomous System (AS), tuttavia, IBGP viene eseguito tra due router BGP nello stesso AS. Prima di discutere le differenze tra EBGP e IBGP, acquisiamo una conoscenza di base di EBGP e IBGP.
Cos'è EBGP?
BGP viene eseguito tra router in diversi sistemi autonomi. Per impostazione predefinita, in EBGP (peering in due diversi AS), IP TTL è impostato su 1, il che significa che si presume che i peer siano connessi direttamente.
In questo caso, quando il pacchetto attraversa un router, TTL diventa 0 e quindi il pacchetto verrà scartato oltre. Nei casi in cui i due vicini non sono collegati direttamente, ad esempio, peering con interfacce di loopback o peering quando i dispositivi sono a più salti di distanza, dobbiamo aggiungere il comando "neighbour xxxx ebgp-multihop"
In caso contrario, il vicinato BGP non verrà stabilito. Inoltre, il peer EBGP pubblicizzerà tutte le migliori rotte che conosce o ha appreso dai suoi pari (se peer EBGP o peer IBGP), il che non è nel caso di IBGP.
Cos'è l'IBGP?
In IBGP, non vi è alcuna restrizione che i vicini debbano essere collegati direttamente; tuttavia, un peer IBGP non pubblicizzerà il prefisso appreso da un peer IBGP a un altro peer IBGP. Questa restrizione serve per evitare loop all'interno dello stesso AS. Per chiarire questo, quando una route viene passata a un peer EBGP, il numero AS locale viene aggiunto al prefisso in as-path, quindi se riceviamo lo stesso pacchetto che dichiara il nostro AS in as-path, sappiamo che è un e quel pacchetto viene scartato. Tuttavia, quando una route viene annunciata a un peer IBGP, il numero AS locale non viene aggiunto a as-path, poiché i peer si trovano nello stesso AS.
Per evitare loop nello stesso AS, sono utilizzati due metodi.
1. Topologia a maglia completa: in questo caso, tutti i router nello stesso AS devono essere collegati tra loro. Ad esempio, se abbiamo N router, allora dobbiamo avere N (N-1) / 2 sessioni IBGP. Possiamo evitarlo introducendo Route Reflector.
2. Uso di Route-Reflector: è un metodo alternativo per superare lo scenario full mesh. In questo caso, le sessioni IBGP sono stabilite con un punto centrale. Questo punto centrale è chiamato Route Reflector e gli altri router IBGP sono chiamati client route reflector.
Qual è la differenza tra eBGP e iBGP? 1. EBGP sta effettuando il peering tra due diversi AS, mentre IBGP è tra lo stesso AS (Autonomous System). 2. Le rotte apprese dal peer eBGP verranno pubblicizzate ad altri peer (BGP o IBGP); tuttavia, le rotte apprese dal peer IBGP non verranno pubblicizzate ad altri peer IBGP. 3. Per impostazione predefinita, i peer EBGP sono impostati con TTL = 1, il che significa che si presume che i vicini siano collegati direttamente, il che non è nel caso di IBGP. Possiamo cambiare questo comportamento per EBGP usando il comando "neighbour xxxx ebgp-multihop". Multihop è il termine utilizzato solo in EBGP. 4. Le rotte EBGP hanno una distanza amministrativa di 20, mentre IBGP ne ha 200. 5. Il salto successivo rimane invariato quando la rotta viene annunciata al peer IBGP; tuttavia, viene modificato quando viene annunciato al peer EBGP per impostazione predefinita. Questo comportamento predefinito di IBGP può essere modificato dal comando "neighbour xxxx next-hop-self"; questo cambia il salto successivo, durante la pubblicità, come percorso locale. |