OSPF چیست؟

پروتکل مسیریابی OSPF

پروتکل مسیریابی OSPF یک پروتکل Link State است که برای شبکه های IP ساخته شده و براساس الگوریتم Shortest Path First (SPF) است. OSPF مشهورترین پروتکل در بین خانواده پروتکل Interior Gateway Protocol (IGP) است که در اواسط 1980 توسط گروه کاری OSPF IETF ساخته شده است. این یک پروتکل مسیریابی است که به طور گسترده مورد استفاده قرار گرفته و پشتیبانی می شود. این یک پروتکل داخل دامنه (domain) است، به این معنی که از آن در یک Area یا یک Network استفاده می شود.

این یک الگوریتم مسیریابی Link State است که در آن هر روتر حاوی اطلاعات هر دامنه است و بر اساس این اطلاعات، کوتاهترین مسیر را تعیین می کند. هدف از مسیریابی یادگیری مسیرها است. OSPF با یادگیری هر روتر و زیر شبکه (Subnet) در کل شبکه به این هدف دست می یابد. هر روتر حاوی اطلاعات مشابهی در مورد شبکه است.

روشی که روتر با ارسال LSA (Link State Advertisements) این اطلاعات را یاد می گیرد. این LSA ها حاوی اطلاعاتی در مورد هر روتر، زیرشبکه (Subnet) و سایر اطلاعات شبکه هستند. هنگامی که LSA ها فول شدند، پروتکل مسیریابی OSPF اطلاعات را در یک پایگاه داده Link State معروف به LSDB ذخیره می کند. هدف اصلی داشتن اطلاعات یکسان در مورد هر روتر در (Database Link State) LSDB است.

 

سپس این پروتکل مسیریابی OSPF سه جدول برای ذخیره سازی اطلاعات ایجاد می کند:

ـ Neighbor Table: شامل تمام همسایگان کشف شده OSPF است که اطلاعات مسیریابی با آنها جایگزین می شود

ـ Topology Table: شامل کل نقشه راه شبکه با تمام روترهای OSPF موجود و مسیرهای بهترین و جایگزین محاسبه شده است.

ـ Routing Table: شامل بهترین مسیرهای فعلی که برای انتقال ترافیک داده ها بین همسایگان استفاده می شود.

 

پروتکل مسیریابی OSPF بسته های IP را فقط براساس آدرس IP مقصد موجود در هدر بسته IP هدایت می کند. OSPF به سرعت تغییرات توپولوژیکی را شناسایی می کند، از جمله وقتی که رابط های روتر از دسترس خارج می شوند و مسیرهای جدید بدون حلقه (loop) را به سرعت و با حداقل ترافیک سربار مسیریابی محاسبه می کند.

 

پروتکل مسیریابی OSPF دارای مزایای اصلی زیر است:

در مقایسه با پروتکل های مسیریابی distance-vector مانند پروتکلRIP(Routing Information Protocol) ، OSPF برای سرویس دهی به شبکه های اینترنتی بزرگ و ناهمگن مناسب تر است. با تغییر توپولوژی شبکه، OSPF می تواند مسیرها را در مدت زمان کوتاهی دوباره محاسبه کند.

با استفاده از پروتکل مسیریابی OSPF، می توانید یک سیستم خودمختار (AS) را به چند Area تقسیم کرده و توپولوژی های Area را جدا نگه دارید تا ترافیک مسیریابی OSPF و اندازه پایگاه داده Link State هر منطقه کاهش یابد. OSPF همچنین مسیریابی چند مسیری را با هزینه برابر فراهم می کند.

 

OSPF AREAS:

پروتکل مسیریابی OSPF ویژگی بسیار متمایزی را ارائه می دهد به نام: Routing Areas.

Routing Areas به معنای تقسیم روترها در داخل یک سیستم خودمختار (AS) دارای پروتکل مسیریابی OSPF است، به مناطقی که هر منطقه (Area) از گروهی از روترهای متصل تشکیل شده است.

ایده تقسیم شبکه OSPF به Area، ساده سازی مدیریت و بهینه سازی منابع موجود است. بهینه سازی منابع به ویژه برای شبکه های سازمانی بزرگ با انبوهی از شبکه ها و لینک ها مهم است. داشتن بسیاری از روترها که پایگاه داده Link State  را مبادله می کنند، می تواند باعث سرریز شدن شبکه و کاهش کارایی آن شود.

Areas یک مجموعه منطقی از روترها هستند که دارای شناسه منطقه یا شماره یکسان در داخل یک شبکه OSPF هستند، شبکه OSPF خود می تواند شامل چندین Area باشد، منطقه اول و اصلی  backbone area “Area 0” نامیده می شود، همه مناطق دیگر باید به Area 0 متصل شوند مانند شکل زیر:

 

پروتکل مسیریابی OSPF

 

همه روترهای موجود در یک Area باید دارای جدول توپولوژی یکسان باشند. به طور معمول هر  Area حداکثر 50 تا 100 روتر می تواند داشته باشد که به شرایط شبکه بستگی دارد. اما جدول مسیریابی متفاوتی به عنوان OSPF بسته به موقعیت مکانی آن در داخل توپولوژی شبکه، بهترین مسیرهای مختلف را محاسبه می کند در حالی که همه آنها از نظر توپولوژی یکسان هستند.

 

انواع Area:

 

 

ـ Area Border Routers:

روتر هایی که به بیش از یک Area تعلق دارند و یک یا چند Area OSPF را به ناحیه ستون فقرات (Backbone Area) متصل می کنند، مسیریاب های ناحیه ای (ABR) نامیده می شوند. حداقل یک رابط در Backbone Area است در حالی که رابط دیگر در منطقه دیگر است. ABR همچنین یک پایگاه داده توپولوژیکی جداگانه برای هر منطقه ای که به آن متصل هستند نگهداری می کند.

 

ـ Backbone Areas:

یک Backbone Areas شامل تمام شبکه های موجود در ID منطقه 0.0.0.0، روتر های متصل شده و همه ABR ها است. خود ستون فقرات (Backbone) هیچگونه ABR ندارد. این منطقه اطلاعات مسیریابی را بین مناطق توزیع می کند. این منطقه به سادگی یک منطقه دیگر است، بنابراین اصطلاحات و قوانین مناطق اعمال می شود: یک روتر که مستقیماً به Backbone متصل است، یک روتر داخلی در این ناحیه است و توپولوژی Backbone از مناطق دیگر در AS پنهان است.

روترهایی که این منطقه را تشکیل می دهند باید از نظر فیزیکی مجاور باشند. اگر اینگونه نیست، باید لینک های مجازی را پیکربندی کنید تا ظاهر اتصال ستون فقرات (Backbone) ایجاد شود. شما می توانید بین هر دو ABR که دارای رابط هستند پیوندهای مجازی ایجاد کنید. در پروتکل مسیریابی OSPF دو روتر که با یکدیگر پیوند مجازی برقرار کرده اند، طوری رفتار می کنند که گویی به یک شبکه نقطه به نقطه متصل شده اند.

 

ـ Stub Areas:

Stub Areas عبارتند از مناطقی که دیتابیس آنها از AS عبور نمی کند. اندازه پایگاه داده های توپولوژیکی و در نتیجه میزان حافظه مورد نیاز در روترهای داخلی در منطقه داخلی کاهش می یابد. روتر ها در یک Stub Areas برای دسترسی به مقصدهای خارجی AS به مسیرهای پیش فرض مبدا ABR منطقه  یعنی defult route ها متکی هستند. قبل از اینکه defult route را تبلیغ کند، باید گزینه پیش فرض متریک را در ABR پیکربندی کنید. ABR پس از پیکربندی، یک مسیر پیش فرض را تبلیغ می کند، بنابراین روتر ها در defult route می توانند به مقصد خارج از منطقه برسند.

 

محدودیت های زیر در مورد Stub Areas اعمال می شود:

شما نمی توانید از طریق یک Stub Areas یک لینک مجازی ایجاد کنید، یک Stub Areas نمی تواند حاوی روتر مرزی AS باشد، Backbone نمی تواند یک Stub Area باشد.

 

ـ Not-So-Stubby Areas:

یک Stub Area هیچ مسیر خارجی در آن ندارد. یک Not-So-Stubby Area (NSSA) دیتابیس آن شامل Routeهای داخلی و مسیرهای Redistributed شده و Default Route می باشد. محدودیت زیر برای NSSA اعمال می شود: شما نمی توانید یک ناحیه را هم به عنوان یک Stub Area و هم به عنوان NSSA پیکربندی کنید.

 

ـ Transit Areas:

از Transit Areaبرای عبور ترافیک از یک منطقه مجاور به Backbone استفاده می شود (یا اگر ستون فقرات از یک منطقه بیش از دو هاپ باشد) یا به منطقه دیگر. این ترافیک از منطقه اصلی عبور نمی کند و مقصد آن نیز نیست.

 

نقش روترها در OSFP:

 

ـ AS Boundary Routers:

به روتر هایی که اطلاعات مسیریابی را با روتر ها در شبکه های غیر OSPF مبادله می کنند، AS مسیریاب نامیده می شوند. آنها مسیرهای آموخته شده خارجی را در سراسر OSPF AS تبلیغ می کنند. بسته به موقعیت روتر مرزی AS در شبکه، می تواند یک ABR، یک Backbone Router یا یک Internal Router باشد (به استثنای Stub Area).

روترهای داخلی در یک Stub Area نمی توانند یک روتر مرزی AS باشند زیرا Stub Area نمی توانند حاوی هیچ نوع LSA نوع 5 باشند. روتر ها در محلی که روتر مرزی AS در آن قرار دارد  مسیر رسیدن به آن روتر مرزی AS را می دانند. هر وسیله مسیریابی در خارج از منطقه فقط مسیر نزدیکترین ABR را می داند که در همان منطقه ای است که روتر مرزی AS در آن قرار دارد.

 

ـ Backbone Router:

روترهایی هستند که دارای یک یا چند رابط متصل به Backbone Area هستند (شناسه منطقه 0.0.0.0).

 

ـ Internal Router:

به روترهایی که فقط به یک ناحیه OSPF متصل می شوند روترهای داخلی گفته می شود. همه رابط های موجود در روترهای داخلی مستقیماً به شبکه های یک منطقه واحد متصل هستند.

 

انواع LINK STATE PACKET  ها در OSPF:

روترهای OSPF بسته اطلاعاتی را تولید می کنند که با روترهای همسایه تبادل می شوند. این بسته ها برای اهداف مختلفی از جمله ایجاد روابط همسایگی بین روترها، محاسبه هزینه و بهترین مسیر برای یک مسیر خاص و موارد دیگر طراحی شده اند. در زیر لیستی از بسته های OSPF که بیشتر استفاده می شود وجود دارد:

 

ـ Link State Advertising (LSA):

این بسته است که تمام اطلاعات اساسی در مورد توپولوژی را حمل می کند و برای انجام عملکردهای مختلف بین Area ها قرار می گیرد، 11 نوع بسته LSA وجود دارد که به طور گسترده ای ترکیب می شوند.

 

انواع LSA در OSPF

 

ـ Link State DataBase (LSDB):

بسته LSDB شامل تمام اطلاعات به روز شدهLink State بین شبکه است و همه روترهای همان منطقه دارای LSDB یکسان هستند و وقتی دو روتر همسایگی جدید ایجاد می کنند، LSDB خود را همگام سازی می کنند تا کاملاً مجاور باشد.

 

ـ Link State Request(LSR):

هنگامی که همسایگی بین روترها شکل گرفت و LSDB رد و بدل شد، روترهای همسایه ممکن است اطلاعات LSDB گمشده را پیدا کنند، سپس آنها یک بسته درخواست برای ادعای قطعه گمشده ارسال می کنند، همسایگان این بسته را دریافت می کنند و با LSU پاسخ می دهند.

 

ـ Link State Update (LSU):

یک بسته پاسخ، قطعه خاصی از اطلاعات LSDB را که توسط همسایه OSPF درخواست شده است، از طریق بسته LSR ارسال می کند.

 

ـ Link State Acknowledgment(LSAcK):

روتر که بسته LSR را ارسال می کند با ارسال بسته تأیید، دریافت LSU را از همسایه تأیید می کند.

 

ـ OSPF Three-Way Handshake:

دو روتر یا چندین روتر که از طریق نقطه به نقطه به یکدیگر متصل شده اند می توانند از طریق پروتکل مسیریابی OSPF با یکدیگر ارتباط برقرار کنند. این دو روتر تنها هنگامی مجاور هستند که هر دو روتر HELLO packet را برای یکدیگر ارسال کنند. هنگامی که هر دو روتر تأیید HELLO packet را دریافت می کنند، پس آنها در یک حالت دو طرفه قرار می گیرند. از آنجا که OSPF یک پروتکل مسیریابی Link State است، بنابراین امکان ایجاد رابطه همسایگی بین روترها را فراهم می کند.

این دو روتر تنها زمانی می توانند همسایه باشند که به یک Subnet متعلق باشند، Area ID یکسان، Subnet Mask، تایمرها و احراز هویت مشترک داشته باشند. رابطه OSPF رابطه ای است که بین روترها شکل می گیرد تا آنها بتوانند یکدیگر را بشناسند. اگر حداقل یکی از آنها روتر یا پشتیبان تعیین شده روتر در شبکه باشد یا از طریق لینک نقطه به نقطه متصل شود، این دو روتر می توانند همسایه باشند.

 

انواع لینک ها درOSPF:

 

لینک در اصل یک اتصال است، بنابراین ارتباط بین دو روتر به عنوان لینک شناخته می شود. چهار لینک در پروتکل مسیریابی OSPF وجود دارد:

 

ـ لینک نقطه به نقطه یا Point-to-point link:

لینک نقطه به نقطه مستقیماً دو روتر را به هم متصل می کند بدون اینکه هیچ هاست یا روتر در این بین باشد.

 

ـ لینک گذرا یا Transient link:

وقتی چندین روتر در شبکه متصل می شوند، به عنوان لینک گذرا شناخته می شوند. Transient link دو پیاده سازی متفاوت دارد:

 

  • توپولوژی غیرواقعی یا Unrealistic topology: وقتی همه روترها به یکدیگر متصل شوند، به عنوان توپولوژی غیرواقعی شناخته می شود.

 

  • توپولوژی واقع گرایانه یا Realistic topology: وقتی برخی از روترهای تعیین شده در شبکه وجود داشته باشند، به عنوان توپولوژی واقع بینانه شناخته می شوند. در اینجا روتر تعیین شده یک روتر است که تمام روترها به آن متصل هستند. تمام بسته های ارسالی توسط روترها از طریق روتر تعیین شده منتقل می شوند.

 

ـ لینک خرد یا Stub link:

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

 

ـ لینک مجازی یا Virtual link:

اگر لینک بین دو روتر قطع شود، مدیریت مسیر مجازی بین روترها ایجاد می کند و این مسیر نیز می تواند طولانی باشد.

 

OSPF Message Format (فرمت پیام OSPF):

 

  • Version: این یک فیلد 8 بیتی است که نسخه ی پروتکل مسیریابی OSPF را مشخص می کند.
  • Type: یک فیلد 8 بیتی است و نوع بسته OSPF را مشخص می کند.
  • Message: این یک قسمت 16 بیتی است که طول کل پیام، از جمله هدر را تعریف می کند. بنابراین کل طول برابر است با مجموع طول پیام و هدر.
  • Source IP address: آدرسی را که بسته ها از آن ارسال می شوند یعنی ادرس IP مبدا را تعریف می کند.
  • Checksum: برای تصحیح خطا و تشخیص خطا استفاده می شود.
  • Authentication type: دو نوع احراز هویت وجود دارد، به عنوان مثال 0 و 1. در اینجا  0 به این معنی است که هیچ احراز هویتی در دسترس نیست و 1 احراز هویت مبتنی بر رمز عبور را مشخص می کند.
  • Authentication: این یک قسمت 32 بیتی است که حاوی مقدار واقعی داده های احراز هویت است.

 

بسته های OSPF:

پنج نوع بسته مختلف در پروتکل مسیریابی OSPF وجود دارد:

  1. Hello
  2. Database Description
  3. Link state request
  4. Link state update
  5. Link state Acknowledgment

 

Hello Packet 

بسته Hello برای ایجاد رابطه همسایگی و بررسی قابلیت دسترسی همسایه استفاده می شود. بنابراین در صورت نیاز به برقراری ارتباط بین روترها از بسته Hello استفاده می شود.

 

2ـ Database Description:

پس از برقراری اتصال، اگر روتر همسایه برای اولین بار با سیستم ارتباط برقرار کند، اطلاعات پایگاه داده مربوط به توپولوژی شبکه را به سیستم می فرستد تا سیستم بتواند مطابق آن به روزرسانی یا اصلاح شود.

 

3ـ Link state request:

درخواست Link state request توسط روتر ارسال می شود تا اطلاعات یک مسیر مشخص را بدست آورد. فرض کنید دو روتر وجود دارد، یعنی روتر 1 و روتر 2، و روتر 1 می خواهد اطلاعات مربوط به روتر 2 را بداند بنابراین روتر 1 درخواست Link state request را به روتر 2 می فرستد. وقتی روتر 2 این درخواست را دریافت می کند، این اطلاعات را به روتر 1 ارسال می کند.

 

4ـ Link state update:

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

 

5ـ Link state Acknowledgment:

تأیید وضعیت لینک با مجبور کردن هر روتر برای ارسال تأیید بر روی Link state update، مسیریابی را قابل اطمینان تر می کند. به عنوان مثال روتر A وضعیت Link state update را به روتر B و روتر C ارسال می کند، سپس در عوض  روتر B و C تأیید ان را به روتر A می فرستد، به طوری که روتر A بداند که هر دو روتر Link state Acknowledgment را دریافت کرده اند.

 

انواع پروتکل های مسیریابی

 

برگشت به بالا
محصول با موفقیت به سبد خرید اضافه شد.