دوره CCNA فصل ۱۳ - داینامیک روتینگ - OSPF - بخش دوم
سناریو
تنظیمات
R1
>en
#conf t
(c)#interface loopback 1
(c-i)#ip address 1.1.1.1 255.255.255.255
(c-i)#ip ospf 1 area 0
(c-i)#interface gigabitEthernet 0/0/0
(c-i)#no shutdown
(c-i)#ip address 100.100.100.1 255.255.255.0
(c-i)#ip ospf 1 area 0
(c-i)#exit
(c)#router ospf 1
(c-r)#auto-cost reference-bandwidth 100000
توضیحات
تنظیمات بالا را برای R2 تا R5 نیز انجام میدهیم. (فقط خطوط مشخص شده را باید برای هر روتر تغییر داد.)
بعد از این تنظیمات اگر دستور show ip ospf neighbor را مثلا روی روتر R1 اجرا کنیم، خواهیم دید:
Neighbor ID Pri State Dead Time Address Interface
2.2.2.2 1 2WAY/DROTHER 00:00:32 100.100.100.2 GigabitEthernet0/0/0
3.3.3.3 1 2WAY/DROTHER 00:00:32 100.100.100.3 GigabitEthernet0/0/0
4.4.4.4 1 FULL/BDR 00:00:32 100.100.100.4 GigabitEthernet0/0/0
5.5.5.5 1 FULL/DR 00:00:32 100.100.100.5 GigabitEthernet0/0/0
چند نکته:
- در ستون سوم (State) در سطر ۵ نوشته شده DR یا (Designated Router). این به آن معنیست که این روتر به عنوان روتر برگزیده انتخاب شده و همهی روترهای دیگر برای ساختن و به روزآوری دیتابیسشان و همچنین برای به اشتراک گذاشتن دیتابیسشان، با این روتر در ارتباط کامل (Full) هستند. در صورتی که این روتر در دسترس نباشد روتر BDR یا (Backup Designated Router)، جایگزین خواهد شد. مبنای انتخاب DR و BDR دو بزرگترین router-id ست. بزرگترین DR و بعدی BDR خواهد بود. البته با فرض یکسان بودن اولویت.
- در ستون دوم Priority نشان داده شده است. به طور پیشفرض اولویت همهی روترها یکسان و برابر ۱ است. اما میتوان با دستور ip ospf priority N، در اینترفیسی که OSPF در آن فعال شده، آن را به مقدار N تغییر داد:
- عدد N میتواند بین ۰ تا ۲۵۵ باشد.
- عدد ۰ باعث میشود آن روتر هیچگاه به عنوان DR یا BDR انتخاب نشود.
- اگر همهی روترها اولویت ۰ داشته باشند، OSPF در آن شبکه کار نخواهد کرد.
- روتر آیدی را با دستور router-id A.B.C.D در داخل محیط تنظیم OSPF میتوان ست کرد.
- اگر روتر آیدی را به صورت دستی تنظیم نکنید، به صورت اتوماتیک به این صورت انتخاب میشود:
- بزرگترین آیپی روی یک اینترفیس loopback
- اگر چند loopback داشته باشیم، بزرگترین آیپی انتخاب میشود.
- دلیل: loopback پایدارتر است و برخلاف اینترفیس فیزیکی down نمیشود.
- اگر loopback نداشتیه باشیم، بزرگترین آیپی روی اینترفیسهای فعال (up/up)
- منظور اینترفیسهایی هستند که وضعیتشان up باشد و آیپی داشته باشند.
- بزرگترین آیپی روی یک اینترفیس loopback
- بعد از تغیر روتر آیدی یا تغییر اولویت برای اجرای مجدد فرایند انتخاب DR و BDR باید دستور clear ip ospf process را در محیط Privileged اجرا کرد.
با توجه به نکات بالا در سناریو فعلی، چون اینترفیس loopback روی همهی روترها تنظیم کردهایم، آیپی ست شده روی این اینترفیس به عنوان router-id در نظر گرفته میشود. چون router-id مربوط به R5 از هم بزرگتر است، این روتر به عنوان DR و R4 به علت قرار گرفتن در رده بعدی به عنوان BDR انتخاب میشوند.
تغییرات و تمرین و توضیح بیشتر
حال میخواهیم با تغییر اولویتها، کاری کنیم که روتر R3 و R2 به ترتیب DR و BDR شوند و R5 نیز هیچ گاه DR یا BDR نشود. برای اینکار اولویتهای R3 و R2 و R5 را به ترتیب برابر ۳ و ۲ و ۰ قرار میدهیم:
R3
>en
#conf t
(c)#interface gigabitEthernet 0/0/0
(c-i)#ip ospf priority 3
R2
>en
#conf t
(c)#interface gigabitEthernet 0/0/0
(c-i)#ip ospf priority 2
R5
>en
#conf t
(c)#interface gigabitEthernet 0/0/0
(c-i)#ip ospf priority 0
(c-i)#end
#clear ip ospf process
در روتر R5 دستور آخر را به منظور اجرای مجدد فرآیند انتخاب DR و BDR اجرا کردیم.
در این حالت و پس از گذشتن زمان کافی اگر روی یکی از روترها مثلا R1 دستور زیر را اجرا کنیم:
R1
#show ip ospf neighbor
خواهیم داشت:
Neighbor ID Pri State Dead Time Address Interface
2.2.2.2 2 FULL/BDR 00:00:37 100.100.100.2 GigabitEthernet0/0/0
3.3.3.3 3 FULL/DR 00:00:36 100.100.100.3 GigabitEthernet0/0/0
4.4.4.4 1 2WAY/DROTHER 00:00:36 100.100.100.4 GigabitEthernet0/0/0
5.5.5.5 0 2WAY/DROTHER 00:00:37 100.100.100.5 GigabitEthernet0/0/0
میبینیم که در ستون سوم (State) مشخص شده که روترهایی با آیدیهای 3.3.3.3 و 2.2.2.2 به ترتیب به عنوان DR و BDR انتخاب شدهاند. همچنین در ستون دوم (Priority) می توانیم اولویتهای جدیدی را که تنظیم کردهایم ببینیم.
اگر مثلا روی روتر R4 با دستور show ip route ospf در محیط Privileged، جدول روت را ببینیم خواهیم داشت:
1.0.0.0/32 is subnetted, 1 subnets
O 1.1.1.1 [110/2] via 100.100.100.1, 04:23:18, GigabitEthernet0/0/0
2.0.0.0/32 is subnetted, 1 subnets
O 2.2.2.2 [110/2] via 100.100.100.2, 04:23:18, GigabitEthernet0/0/0
3.0.0.0/32 is subnetted, 1 subnets
O 3.3.3.3 [110/2] via 100.100.100.3, 04:23:18, GigabitEthernet0/0/0
5.0.0.0/32 is subnetted, 1 subnets
O 5.5.5.5 [110/2] via 100.100.100.5, 04:00:49, GigabitEthernet0/0/0
حال فرض کنید دو شبکهی 172.16.16.0/24 و 172.17.17.0/24 به صورت loopbackهای شماره ۲ و ۳ برای توسعهی شبکه در آینده در روتر R1 با دستورات زیر تعریف میکنیم:
R1
>en
#conf t
(c)#interface loopback 2
(c-i)#ip address 172.16.16.1 255.255.255.0
(c-i)#ip ospf 1 area 0
(c-i)#ip ospf network point-to-point
(c-i)#interface loopback 3
(c-i)#ip address 172.17.17.1 255.255.255.0
(c-i)#ip ospf 1 area 0
(c-i)#ip ospf network point-to-point
اگر بعد از این دستورات در R1، مجددا در R4(یا هر یک از روترهای دیگر به استثنای R1) جدول روت را با این دستور show ip route ospf چک کنیم، خواهیم داشت:
R1
1.0.0.0/32 is subnetted, 1 subnets
O 1.1.1.1 [110/2] via 100.100.100.1, 04:33:43, GigabitEthernet0/0/0
2.0.0.0/32 is subnetted, 1 subnets
O 2.2.2.2 [110/2] via 100.100.100.2, 04:33:43, GigabitEthernet0/0/0
3.0.0.0/32 is subnetted, 1 subnets
O 3.3.3.3 [110/2] via 100.100.100.3, 04:33:43, GigabitEthernet0/0/0
5.0.0.0/32 is subnetted, 1 subnets
O 5.5.5.5 [110/2] via 100.100.100.5, 04:11:14, GigabitEthernet0/0/0
172.16.0.0/24 is subnetted, 1 subnets
O 172.16.16.0 [110/2] via 100.100.100.1, 03:40:41, GigabitEthernet0/0/0
172.17.0.0/24 is subnetted, 1 subnets
O 172.17.17.0 [110/2] via 100.100.100.1, 03:39:49, GigabitEthernet0/0/0
میبینیم که این دو شبکه نیز توسط OSPF به صورت اتوماتیک در جدول روت اضافه شدهاند.
دلیل اینکه نوشتیم: به استثنای R1، این بود که چون این دو شبکه در R1 به صورت مستقیم به روتر وصل هستند و از آنجا که مسیرهای connected اولویت بالاتری نسبت به سایر روتها (از جمله روتهای OSPF) دارند در خروجی دستور show ip route ospf نشان داده نمیشوند.
اگر بخواهیم ببینیم که مثلا با قطع ارتباط یک شبکه چه اتفاقی در جدول روت OSPF میافتد میتوانیم مثلا loopback 2 (شبکهی 172.16.16.0/24) را در روتر R1، با دستور no interface loopback 2 (که در محیط گلوبال میزنیم)، حذف کنیم.
و سپس مثلا در R3 جدول روت OSPF را با زدن دستور show ip route ospf (در محیط Privileged) مجددا چک کنیم. خواهیم داشت:
1.0.0.0/32 is subnetted, 1 subnets
O 1.1.1.1 [110/2] via 100.100.100.1, 05:17:29, GigabitEthernet0/0/0
2.0.0.0/32 is subnetted, 1 subnets
O 2.2.2.2 [110/2] via 100.100.100.2, 05:17:29, GigabitEthernet0/0/0
4.0.0.0/32 is subnetted, 1 subnets
O 4.4.4.4 [110/2] via 100.100.100.4, 05:17:29, GigabitEthernet0/0/0
5.0.0.0/32 is subnetted, 1 subnets
O 5.5.5.5 [110/2] via 100.100.100.5, 05:17:29, GigabitEthernet0/0/0
172.17.0.0/24 is subnetted, 1 subnets
O 172.17.17.0 [110/2] via 100.100.100.1, 04:01:01, GigabitEthernet0/0/0
میبینیم که شبکهی 172.16.16.0/24 از جدول روت (به صورت اتوماتیک توسط OSPF) حذف شده.
- در فایل سناریویی که در بالا قرار داده شده، loopback 2 حذف نشده. خودتان میتوانید آن را حذف کنید و سپس نتیجهی آن را در جدول روت ببینید.