بعد از تشکیل همسایگی و انتقال دیتابیس که در بخش های قبلی به آنها پرداختیم، حال نوبت به آن رسیده است تا روتر ها به تا توجه به جدول دیتابیس و الگوریتم SPF بهترین مسیر به هر مقصد را شناسایی کرده و جدول مسیریابی را ایجاد نمایند.
همانطور که می دانیم ISIS دو دیتابیس مجزا برای L1 و L2 می سازد و پروسه SPF روی هر دیتابیس به صورت مجزا اجرا می شود.
مسیرهای ISIS علاوه بر آنکه به دو بخش L1 و L2 تقسیم می شوند، به دو دسته Internal و External نیز قابل دسته بندی هستند. مسیر های Internal مسیرهایی هستند که مقصد آنها در محدوده ISIS قرار دارد و مسیرهای External نیز به مسیرهای به مقصد خارج از دامنه ISIS گفته می شوند. مسیرهای L2 می توانند Internal و یا External باشند اما مسیرهای L1 به صورت معمول فقط Internal هستند مگر آنکه با روش های خاص بتوانیم مسیرهای L1 و External ایجاد نماییم که معمولا پیشنهاد نمی شود.
اگر مسیر مقصدی هم از نوع L1 و هم از نوع L2 وجود داشته باشد، همواره مسیرهای L1 به مسیرهای L2 ترجیح داده می شود. گزینه بعدی در انتخاب بهترین مسیر متریک است. بدین معنی که اگر چند مسیر L1 به مقصد خاصی وجود داشته باشد، مسیر یا مسیرهای با متریک کمتر در جدول مسیریابی قرار داده می شود.
متریک در ISIS چگونه محاسبه می شود؟ به صورت پیش فرض متریک در ISIS همانند OSPF جمع cost لینک های مسیر است اما تفاوت آن با OSPF این است که در ISIS متریک معیاری از پهنای باند لینک نیست بلکه به صورت پیش فرض متریک همه لینک ها مقدار ثایت 10 است. به عبارت دیگر این بدان معناست که متریک در ISIS بیشتر شبیه RIP است تا OSPF. در ISIS مسیری بهتر است که تعداد لینک های مسیر آن کمتر باشد، هر چند مقدار آن 10 برایر متریک پروتکل RIP است. برای تغییر مقدار متریک هر لینک می توانید از دستور زیر استفاده نمایید. توجه کنید که مقدار متریک برای L1 و L2 به صورت مجزا قابل تعریف است
Router(config-if)#isis metric 10 ? <1-16777214> Delay metric level-1 Apply metric to level-1 links level-2 Apply metric to level-2 links <cr> ! |
تغییر متریک در ISIS
در دستور فوق مشاهده می کنید که علا.ه بر مقدار cost به ازاء هر لینک می توانید مقدار Delay را نیز تعریف کنید که به صورت پیش فرض در محاسبه متریک ISIS تاثیر گذار نیستند. اگر این دستور را ادامه دهید، مشاهده خواهید نمود که علا.ه بر متریک و Delay مقادیر Expense و Error نیز قابل تعریف هستند. Delay، تاخیر لینک را نشان می دهد. Expense و Error به ترتیب هزینه و میزان اطمینان لینک را نشان می دهند. تاکنون مشاهده نشده است که در مستندی استفاده از این متغیرها در محاسبه متریک ISIS پیشنهاد گردد.
حداکثر مجاز مقدار متریک هر لینک 63 و مجموع متریک همه لینک ها 1023 است که به 10 بیتی بودن این فیلد مرتبط می شود. این محدودیت باعث شده است تا در نسخه های جدید IOS مقدار متریک به 32 بیت افزایش یابد. برای فعال کردن نسخه 32 بیتی متریک در ISIS از دستور metric-style wide در محیط router isis استفاده کنید. به پیش فرض نوع متریک در ISIS، narrow است که 10 بیتی می باشد. خروجی نوع متریک می تواند narrow، wide، transition و یا wide transition باشد که در خروجی دستور show clns protocol قابل مشاهد است که تعیین می کند نوع متریک ارسالی و یا دریافتی مجاز توسط روتر narrow و یا wide است. نوع transition بدین معنی ست که روتر هم نوع wide و هم نوع narrow را ارسال و دریافت کند.
Router(config-router)#metric-style ? narrow Use old style of TLVs with narrow metric transition Send and accept both styles of TLVs during transition wide Use new style of TLVs to carry wider metric Router(config-router)#metric-style wide ? level-1 Level-1 only level-1-2 Level-1-2 level-2 Level-2 only transition Accept both styles of TLVs during transition <cr> |
تغییر نوع متریک در ISIS
Router#show clns protocol !!! بخشی از خروجی حذف شده است Generate narrow metrics: level-1-2 Accept narrow metrics: level-1-2 Generate wide metrics: none Accept wide metrics: none
|
مشاهده نوع متریک ارسالی و ردیافتی در ISIS
در جدول ذیل تفاوت انواع متریک در ISIS شرح داده شده است. همانطور که مشاهده می کنید تفاوت wide با wide transition در ارسال narrow metric است که در نوع transition ارسال می شود اما در wide transition ارسال نمی شود.
Accept wide metrics | Generate wide metrics | Accept narrow metrics | Generate narrow metrics | نوع متریک/عملکرد |
---|---|---|---|---|
خیر | خیر | بله | بله | narrow |
بله | بله | خیر | خیر | wide |
بله | بله | بله | بله | transition |
بله | بله | بله | خیر | Wide transition |
مقایسه انوع متریک در ISIS