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 и тогава пакетът ще бъде изпуснат отвъд това. В случаите, когато двамата съседи не са директно свързани, например, надничане с интерфейси за обратна връзка или надничане, когато устройствата са на няколко хопа, трябва да добавим команда „съсед xxxx 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 peer, ще бъдат рекламирани на други връстници (BGP или IBGP); обаче маршрутите, научени от връстник на IBGP, няма да бъдат рекламирани на други връстници на IBGP. 3. По подразбиране връзките EBGP са настроени с TTL = 1, което означава, че се приема, че съседите са директно свързани, което не е в случая с IBGP. Можем да променим това поведение за EBGP, като използваме командата “съсед xxxx ebgp-multihop”. Multihop е терминът, използван само в EBGP. 4. Маршрутите на EBGP имат административно разстояние от 20, докато IBGP има 200. 5. Следващият хоп остава непроменен, когато маршрутът се рекламира на връстник на IBGP; обаче се променя, когато се рекламира по подразбиране на EBGP peer. Това поведение по подразбиране на IBGP може да бъде променено чрез командата “съсед xxxx next-hop-self”; това променя следващия хоп, докато рекламира, като локален маршрут. |