Mohammadreza Soleimani 377 روز پیش verl
بازدید 578 بدون دیدگاه

مفاهیم و تفاوت های iBGP و eBGP

مفاهیم و تفاوت های iBGP و eBGP، در مقاله (راه اندازی BGP در سیسکو) نحوه راه اندازی BGP بین دو Service Provider را مورد بررسی قرار دادیم. در سناریو انجام شده، دو همسایه با Autonomous System (AS) های متفاوت در نظر گرفته شد که به عبارتی مفهوم eBGP را به عنوان External شکل می دهد. اما ممکن است یک Service Provider برای برقراری ارتباطات داخلی خود نیز از BGP استفاده نماید. در این حالت روتر های این ارائه دهنده سرویس درون یک AS قرار خواهند داشت، در چنین سناریویی به مفهوم iBGP به عنوان internal اشاره دارد. در این مقاله قصد داریم به تفاوت های iBGP و eBGP بپردازیم. در ابتدا مروری بر BGP خواهیم داشت.

 

مفاهیم و تفاوت های iBGP و eBGP

فهرست مطالب

  1. مروری بر BGP
  2. مکانیزم تشخیص iBGP و eBGP
  3. پیاده سازی
  4. تفاوت iBGP و eBGP
  5. قابلیت Next-hop-self

 

مروری بر BGP

BGP پروتکل اینترنت می باشد پس با این فرض به این نتیجه می رسیم که Service Provider ها هستند که سرویس اینترنت را ارائه می نمایند. در واقع اینترنت متشکل از تعداد زیادی روتر می باشد که مسیرهایی را با یکدیگر مبادله می نمایند. هر Service Provider به تنهایی دارای تعداد زیادی روتر و مسیر می باشد.

 

چنانچه یک Service Provider با یک Service Provider دیگر قصد برقراری ارتباط داشته باشند اگر برای این ارتباط از پروتکل های IGP مانند OSPF و EIGRP استفاده نمایند این امکان وجود نخواهد داشت چرا که OSPF و EIGRP پروتکل هایی هستند که برای تعداد مسیرهای (Route) محدودی طراحی شده اند. بنابراین صد ها یا هزاران روتری در هر Service Provider در حال فعالیت هستند. با این تعداد روتر و مسیر های بسیار زیاد در هر Service Provider پروتکل های IGP مانند OSPF و EIGRP امکان مدیریت این حجم از بار کاری (Workload) را نخواهند داشت. راهکار حل این مشکل بهره گیری از پروتکل EGP به نام BGP می باشد. BGP پروتکلی است که تمامی Service Provider ها در سطح جهان از آن استفاده می نمایند. تمامی Service Provider ها در سطح جهان تمام مسیرهای شان  را با یکدیگر مبادله می نمایند. هر کدام از  Service Provider ها یک Autonomous System (AS) دارند که بلوک های آدرس IP و مسیر های خود را در این AS نگهداری می کنند.

 

این نکته حائز اهمیت است که بدانیم Service Provider در داخل خود ممکن است از پروتکل های OSPF و EIGRP و یا حتی BGP به صورت داخلی که iBGP نام دارد استفاده نمایند. هدف از BGP اشتراک Prefix و Subnet های کوچک و خاص نیست. ممکن است مسیرها با Prefix ها 16/ مبادله شوند.

 

 

مکانیزم تشخیص iBGP و eBGP

هنگامی که همسایگی با یک Service Provider بیرون از یک AS شکل می گیرد (eBGP)، نوع رفتار BGP با حالتی که همسایگی درون یک AS قرار دارد (iBGP) متفاوت خواهد بود. هنگامی که در ابتدا قصد راه اندازی BGP را داریم با وارد نمودن دستور فرضی Router bgp 100 روتر به این درک خواهد رسید که درون AS با شماره 100 قرار دارد. در مرحله بعدی که قصد داریم همسایگی را برقرار نماییم از دستور neighbor استفاده خواهیم نمود. در این مرحله چنانچه Remote-AS وارد شده متفاوت با 100 باشد (به عنوان مثال 200( در این شرایط روتر با تشخیص اینکه این AS متفاوت از AS که درون آن قرار دارد این همسایگی را به عنوان eBGP خواهد شناخت. اما چنانچه در مرحله وارد نمودن Neighbor از Remote-AS که درون آن قرار داریم استفاده شود در این شرایط همسایگی به صورت iBGP برقرار خواهد شد.

 

 

پیاده سازی

جهت پیاده سازی iBGP و eBGP توپولوژی زیر مفروض می باشد. در این سناریو قصد بر این است که روتر R2 و R4 به صورت eBGP و همچنین روتر R2 و R3 به صورت iBGP پیکربندی گردند.

توپولوژی

پیکربندی R1


R1(config)#router bgp 100
R1(config-router)#neighbor 172.16.2.2 remote-as 100

 

همانطور که مشاهده می نمایید هنگامی که در BPG با AS 100 همسایه ای با AS 100 را مشخص می نماییم نشان از همسایگی iBGP خواهد داشت.

 

پیکربندی R2

پیکربندی R2 شامل دو مرحله می باشد، مرحله اول ارتباط iBGP بین روتر R2 و R1 و مرحله دوم ارتباط eBGP بین روتر R2 و R4.


R1(config)#router bgp 100
R2(config-router)#neighbor 100.100.24.4 remote-as 200
R2(config-router)#neighbor 172.16.12.1 remote-as 100

 

پیکربندی R4


R4(config)#router bgp 200
R4(config-router)#neighbor 100.100.24.2 remote-as 100
Apr 10 12:05:48.503: BGP-5-ADJCHANGE: neighbor 100.100.24.2 Up

 

اکنون اگر روی روتر R1 دستور زیر را اجرا نماییم اطلاعات جامعی از BGP در اختیار قرار خواهد گرفت از جمله اینکه وضعیت ارتباط internal link می باشد.

 

تفاوت iBGP و eBGP

یکی از اصلی ترین تفاوت های iBGP و eBGP در انتشار و Advertise نمودن مسیر ها می باشد. برای درک بهتر موضوع این موضوع را به صورت عملی مشاهده خواهیم نمود. فرض کنیم روتر R4 یک اینترفیس Loopback با آدرس 4.4.4.4/32 دارد. اگر قصد داشته باشیم که روتر R1 نیز به واسطه BGP به این مسیر دست پیدا نماید می بایست آن را درون BGP به واسطه دستور Network منتشر (Advertise) کنیم. برای این کار در روتر R4 دستور زیر را اعمال می نماییم.


R4(config-router)#network 4.4.4.4 mask 255.255.255.255

باید دقت داشته باشیم برای Advertise نمودن هر شبکه ای باید Mask را مطابق با آدرسی دهی وارد نماییم. به عنوان مثال چنانچه Mask وارد شده در اینترفیس /24 باشد اما به صورت /16 Advertise شود این فرایند انجام نخواهد گرفت. اکنون اگر در روتر R2 مشاهده نماییم مسیر Advertise شده توسط R4 قابل مشاهده و دسترسی می باشد.

مسیر در R2

 

اما چنانچه جدول مسیریابی (Routing table) مربوط به روتر R1 را مشاهده نماییم هیچ مسیری به سمت 4.4.4.4  نخواهیم یافت. حال اگر جدول BGP مربوط به R1 را مشاهده نماییم متوجه می شویم که مسیر در جدول وجود دارد اما Next Hop کماکان روتر R4 (100.100.24.4) می باشد و روتر R1 هیچ مسیری برای R4 در جدول مسیریابی خود ندارد و به همین دلیل است که مسیر مورد نظر به صورت Best مشخص نشده و در جدول مسیریابی R1 نیز قرار نگرفته است.

مسیر R1

 

 

تفاوت در این است که وقتی که یک مسیر چنانچه از eBGP منتشر شود روتری که این مسیر را Advertise می کند Next Hop را روی خودش تنظیم می نماید. درست مانند سناریو مورد نظر ما که روتر R4 مسیر را Advertise نموده و Next Hop نیز روی آدرس خودش تنظیم شده است حتی زمانی که به این مسیر به R1 می رسد R2 هیچ تغییری روی next Hop انجام نخواهد داد. پس هنگامی که یک مسیر درون eBGP منتشر می گردد Next hop روی روتر منتشر کننده تنظیم می گردد اما در iBGP بر خلاف eBGP تغییری روی Next Hop انجام نمی شود. در چنین سناریو هایی تنها راه کاری که روتر R1 مسیر مورد نظر را درون جدول مسیریابی خود قرار دهد استفاده از قابلیت Next-hop-Self می باشد.

 

قابلیت Next-hop-self

همانطور که گفته شد هنگامی که مسیری درون eBGP منتشر می گردد Next hop روی روتر منتشر کننده مسیر تنظیم می گردد و این باعث خواهد شد که روتر هایی که این مسیر را دریافت می نمایند برای دسترسی به آن با مشکلی مواجه نخواهند شد. اما در iBGP بر خلاف eBGP تغییری روی Next Hop انجام نمی شود. برای مثال اگر در توپولوژی مورد نظر R4 مسیری را منتشر نماید چنانچه R2 این مسیر را درون iBGP به سمت R1 ارسال کند همانطور که در بالا تر اشاره شد Next hop را از روی R4 (100.100.24.4) تغییر نداده و به دلیل اینکه R1 هیچ مسیری به این آدرس ندارد در نهایت این مسیر را در جدول مسیریابی قرار نخواهد داد. برای حل این مشکل در روتر R2 می بایست Next hop همسایگی R1 را به حالت زیر تنظیم نماییم.


R2(config)#router bgp 100
R2(config-router)#neighbor 172.16.12.1 next-hop-self

 

با اعمال دستور فوق بر روی روتر R2 (Next Hop) کلیه مسیر های ارسالی به سمت R1 خود روتر R2 خواهد بود. با انجام این کار مشاهده خواهیم نمود که Next Hop مسیر منتشر شده به آدرس IP روتر R2 تغییر نموده و همچنین آدرس مورد نظر در جدول مسیریابی نیز قرار گرفته.

مشاهده Next hop جدید

 

نظرات کاربران

دیدگاهتان را بنویسید

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

Select the fields to be shown. Others will be hidden. Drag and drop to rearrange the order.
  • Image
  • SKU
  • Rating
  • Price
  • Stock
  • Availability
  • Add to cart
  • Description
  • Content
  • Weight
  • Dimensions
  • Additional information
Click outside to hide the comparison bar
Compare