iBGP چیست و چرا در شبکه اپراتورها، مراکز داده و سازمان های بزرگ استفاده میشود؟ iBGP مخفف Internal Border Gateway Protocol است و به شیوهای از اجرای پروتکل BGP گفته میشود که میان روترهای داخل یک سیستم خودمختار یا AS واحد برقرار میشود.
iBGP یک پروتکل مستقل و جدا از BGP نیست. در واقع، وقتی دو روتر با شماره سیستم خودمختار یکسان یک نشست BGP تشکیل دهند، ارتباط آنها iBGP محسوب میشود. هدف اصلی این ارتباط، توزیع مسیرهای BGP در داخل همان AS است.
برای مثال، یک اپراتور اینترنت ممکن است در چند شهر یا مرکز داده، روترهای مرزی مختلفی داشته باشد. این روترها مسیرهایی را از اپراتورها و شبکههای دیگر دریافت میکنند. iBGP کمک میکند اطلاعات این مسیرها در داخل شبکه اپراتور توزیع شود تا سایر روترها نیز بدانند برای رسیدن به هر مقصد باید ترافیک را به کدام روتر مرزی تحویل دهند.
iBGP چیست؟
iBGP حالت داخلی پروتکل BGP است که بین روترهای متعلق به یک سیستم خودمختار واحد استفاده میشود. در این ارتباط، هر دو روتر معمولا از ASN یکسانی استفاده میکنند.
وظیفه iBGP این نیست که جای پروتکل های مسیریابی داخلی مانند OSPF یا IS-IS را بگیرد. وظیفه اصلی آن، انتقال اطلاعات مسیرهای BGP میان روترهای مختلف یک AS است.
به زبان ساده، اگر eBGP اطلاعات مسیر را از شبکه های خارجی وارد یک سازمان یا اپراتور کند، iBGP این اطلاعات را بین روترهای داخلی همان مجموعه توزیع میکند.
iBGP چه ارتباطی با BGP دارد؟
BGP نام کلی پروتکل مسیریابی است و دو شیوه اصلی برای تشکیل نشست دارد:
- iBGP برای ارتباط میان روترهای داخل یک AS
- eBGP برای ارتباط میان روترهای متعلق به ASهای متفاوت
بنابراین مقایسه «iBGP با BGP» از نظر مفهومی دقیق نیست؛ زیرا iBGP یکی از حالتهای اجرای خود BGP است. مقایسه درست، بررسی تفاوت iBGP و eBGP است.
iBGP چگونه کار میکند؟
روترهای iBGP از طریق TCP و پورت 179 با یکدیگر نشست برقرار میکنند. برای تشکیل این نشست، باید میان آدرس های IP دو روتر دسترسی شبکه وجود داشته باشد.
پس از برقراری ارتباط، روترها اطلاعات مسیرهای BGP را در قالب پیام های پروتکل با یکدیگر مبادله میکنند. این اطلاعات میتواند شامل Prefix مقصد، Next Hop ،AS-PATH ،Local Preference و سایر ویژگیهای مسیر باشد.
پیامهای اصلی BGP عبارتاند از:
- OPEN: برای شروع و مذاکره نشست BGP
- UPDATE: برای اعلام مسیر جدید یا حذف مسیر قبلی
- KEEPALIVE: برای حفظ فعال بودن نشست
- NOTIFICATION: برای اعلام خطا و خاتمه نشست
این موارد گزینههایی نیستند که مدیر شبکه بهصورت دستی انتخاب کند؛ بلکه پیامهایی هستند که روترها بر اساس وضعیت نشست میان خود مبادله میکنند.
تفاوت iBGP و eBGP چیست؟
مهم ترین تفاوت iBGP و eBGP در شماره سیستم خودمختار دو همسایه است.
| معیار | iBGP | eBGP |
|---|---|---|
| محل استفاده | داخل یک AS | میان دو AS متفاوت |
| ASN همسایهها | یکسان | متفاوت |
| کاربرد اصلی | توزیع مسیر در داخل AS | تبادل مسیر میان شبکههای مستقل |
| تغییر AS-PATH | معمولا ASN جدیدی اضافه نمیشود | ASN فرستنده به مسیر اضافه میشود |
| نیاز به طراحی Full Mesh | در معماری سنتی بله | معمولا خیر |
| کاربرد رایج | اپراتورها و شبکههای بزرگ | اتصال سازمان به ISP یا اپراتور دیگر |
iBGP و eBGP جایگزین یکدیگر نیستند. یک شبکه حرفهای معمولا از هر دو بهصورت همزمان استفاده میکند. روترهای مرزی مسیرها را از طریق eBGP دریافت میکنند و سپس آنها را با iBGP داخل شبکه توزیع میکنند.
چرا مسیر دریافت شده از iBGP دوباره منتشر نمیشود؟
یکی از مهم ترین قوانین iBGP این است که یک روتر، مسیری را که از یک همسایه iBGP دریافت کرده است، در حالت عادی به همسایه iBGP دیگری اعلام نمیکند.
این قانون برای جلوگیری از ایجاد حلقه های مسیریابی داخل AS در نظر گرفته شده است. برخلاف eBGP، در iBGP هنگام انتشار مسیر، شماره AS جدیدی به AS-PATH اضافه نمیشود؛ بنابراین نمیتوان فقط با بررسی AS-PATH حلقه داخلی را تشخیص داد.
این قانون یک چالش ایجاد میکند: اگر روتر A مسیر را به روتر B بدهد، روتر B نمیتواند همان مسیر را مستقیما به روتر C منتقل کند. برای حل این مشکل، در معماری سنتی باید همه روترهای iBGP مستقیما با یکدیگر همسایه باشند.
Full Mesh در iBGP چیست؟
Full Mesh یعنی هر روتر iBGP با تمام روترهای iBGP دیگر یک نشست مستقیم داشته باشد. برای مثال، اگر چهار روتر iBGP داشته باشیم، هر روتر باید با سه روتر دیگر همسایگی تشکیل دهد. با افزایش تعداد روترها، تعداد نشستها بهسرعت بیشتر میشود.
تعداد نشستهای موردنیاز از رابطه زیر به دست میآید:
تعداد نشستها = n × (n − 1) ÷ 2
در شبکهای با 10 روتر، 45 نشست و در شبکهای با 100 روتر، 4950 نشست موردنیاز خواهد بود. به همین دلیل Full Mesh برای شبکه های بزرگ از نظر پیکربندی، نگهداری و عیب یابی مقیاسپذیر نیست.
Route Reflector چیست؟
Route Reflector راهکاری برای کاهش تعداد نشست های iBGP است. در این معماری، برخی روترها بهعنوان Route Reflector انتخاب میشوند و سایر روترها بهعنوان Client به آنها متصل میشوند.
Route Reflector میتواند مسیر دریافتشده از یک Client را به Client های دیگر ارسال کند. به این ترتیب، دیگر لازم نیست تمام روترها با یکدیگر نشست مستقیم داشته باشند.
مهم ترین مزایای Route Reflector عبارتاند از:
- کاهش تعداد نشستهای iBGP
- سادهتر شدن پیکربندی
- افزایش مقیاس پذیری شبکه
- مدیریت متمرکزتر انتشار مسیرها
- کاهش بار مدیریتی روترها
با این حال، طراحی Route Reflector باید با دقت انجام شود. انتخاب محل نامناسب Route Reflector یا طراحی ضعیف توپولوژی میتواند باعث انتخاب مسیر غیربهینه یا ایجاد نقطه شکست شود. معمولا برای افزایش پایداری، بیش از یک Route Reflector در نظر گرفته میشود.
نقش IGP در شبکه iBGP چیست؟
iBGP جایگزین پروتکل های داخلی مانند OSPF یا IS-IS نیست. این پروتکلها معمولا در کنار یکدیگر کار میکنند. IGP وظیفه دارد دسترسی داخلی میان روترها و آدرسهای زیرساختی را فراهم کند. iBGP نیز اطلاعات مسیرهای BGP را روی همین زیرساخت توزیع میکند.
برای مثال، اگر یک مسیر BGP دارای Next Hop مشخصی باشد، روتر باید از طریق OSPF ،IS-IS یا یک مسیر داخلی دیگر بتواند به آن Next Hop دسترسی پیدا کند. اگر Next Hop قابل دسترس نباشد، مسیر BGP نیز قابل استفاده نخواهد بود.
Next Hop Self در iBGP چیست؟
وقتی یک روتر مرزی مسیری را از طریق eBGP دریافت و آن را به همسایه iBGP خود اعلام میکند، ممکن است مقدار Next Hop اصلی را بدون تغییر نگه دارد.
اگر روترهای داخلی به این Next Hop خارجی دسترسی نداشته باشند، مسیر قابل استفاده نخواهد بود. یکی از راهکارهای رایج، استفاده از تنظیم Next Hop Self است.
با این تنظیم، روتر مرزی آدرس خودش را بهعنوان Next Hop مسیر معرفی میکند. در نتیجه روترهای داخلی فقط باید از طریق IGP به روتر مرزی دسترسی داشته باشند.
استفاده از Next Hop Self باید بر اساس طراحی شبکه انجام شود؛ زیرا تغییر Next Hop میتواند روی مسیر عبور ترافیک و معماری شبکه تاثیر بگذارد.
iBGP در چه شبکه هایی استفاده میشود؟
iBGP بیشتر در شبکههایی استفاده میشود که چند روتر مرزی، چند مسیر اینترنت یا ساختار مسیریابی گسترده دارند.
اپراتورها و شرکت های ارائه دهنده اینترنت
اپراتورها مسیرهای اینترنتی را از چند شبکه و اپراتور دیگر دریافت میکنند. iBGP این مسیرها را میان روترهای داخل شبکه توزیع میکند.
مراکز داده
یک مرکز داده ممکن است چند اتصال اینترنت، چند روتر مرزی و تعداد زیادی شبکه مشتری داشته باشد. iBGP برای توزیع مسیرها و حفظ کنترل متمرکز روی مسیریابی استفاده میشود.
سازمان های دارای چند سایت یا مرکز داده
سازمانهای بزرگ ممکن است زیرساخت خود را در چند ساختمان یا مرکز داده توزیع کرده باشند. اگر این مجموعه ASN و معماری BGP مستقل داشته باشد، iBGP میتواند مسیرهای BGP را میان نقاط مختلف توزیع کند.
شبکه های MPLS و سرویس های سازمانی
در بعضی معماریهای MPLS و VPN، از BGP برای توزیع اطلاعات مسیر سرویسها استفاده میشود. این سناریوها به طراحی تخصصیتر و تجهیزات سازگار نیاز دارند.
مزایای iBGP
- توزیع مسیرهای BGP در یک AS
- حفظ سیاستهای مسیریابی در شبکه داخلی
- پشتیبانی از چند روتر مرزی
- امکان استفاده از چند اپراتور
- مقیاسپذیری با Route Reflector
- جداسازی مسیریابی اینترنت از مسیریابی زیرساخت داخلی
- کنترل بهتر مسیر خروجی ترافیک
iBGP بهتنهایی سرعت یا پهنای باند اینترنت را افزایش نمیدهد. کاربرد آن مدیریت و توزیع اطلاعات مسیریابی است.
محدودیت ها و چالش های iBGP
پیاده سازی iBGP بدون طراحی درست میتواند مشکلاتی ایجاد کند:
- افزایش شدید تعداد نشستها در Full Mesh
- وابستگی به دسترسی صحیح Next Hop
- پیچیدگی عیبیابی
- انتخاب مسیر غیربهینه در طراحی ضعیف Route Reflector
- احتمال ایجاد نقطه شکست در Route Reflector واحد
- نیاز به هماهنگی میان BGP و IGP
- نیاز به مستندسازی دقیق سیاستهای مسیریابی
به همین دلیل راهاندازی iBGP باید بر اساس توپولوژی، تعداد روترها، ظرفیت تجهیزات و نیاز واقعی شبکه انجام شود.
اشتباهات رایج در راه اندازی iBGP
- تصور اینکه iBGP جایگزین OSPF یا IS-IS است.
- نادیده گرفتن دسترسی به Next Hop.
- استفاده از Full Mesh در شبکه بزرگ بدون بررسی مقیاس پذیری.
- راه اندازی یک Route Reflector بدون مسیر یا تجهیز پشتیبان.
- تعریف سیاستهای متفاوت و ناسازگار روی روترها.
- انتشار بیهدف تمام مسیرها در شبکه داخلی.
- نداشتن مانیتورینگ برای نشستها و تغییرات مسیر.
- تست نکردن سناریوی قطع روتر مرزی یا Route Reflector.
iBGP معمولا مسیرهای دریافتی از اپراتورها یا روترهای مرزی را در داخل شبکه توزیع میکند. از آنجا که مسیر دریافتشده از یک همسایه iBGP در حالت عادی به همسایه iBGP دیگر اعلام نمیشود، شبکه های کوچک از Full Mesh و شبکههای بزرگتر از Route Reflector یا طراحی های مقیاس پذیر دیگر استفاده میکنند.
عملکرد صحیح iBGP به دسترسی داخلی مناسب، طراحی IGP، تنظیم Next Hop، سیاست های مسیریابی و مانیتورینگ وابسته است. این پروتکل برای هر شبکهای ضروری نیست، اما در اپراتورها، مراکز داده و سازمانهای دارای چند روتر مرزی، یکی از اجزای مهم معماری مسیریابی محسوب میشود.
اگر شبکه سازمان شما چند روتر مرزی، چند مسیر اینترنت یا سرویس های حساس دارد، تنظیم BGP و iBGP نباید فقط به برقراری نشست محدود شود. طراحی Route Reflector، دسترسی Next Hop، افزونگی تجهیزات و سناریوی Failover باید پیش از اجرا بررسی شوند.
کارشناسان تک نت میتوانند بر اساس توپولوژی شبکه، پهنای باند موردنیاز و میزان حساسیت سرویسهای سازمانی، راهکار مناسب اینترنت سازمانی و ارتباط پایدار را پیشنهاد دهند. برای ارزیابی زیرساخت ارتباطی سازمان و دریافت مشاوره تخصصی همین حالا با ما تماس بگیرید!
سوالات متداول درباره iBGP
آیا iBGP یک پروتکل جدا از BGP است؟
خیر. iBGP همان BGP است که میان روترهای دارای ASN یکسان اجرا میشود.
تفاوت اصلی iBGP و eBGP چیست؟
iBGP داخل یک AS و eBGP میان ASهای متفاوت استفاده میشود. این دو نقش مکمل دارند و جایگزین یکدیگر نیستند.
آیا iBGP به Full Mesh نیاز دارد؟
در معماری سنتی بله؛ اما با Route Reflector یا Confederation میتوان نیاز به Full Mesh کامل را کاهش داد.
آیا iBGP سرعت اینترنت را افزایش میدهد؟
خیر. iBGP اطلاعات مسیریابی را توزیع میکند و باعث افزایش مستقیم ظرفیت یا سرعت لینک نمیشود.
Route Reflector چه کاری انجام میدهد؟
Route Reflector مسیرهای iBGP را میان Client ها منتشر میکند و تعداد نشستهای مستقیم موردنیاز را کاهش میدهد.
آیا iBGP جایگزین OSPF است؟
خیر. OSPF یا سایر IGPها دسترسی داخلی شبکه را فراهم میکنند و iBGP مسیرهای BGP را روی آن زیرساخت توزیع میکند.

یک پاسخ
تشکر از معلوماتان بسیار علی بود