Разлика между EBGP и IBGP

EBGP срещу IBGP

И EBGP, и IBGP са термини, използвани с протокола за маршрутизиране BGP. Теоретично, основната разлика между двете е EBGP работи между два BGP рутера в различни автономни системи (AS), но IBGP работи между два BGP рутера в една и съща AS. Преди да обсъдим разликите между EBGP и IBGP, нека да имаме основно разбиране за EBGP и IBGP.

Какво е EBGP?

BGP работи между рутери в различни автономни системи. По подразбиране в EBGP (peering в две различни AS) IP TTL е настроен на 1, което означава, че се предполага, че връстниците са пряко свързани.

В този случай, когато пакетът пресече един рутер, TTL става 0 и тогава пакетът ще отпадне отвъд това. В случаите, когато двамата съседи не са пряко свързани, например, пиърсинг с loopback интерфейси или пиърсинг, когато устройствата са на няколко хопа, трябва да добавим команда „съсед x.x.x.x ebgp-multihop“

В противен случай BGP съседство няма да бъде установено. В допълнение, партньорът на EBGP ще рекламира всички най-добри маршрути, които познава или е научил от своите връстници (независимо дали партньорът на EBGP или IBGP партньор), което не е, в случая на IBGP.

Какво е IBGP?

В IBGP няма ограничение, че съседите трябва да бъдат свързани директно; Въпреки това, IBGP партньорът няма да рекламира представката, която е научил от IBGP партньор на друг партньор от IBGP. Това ограничение е налице, за да се избегнат цикли в рамките на една и съща AS. За да се изясни това, когато маршрут се предава на връстник на EBGP, локалният AS номер се добавя към префикса в as-path, така че ако получим същия пакет обратно, посочващ AS в as-path, ние знаем, че той е цикъл и този пакет пада. Когато обаче се рекламира маршрут на IBGP партньор, локалният AS номер не се добавя към as-path, тъй като връстниците са в същия AS.

За да се избегнат цикли в една и съща AS, се използват два метода.

1. Пълна мрежеста топология: При това всички рутери в едно и също AS трябва да бъдат свързани помежду си. Например, ако имаме N рутери, тогава трябва да имаме N (N-1) / 2 IBGP сесии. Можем да избегнем това чрез въвеждане на рефлектори на маршрута.

2. Използване на маршрутизатори: Това е алтернативен метод за преодоляване на сценария с пълна мрежа. В този случай сесиите на IBGP се установяват с централна точка. Тази централна точка се нарича Route Reflector, а другите IBGP маршрутизатори се наричат ​​клиенти на рефлекторни маршрути.

Каква е разликата между eBGP и iBGP?

1. EBGP наднича между две различни AS, докато IBGP е между една AS (Автономна система).

2. Маршрутите, научени от партньор на eBGP, ще бъдат рекламирани на други колеги (BGP или IBGP); въпреки това, маршрутите, научени от партньор на IBGP, няма да бъдат рекламирани на други връстници на IBGP.

3. По подразбиране връзките на EBGP се задават с TTL = 1, което означава, че се предполага, че съседите са директно свързани, което не е в случая на IBGP. Можем да променим това поведение за EBGP, като използваме команда „съсед x.x.x.x ebgp-multihop“. Multihop е терминът, използван само в EBGP.

4. EBGP маршрутите имат административно разстояние от 20, докато IBGP има 200.

5. Следващият хоп остава непроменен, когато маршрутът се рекламира на IBGP партньор; той обаче се променя, когато по подразбиране е рекламиран на партньор на EBGP.

Това поведение по подразбиране на IBGP може да бъде променено от командата “съсед x.x.x.x next-hop-self”; това променя следващия хоп, докато се рекламира, като местен маршрут.