چرا مسیرهای استاتیک بهتنهایی مقیاسپذیر نیستند
مسیرهای استاتیک که پیشتر در این مجموعه بحث شد برای شبکههای کوچک و پایدار خوب کار میکنند، اما نیازمند بازپیکربندی دستی هر بار که توپولوژی تغییر میکند هستند، و بهطور خودکار حول یک لینک شکستخورده مسیریابی نمیکنند. Dynamic Routing Protocols (پروتکلهای مسیریابی پویا) این را با داشتن روترهایی که بهطور خودکار روترهای همسایه را کشف میکنند، اطلاعات درباره شبکههای قابلدسترسی را تبادل میکنند، و مسیرها را هنگام تغییر توپولوژی دوباره محاسبه میکنند — بدون نیاز به هیچ مداخله دستی — حل میکنند.
چه چیزی OSPF را یک پروتکل Link-State میکند
OSPF (Open Shortest Path First) به دستهای به نام پروتکلهای مسیریابی Link-State تعلق دارد، که اساساً با پروتکلهای Distance-Vector سادهتر متفاوت است که فقط یک جدول مسیریابی خلاصهشده را با همسایههای مستقیماً متصل تبادل میکنند. یک روتر link-state در عوض یک نقشه کامل از توپولوژی کل شبکه میسازد، سپس بهطور مستقل بهترین مسیر به هر مقصد را با استفاده از آن نقشه کامل محاسبه میکند.
رویکرد distance-vector:
"من میتوانم به شبکه X برسم، و برایم 3 هاپ هزینه دارد"
(همسایه این خلاصه را بدون دیدن توپولوژی
واقعی پشت آن اعتماد میکند)
رویکرد link-state:
"دقیقاً اینطوری من به همسایگانم متصلام،
و هزینههای گزارششده آنها" (این اطلاعات جزئی
به هر روتری سیلاب میشود، پس هر روتری در نهایت
با یک نقشه توپولوژی یکسان و کامل ختم میشود)این آگاهی کامل از توپولوژی چرایی این است که OSPF معمولاً سریعتر همگرا میشود و از برخی مسائل حلقه مسیریابی که پروتکلهای distance-vector باید بهطور خاص در برابرشان محافظت کنند اجتناب میکند — هر روتر مسیرها را از همان دید کامل و سازگار شبکه محاسبه میکند بهجای اعتماد به اطلاعات خلاصهشده که هاپبههاپ منتقل میشود.
روترهای OSPF چگونه همسایه میشوند
پیش از اینکه دو روتر OSPF بتوانند اطلاعات توپولوژی را تبادل کنند، ابتدا باید یک Neighbor Adjacency (همسایگی) از طریق یک فرآیند چندمرحلهای شامل بستههای Hello ارسالشده بهطور دورهای روی هر اینترفیس فعالشده OSPF ایجاد کنند.
نیازمندیهای شکلگیری همسایه OSPF —
اینها باید بین دو همسایه بالقوه تطبیق داشته باشند:
- همان شماره ناحیه روی اینترفیسهای متصلکننده
- همان تایمرهای بازه hello و dead
- همان زیرشبکه (باید روی همان سگمنت شبکه باشند)
- پیکربندی احراز هویت منطبق، اگر فعال باشد
- بدون شناسه روتر تکراریاگر هرکدام از این مقادیر عدمتطابق داشته باشد، رابطه همسایگی شکل نمیگیرد، و هیچ اطلاعات توپولوژیای هرگز از میان آن لینک تبادل نمیشود — بررسی دقیقاً همین عدمتطابقها اولین گام استاندارد هنگام عیبیابی اینکه چرا دو روتر از همسایه-OSPF شدن امتناع میکنند است.
پیکربندی OSPF پایه
Router(config)# router ospf 1
Router(config-router)# network 192.168.1.0 0.0.0.255 area 0
Router(config-router)# network 10.0.0.0 0.0.0.3 area 0
-- "1" شناسه فرآیند است، فقط از نظر محلی معنادار،
-- و نیازی نیست بین روترها تطبیق داشته باشد
-- دستور network از یک ماسک wildcard استفاده میکند،
-- که پیشتر در این مجموعه درباره ACL ها بحث شد،
-- تا مشخص کند کدام اینترفیسها در OSPF شرکت میکننددستور network مستقیماً OSPF را روی یک اینترفیس خاص پیکربندی نمیکند؛ در عوض، مشخص میکند کدام آدرسهای IP اینترفیس درون بازه مشخصشده میافتند، و OSPF بهطور خودکار خودش را روی هر اینترفیس منطبقی فعال میکند — یک ظرافت که گاهی کسانی که انتظار دارند یک نام اینترفیس را مستقیماً در این دستور تایپ کنند را گیج میکند.
معیار هزینه: OSPF چگونه بهترین مسیر را انتخاب میکند
OSPF بهترین مسیر به هر مقصد را با استفاده از یک معیار به نام Cost (هزینه) محاسبه میکند، که بهطور پیشفرض از پهنای باند هر اینترفیس مشتق میشود — هزینه پایینتر همیشه ترجیح داده میشود.
فرمول هزینه پیشفرض OSPF:
هزینه = پهنای باند مرجع / پهنای باند اینترفیس
پهنای باند مرجع پیشفرض: 100 Mbps
اینترفیس 10 Mbps: هزینه = 100/10 = 10
اینترفیس 100 Mbps: هزینه = 100/100 = 1
اینترفیس 1 Gbps: هزینه = 100/1000 = 1 (به حداقل 1 گرد میشود)پهنای باند مرجع پیشفرض ۱۰۰ Mbps وقتی OSPF ابتدا طراحی شد معقول بود، اما شبکههای مدرن با لینکهای چند-گیگابیتی میتوانند در نهایت با بسیاری سرعت اینترفیس مختلف که همگی به همان حداقل هزینه ۱ محاسبه میشوند ختم شوند، که تشخیص بین آنها را برای OSPF غیرممکن میکند.
Router(config)# router ospf 1
Router(config-router)# auto-cost reference-bandwidth 10000
-- بالابردن پهنای باند مرجع به 10 Gbps (10000 Mbps)
-- تمایز هزینه معنادار بین اینترفیسهای
-- مدرن سرعت-بالا را بازمیگرداند
-- این مقدار باید بهطور یکسان روی هر روتر
-- در دامنه OSPF پیکربندی شود، وگرنه محاسبات
-- هزینه در سراسر شبکه ناسازگار خواهد بودتأیید همسایگان و مسیرهای OSPF
Router# show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
10.0.0.2 1 FULL/BDR 00:00:34 10.0.0.2 GigabitEthernet0/1
Router# show ip route ospf
O 192.168.2.0/24 [110/2] via 10.0.0.2, GigabitEthernet0/1یک حالت همسایه FULL تأیید میکند دو روتر پایگاهدادههای توپولوژیشان را کاملاً همگامسازی کردهاند — هر حالت دیگری، مانند گیرکردن دائمی در 2-WAY یا EXSTART، یک مسئله در فرآیند شکلگیری همسایگی را نشان میدهد که نیازمند بررسی بیشتر است. در جدول مسیریابی، نمادگذاری [110/2] فاصله اداری OSPF (110) و هزینه محاسبهشده (2) برای رسیدن به آن شبکه خاص را نشان میدهد.
مشاهده پایگاهداده کامل Link-State
Router# show ip ospf database
OSPF Router with ID (10.0.0.1) (Process ID 1)
Router Link States (Area 0)
Link ID ADV Router Age Seq# Checksum Link count
10.0.0.1 10.0.0.1 845 0x80000003 0x00a1c1 2
10.0.0.2 10.0.0.2 722 0x80000002 0x00b2d2 2این پایگاهداده، یکسان روی هر روتر درون همان ناحیه OSPF، اطلاعات توپولوژی خامی است که هر روتر جدول مسیریابی خودش را از آن بهطور مستقل محاسبه میکند — تأیید اینکه پایگاهداده هر روتر تطبیق دارد یک گام تشخیصی عمیقتر است وقتی مسیرها با وجود نمایش حالت FULL سالم توسط همسایگان نادرست بهنظر میرسند.
چرا رویکرد OSPF برای شبکههای سازمانی اهمیت دارد
طراحی link-state، همگرایی سریع، و وضعیت استاندارد باز فروشنده-خنثی OSPF آن را به انتخاب پیشفرض برای مسیریابی داخلی در اکثریت قریببهاتفاق شبکههای سازمانی، از کسبوکارهای کوچک تا کمپاسهای چندساختمانی بزرگ، تبدیل میکند. درک نیازمندیهای شکلگیری همسایه، معیار هزینه، و نحوه خواندن هم جدول همسایه و هم پایگاهداده link-state پایه ضروریای برای موضوعات پیشرفتهتر OSPF چندناحیهای، مانند انواع ناحیه و خلاصهسازی مسیر، که بعداً در این مجموعه پوشش داده میشوند، فراهم میکند.