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

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

روترهای ISIS نیز با ارسال و دریافت بسته های Hello همسایه های خود را شناسایی و دنبال می کنند که به صورت پیش فرض هر 10 ثانیه یکبار منتقل می گردد.

در پروتکل ISIS دو نوع بسته Hello وجود دارد. بسته hello ارسالی روی اینترفیس های LAN از بسته Hello ارسالی روی اینترفیس های Point-to-Point متفاوت است. ضمنا بسته Hello ارسالی روی اینترفیس های LAN، خود نیز دو نوع L1 و L2 دارد. به عبارت دیگر بسته Hello ای که توسط روترهای L1 روی اینترفیس های LAN ارسال می گردد از بسته Hello روترهای L2 که روی همان اینترفیس ارسال می شود، مجزا است. بنابراین چنانچه دو روتر روی یک LAN هر دو از نوع L1/L2 باشند، دو همسایگی مستقل یکی برای L1 و یکی برای L2 ایجاد می گردد. اما روی اینترفیس های Point-to-Point فقط یک نوع بسته Hello ارسال می شود که هم اطلاعات روتر L1 و هم اطلاعات روتر L2 در آن وجود دارد.

ممکن است این سوال برای شما پیش آمده باشد که چرا در شبکه های LAN بسته Hello مربوط به روترهای L1 جدا از روترهای L2 ارسال می گردد؟ پاسخ واضح است زیرا در یک شبکه LAN ممکن است چندین روتر وجود داشته باشد و بعضی روترها صرفا از نوع L1، بعضی روترها صرفا از نوع L2 و دیگر روترها نیز از نوع L1/L2 باشند. در این صورت روترهای همسایه L1 لزوما با روترهای همسایه L2 در آن LAN یکسان نیستند. به عنوان مثال در شکل زیر روترهای R1، R2، R3 و R4 تشکیل همسایگی L1 می دهند اما روترهای R1، R4 و R5 اشکیل همسایگی L2 می دهند و بنابراین همسایه های L1 از همسایه های L2 متفاوت هستند. در شبکه های Point-to-Point همواره دو همسایه وجود دارند که یا از نوع L1 یا از نوع L2 و یا هر دو نوع هستند

l1l2 ISIS

جدا بودن همسایگی L1 و L2 در شبکه های LAN

در سناریوی زیر که از شکل بالا گرفته شده است، خروجی جدول همسایگی در روتر R1 نشان داده شده است. همانطور که در این خروجی مشاهده می کنید روتر R1 با روتر R4 دو همسایگی مجزا ایجاد نموده است که یکی از نوع L1 و دیگری از نوع L2 است.

neighberISIS

انواع همسایگی در ISIS

R1#sh isis neighbors

 

System Id      Type Interface   IP Address      State Holdtime Circuit Id

R2             L1   Et0/0       192.168.1.2     UP    20       R4.01

R3             L1   Et0/0       192.168.1.3     UP    28       R4.01

R4             L1   Et0/0       192.168.1.4     UP    9        R4.01

R4             L2   Et0/0       192.168.1.4     UP    27       R5.01

R5             L2   Et0/0       192.168.1.5     UP    7        R5.01

مشاهده جدول همسایگی ISIS

اطلاعاتی که در LAN Hello ارسال می شود شامل موارد زیر می باشد

  • System Id روتری که بسته Hello را ارسال می کند
  • Priority که برای انتخاب DIS (معادل DR در OSPF است. در ISIS مفهوم Backup DIS وجود ندارد) بکار گرفته می شود.
  • LAN ID که با اضافه کردن یک بایت به system id روتر DIS شکل می گیرد. دلیل اضافه شدن این یک بایت این است که اگر همین روتر DIS مجددا برای LAN دیگری نیز DIS شد، از این یک بایت بتوانیم برای تفکیک این دو DIS استفاده کنیم.
  • آدرس Area
  • لیست روترهای همسایه
  • اطلاعات Authentication
  • آدرس IP اینترفیس
  • لیست پروتکل هایی که پشتیبانی می کند

اطلاعاتی که در Point-to-Point Hello ارسال می شود، عینا همانند بسته LAN Hello است با این تفاوت که فیلد های LAN ID و priority را ندارد اما یک بایت Circuit Id دارد که مشخص کننده اینترفیس روتر است و قبلا در مورد آن صحبت شده است.

در شکل زیر داخل یک بسته LAN Hello از نوع L1 نشان داده شده است. نمونه ای که در ذیل نشان داده شده است هیج ربطی به سناریوی بالا ندارد و صرفا برای درک بهتر از وبلاگ Amit N. Bhagat به امانت گرفته شده است.

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

lanhello ISIS

فیلدهای ارسالی در بسته LAN Hello

R1#sh isis neighbors detail

System Id      Type Interface   IP Address      State Holdtime Circuit Id

!!! بخشی از خروجی حذف شده است

R4             L1   Et0/0       192.168.1.4     UP    7        R4.01

System Id      Type Interface   IP Address      State Holdtime Circuit Id

  Area Address(es): 49.0001

  SNPA: aabb.cc00.0400

  State Changed: 00:20:44

  LAN Priority: 64

  Format: Phase V

  Remote TID: 0

  Local TID:  0

  Interface name: Ethernet0/0

R4             L2   Et0/0       192.168.1.4     UP    29       R5.01

  Area Address(es): 49.0001

  SNPA: aabb.cc00.0400

  State Changed: 00:20:44

  LAN Priority: 64

  Format: Phase V

  Remote TID: 0

  Local TID:  0

  Interface name: Ethernet0/0

!!! بخشی از خروجی حذف شده است

مشاهده جزئیات جدول همسایگی

همانطور که از قبل می دانید همه روترهای ISIS به صورت پیش فرض L1/L2 هستند و بنابراین هم Hello از نوع L1 و هم از نوع L2 روی اینترفیس های LAN ارسال می کنند. همانطور که قبلا نشان داده شده است اگر بخواهید روتری صرفا L1 باشد، از دستور is-type level-1 در محیط router isis استفاده می کنید که در این صورت روتر صرفا بسته hello از نوع L1 ارسال می کند. اگر بخواهید روتری صرفا بسته hello از نوع L2 ارسال کند، در محیط روتر دستور is-type level-2-only را وارد نمایید. اگر می خواهید از نوع L1/L2 باشد اما روی اینترفیسی صرفا بسته Hello از نوع L1 و یا L2 ارسال کند، با دستور isis circuit-type در محیط اینترفیس نوع بسته hello ارسالی را تعیین کنید.

برا ی تغییر زمان ارسال دوره ای بسته hello از دستور isis hello-interval در محیط اینترفیس استفاده کنید. زمان hold time به صورت پیش فرض 3 برابر زمان hello time است. برای تغییر ضریب hold time از دستور isis hello-multiplier در محیط اینترفیس استفاده کنید.

جزئیات دو دستور فوق در ذیل نشان داده شده است. دو نکته قابل ذکر در این دستورات وجود دارد. اول اینکه تغییر مقدار hello-time و hold-time در دو سطح L1 و L2 به صورت مستقل امکان پذیر است. بدین معنی که روی اینترفیس های LAN، زمان ارسال دوره ای برای L1 Hello و L2 hello می توانند متفاوت از هم باشند. دوم اینکه اگر در دستور hello-interval مقدار زمان ارسال hello-time را minimal انتخاب کنید، مقدار hold-time 1 ثانیه خواهد بود و مقدار hello-time با توجه به ضریب hello-multiplier تعیین می شود. مثلا با قرار دادن 3 در پارامتر hello-multiplier، مقدار hello-time، یک سوم (1/3) ثانیه خواهد بود

Router(config-if)#isis hello-interval ?

  <1-65535>  Hello interval value

  minimal    Holdtime 1 second, interval depends on multiplier

!

Router(config-if)#isis hello-interval minimal ?

  level-1  Specify hello-interval for level-1 IIHs

  level-2  Specify hello-interval for level-2 IIHs

!

Router(config-if)#isis hello-multiplier 3 ?

  level-1  Specify hello multiplier for level-1 IIHs

  level-2  Specify hello multiplier for level-2 IIHs

تغییر hello-time و hold-time در ISIS

مقدار hello time و hold time در روتر DIS یک سوم زمانی است که تنظیم می شود. به صورت پیش فرض مقدار hello time و hold time در روتر DIS، 3.333 ثانیه و 10 ثانیه است. دلیل آن تشخیص سریع قطعی روتر DIS است. در ادامه بیشتر در این خصوص بحث خواهیم کرد.

برای مشاهده جدول همسایگی ISIS از دستور show clns is-neighbors نیز می توانید استفاده کنید که در ذیل نمونه ای از آن نشان داده شده است. ستون ششم در این خروجی circuit id را نشان می دهد. می دانید که circuit id برای آدرس دهی اینترفیس در روتر استفاده می شود. زمانی که نوع اینترفیس LAN است، circuit id به system id روتر DIS اضافه می شود که LAN ID را تشکیل می دهد. در زیر LAN ID برای همسایگی L1، R4.01 و برای همسایگی L2، R5.01 است. از این خروجی می توان فهمید که DIS در شبکه LAN برای همسایگی L1 روتر R4 و برای همسایگی L2 روتر R5 است.

R1#sh clns is-neighbors

System Id      Interface   State  Type Priority  Circuit Id         Format

R2             Et0/0       Up     L1   64        R4.01              Phase V

R3             Et0/0       Up     L1   64        R4.01              Phase V

R4             Et0/0       Up     L1L2 64/64     R4.01              Phase V

R5             Et0/0       Up     L2   64        R5.01              Phase V

مشاهده جدول همسایگی در ISIS و مقدار Circuit ID در شبکه های LAN

شرایط تشکیل همسایگی در ISIS

در پروتکل ISIS نیز همانند همه پروتکل های مسیریابی برای تشکیل همسایگی لازم است تا بعضی از پارمترهای روترهای همسایه با هم مطابقت داشته باشد. بعضی از مواردی که در تشکیل همسایگی ISIS مهم است به شرح ذیل هستند

  • برای تشکیل همسایگی L1 یکسان بودن شماره Area، که در آدرس NET تعیین شده است، ضروری است اما برای تشکیل همسایگی L2 یکسان بودن شماره Area اهمیت ندارد
  • در ISIS همانند EIGRP یکسان بودن hello time و hold time بین دو روتر همسایه ضروری نیست و هر روتر با توجه به hello time تعیین شده در روتر همسایه انتظار بسته hello را دارد
  • یکسان بودن اطلاعات authentication بین روترهای همسایه ضروری است. پیاده سازی authentication به صورت جداگانه در همین فصل صحبت خواهد شد.

حالت های همسایگی در ISIS

در ISIS سه حالت همسایگی زیر وجود دارد

DOWN: این بدان معنی است که در بازه hold time از آن همسایه بسته hello دریافت نشده است

Intitializing: در این حالت بسته hello از همسایه دریافت شده است اما همسایه، بسته hello این روتر را دریافت نکرده است. در بسته hello فیلد is-neighbors وجود دارد که لیست روترهایی که در هر اینترفیس، hello آنها دریافت می گردد، در بسته hello ارسالی روی همان اینترفیس قرار داده می شود. بنابراین اگر hello همسایه دریافت شد اما در فیلد is-neighbors آدرس این روتر نباشد، روتر متوجه می شود که همسایه هنوز hello او را دریافت نکرده است

UP: حالت همسایگی UP بدین معنی است که دو طرف hello یکدیگر را دریافت نموده اند و همچنین از نظر پارامترهای پروتکل ISIS با یکدیگر توافق دارند. به عنوان مثال در صورت فعال بودن authentication، اطلاعات رمز بین طرفین یکسان است.

نوشتن دیدگاه


تصویر امنیتی
تصویر امنیتی جدید