قبل از شروع و پرداختن به مفاهیم اصلی OSPF نمونه ای ساده از پروتکل OSPF را با توجه به سناریو و شکل زیر پیاده سازی می کنیم. هدف این است که در ابتدای فصل چگونگی پیاده سازی OSPF را به صورت مقدماتی یاد بگیریم و در ادامه نسبت به ارائه مفاهیم و نکات پیشرفته تر و همچنین پیاده سازی آنها اقدام نماییم.

در این سناریو سه Area در نظر گرفته شده است. به طوری که Area شماره صفر بعنوان Area مرکزی و یا backbone area و Area شماره های 1 و 2 به عنوان Area های نرمال به Area مرکزی متصل هستند. این ساختار یعنی اتصال همه Area ها به Area مرکزی ساختاری است که حتما باید در OSPF رعایت شود. البته IS-IS از این حیث انعطاف پذیری بیشتری دارد که در فصل آینده آن را بررسی خواهیم کرد. این ساختار به نوعی از محدودیت های OSPF نسبت به دیگر پروتکل ها نیز محسوب می شود زیرا در این ساختار ترافیک بین هر دو Area حتما باید از Area مرکزی عبور کند. تصور کنید که در زیرساخت کشور مجبور باشید ترافیک بین استانها را از استان تهران عبور دهید، حتی اگر لینک مستقیمی بین دو استان وجود داشته باشد. اگر چه این محدودیت تا حدی با بکارگیری مفاهیمی چون Virtual-Link قابل برطرف شدن است، اما در IS-IS چنین محدودیتی وجود ندارد.

p ospf1

پیکربندی مقدماتی OSPF

در سناریویی که در حال پیاده سازی آن هستیم، سه Area با نوع لینک های مختلف در نظر گرفته شده اند. ارتباطات در Area مرکزی از نوع Point-to-Point است اما در دو Area دیگر، نوع لینک NBMA و Broadcast در نظر گرفته شده است. در طی این فصل خواهیم دید که رفتار OSPF در انواع لینک ها تفاوت هایی هر چند جزئی خواهند داشت.

برای پیاده سازی OSPF مراحل زیر را اجرا می نمائیم

  • 1- ابتدا با دستور router ospf PROCESS-NO این پروتکل را روی روتر ها فعال می نماییم. عددی که جلوی دستور router ospf می نویسیم شماره پروسه OSPF است، برخلاف پروتکل EIGRP که عدد جلوی دستور router eigrp شماره AS را مشخص می کند. در EIGRP شماره AS باید بین روترهای همسایه یکی باشد اما در پروتکل OSPF یکسان بودن شماره پروسه بین روترهای همسایه ضرورتی ندارد. اگر چه برای مدیریت بهتر و منسجم تر توصیه می شود شماره پروسه را در همه روترهای شبکه یکسان در نظر بگیرید. دلیل استفاده از شماره پروسه در OSPF این است که اگر بخواهیم بیش از یک پروسه OSPF روی روتر اجرا نماییم، بتوانیم پروسه ها را از هم تفکیک کنیم. به عنوان مثال روتر مرزی سازمانی را در نظر بگیرید که دو پروسه OSPF روی آن اجرا شده است. پروسه ای که با روترهای داخلی تبادل اطلاعات می کند و پروسه ای که به صورت مجزا با ISP در ارتباط است. بدیهی است که هر پروسه دیتابیس مستقلی دارد و بنابراین ارتباط بین دو پروسه منوط به توزیع مسیر[1]بین این دو پروسه است. عدم اجرای دو پروسه مختلف در سناریوی فوق منجر به جابجایی توپولوژی سازمان و ISP به یکدیگر می شود.

 p ospf2

شماره پروسه در OSPF

  • بعد از فعال کردن پروتکل OSPF، باید تک تک اینترفیس های مورد نیاز را نیز در OSPF فعال نماییم. فعال کردن اینترفیس در پروتکل OSPF با دستور network در محیط router ospf انجام می شود. دستور network به همراه آدرس IP و WildMask این قابلیت را فراهم می کند تا بتوانیم یک یا چند اینترفیس را جداگانه و یا به صورت همزمان فعال نماییم. همانطور که می دانیم در WildMask مقدار بیت صفر، اهمیت آن بیت و مقدار بیت یک، بی اهمیت بودن آن بیت را نشان می دهد. مثلا اگر بخواهیم در مثال قبل روی روتر R1 همه اینترفیس ها را در پروتکل OSPF فعال نماییم، هر یک از روش های زیر صحیح می باشد.

!!! در روش اول آدرس IP هر اینترفیس را به صورت دقیق با WildMask برابر با 0.0.0.0 وارد می نماییم

router ospf 1

 network 10.1.1.1 0.0.0.0 area 0

 network 10.1.2.1 0.0.0.0 area 0

 network 10.1.3.1 0.0.0.0 area 0

 

!!! در روش دوم با کمک WildMask چند اینترفیس را همزمان در OSPF فعال می کنیم. مثلا مقدار 10.1.0.0 با WildMask 0.0.255.255 نشان می دهد که دو رقم اول آدرس مهم و دو رقم بعدی آن بی اهمیت است (10.1.X.X). به عبارت دیگر همه اینترفیس هایی که آدرس آنها با 10.1. شروع می شود در OSPF فعال می شوند

router ospf 1

 network 10.1.0.0 0.0.255.255 area 0

!!! در روش سوم آدرس را 0.0.0.0 و مقدار WildMask را 255.255.255.255 قرار می دهیم به این معنی که هیج رقمی از آدرس مهم نیست. بدین صورت اینترفیس با هر آدرسی در OSPF فعال خواهد شد. به عبارت دیگر همه اینترفیس های روتر همزمان در OSPF فعال میشوند

router ospf 1

 network 0.0.0.0 255.255.255.255 area 0

چگونگی فعال کردن اینترفیس در OSPF با دستور Network

با توجه به توضیحات پر واضح است که دلیل استفاده از WildMask کم کردن تعداد دستورات network در فعال کردن اینترفیس هاست.

نکته 1: نکته ای که در استفاده از دستور network در OSPF باید به آن توجه نمود اینکه چنانچه بیش از یک دستور network با اینترفیسی مطابقت داشته باشد، دستوری در نظر گرفته می شود که wildmask آن خاص تر است. به عنوان مثال با توجه به دستور زیر اینترفیس با آدرس 10.1.1.1 در کدام Area قرار می گیرد؟ از آنجایی که اینترفیس مورد نظر با هر دو دستور network مطابقت دارد، دستوری انتخاب می شود که خاص تر است و بنابراین در این مثال 10.1.1.0 0.0.0.255 خاص تر از 10.1.0.0 0.0.255.255 است و بنابراین اینترفیس مورد نظر در Area شماره 1 قرار می گیرد.

router ospf 1

 network 10.1.0.0 0.0.255.255 area 0

 network 10.1.1.0 0.0.0.255 area 1

مطابقت بیش از یک دستور network با اینترفیس در OSPF

نکته 2: برای فعال کردن همه اینترفیس های روتر به صورت همزمان، بین دو دستور زیر تفاوتی وجود ندارد و هر دو دستور کار یکسانی انجام می دهند.

 

!!! در OSPF بین دو دستور زیر تفاوتی وجود ندارد و هر دو دستور همه اینترفیس ها را به صورت همزمان در OSPF فعال می کند. دلیل مشخصی نیز برای ان ارائه نشده است

router ospf 1

 network 0.0.0.0 255.255.255.255 area 0

 

router ospf 1

 network 0.0.0.0 0.0.0.0 area 0

انواع روش های فعال کردن همه اینترفیس ها در OSPF

نکته 3: برای فعال کردن اینترفیس در روتر روش دیگری نیز وجود دارد که البته در IOS های قدیمی امکان پذیر نیست. شماره پروسه OSPF و شماره Area را در محیط اینترفیس تعیین می کنیم.

interface Serial1/0

 ip ospf 1 area 0

فعال کردن اینترفیس در OSPF از طریق خود Interface

نکته 4: هر اینترفیس فقط می تواند در یک Area قرار بگیرد. هم با دستور network و هم از طریق فعال نمودن مستقیم اینترفیس در OSPF امکان فعال کردن OSPF روی اینترفیس وجود دارد. هر دو نمونه آن در مثال های فوق آمده است.

حال بهتر است نگاهی به پیکربندی انجام شده روی روترهای این سناریو بیاندازیم تا در قالب آن به نکات جدیدی اشاره نماییم.

  • همانطور که مشاهده می کنید روی همه روتر ها router-id به صورت دستی تنظیم شده است. در OSPF ضروری است تا هر روتر شناسه ای داشته باشد. این شناسه router-id نامیده می شود. در صورتی که router-id به صورت دستی وارد نشود به صورت اتوماتیک بزرگترین آدرس IP از بین اینترفیس های Loopback انتخاب شده و به عنوان router-id در نظر گرفته می شود. دلیل انتخاب ایترفیس Loopback، up بودن دائمی این نوع اینترفیس است. چنانچه روتر هیچ اینترفیس Loopback ای نداشته باشد، ار بین دیگر اینترفیس های up، بزگترین آدرس IP به عنوان router-id انتخاب خواهد شد. بدیهی است که وارد کردن router-id به صورت دستی بالاترین اولویت را دارد و پیشنهاد نیز می شود.

توجه کنید که router-id صرفا یک شناسه 32 بیتی است و فقط فرمت آن شبیه آدرس IP است. برای درک بهتر این موضوع بد نیست بدانید که در شبکه های IPV6 router-id همچنان 32 بیتی است و فرمت آن با آدرس IPV4 یکی است.

  • دستور log-adjacency-changes به صورت پیش فرض در پروتکل OSPF فعال است و هر گونه تغییرات همسایگی را گزارش[1] می دهد
  • دستور passive-interface loopback0 روی روتر R1، از ارسال بسته hello و دیگر بسته های OSPF روی اینترفیس loopback0 اجتناب می کند. این بدان دلیل است که هیچ روتر همسایه ای نمی تواند روی این اینترفیس وجود داشته باشد. پیشنهاد می شود همیشه اینترفیس های انتهایی[2] که هیج روتر همسایه ای روی آن وجود ندارد را passive نماییم. اگر بیشتر اینترفیس های یک روتر انتهایی هستند، بهتر است همه اینترفیس ها را به صورت پیش فرض passive کرده و سپس اینترفیس های مورد نیاز را از حالت passive خارج نماییم. در روتر R6 نمونه ای از آن نشان داده شده است
  • روی روتر R1 از دستور ip ospf network point-to-point استفاده شده است. ذکر دو نکته در مورد این دستور ضروری است. اول اینکه در OSPF به صورت پیش فرض همه اینترفیس های Loopback با mask برابر با /32 ارسال می گردد. چنانچه می خواهید آدرس اینترفیس های Loopback با mask واقعی ارسال گردد، حتما از دستور فوق استفاده کنید. نکته دوم ماهیت این دستور است که به انواع network در OSPF اشاره می کند. در خصوص این موضوع بخش مجزایی در این فصل به آن اختصاص داده شده است.
  • روی یکی از اینترفیس های روتر R1 از دستور ip ospf dead-interval minimal hello-multiplier 4 استفاده شده است. به صورت پیش فرض زمان hello-time و dead-time در OSPF روی بعضی لینک ها به ترتیب 10 ثانیه و 40 ثانیه و روی دیگر لینک ها 30 ثانیه و 120 ثانیه است. دلیل تفاوت آنها در بخش معرفی انواع network در OSPF در همین فصل مورد بررسی قرار خواهد گرفت. اما نکته ای که در اینجا باید به آن اشاره کنیم اینکه با این دستور زمان dead-time به 1 ثانیه کاهش می یابد و پیرو آن مقدار hello-time نیز به 4/1 ثانیه یعنی 250 میلی ثانیه کاهش می یابد. عدد 4/1 از روی مقدار 4 در انتهای دستور آورده شده است. توجه کنید که hello-time و dead-time باید روی همه روترهای یک لینک یکسان باشند و به همین دلیل روی اینترفیس R2 متصل به روتر R1 نیز از این دستور استفاده شده است.
  • اگر دقت کنید روی اینترفیس S1/1 از روتر R1 که همسایه روترهای R4 و R5 است، نوع subinterface ایجاد شده multipoint است اما در روترهای همسایه یعنی روتر R4 و R5، subinterface ایجاد شده از نوع point-to-point است که البته به عمد این چنین در نظر گرفته شده است. بنابر دلایلی که بعدا می آموزیم در چنین شرایطی همسایگی بین روترهای همسایه ایجاد نمی شود. برای رفع این مشکل از دو دستور ip ospf network point-to-multipoint و ip ospf hello-interval 10 در روتر R2 و اینترفیس S1/1.1 استفاده شده است. دلیل استفاده از این دستورات و عملکرد آنها در بخش انواع network در OSPF مورد بحث قرار خواهد گرفت

!!! R1

router ospf 1

 router-id 1.1.1.1

 log-adjacency-changes

 passive-interface Loopback0

 network 10.1.0.0 0.0.255.255 area 0

!

interface Loopback0

 ip address 10.1.1.1 255.255.255.0

 ip ospf network point-to-point

!

interface Serial1/0

ip ospf dead-interval minimal hello-multiplier 4

!

!!! R2

router ospf 1

 router-id 2.2.2.2

 log-adjacency-changes

 network 10.1.0.0 0.0.255.255 area 0

 network 10.2.0.0 0.0.255.255 area 1

!

interface Serial1/0

 ip address 10.1.2.2 255.255.255.0

 ip ospf dead-interval minimal hello-multiplier 4

!

interface Serial1/1.1 multipoint

 ip address 10.2.1.1 255.255.255.0

 ip ospf network point-to-multipoint

 ip ospf hello-interval 10

!

!!! R3

router ospf 1

 router-id 3.3.3.3

 log-adjacency-changes

 network 10.1.0.0 0.0.255.255 area 0

 network 10.3.0.0 0.0.255.255 area 2

!

!!! R4

router ospf 1

 router-id 4.4.4.4

 log-adjacency-changes

 network 10.2.0.0 0.0.255.255 area 1

!

interface Serial1/0.1 point-to-point

 ip address 10.2.1.2 255.255.255.0

 frame-relay interface-dlci 402

!

!!! R6

router ospf 1

 router-id 6.6.6.6

 log-adjacency-changes

 passive-interface default

 no passive-interface FastEthernet0/0

 network 10.3.0.0 0.0.255.255 area 2

پیاده سازی مقدماتی OSPF

نوشتن دیدگاه


تصویر امنیتی
تصویر امنیتی جدید