EBGP a IBGP
Zarówno EBGP, jak i IBGP to terminy używane z protokołem routingu BGP. Z teoretycznego punktu widzenia, główną różnicą jest to, że EBGP działa między dwoma routerami BGP w różnych systemach autonomicznych (AS), jednak IBGP działa między dwoma routerami BGP w tym samym AS. Zanim omówimy różnice między EBGP i IBGP, zdobądźmy podstawową wiedzę na temat EBGP i IBGP.
Co to jest EBGP?
BGP działa między routerami w różnych systemach autonomicznych. Domyślnie w EBGP (peering w dwóch różnych AS), IP TTL jest ustawione na 1, co oznacza, że zakłada się, że peery są bezpośrednio połączone.
W tym przypadku, gdy pakiet przechodzi przez jeden router, TTL wynosi 0, a następnie pakiet zostanie odrzucony poza ten router. W przypadkach, gdy dwaj sąsiedzi nie są bezpośrednio połączeni, na przykład peering z interfejsami pętli zwrotnej lub peering, gdy urządzenia są oddalone o wiele przeskoków, musimy dodać polecenie „neighbor x.x.x.x ebgp-multihop”
W przeciwnym razie sąsiedztwo BGP nie zostanie ustanowione. Dodatkowo, peer EBGP będzie ogłaszał wszystkie najlepsze trasy, jakie zna lub nauczył się od swoich sąsiadów (czy to peer EBGP, czy IBGP), co nie jest w przypadku IBGP.
Co to jest IBGP?
W IBGP nie ma ograniczeń co do tego, że sąsiedzi muszą być połączeni bezpośrednio; jednak peer IBGP nie będzie rozgłaszał prefiksu, którego nauczył się od peera IBGP do innego peera IBGP. To ograniczenie ma na celu uniknięcie pętli w tym samym AS. Aby to wyjaśnić, kiedy trasa jest przekazywana do peera EBGP, lokalny numer AS jest dodawany do prefiksu w as-path, więc jeśli otrzymamy ten sam pakiet z powrotem, podający nasz AS w as-path, wiemy, że jest to pętla, a pakiet zostaje odrzucony. Jednakże, gdy trasa jest ogłaszana do peera IBGP, lokalny numer AS nie jest dodawany do as-path, ponieważ są one w tym samym AS.
Aby uniknąć pętli w tym samym AS, są używane dwie metody.
1. Topologia pełnej siatki: W tym przypadku wszystkie routery w tym samym AS muszą być ze sobą połączone. Na przykład, jeśli mamy N routerów, to musimy mieć N (N-1)/2 sesji IBGP. Możemy tego uniknąć, wprowadzając reflektory tras.
2. Użycie reflektorów tras: Jest to alternatywna metoda na pokonanie scenariusza pełnej siatki. W takim przypadku sesje IBGP nawiązywane są z punktem centralnym. Ten centralny punkt nosi nazwę Route Reflector, a pozostałe routery IBGP nazywane są klientami Route Reflector.
Jaka jest różnica między eBGP a iBGP?
1. EBGP jest równorzędny pomiędzy dwoma różnymi AS, podczas gdy IBGP jest pomiędzy tym samym AS (system autonomiczny).
2. Trasy poznane od peera eBGP będą rozgłaszane do innych peerów (BGP lub IBGP); jednak trasy poznane od peera IBGP nie będą rozgłaszane do innych peerów IBGP.
3. Domyślnie sąsiedzi EBGP mają TTL=1, co oznacza, że zakłada się, że sąsiedzi są bezpośrednio połączeni, co nie ma miejsca w przypadku IBGP. Możemy zmienić to zachowanie dla EBGP za pomocą polecenia „neighbor x.x.x.x ebgp-multihop”. Multihop to termin używany tylko w EBGP.
4. Trasy EBGP mają odległość administracyjną 20, podczas gdy IBGP ma 200.
5. Następny przeskok pozostaje niezmieniony, gdy trasa jest ogłaszana do peera IBGP; jednak jest zmieniany, gdy jest domyślnie ogłaszany do peera EBGP.
To domyślne zachowanie IBGP można zmienić za pomocą polecenia „neighbor x.x.x.x next-hop-self”; zmienia to następny przeskok, reklamując się jako trasa lokalna.