EBGP در مقابل IBGP
هر دو EBGP و IBGP اصطلاحاتی هستند که با پروتکل مسیریابی BGP استفاده می شوند. از نظر تئوری، تفاوت اصلی بین این دو اجرای EBGP بین دو روتر BGP در سیستم خودمختار مختلف (AS) است، اما IBGP بین دو روتر BGP در همان AS اجرا میشود. قبل از اینکه درباره تفاوتهای بین EBGP و IBGP بحث کنیم، اجازه دهید یک درک اساسی از EBGP و IBGP داشته باشیم.
EBGP چیست؟
BGP بین روترها در سیستمهای مستقل مختلف اجرا میشود. بهطور پیشفرض، در EBGP (نظارت در دو AS مختلف)، IP TTL روی 1 تنظیم شده است، به این معنی که فرض میشود همتاها مستقیماً متصل هستند.
در این حالت، وقتی بسته از یک روتر عبور می کند، TTL 0 می شود و سپس بسته فراتر از آن حذف می شود.در مواردی که دو همسایه مستقیماً به هم متصل نیستند، به عنوان مثال، همتا کردن با رابط های حلقه بک یا همتا کردن زمانی که دستگاه ها چندین پرش دور هستند، باید دستور «همسایه x.x.x.x ebgp-multihop» را اضافه کنیم.
در غیر این صورت، همسایگی BGP ایجاد نخواهد شد. علاوه بر این، EBGP peer تمام بهترین مسیرهایی را که می شناسد یا از همتایان خود یاد گرفته است (چه EBGP peer یا IBGP peer) تبلیغ می کند، که در مورد IBGP چنین نیست.
IBGP چیست؟
در IBGP، هیچ محدودیتی وجود ندارد که همسایگان باید مستقیماً متصل شوند. با این حال، یک همتای IBGP پیشوندی را که از یک همتای IBGP آموخته به همتای IBGP دیگری تبلیغ نمی کند. این محدودیت برای جلوگیری از حلقه ها در همان AS وجود دارد. برای روشن شدن این موضوع، هنگامی که یک مسیر به یک همتا EBGP منتقل می شود، شماره AS محلی به پیشوند در مسیر as-path اضافه می شود، بنابراین اگر همان بسته را دریافت کنیم که AS ما را در مسیر as-path بیان می کند، می دانیم که یک حلقه، و آن بسته حذف می شود. با این حال، هنگامی که مسیری برای یک همتای IBGP تبلیغ میشود، شماره AS محلی به مسیر as اضافه نمیشود، زیرا همتاها در همان AS هستند.
برای جلوگیری از حلقه ها در یک AS، دو روش استفاده می شود.
1. توپولوژی Full Meshed: در این حالت، تمام روترهای یک AS باید به یکدیگر متصل شوند. برای مثال، اگر N روتر داریم، باید N (N-1)/2 جلسه IBGP داشته باشیم. ما می توانیم با معرفی Route Reflectors از این امر جلوگیری کنیم.
2. استفاده از Route-Reflectors: این یک روش جایگزین برای غلبه بر سناریوی مش کامل است. در این مورد، جلسات 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 peer تبلیغ میشود، تغییر میکند.
این رفتار پیش فرض IBGP را می توان با دستور "همسایه x.x.x.x next-hop-self" تغییر داد. در حین تبلیغات، به عنوان یک مسیر محلی، پرش بعدی را تغییر میدهد.