آنچه در این مقاله میخوانید [پنهانسازی]
- ⭐ پروتکل OSPF چیست؟
- ⭐ مفاهیم کلیدی OSPF
- ⭐ لینک و وضعیت (Link and State)
- ⭐ شناسه روتر (Router ID)
- ⭐ هزینه (Cost) به عنوان معیار مسیریابی
- ⭐ پروتکل OSPF چگونه کار میکند؟
- ⭐ 1. کشف همسایگی (Neighbor Discovery)
- ⭐ 2. تبادل اطلاعات وضعیت لینک (LSA Exchange)
- ⭐ 3. محاسبه کوتاهترین مسیر (SPF Calculation)
- ⭐ حالتهای مجاورت OSPF
- ⭐ جداول پروتکل OSPF
- ⭐ جدول همسایگی (Neighbor Table / Adjacency Database)
- ⭐ پایگاه داده وضعیت لینک (Link-State Database – LSDB)
- ⭐ جدول مسیریابی (Routing Table)
- ⭐ پروتکل OSPF چه ساختاری دارد؟
- ⭐ ۱. ناحیهها (Areas)
- ⭐ ۲. ناحیه ستون فقرات (Backbone Area)
- ⭐ ۳. انواع روترها (Router Types)
- ⭐ روتر داخلی (Internal Router)
- ⭐ روتر مرزی ناحیه (Area Border Router – ABR)
- ⭐ روتر مرزی سیستم خودمختار
- ⭐ ۴. روترهای تعیین شده (DR) و پشتیبان (BDR)
- ⭐ ویژگی های OSPF
- ⭐ مراحل پیکربندی OSPF در روتر سیسکو
- ⭐ دستورهای کاربردی برای مدیریت OSPF
- ⭐ show ip ospf neighbor
- ⭐ show ip route ospf
- ⭐ show ip ospf interface [interface-type interface-number]
- ⭐ show ip ospf database
- ⭐ نتیجهگیری
- ⭐ سوالات متداول
- ⭐ پروتکل OSPF برای چه منظوری استفاده میشود؟
- ⭐ هفت حالت (States) پروتکل OSPF کدامند؟
- ⭐ سه مؤلفه اصلی پروتکل OSPF کدامند؟
- ⭐ DR و BDR چه نقشی در OSPF دارند؟
پروتکل OSPF (Open Shortest Path First) یکی از مهمترین و پرکاربردترین پروتکلهای مسیریابی دینامیک است که در شبکههای IP مورد استفاده قرار میگیرد. این پروتکل به دلیل قابلیت مقیاسپذیری بالا، همگرایی سریع و تضمین مسیرهای بدون حلقه، یک انتخاب اساسی برای شبکههای سازمانی بزرگ محسوب میشود. درک OSPF برای متخصصان شبکه، به ویژه آنهایی که به دنبال گواهینامههای Cisco مانند CCNA، CCNP یا CCIE هستند، امری ضروری است.
OSPF در گروه پروتکلهای مسیریابی وضعیت لینک (Link-State Routing) قرار میگیرد. برخلاف پروتکلهای قدیمیتر مانند RIP (Routing Information Protocol) که از نوع بردار فاصله بودند و از مشکلات همگرایی کند و تشکیل حلقههای مسیریابی رنج میبردند، OSPF عملکرد بسیار کارآمدتری را ارائه میدهد. هدف این مقاله، ارائه یک دیدگاه عمیق و جامع از نحوه عملکرد، ساختار و مزایای OSPF است.
پروتکل OSPF چیست؟
پروتکل OSPF که مخفف عبارت Open Shortest Path First است، یک پروتکل مسیریابی داخلی (Interior Gateway Protocol – IGP) محسوب میشود که درون یک سیستم خودمختار (Autonomous System – AS) عمل میکند. این پروتکل برای شبکههای IPv4 (نسخه 2، تعریف شده در RFC 2328) و شبکههای IPv6 (نسخه 3، تعریف شده در RFC 5340) طراحی شده است.
ماهیت OSPF به عنوان یک پروتکل وضعیت لینک، به این معنی است که هر روتر یک نقشه کامل یا توپولوژی از کل شبکه خود را نگهداری میکند. این نقشه با استفاده از الگوریتم کوتاهترین مسیر اول (SPF) که مبتنی بر الگوریتم دایجسترا (Dijkstra’s algorithm) است، به روتر اجازه میدهد تا کارآمدترین و کوتاهترین مسیر را برای رسیدن به هر مقصد در شبکه محاسبه کند.
مفاهیم کلیدی OSPF
برای درک عمیق OSPF، ابتدا باید با مفاهیم پایهای آن آشنا شد:
لینک و وضعیت (Link and State)
لینک (Link) به معنای واسط (Interface) روتر است. وضعیت (State) در واقع توصیفی از آن واسط و چگونگی اتصال آن به روترهای همسایه است، از جمله آدرس IP، ماسک زیرشبکه، و نوع شبکه متصل. روترها با ارسال آگهیهای وضعیت لینک (Link-State Advertisements – LSA) این اطلاعات وضعیت لینک را با سایر روترها به اشتراک میگذارند.
شناسه روتر (Router ID)
هر روتر OSPF باید یک شناسه 32 بیتی منحصر به فرد (Router ID یا RID) داشته باشد. توصیه میشود که شناسه روتر به صورت دستی پیکربندی شود تا پایداری OSPF تضمین شود. در صورت عدم پیکربندی دستی، روتر بالاترین آدرس IP فعال در واسطهای مجازی (Loopback) را به عنوان RID انتخاب میکند و اگر واسط Loopback وجود نداشته باشد، بالاترین آدرس IP فعال در واسطهای فیزیکی استفاده میشود. استفاده از واسط Loopback برای RID ترجیح داده میشود، زیرا تا زمانی که روتر از کار نیفتد، این واسط همواره فعال باقی میماند.
هزینه (Cost) به عنوان معیار مسیریابی
OSPF از معیاری به نام هزینه (Cost) برای تعیین بهترین مسیر استفاده میکند. هزینه یک واسط بر اساس پهنای باند آن محاسبه میشود:
هزینه = پهنای باند مرجع / پهنای باند واسط
پهنای باند مرجع به طور پیشفرض در روترهای سیسکو 100 مگابیت بر ثانیه است. هرچه این هزینه محاسبهشده کمتر باشد، مسیر بهتر و مطلوبتری است و در جدول مسیریابی قرار میگیرد.
پروتکل OSPF چگونه کار میکند؟
عملکرد OSPF به صورت گام به گام برای رسیدن به همگرایی کامل شبکه انجام میشود:
1. کشف همسایگی (Neighbor Discovery)
روترها برای کشف و حفظ ارتباط با همسایگان خود، بستههای Hello را به صورت دورهای ارسال میکنند. برای اینکه دو روتر به عنوان همسایه شناخته شوند، پارامترهای مشخصی در بستههای Hello باید مطابقت داشته باشند؛ از جمله شناسه ناحیه (Area ID)، بازههای زمانی Hello و Dead، و احراز هویت (در صورت وجود). اگر روترها برای مدت زمان مشخصی (Dead Interval) بسته Hello از همسایه خود دریافت نکنند، آن همسایه را “مرده” اعلام میکنند و ارتباط را قطع میکنند.
2. تبادل اطلاعات وضعیت لینک (LSA Exchange)
پس از برقراری رابطه همسایگی، روترها شروع به تبادل آگهیهای وضعیت لینک (LSAs) میکنند. LSAها تکههایی از پازل اطلاعات توپولوژی شبکه هستند که برای ساخت پایگاه داده وضعیت لینک (LSDB) استفاده میشوند. این فرآیند تبادل و انتشار LSAها را سیلآسایی LSA (LSA Flooding) مینامند، که در آن هر روتر یک LSA جدید را به تمام همسایگان خود ارسال میکند تا اطمینان حاصل شود که هر روتر در یک ناحیه، یک کپی از اطلاعات وضعیت لینک را دریافت کند.
3. محاسبه کوتاهترین مسیر (SPF Calculation)
هنگامی که تمام روترهای یک ناحیه پایگاه داده وضعیت لینک (LSDB) کاملاً یکسانی را ساختند، هر روتر به طور مستقل الگوریتم Shortest Path First (SPF) را اجرا میکند. این الگوریتم از LSDB به عنوان ورودی استفاده کرده و کوتاهترین مسیر درختی (Shortest Path Tree – SPT) را با خود روتر به عنوان ریشه، محاسبه میکند. این درخت SPT نشاندهنده بهترین مسیرها به تمام مقاصد در شبکه است. مسیرهایی که توسط SPF به عنوان بهترین مسیر تعیین میشوند (با کمترین مجموع هزینه)، به جدول مسیریابی (Routing Table) وارد میشوند.
اگر قصد دارید مفاهیمی مانند OSPF، VLAN، STP، مسیریابی و ساختار شبکههای سیسکو را بهصورت اصولی و پروژهمحور یاد بگیرید، پیشنهاد میکنم در دوره آموزش CCNA آموزشگاه عصر رایان شبکه شرکت کنید. این دوره تمام مباحث مربوط به مسیریابی دینامیک، از جمله OSPF را بهصورت عملی آموزش میدهد و شما را برای بازارکار و آزمونهای سیسکو آماده میکند
حالتهای مجاورت OSPF
روترهای OSPF برای تبادل کامل اطلاعات مسیریابی و همگامسازی LSDB، باید فرآیند مجاورت (Adjacency) را با یکدیگر طی کنند. این فرآیند شامل حداکثر هشت حالت است که نشاندهنده وضعیت ارتباط بین دو روتر همسایه است:
- Down (پایین): حالت اولیه که هیچ بسته Helloای دریافت نشده است.
- Init (آغازین): روتر یک بسته Hello از همسایه دریافت کرده است، اما هنوز ID خود را در بسته Hello همسایه ندیده است.
- Two-Way (دوطرفه): ارتباط دوطرفه تایید شده است (هر روتر ID خود را در بسته Hello همسایه میبیند). در شبکههای Multi-access، در این مرحله DR/BDR انتخاب میشوند.
- ExStart (شروع تبادل): مذاکره برای تعیین رابطه Master/Slave (اصلی/فرعی) و تعیین شماره توالی بستههای Database Description (DBD) انجام میشود. روتری که شناسه روتر بزرگتری دارد، Master میشود.
- Exchange (تبادل): روترها شروع به تبادل بستههای DBD میکنند که حاوی خلاصهای از سربرگهای LSAهای موجود در LSDB آنها است.
- Loading (بارگذاری): روترها متوجه میشوند که چه LSAهایی در LSDB آنها ناقص است و با استفاده از بستههای Link State Request (LSR)، LSAهای گمشده را درخواست میکنند. روتر مقابل با بستههای Link State Update (LSU) پاسخ میدهد.
- Full (کامل): حالت نهایی که در آن مجاورت به طور کامل برقرار شده و LSDBها کاملاً همگامسازی شدهاند. در این مرحله، روترها میتوانند الگوریتم SPF را اجرا کنند.
جداول پروتکل OSPF
پروتکل OSPF برای انجام وظایف مسیریابی، بر سه جدول اصلی تکیه دارد:
جدول همسایگی (Neighbor Table / Adjacency Database)
این جدول که گاهی پایگاه داده مجاورت (Adjacency Database) نیز نامیده میشود، شامل اطلاعات مربوط به تمام روترهایی است که با روتر محلی رابطه همسایگی برقرار کردهاند. این رابطه پس از تبادل موفقیتآمیز بستههای Hello و تأیید مطابقت پارامترهای مورد نیاز برقرار میشود. خروجی دستور show ip ospf neighbor وضعیت این جدول را نمایش میدهد.
پایگاه داده وضعیت لینک (Link-State Database – LSDB)
LSDB قلب پروتکل OSPF است. این جدول حاوی تمام آگهیهای وضعیت لینک (LSAs) است که روتر از طریق سیلآسایی در ناحیه خود دریافت کرده است. LSDB در واقع نقشه کامل و دقیقی از توپولوژی شبکه در آن ناحیه خاص را نشان میدهد. نکته حیاتی این است که همه روترهای داخل یک ناحیه OSPF باید LSDB یکسانی داشته باشند تا محاسبات SPF درست عمل کند.
جدول مسیریابی (Routing Table)
این جدول نتایج خروجی الگوریتم SPF است. جدول مسیریابی شامل بهترین و کوتاهترین مسیرهای محاسبهشده به هر مقصد در شبکه است. این جدول توسط لایه اینترنت (Internet Layer) برای هدایت بستهها بر اساس آدرس IP مقصد استفاده میشود. مسیرهایی که از طریق OSPF یاد گرفته میشوند با کد O در جدول مشخص میشوند.
پروتکل OSPF چه ساختاری دارد؟
OSPF از یک ساختار سلسله مراتبی استفاده میکند که بر اساس مفهوم ناحیهها (Areas) بنا شده است. این ساختار برای مقابله با محدودیتهای مقیاسپذیری و کاهش حجم اطلاعات مسیریابی به کار میرود.
۱. ناحیهها (Areas)
ناحیهها تقسیمات منطقی از شبکه هستند که به OSPF اجازه میدهند تا به طور موثرتری در شبکههای بزرگ مقیاس پیدا کند. با تقسیم شبکه به ناحیهها، سیلآسایی LSA فقط درون همان ناحیه رخ میدهد، که این امر حجم اطلاعات ذخیرهشده در LSDB و تعداد دفعات اجرای الگوریتم SPF را کاهش میدهد. ناحیهها با یک شناسه ۳۲ بیتی (Area ID) مشخص میشوند.
۲. ناحیه ستون فقرات (Backbone Area)
ناحیه ۰ (Area 0) که به آن ناحیه ستون فقرات (Backbone Area) نیز گفته میشود، هسته اصلی شبکه OSPF را تشکیل میدهد. تمام ناحیههای دیگر باید به طور مستقیم یا غیرمستقیم (از طریق پیوندهای مجازی) به این ناحیه متصل باشند. برای مسیریابی بین دو ناحیه غیر ستون فقرات (مثلاً از Area 1 به Area 2)، ترافیک حتماً باید از ناحیه ستون فقرات (Area 0) عبور کند تا از بروز حلقههای مسیریابی جلوگیری شود.
۳. انواع روترها (Router Types)
در ساختار ناحیهای OSPF، روترها نقشهای تخصصی دارند:
روتر داخلی (Internal Router)
روتری است که تمام واسطهایش به یک ناحیه واحد تعلق دارند.
روتر مرزی ناحیه (Area Border Router – ABR)
روتری که حداقل به دو ناحیه متصل است، که یکی از آنها باید ناحیه ستون فقرات (Area 0) باشد. ABRها مسئول خلاصه سازی مسیرها و حفظ LSDBهای جداگانه برای هر ناحیه هستند.
روتر مرزی سیستم خودمختار
روتری که OSPF را اجرا میکند و به یک شبکه یا حوزه مسیریابی دیگری (مانند RIP یا BGP) متصل است. ASBRها مسئول وارد کردن (Redistribution) مسیرهای خارجی به دامنه OSPF هستند.
۴. روترهای تعیین شده (DR) و پشتیبان (BDR)
در شبکههای چنددسترسی (Multi-access) مانند اترنت (که چندین روتر روی یک سگمنت مشترک قرار دارند)، روتر تعیین شده (Designated Router – DR) و روتر پشتیبان تعیین شده (Backup Designated Router – BDR) انتخاب میشوند. هدف از انتخاب DR/BDR، کاهش تعداد مجاورتهای کامل (Full Adjacency) بین روترها و به حداقل رساندن ترافیک سیلآسایی LSA است. تمام روترهای دیگر (DR Other) فقط با DR و BDR مجاورت کامل برقرار میکنند. اگر DR از کار بیفتد، BDR بلافاصله جایگزین آن میشود.
ویژگی های OSPF
OSPF به دلیل ویژگیهای کلیدی زیر، یک پروتکل مسیریابی محبوب و موثر است:
- الگوریتم وضعیت لینک: OSPF از الگوریتم SPF استفاده میکند که تضمینکننده مسیرهای بدون حلقه است و به روترها اجازه میدهد کوتاهترین و کارآمدترین مسیرها را محاسبه کنند.
- همگرایی سریع: OSPF میتواند تغییرات در توپولوژی شبکه (مانند قطع شدن لینکها) را به سرعت تشخیص دهد و در عرض چند ثانیه بر یک ساختار مسیریابی جدید و بدون حلقه همگرا شود.
- پشتیبانی از VLSM و CIDR: OSPF به طور کامل از مدل آدرسدهی Classless Inter-Domain Routing (CIDR) و Variable-Length Subnet Masking (VLSM) پشتیبانی میکند، که امکان استفاده کارآمدتر از فضای آدرس IP را فراهم میکند.
- تقسیمبندی ناحیهای (Area Segmentation): استفاده از ناحیهها امکان مقیاسدهی به شبکههای بسیار بزرگ را میدهد و با محدود کردن سیلآسایی LSAها، نیاز به CPU و RAM را کاهش میدهد.
- توازن بار (Load Balancing): OSPF قابلیت توازن بار ترافیک را بین مسیرهایی با هزینه (Cost) مساوی فراهم میکند.
- احراز هویت: OSPFv2 از احراز هویت با متن ساده یا MD5 برای تضمین اینکه تنها روترهای مورد اعتماد در مسیریابی شرکت کنند، پشتیبانی میکند. OSPFv3 (برای IPv6) به امنیت پروتکل IPsec اتکا دارد.
مراحل پیکربندی OSPF در روتر سیسکو
پیکربندی OSPF در روترهای سیسکو شامل چند مرحله اصلی است که فرآیند مسیریابی OSPF را فعال کرده و واسطها را به یک ناحیه مشخص اختصاص میدهد:
- فعالسازی فرآیند OSPF:
- ابتدا باید فرآیند OSPF را با استفاده از یک شناسه فرآیند (Process ID) فعال کنید. این شناسه فرآیند صرفاً محلی است و نیازی نیست در تمام روترهای شبکه یکسان باشد.
- Router(config)# router ospf 200
- تنظیم شناسه روتر (Router ID):
- اگرچه روتر میتواند RID را به صورت خودکار انتخاب کند، توصیه میشود آن را به صورت صریح تنظیم کنید تا ثبات حفظ شود.
- Router(config-router)# router-id 10.200.2.1
- فعالسازی OSPF روی واسطها و تخصیص ناحیه:
- با استفاده از دستور network، واسطهایی که باید OSPF روی آنها فعال شود و ناحیه مربوط به آنها مشخص میگردد. برای تخصیص یک آدرس لوپبک یا یک واسط خاص به یک ناحیه، از یک وایلدکارد ماسک (Wildcard Mask) صفر استفاده میشود.
- Router(config-router)# network 1.1.1.1 0.0.0.0 area 0 (برای واسط Loopback)
- Router(config-router)# network 10.200.1.0 0.0.0.3 area 0 (برای واسط Transit)
- تنظیم نوع شبکه (در صورت نیاز):
- در لینکهای Point-to-Point، باید نوع شبکه را به صورت دستی تنظیم کنید تا از انتخاب DR/BDR غیرضروری جلوگیری شود.
- Router(config-if)# ip ospf network point-to-point
دستورهای کاربردی برای مدیریت OSPF
برای نظارت، تأیید و عیبیابی پروتکل OSPF در محیط Cisco IOS، از دستورات show زیر استفاده میشود:
show ip ospf neighbor
-
- این دستور وضعیت همسایگی OSPF را نشان میدهد. مهمترین بخش خروجی، ستون State است که برای تبادل مسیرها باید در حالت FULL باشد. این خروجی شامل شناسه روتر همسایه (Neighbor ID)، اولویت (Priority)، و زمان مرده (Dead Time) باقیمانده است.
show ip route ospf
-
- این دستور صرفاً مسیرهایی را که از طریق پروتکل OSPF در جدول مسیریابی روتر یاد گرفته شدهاند، نمایش میدهد. مسیرهای متصل (Connected routes) یا مسیرهای یادگرفتهشده از سایر پروتکلها در این خروجی مستثنی هستند.
show ip ospf interface [interface-type interface-number]
-
- این دستور اطلاعات جزئی OSPF را برای یک واسط مشخص نمایش میدهد. اطلاعاتی مانند آدرس IP، شناسه روتر، نوع شبکه OSPF (مانند Broadcast یا Point-to-Point)، هزینه (Cost)، وضعیت DR/BDR و فواصل زمانی Hello و Dead در این خروجی قابل مشاهده است.
show ip ospf database
-
- این دستور محتوای کامل پایگاه داده وضعیت لینک (LSDB) روتر را نمایش میدهد. این اطلاعات شامل انواع LSAها (Type 1, Type 2, Type 3, و غیره) و جزئیات توپولوژی شبکه است.
نتیجهگیری
پروتکل OSPF به عنوان یک پروتکل مسیریابی وضعیت لینک، یک ستون فقرات قابل اعتماد و مقیاسپذیر برای شبکههای بزرگ شرکتی و سازمانی فراهم میکند. با استفاده از الگوریتم SPF و ساختار سلسله مراتبی ناحیهها، OSPF تضمین میکند که هر روتر یک نقشه کامل از توپولوژی داشته باشد و همواره کوتاهترین و بهترین مسیرهای بدون حلقه را محاسبه کند. درک کامل مفاهیمی مانند LSA، LSDB، ناحیهها، DR/BDR و حالات مجاورت، کلید پیادهسازی و عیبیابی موفق این پروتکل قدرتمند است. در شبکههای مدرن، OSPF همچنان یک پروتکل حیاتی است که با معماریهای جدید مانند Software-Defined Networking (SDN) نیز سازگار شده و آیندهای روشن در پیش دارد.
سوالات متداول
پروتکل OSPF برای چه منظوری استفاده میشود؟
پروتکل OSPF برای تعیین مسیر بهینه برای بستههای داده در حین عبور از شبکههای بههمپیوسته استفاده میشود. OSPF با محاسبه کوتاهترین مسیر بر اساس “هزینه” لینکها، تضمین میکند که دادهها از کارآمدترین راه ممکن به مقصد برسند.
هفت حالت (States) پروتکل OSPF کدامند؟
روترهای OSPF برای برقراری مجاورت کامل، فرآیندی را طی میکنند که شامل هفت حالت اصلی است:
- Down (پایین)
- Init (آغازین)
- Two-Way (دوطرفه)
- Exstart (شروع تبادل)
- Exchange (تبادل)
- Loading (بارگذاری)
- Full (کامل)
سه مؤلفه اصلی پروتکل OSPF کدامند؟
سه مؤلفه اصلی که پروتکل OSPF بر اساس آنها عمل میکند عبارتند از:
- کشف همسایگی (Neighbor discovery)
- تبادل اطلاعات وضعیت لینک (Link-state information exchange)
- محاسبه بهترین مسیر (Best-path calculation)
DR و BDR چه نقشی در OSPF دارند؟
DR (Designated Router) و BDR (Backup Designated Router) در شبکههای چنددسترسی (مانند اترنت) انتخاب میشوند تا تعداد مجاورتهای کامل را به حداقل برسانند. DR مسئول توزیع LSAها به تمام روترهای دیگر در سگمنت شبکه است. BDR به عنوان پشتیبان DR عمل میکند و در صورت شکست DR، بلافاصله مسئولیت آن را بر عهده میگیرد.


