پیکربندی BGP

 

پیکربندی BGP

اطلاعاتی درباره BGP

 

پروتکل BGP که مخفف Border Gateway Protocol می باشد از دسته پروتکل های مسیریابی EGP می باشد که از پروتکل TCP با شماره پورت 179 استفاده می کند و دو مسیریاب برای برقراری ارتباط در BGP ابتدا یک نشست TCP برقرار می کنند.

BGP معمولا مورد علاقه فراهم کننده های سرویس می باشد و به عبارت ساده تر غالبا برای ارتباط بین آن ها مورد استفاده قرار می گیرد.

پروتکل BGP مانند سایر پروتکل های مسیریابی از روش همسایگی استفاده می کند ، همسایگی در پروتکل BGP فقط باید به صورت دستی انجام شود و امکان برقراری هسمایگی به صورت پویا وجود ندارد.

بر خلاف پروتکل های مسیریابی IGP که امکان تشکیل همسایگی فقط با مسیریاب های مجاور وجود دارد ، در پروتکل مسیریابی BGP امکان تشکیل رابطه همسایگی با مسیریابی چند گام آن طرف تر نیز وجود دارد.

در BGP بر خلاف سایر پروتکل های مسیریابی ، اطلاعات لایه شبکه قابلیت دسترسی (NLRI) جا به جا می شود و در واقع به جای مسیرها NLRI ها آموزش داده می شوند.

از تفاوت های BGP با سایر پروتکل های مسیریابی می توان به این مورد اشاره کرد که تمرکز اصلی سایر پروتکل های مسیریابی روی مسیریابی و انتخاب بهترین مسیر برای هدایت ترافیک بود ولی سیاست طراحی BGP اعمال سیاست می باشد یعنی در BGP پارامترهای مدیریتی بیشتری داریم که می توان از آن ها در scale بالا (حتی در حد چند صد هزار مسیر) استفاده کرد که برای سایر پروتکل های مسیریابی امکان پذیر نیست.

AS ها در BGP

همان طور که می دانیم AS مخفف عبارت Autonomous System و به معنی سیستم خود مختار می باشد . AS در واقع شبکه‌ یا گروهی از شبکه ‌ها است که زیر نظر یک مدیریت مشترک ، دارای سیاست های مسیریابی مشترک است.

شماره AS های مختلف کاربردهای مختلفی دارند که به صورت مختصر به آن اشاره می کنیم:

AS=0 : رزرو

AS=1-64495 : شماره AS های عمومی که برای اختصاص به فراهم کننده های سرویس در نظر گرفته می شود.

AS=64496-64511 : برای مستندات تحقیقاتی رزرو شده است.

AS=64512-65534 : برای استفاده در شبکه های خصوصی در نظر گرفته شده است.

AS=65535 : رزرو

انواع همسایگی در BGP

دو نوع همسایگی داریم:

1- همسایگی درون AS ای (iBGP) 2- همسایگی برون AS ای (eBGP)

اگر یک مسیریاب با مسیریابی در AS خودش تشکیل رابطه همسایگی دهد به آن همسایگی iBGP و اگر یک مسیریاب با مسیریابی در AS دیگر تشکیل همسایگی دهد به آن همسایگی eBGP گفته می شود.

پیش شرط همسایگی BGP

پیش شرط همسایگی دو مسیریاب در BGP در واقع قابلیت دسترسی مسیریاب ها به یکدیگر از طریق آدرس مورد نظر می باشد.

update-source

اگر طراحی شبکه مان به صورتی بود که افزونگی1 داشتیم بهتر است از آدرس اینترفیس Loopback برای تشکیل همسایگی استفاده کنیم ، اما به صورت پیش فرض مسیریاب ها برای برقرای همسایگی آدرس اینترفیس خروجی خود را به عنوان آدرس فرستنده قرار می دهند پس باید به نحوی مشخص کنیم که آدرس اینترفیس مورد نظر (Loopback) را برای برقراری همسایگی در نظر بگیرد که این امر توسط ویژگی تحت عنوان update-source صورت می گیرد.پس واضح است اگر به هر دلیلی از آدرس اینترفیس مستقیم برای برقراری همسایگی استفاده کنیم نیازی به استفاده از این ویژگی نیست.

ebgp-multihop

در همسایگی های برون AS ای (eBGP) فقط با یک گام صورت می گیرد نه بیشتر پس در شرایطی که با آدرس IP مورد نظر بیش تر از یک گام فاصله داریم باید از ویژگی ebgp-multihop استفاده کنیم.طبیعتا اگر می خواهیم همسایگی را از طریق اینترفیس های مستقیم برقرار کنیم نیازی به استفاده از این ویژگی نیست.

next-hop-self

در همسایگی های eBGP به صورت خودکار آدرس گام بعدی عوض می شود ولی در همسایگی های iBGP تغییری نمی کند و از آن جایی که می دانیم پیش شرط این که یک مسیر به عنوان بهترین مسیر در BGP انتخاب شود قابلیت دسترسی به آدرس گام بعدی می باشد و اگر مسیر مورد نظر طوری به مسیریاب رسیده باشد که به آدرس گام بعدی آن قابلیت دسترسی ندارد (مثلا یک مسیر از طریق یک همسایه eBGP به یک مسیریاب رسیده و حال مسیریاب مذکور می خواهد مسیر مورد نظر را  به مسیریاب اول تبلیغ کند) یکی از روش ها استفاده از ویژگی next-hop-self در مسیریاب همسایه می باشد که نحوه عملکرد آن به این صورت است که خودش را به عنوان گام بعدی معرفی می کند.

 

مسیریابی در شبکه

روش های تبلیغ کردن مسیر در BGP

1- توسط دستور network در محیط پیکربندی پروتکل BGP

2- redistribution مسیرهای مورد نظر در BGP

استفاده از دستور network به redistribution در انتخاب بهترین مسیر ارجحیت دارد.

Attribute های BGP

همان طور که گفتیم پروتکل BGP عمدتا یک پروتکل مدیریتی است و انتخاب بهترین مسیر در آن مثل سایر پروتکل های مسیریابی نیست (معیار انتخاب بهترین مسیر در پروتکل های IGP در واقع متریک بود) ولی در BGP از یک سری Attribute برای انتخاب بهترین مسیر استفاده می شوند که این Attribute ها به ترتیب بررسی می شوند و در صورتی کهه امکان انتخاب بهترین مسیر از روی آن باشد ، انتخاب صورت می گیرد و سراغ چک کردن سایر موارد نمی رود ولی اگر امکان انتخاب نباشد (شرایط دو مسیر یکسان و برابر باشد) سراغ مورد بعدی می رود و این روند تا جایی ادامه می یابد که در نهایت یک مسیر به عنوان بهترین مسیر انتخاب شود ، در واقع این Attribute ها هستند که همان امکانات مدیریتی را برای ما فراهم می کنند.

بهتر است بدانیم پیش شرط انتخاب یک مسیر به عنوان بهترین مسیر قابلیت دسترسی به آدرس گام بعدی آن می باشد.

تعدادی از Attribute ها به صورت خلاصه و به ترتیب عبارت اند از:

weight ، Local Preference ، Locally Injected Routes ، AS Path Length ، Origin ، MED(metric) و …

(می دانیم پیش شرط انتخاب به عنوان بهترین مسیر قابلیت دسترسی به آدرس گام بعدی می باشد.)

پیش نیازهای BGP

از پیش نیازهای پیکربندی می توان به موارد زیر اشاره کرد:

– مسیریاب ها باید امکان پشتیبانی از پروتکل BGP را داشته باشند.

– قابلیت دسترسی به آدرس IP ای که یک مسیریاب می خواهد از طریق آن با مسیریاب دیگر همسایه شود ، برقرار شده باشد.

نکات پیکربندی BGP

برای پیکربندی باید به نکات زیر توجه شود:

  • در صورتی که افزونگی1 برای بیش تر از یک مسیر وجود دارد ، بهتر است مسیریاب ها از طریق اینترفیس Loopback همسایه شوند.
  • یک مسیریاب فقط می تواند عضو یک AS باشد و امکان پیکربندی یک مسیریاب برای بیش از یک AS وجود ندارد.
  • آدرس گام بعدی در همسایگی های eBGP به صورت خودکار تغییر می کند ولی در همسایگی های iBGP تغییری نمی کند.
  • دقت در وارد کردن آدرس مورد نظر برای برقراری همسایگی و همچنین شماره AS مورد نظر بسیار مهم می باشد.
  • برای تبلیغ صحیح یک مسیر هنگام وارد کردن دستور network در محیط پیکربندی پروتکل BGP باید mask آن کاملا به درستی وارد شود ، در غیر این صورت توسط BGP آموزش داده نمی شود.

تنظیمات پیش فرض

در جدول زیر تنظیمات پیش فرض مربوط به BGP را مشاهده می کنید:

پیش فرض ویژگی
پیکربندی نشده است. BGP

به منظور پیکربندی BGP باید مراحل زیر انجام شود:

خلاصه مراحل

  1. configure terminal
  2. router bgp AS-number
  3. neighbor A.B.C.D remote-as AS-number
  4. neighbor A.B.C.D update-source E.F.G.H
  5. neighbor A.B.C.D ebgp-multihop max-hop-count
  6. neighbor A.B.C.D next-hop-self
  7. network A.B.C.D mask MA.MB.MC.MD

جزئیات مراحل

کاربرد دستور  
به کمک این دستور وارد محیط پیکربندی سراسری مسیریاب می شویم. configure terminal : مثال zharf#configure terminal zharf(config)# مرحله 1
به کمک این دستور وارد محیط پیکربندی پروتکل BGP در AS مورد نظر می شویم. router bgp AS-number : مثال zharf(config)#router bgp 100   مرحله 2
به کمک این دستور درخواست همسایگی با آدرس مورد نظر در AS مربوطه صادر می شود. neighbor A.B.C.D remote-as AS-number : مثال zharf(config-router)#neighbor 2.2.2.2 remote-as 200   مرحله 3
به کمک این دستور آدرس تعیین شده (EF.G.H) را به عنوان آدرس مبدا برای تشکیل همسایگی با آدرس مورد نظر (A.B.C.D) مشخص می کنیم.(به صورت پیش فرض آدرس اینترفیس خروجی را در نظر میگیرد.) neighbor A.B.C.D update-source E.F.G.H : مثال zharf(config-router)#neighbor 2.2.2.2 update-source 1.1.1.1 مرحله 4
به کمک این دستور حداکثر گام مجاز برای همسایگی های eBGP را مشخص می کنیم.(به صورت پیش فرض برابر 1 است.) neighbor A.B.C.D ebgp-multihop max-hop-count : مثال zharf(config-router)#neighbor 2.2.2.2 ebgp-multihop 2 مرحله 5
به کمک این دستور مسیریاب خودش را به عنوان گام بعدی مسیرهای تبلیغ شده معرفی می کند.(به صورت پیش فرض تبلیغ کننده اصلی مسیر مربوطه در نظر گرفته می شود.) neighbor A.B.C.D next-hop-self مرحله 6
به کمک این دستور امکان تبلیغ شبکه مورد نظر را فراهم می کنیم. network A.B.C.D mask MA.MB.MC.MD : مثال zharf(config-router)#network 11.11.11.0 mask 255.255.255.0 مرحله 7

در زیر مثالی از پیکربندی یک همسایگی iBGP را در مسیریاب ژرف می بینیم:

zharf#configure terminal

zharf(config)#router bgp 100

zharf(config-router)#neighbor 192.168.1.2 remote-as 100

دستورهای پاک کردنی مربوط به BGP

برای صفر کردن شمارنده های مربوط به BGP از جدول زیر کمک می گیریم :

کاربرد دستور
به کمک این دستور شمارنده های مربوط به BGP را صفر می کنیم. با وارد کردن * همه همسایگی های موجود در نظر گرفته می شود. با وارد کردن عددی در قسمت AS-Number می توان همسایگی های موجود با AS مورد نظر را مد نظر قرار داد. با وارد کردن آدرس همسایه مربوطه در قسمت A.B.C.D نیز طبیعتا فقط همسایگی با آدرس مورد نظر در نظر گرفته می شود. clear ip bgp [ * | AS-Number | A.B.C.D ]

دستورهای نمایشی BGP

جهت بررسی صحت عملکرد BGP با استفاده از دستورهای نمایشی از جدول زیر کمک می گیریم :

کاربرد دستور
به کمک این دستور اطلاعات مربوط به پروتکل BGP قابل مشاهده است. با وارد کردن کلمه summary می توان خطلاصه ای از همسایگی های BGP شکل گرفته را مشاهده کرد. با ارد کردن کلمه neighbors می توان اطلاعات بیشتری راجع به همسایگی های BGP را مشاهده کرد. در صورت عدم استفاده از هیچ کدام از آن ها می توان جدول مربط به BGP را مشاهده کرد. show ip bgp [summary  neighbors]
به کمک این دستور می توان جدول مسیریابی را مشاهده کرد. با وارد کردن کلمه کلیدی bgp فقط مسیرهای مربوط به BGP را مشاهده می کنیم. show ip route [bgp]

مثالی از پیکربندی  BGP

در مثال زیر دستورات مورد نیاز جهت پیکربندی BGP با تغییر update-source و ebgp-multihop و تبلیغ مسیر مرد نظر در مسیریاب ژرف را مشاهده می کنیم:

zharf#configure terminal

zharf(config)#router bgp 65001

zharf(config-router)#neighbor 2.2.2.2 remote-as 65002

zharf(config-router)#neighbor 2.2.2.2 update-source 1.1.1.1

zharf(config-router)#neighbor 2.2.2.2 ebgp-multihop 2

zharf(config-router)#neighbor 2.2.2.2 next-hop-self

zharf(config-router)#network 11.11.11.0 mask 255.255.255.0

مراجع بیشتر

جهت اطلاعات بیشتر درباره BGP به موارد زیر رجوع کنید:

  • مستندات مرتبط ، صفحه 10-3
  • استاندارد ها ، صفحه 10-3

مستندات مرتبط

عنوان مستند موضوع مرتبط
Interfaces interface
Static Route RIP OSPF reachability

استانداردها

عنوان استاندارد
   

تاریخچه BGP

جزئیات نسخه ویژگی
BGP در این نسخه پیاده سازی شد. 3.5.1 BGP

شرکت ژرف پویان توس

دیدگاه‌ خود را بنویسید

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

اسکرول به بالا