تغییر رفتار پیش‌فرض eBGP با RFC8212

پیرو Route Leakage‌های مختلفی که در دنیای اینترنت رخ داده‌است، و همینطور نیاز مبرم Service Providerها، از اواسط سال ۲۰۱۵، در IETF گروه GROW بحثی شروع شد مبنی بر طراحی یک رفتار پیش‌فرض BGP در رابطه با تبادل روت‌ها با همسایگان خارجی (eBGP).
همانطور که می‌دانید در RFCهای مرتبط با BGP، علی‌الخصوص RFC4271، تابحال توضیحی در رابطه با رفتار پیش‌فرض همسایه‌های eBGP در تبادل روت‌ها زمانی که Policy خاصی اعمال نشده، ارائه نشده است، و این امر باعث شده که هر وِندوری رفتار سلیقه‌ای داشته باشد.

فارغ از جزئیات، بعنوان نمونه می‌توان به مدل‌های پیاده‌سازی زیر اشاره کرد:

  • بطور پیش‌فرض دو همسایه eBGP، زمانی که Policy خاصی روی ارتباطات eBGP تنظیم نشده باشد، روت‌های انتخاب‌شده در BGP Table خود را به یکدیگر ارسال می‌کنند و از یکدیگر قبول می‌کنند.
  • هیچ روتی ارسال نمی‌شود و هیچ روتی قبول نمی‌شود (discard) مگر اینکه Policy متناسبی تنظیم شده باشد.
  • برخی پیاده‌سازی‌ها هیچ روتی قبول نمی‌کنند و فقط روت‌های مربوط به AS خود را advertise می‌کنند.

مثلاً در حالت مثال اول، یکی از مخاطرات ممکن زمانی است که یک AS ناخواسته ترانزیت ارتباط بین ASهای دیگر می‌شود (در RFC7908 توضیح خوبی درباره‌ی Lateral ISP-ISP-ISP Leak همراه با دو بررسی دقیق در قسمت منابع، ارائه شده)

در راستای حل این قبیل مشکلات، حدود یک ماه قبل RFC8212 در Standards Track منتشر شد تا تمامی وندورها برمبنای آن رفتار پیش‌برض در همسایگی eBGP را به “عدم ارسال هیچ روتی” تغییر دهند. یعنی اپراتور می‌بایست حتماً Policy های مربوط به Import و Export روت‌ها را تنظیم کرده باشد، درغیراینصورت تمام روت‌های دریافتی discard شده و هیچ روتی advertise نخواهد شد.

در RFC4271، تعریفی بعنوان PIB یا Policy Information Base ارائه شده که دربرگیرنده‌ی سیاست‌هایی است که می‌توان بر RIB یا Routing Information Base اعمال کرد. در RFC8212 این تعریف بسط پیدا کرده و بین دو حالت سیاست ورودی و خروجی تمایز ایجاد می‌کند:

  • Import Policy جهت سیاست‌هایی که بر اطلاعات ورودی از سمت همسایه (Adj-RIBs-In) اعمال می‌شوند.
    Adj-RIBs-In در RFC4271 به این صورت تعریف شده که دارای اطلاعاتی (روت‌ها) است که از سایر همسایه‌های BGP دریافت شده. لذا Import Policy باعث مشخص شدن روت‌هایی می‌شود که در فرایند انتخاب مسیر (Decision Process) استفاده خواهند شد.
  • Export Policy جهت سیاست‌هایی که بر اطلاعات خروجی به سمت همسایه (Adj-RIBs-Out) اعمال می‌شوند.
    Adj-RIBs-Out در RFC4271 بعنوان اطلاعاتی (روت‌ها) تعریف شده که جهت تبلیغ به همسایه انتخاب شده‌اند. لذا Export Policy باعث مشخص شدن روت‌هایی می‌شود که قرار است advertise شوند.

نتیجتاً، انتشار RFC8212 با اضافه کردن دو بند زیر منجر به بروزرسانی در RFC4271 می‌گردد:

  • روت‌هایی که در Adj-RIBs-IN مرتبط با یک همسایه eBGP هستند، نباید در Decision Process استفاده شوند مگر با اعمال Import Policy
  • در Adj-RIBs-Out مرتبط با یک همسایه eBGP نباید روتی اضافه شود مگر با اعمال Export Policy

این RFC هنوز توسط تمام وندورها پیاده‌سازی نشده و در حال حاضر فقط پیاده‌سازی های زیر آماده شده اند:

  • Cisco IOS XR
  • BIRD 2.0.0 (نسخه نهایی هنوز منتشر نشده)

نویسنده: محمّد مقدّس‌

یک عکاس آماتور، علاقمند به شبکه ها و IP، ساکن اینترنت!

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *