EBGP vs IBGP
Atât EBGP cât și IBGP sunt termeni folosiți cu protocolul de rutare BGP. În termeni teoretici, diferența principală dintre cele două este că EBGP rulează între două routere BGP în sistem autonom diferit (AS), cu toate acestea, IBGP rulează între două routere BGP în același AS. Înainte de a discuta diferențele dintre EBGP și IBGP, permiteți-ne să înțelegem de bază EBGP și IBGP.
Ce este EBGP?
BGP rulează între routere în diferite sisteme autonome. În mod implicit, în EBGP (peering în două AS diferite), IP TTL este setat la 1, ceea ce înseamnă că se presupune că colegii sunt conectați direct.
În acest caz, când pachetul traversează un singur router, TTL devine 0 și apoi pachetul va fi scăpat dincolo de acesta. În cazurile în care cei doi vecini nu sunt conectați direct, de exemplu, peering cu interfețe loopback sau peering atunci când dispozitivele se află la mai multe hamei, trebuie să adăugăm comanda „neighbour xxxx ebgp-multihop”
În caz contrar, vecinătatea BGP nu va fi stabilită. În plus, partenerul EBGP va promova toate cele mai bune rute pe care le cunoaște sau le-a învățat de la partenerii săi (indiferent dacă partenerul EBGP sau partenerul IBGP), ceea ce nu este, în cazul IBGP.
Ce este IBGP?
În IBGP, nu există nicio restricție ca vecinii să fie conectați direct; cu toate acestea, un partener IBGP nu va face publicitate prefixului pe care l-a învățat de la un partener IBGP către un alt partener IBGP. Această restricție este acolo pentru a evita buclele din același AS. Pentru a clarifica acest lucru, atunci când o rută este trecută către un partener EBGP, numărul AS local este adăugat la prefixul în as-path, deci dacă primim același pachet în spate indicând AS-ul nostru în as-path, știm că este un buclă și acel pachet devine abandonat. Cu toate acestea, atunci când o rută este promovată către un partener IBGP, numărul AS local nu este adăugat la as-path, deoarece colegii sunt în același AS.
Pentru a evita buclele în același AS, există două metode utilizate.
1. Topologie Full Meshed: În acest sens, toate routerele din același AS trebuie să fie conectate între ele. De exemplu, dacă avem N routere, atunci trebuie să avem N (N-1) / 2 sesiuni IBGP. Putem evita acest lucru prin introducerea reflectoarelor de traseu.
2. Utilizarea reflectoarelor de rută: este o metodă alternativă pentru a depăși scenariul cu rețea completă. În acest caz, sesiunile IBGP sunt stabilite cu un punct central. Acest punct central se numește Route Reflector, iar celelalte routere IBGP sunt numite clienți de reflector de rută.
Care este diferența dintre eBGP și iBGP? 1. EBGP analizează între două AS diferite, în timp ce IBGP este între același AS (sistem autonom). 2. Traseele învățate de la partenerul eBGP vor fi promovate către alți parteneri (BGP sau IBGP); cu toate acestea, rutele învățate de la colegii IBGP nu vor fi promovate către alți colegi IBGP. 3. În mod implicit, colegii EBGP sunt setați cu TTL = 1, ceea ce înseamnă că vecinii sunt presupuși a fi conectați direct, ceea ce nu este în cazul IBGP. Putem schimba acest comportament pentru EBGP folosind comanda „neighbour xxxx ebgp-multihop”. Multihop este termenul folosit doar în EBGP. 4. Rutele EBGP au o distanță administrativă de 20, în timp ce IBGP are 200. 5. Următorul hop rămâne neschimbat atunci când ruta este promovată către partenerul IBGP; cu toate acestea, este modificat atunci când este promovat în mod implicit către partenerul EBGP. Acest comportament implicit al IBGP poate fi modificat prin comanda „neighbour xxxx next-hop-self”; aceasta schimbă următorul hop, în timp ce face publicitate, ca o rută locală. |