این جلسه به صورت عملی روتینگ پروتکل OSPF رو کار می کنیم.

در دوره CCNA به صورت خیلی مختصر به این روتینگ پروتکل پرداخته می شود و به صورت تکمیلی و کامل در دوره CCNP این روتینگ پروتکل کاربردی شرح داده می شود. شاید بتوان دوره CCNP را شرح دو روتینگ پروتکل EIGRP و OSPF دانست.

قبل از شروع کار یک نکته رو خدمتتون عرض کنم.

نحوه تعریف روتینگ پروتکل OSPF

تعریف این روتینگ پروتکل مثل تعریف باقی روتینگ پروتکل ها با دستور Router شروع می شود.قطعا می دونید که باید در محیط Config terminal اقدام به تعریف نمایید.

Router(Confige)# Router OSPF 1

دو نکته :

اول اینکه عدد 1 که بعد از OSPF استفاده شده است. مثل IGRP یا EIGRP ، که شرح داده شد، AS Number نیست و در اینجا Process ID نام دارد. برعکس AS number در پراسس ID  لزومی ندارد که در دو روتر یکسان باشد تا دو روتر با هم همسایه شوند و برای یکدیگر آپدیت بفرستند.  بعبارت ساده تر یکسان نبودنش در دو روتر اختلالی در روند همسایگی ایجاد نمی کند. 

کلا پراسس ID برای این است که ما بتوانیم چند تا پروسه OSPF داخل یک روتر اجرا کنیم و بین پردازش OSPFهای مختلف در داخل یک روتر اختلاف بگذاریم . 

دقت داشته باشید که یک اینترفیس را نمی توان با چند پراسس ID تعریف کرد.توصیه می شود که عدد پراسس ID را در هنگام تعریف در همه روترها یکسان گذاشته شود.

دوم اینکه اگر به اینترفیس های داخل یک روتر IP نداده باشید ، چون هنوز Router-ID مشخص نشده است، اجازه تعریف OSPF را به شما نمی دهد.

خب از همان مثال همیشگی مان استفاده می کنیم.

برای پیاده سازی OSPF در داخل هرکدام از روترها به صورت زیر عمل می کنیم.

Router-1(config)#router ospf 1
Router-1(config-router)#network 10.10.10.1 0.0.0.255 area 1
Router-1(config-router)#network 192.168.10.1  0.255.255.255 area 1

برای روتر دوم نیز:

Router-2(config)#router ospf 1
Router-2(config-router)#network 10.10.10.2 0.255.255.255 area 1
Router-2(config-router)#network 172.16.0.1 0.0.255.255 area 1

دونکته بسیار مهم وجود دارد که من در اینجا باید به آن بپردازم

اگر دقت کرده باشید ، در قسمت network ، عدد بعد از 10.10.10.1 قطعا سابنت مسک نیست چرا که ساختار سابنت مسک آن به این صورت است 255.0.0.0 پس چرا در اینجا برعکس و به صورت 0.0.0.255 هست؟

همانطور که می دانید در OSPF به جای Subnet mask از Wildcard mask استفاده می شود. من در اینجا (وبلاگ CCNP ) مفصل توضیح دادم و  از توضیح دوباره اش در اینجا خودداری می کنم. لطفا به آنجا مراجعه کنید.

فقط در یک جمله بگم که wildcard mask برای مشخص کردن قسمت net از هاست نیست و برای این است که ما بتونیم اینترفیس ها را دسته جمعی تعریف کنیم. مثلا در بالا به جای اینکه بیاییم دو خط بنویسیم و نتورک ها را تعریف کنیم می تونیم از دستور زیر استفاده کنیم.

Router-2(config-router)#network 0.0.0.0 0.0.0.0 area 1

با استفاده از این دستور هرچندتا اینترفیس هم که باشد همگی با هم در area 1 قرار می گیرند و همه در OSPF تعریف می شوند. تعریف wildcard mask در ospf اجباری است. به نظر من بهتر هست اگر قصد داریم همه اینترفیس ها را در یک area قرار دهیم به جای تعریف نتورک در OSPF با استفاده از دستور بالا به صورت یکجا همه اینترفیس ها را به OSPF معرفی کنیم.

نکته بعدی اینکه همانطور که در قسمت تئوری گفتیم ، در OSPF با مفهومی به نام area بندی مواجهیم و حتما در تعریف network ها باید شماره area آن اینترفیس را مشخص کنیم و این کارهم اجباری است.

خب . اگر دستور show IP route را در محیط Privilege mode در هر دو روتر اجرا کنیم با تصویر زیر مواجه می شویم. ببینید:

همانطور که در تصویر بالا می بینید، روتر اول نتورک 172.16.0.0 را از طریق OSPF که با علامت اختصاری O مشخص کرده است دریافت کرده است. 

داخل کروشه در جلوی آدرس نتورک [110/65] نوشته شده است.که عدد 110 برای Administrative Distance  هست و عدد 65 برای Cost  مسیر هست که پس از محاسبه به عدد 65 رسیده است. 

در قسمت بعد via 10.10.10.2 درج شده است که یعنی این آپدیت از سریالی با این IP آدرس دریافت شده است.

اگر جای O ، حرف IA نوشته شده باشد یعنی این آپدیت را از یک area دیگر دریافت کرده است.

خب در اینجا چند دستور دیگر را با هم بررسی می کنیم:

اگر بخواهیم وضعیت اینترفیس ها را در روتینگ پروتکل OSPF مشاهده کنیم از دستور زیر استفاده می کنیم:

Router-1#show ip ospf interface

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

و اما اگر بخواهیم اطلاعات مربوط به همسایه ها را مشاهده کنیم از دستور زیر استفاده می کنیم.

 

Router-1#show ip ospf neighbor

همانطور که در تصویر می بینید با تایپ دستور این گزینه ها ظاهر می شوند. فقط در اینجا لازم هست که من توضیحی در مورد Dead Time بدهم.

همانطور که در جلسه پیش دیدیم OSPF ، هر ده ثانیه یکبار پکت های Hello را به سمت همسایه هایش می فرستد، که این زمان را زمان Hello Interval می گویند. اگر روتر Down شود یا بنا به هر دلیلی نتواند به روتر همسایه اش Hello  بفرستد ، روتر همسایه 40 ثانیه صبر می کند تا ببیند پکتی دریافت می کند یا خیر که به این زمان هم Dea Interval می گویند.

در اینجا زمان dead Time به 30 ثانیه رسیده است، که این زمان اگر Hello نرسد کمتر و کمتر می شود تا کلا  همسایه از جدول همسایگی خارج می شود.

اگر در انتهای دستور بالا details بگذاریم مشخصات همسایه ها را با جزئیات به ما نمایش می دهد. به این صورت:

 

Router-1#show ip ospf neighbor details

با تایپ این دستور می توان فهمید چه روترهایی به عنوان DR و BDR انتخاب شده اند.

در قسمت نکته های جلسه بیست و سوم گفتم که DR و BDR در نتورک های Point To Point انتخاب نمی شوند.اما اگر بخواهیم که در اینجا دو روتری که ما به هم وصل کردیم DR و BDR انتخاب شوند فقط کافی است که به داخل اینترفیس های هر دو روتر برویم و نوع نتورکشون رو به برودکست یا Point to Multi Point تغییر دهیم

 

به این صورت دقت کنید.به روتر اول می رویم:

 

Router-1#conf t

Router-1(config)#inter ser 0/0

Router-1(config-if)#ip ospf network Broadcast

 

حال همین کار را هم باید در روتر دوم انجام دهیم ببینید:

 

Router-2#conf t

Router-2(config)#inter ser 0/0

Router-2(config-if)#ip ospf network Broadcast

کار تمام است. حالا اگر چند ثانیه صبر کنید و دستور show ip ospf neighbor details را تایپ کنید می بینید که DR و BDR را مشخص کرده است.( در صورتی که مشخص نشده باشد جای IP آنها 0.0.0.0 می گذارد)

 

خب یک نکته دیگر هم در جلسه بیست و سوم گفتم که برای انتخاب DR و BDR مشکلی که وجود دارد این هست که اولین روتری که روشن شود فارغ از هر گونه Priority و Router-ID ، بعنوان DR انتخاب می  شود .  و  دیگر DR بودن خودش را پس نمی دهد حتی اگر Priority اش پایین تر از همه باشد.

اما اگر بخواهیم که این پروسه انتخاب DR مجددا در شرایطی که همه روتر ها روشن هستند تکرار شود کافی است از دستور زیر استفاده کنیم.

به این صورت:

Router-1#clear ip ospf process

با تایپ دستور بالا پروسه انتخاب DR و BDR ریست می شود.

خب. بحث OSPF در همینجا بسته می شود. OSPF به صورت بسیار مفصل در CCNP - Route مطرح می شود و مطمئن باشید من به صورت بسیار بسیار کامل به این روتینگ پروتکل کاربردی می پردازم. امیدوارم که براتون مفید واقع شده باشد. موفق باشید.