Diferența dintre EBGP și IBGP

EBGP vs IBGP

Ambele EBGP și IBGP sunt termeni utilizați cu protocolul de rutare BGP. În termeni teoretici, principala diferență dintre cele două este că EBGP rulează între două router-uri BGP în diferite sisteme autonome (AS), cu toate acestea, IBGP rulează între două router-uri BGP din același AS. Înainte de a discuta despre diferențele dintre EBGP și IBGP, să avem o înțelegere de bază a 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, atunci când pachetul traversează un router, TTL devine 0 și apoi pachetul va fi abandonat 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 sunt mai multe hamei departe, trebuie să adăugăm comanda "neighbor x.x.x.x ebgp-multihop"

În caz contrar, vecinătatea BGP nu va fi stabilită. În plus, partenerul EBGP va face publicitate tuturor celor mai bune rute pe care le cunoaște sau le-a învățat de la colegii săi (fie EBGP peer, fie IBGP peer), ceea ce nu este, în cazul IBGP.

Ce este IBGP??

În IBGP, nu există nicio restricție potrivit căreia vecinii trebuie conectați direct; cu toate acestea, un partener IBGP nu va face publicitate prefixul pe care l-a învățat de la un coleg de IBGP la un alt colegiu IBGP. Această restricție există pentru a evita buclele în cadrul aceleiași AS. Pentru a clarifica acest lucru, atunci când un traseu este transmis unui partener EBGP, numărul AS local este adăugat la prefix în calea as-path, deci dacă primim același pachet înapoi, afirmând AS-ul în calea-as, știm că este un bucla, și că pachetul devine scăzut. Cu toate acestea, atunci când un traseu este anunțat pe o interfață 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. Full Topology Topology: În acest sens, toate routerele din același AS trebuie să fie conectate între ele. De exemplu, dacă avem routere N, atunci trebuie să avem sesiuni N (N-1) / 2 IBGP. Putem evita acest lucru introducând reflectorii de rută.

2. Utilizarea reflectorilor de rută: Este o metodă alternativă de depășire a scenariului de plasă complet. În acest caz, sesiunile IBGP sunt stabilite cu un punct central. Acest punct central se numește Route Reflector, iar ceilalți routere IBGP sunt numiți clienți reflectorizanți de rută.

Care este diferența dintre eBGP și iBGP?

1. EBGP este peering între două AS diferite, în timp ce IBGP este între același AS (Sistemul Autonom).

2. Rutele învățate de pe eBGP vor fi anunțate altor parteneri (BGP sau IBGP); totuși, rutele învățate de la colegii IBGP nu vor fi anunțate altor colegi IBGP.

3. În mod implicit, colegii EBGP sunt stabiliți cu TTL = 1, ceea ce înseamnă că vecinii sunt presupuși a fi conectați direct, ceea ce nu este cazul IBGP. Putem schimba acest comportament pentru EBGP folosind comanda "neighbor x.x.x.x ebgp-multihop". Multihop este termenul utilizat numai în EBGP.

4. Traseele EBGP au o distanță administrativă de 20, în timp ce IBGP are 200.

5. Următorul hamez rămâne neschimbat atunci când traseul este anunțat de către partenerul IBGP; cu toate acestea, acesta este modificat atunci când este anunțat la EBGP peer în mod implicit.

Acest comportament implicit al IBGP poate fi modificat de comanda "vecinul x.x.x.x next-hop-self"; acest lucru schimba următorul hop, în timp ce publicitatea, ca un traseu local.