روتینگ پروتکل های خانواده Distance Vector ها را با هم بررسی کردیم که عبارت بودند از RIP و IGRP. حال نوبتی هم باشد نوبت به خانواده Link State ها می رسد. ما فقط یکی از روتینگ پروتکل های این خانواده را با هم بررسی می کنیم که عبارت است از OSPF.

روتینگ پروتکل  Open Shortest Path First - OSPF

الگوریتمی که OPSF از آن استفاده می کند SPF هست که به آن Dijkstra هم می گویند. در OSPF هر روتر یک دیدکلی از شبکه دارد و بر مبنای اون دید کلی کوتاه ترین مسیر را انتخاب می کند و آپدیت هایش را به سمت روترهای دیگر روانه می کند.
برخلاف Distance Vector ها که به صورت روتین و ریتمیک مثلا هر سی ثانیه یکبار کل جدول مسیریابی شان را برای روتر های همسایه Advertise می کردند در Link state ها به محض بروز تغییر ، فقط تغییرات در شبکه ارسال می شود.جلوتر بیشتر به این مباحث می پردازیم..

برخی خصوصیات این روتینگ پروتکل را به صورت مختصر می بینیم:

1.Link State: همانطور که می دانید OSPF از خانواده Link State ها هست.

2. Multicast : آپدیت هایش را به صورت مالتی کست در شبکه ارسال می کند. که از دو IP استفاده میکند که عبارتند از 224.0.0.5 و 224.0.0.6

 

3. Classless هست.  (فرق بین Classfull و Classless رو یادتون هست؟)

4.Triggered Update  : یعنی به محض بروز تغییر در شبکه (مثلا down شدن یک روتر) اون تغییرات را در شبکه ارسال می کند.

5.: Cost  متریک مسیریابی اش بر اساس Cost هست. متریک مسیریابی RIP و IGRP رو یادتون هست؟

این متریک ارتباط مستقیم با Bandwidth اینترفیس دارد. فرمول محاسبه آن به صورت زیر هست:

همانطور که می بینید هر چقدر مخرج کسر عدد بزرگتری باشد(یعنی پهنای باند بیشتری داشته باشیم)، عددی که برای Cost بدست می آید عدد کمتری است. پس بهترین مسیر ، مسیری است که Cost کمتری داشته باشد.

محدودیتی در تعداد روترها ندارد.

اما این محدودیت نداشتن در تعداد روترها و عدم محدودیت Hop Count اگر نظام مند نباشد چیز خوبی نیست. چون فرض بفرمایید با 1000 روتر طرف هستیم. چه پراسس سنگینی بر روی روتر اتفاق می افتد که بخواهد از بین این هزار روتر بهترین مسیر را انتخاب کند و یا به همه آپدیت بفرستد و... .

برای حل این مشکل از مفهومی به نام Area  بندی در داخل OSPF استفاده شده است. حالا این Area بندی یعنی چی؟ عرض می کنم خدمتتون.

Area بندی یعنی قسمت قسمت کردن. منطقه بندی کردن.ما از این طریق میتونیم شبکه را به قسمت های کوچکتر تقسیم کنیم.

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

همانطور که می بینید ما 9 روتر را در سه Area به نام های Area-1 و Area-2 و Area-3 قرار دادیم. در اینجا در هر Area سه روتر قرار گرفته است. پیشنهاد شده است که در هر Area حداکثر تا 200 روتر قرار بگیرد.

قانون کلی در OSPF: هر روتر آپدیت های خودش را فقط برای روترهای Area خودش ارسال می کند.

برای اینکه بتونیم بین Area ها، ارتباط برقرار کنیم ، از یک Area مرکزی استفاده می کنیم که به آن Area-0 یا BackBone گفته می شود. اگر دقت کنید روترهای R-1 و R-2 و R-3 در BackBone یا Area-0 قرار گرفته اند.(در شکل هم مشخص شده است.)

BackBone وظیفه برقراری ارتباط بین Area ها را برعهده دارد پس بهتر است که در روتر های موجود در آن هیچ End User ی قرار نگیرد.

نکته دیگری هم که باید دقت کنید این هست که اینترفیس های روبروی هم حتما باید داخل یک Area باشند البته در شکل یک چیز بدیهی هست ولی در پیاده سازی نکته مهمی است که باید به آن دقت کنید.

تعریف یک سری اصطلاحات در OSPF

Normal Area: به Area ای که وظیفه برقراری ارتباط بین End User ها را برعهده دارد Normal Area گفته میشود.همه Area ها غیر از BackBone، نرمال Area هستند.

Transmit Area: به Area ای که وظیفه برقراری ارتباط بین Area های مختلف رو بر عهده دارد، Transmit Area می گویند. همانطور که خودتون هم متوجه شدید، منظور همان Area-0 یا BackBone هست.

ABR Area Border Router: به روتری که حداقل دو تا از اینترفیس های آن در دو Area مختلف قرار گرفته باشد، ABR می گویند. اگر دقت کنید تمام روترهای بک بون ، ABR هم هستند، چون هر کدام دو اینترفیس در دو Area مختلف دارند.

ASBR - Autonomous System Border Router: به روتری که روتینگ پروتکل خارجی را وارد شبکه می کند، ASBR می گویند. Redistribution رو در جلسه پیش یادتون هست؟ روتری که روتینگ پروتکل خارجی رو Redistribue می کنه به داخل OSPF بهش ASBR می گویند.

در تصویری که از جزوه ام اسکن کردم روتر R-6 که RIP رو وارد کرده ،ASBR  نام دارد.

 

مفاهیم DR و BDR در OSPF

DR یا Designated Router در یک کلام نماینده روترها در هر Area هست.یعنی در هر Area یک روتر نماینده انتخاب می شود تا همه آپدیت هایشان را به اون بدهند تا آن روتر DR آپدیت ها را در شبکه پخش کند. BDR هم بک آپ یا پشتیبان هست که اگر این روتر از دسترس خارج شد سریعا BDR جاش رو بگیره.

اما این روتر DR یا نماینده چطوری انتخاب می شود؟ 

دو تا فاکتور برای انتخاب BR دخیل هست:

1- هر روتر Priority دارد، هر کدام از روتر ها که دارای Priority بالاتری باشد بعنوان DR انتخاب می شود.

2- اگر Priority ها یکسان بود ، روتری که Range IP بیشتری داشته باشد، یعنی Router-ID بالاتری داشته باشد، بعنوان DR انتخاب می شود.مثلا بین 10.0.0.1 و 11.0.0.1 مسلما 11 بالاتر هست.

البته این در شرایطی هست که همه روترها باهم روشن شوند چون موقع انتخاب DR، از بین روترهایی که روشن هست DR انتخاب می شود .مثلا اگر روترهای بسیاری باشند که Priority بالاتری داشته باشند ولی خاموش باشند و دیرتر روشن شوند، دیگر DR انتخاب شده عوض نمی شود.

در پیاده سازی واقعی به نوعی اولین روتری که روشن می شود DR می شود چرا که روترها کیلومترها با هم فاصله دارند و با تاخیر به یکدیگر وصل می شوند. البته دستوری وجود دارد که DR را ریست کند و دوباره انتخاب کند.

یادتونه در بالا گفتیم که در  OSPF آپدیت ها به صورت مالتی کست در شبکه ارسال می شود و از دو آی پی 224.0.0.5 و 224.0.0.6 استفاده می شود؟ خب حالا چرا دو IP ؟

روترهایی داخل یک Area که با DR ارتباط دارند برای ارسال آپدیت هایشان از IP بزرگتر یعنی 224.0.0.6 استفاده می کنند. و روتر DR برای ارسال آپدیت هایش به روترهای دیگر از IP کوچکتر یعنی 224.0.0.5 استفاده می کند.

نکته ای در مورد BDR

هر آپدیتی که روترهای داخل یک Area می فرستند هم DR می گیرد و هم BDR. فقط فرقشان این هست که BDR به کسی جواب نمی دهد. البته این جواب ندادن ها تا زمانی است که DR از شبکه خارج شود و Down شود که در اون موقع BDR تبدیل به DR می شود و وظایف DR را انجام می دهد.

خب ، مفاهیم را تا اینجا داشته باشید.. ان شاء الله در جلسه بعد نحوه پیاده سازی این روتینگ پروتکل را باهم بررسی می کنیم. موفق باشید.

آپدیت شده در تاریخ 27/12/90

سه نکته از مبحث تئوری OSPF بحث انتخاب DR و BDR

یک. اگر روتری بخواهد در پروسه انتخاب BDR، DR شرکت نکند، عدد Priority اون رو صفر می گذاریم.

دو. روترها بزرگترین IP آدرس اینترفیس هایشان را به عنوان Router-ID در شبکه Advertise می کنند، اما این تا زمانی است که اینترفیس Loopback وجود نداشته باشد. معمولا بخاطر اینکه اینترفیس های فیزیکی UP و Down شدن زیادی دارند، یک اینترفیس مجازی (LoopBack) می سازند و به آن IP آدرس می دهند. زمانی که روتر اینترفیس LoopBack روی خودش داشته باشد، دیگر به بقیه اینترفیس هایش نگاه نمی کند و اون رو بعنوان Router-ID در شبکه Advertise می کند.

سه: DR و BDR فقط در شبکه های Mesh و Point to Multipoint انتخاب می شوند. و ما در شبکه هایی مثل  Point-to-Point چیزی به نام انتخاب DR و BDR نداریم و نیازی هم بهش نیست. به عبارت واضح تر در روتنیگ پروتکل OSPF در هر نوع شبکه ای DR و BDR انتخاب نمی شود.