بعد از آشنایی با مفاهیم اولیه پروتکل ISIS و با فرض آنکه قبلا با مفاهیم و پیاده سازی پروتکل OSPF آشنا هستید، حالا نوبت آن رسیده است که تا روی یک توپولوژی ساده، ISIS را پیاده سازی کنیم و کمی با شیوه پیاده سازی اولیه آن آشنا شویم
برای اینکار توپولوژی شکل فوق را مجددا در نظر بگیرید که پیکربندی پروتکل ISIS در روتر R1 در ذیل نشان داده شده است. نکاتی که در پیاده سازی این سناریو مورد توجه هستند به شرح ذیل می باشند
- همانطور که مشاهده می کنید همه روترهای این سناریو در یک Area قرار دارند. در ادامه سناریوی دیگری را که در آن بیش از یک Area وجود دارد را نیز پیاده سازی خواهیم کرد
- برای فعال کردن روتر ISIS در روتر از دستور router isis استفاده می کنیم.
- برای فعال کردن اینترفیس های پروتکل ISIS برخلاف همه دیگر پروتکل های IGP از دستور network استفاده نمی کنیم بلکه در محیط خود اینترفیس از دستور ip router isis استفاده می کنیم
- همانطور که قبلا گفته شد حتما همه روترهای ISIS باید آدرس از نوع clns داشته باشند که در خصوص فرمت آن قبلا در همین فصل صحبت شده است. در این سناریو فقط یک Area وجود دارد و شماره Area، 0001 در نظر گرفته شده است. system-id برای هر روتر مقدار 6 بایتی منحصربفرد به صورت زیر در نظر گرفته شده است. مقدار NSEL نیز همواره 00 می باشد
R1#sh isis hostname Level System ID Dynamic Hostname (notag) * 0000.0000.0001 R1 1 0000.0000.0002 R2 1 0000.0000.0003 R3 1 0000.0000.0004 R4 1 0000.0000.0005 R5 |
system-id در نظر گرفته شده برای روترها
- به صورت پیش فرض همه روترها و اینترفیس های ISIS از نوع L1/L2 هستند. در سناریویی که فقط یک Area وجود داشته باشد، نیازی نیست تا روترها هم L1 و هم L2 باشند. در این سناریو همه روترها می توانند صرفا L1 و یا L2 باشند و بین این دو تفاوتی نیست. بنابراین در پیکربندی ذیل با دستور is-type level-1 همه روترها به صورت L1 در نظر گرفته شده اند. وقتی روتری صرفا L1 و یا L2 باشد، level هر یک از لینک های آن نیز با توجه به نوع is-type تعیین می شود. در این سناریو چنانچه همه روترها را به صورت L1/L2 رها کنید، هیچ مشکلی ایجاد نمی شود اما دو همسایگی مجزا یکی از نوع L1 و یکی از نوع L2 ایجاد می گردد. دو دیتابیس جداگانه L1 و L2 نیز در هر یک از روتر ایجاد می گردد که در این صورت استفاده بهینه از منابع نشده است.
- برای فعال کردن ISIS در اینترفیس های frame-relay به دو نکته توجه کنید. اول اینکه نوع network باید بین همه روترهای همسایه یکسان باشد. در مورد انواع network در ISIS در بخش مجزایی در همین فصل صحبت خواهیم کرد. دوم اینکه برای ارسال ترافیک های ISIS روی VC های frame-relay حتما باید نگاشتی دستی برای VC های frame-relay در شبکه clns نوشته شود. برای اینکار از دستور frame-relay map clns استفاده می کنیم
!!!! R1 router isis net 49.0001.0000.0000.0001.00 is-type level-1 ! interface FastEthernet0/0 ip address 10.1.1.1 255.255.255.0 ip router isis ! interface Serial1/0 ip address 10.1.3.1 255.255.255.0 ip router isis encapsulation ppp ! interface Serial1/1 ip address 10.1.4.1 255.255.255.0 ip router isis encapsulation frame-relay serial restart-delay 0 frame-relay map clns 104 broadcast frame-relay map ip 10.1.4.2 104 broadcast ! interface Serial1/2 ip address 10.1.2.1 255.255.255.0 ip router isis |
چگونگی پیاده سازی ISIS
بعد از پیکربندی اولیه مهمترین دستورات مانیتورینگ show isis neighbors، show isis topology و show isis database هستند که به ترتیب جدول همسایگی، جدول توپولوژی و جدول دیتابیس را نشان می دهند. جدول توپولوژی لیست همه روترها در همه Area ها را نشان می دهد. برای بررسی انواع LSP در ISIS جدول دیتابیس را مورد بررسی قرار می دهیم. در ادامه جدول توپولوژی و جدول دیتابیس روتر R1 نشان داده شده است. جزئیات دیتابیس و انواع LSP را بعدا مورد بررسی قرار خواهیم داد
R1#sh isis topology IS-IS TID 0 paths to level-1 routers System Id Metric Next-Hop Interface SNPA R1 -- R2 10 R2 Fa0/0 ca01.1304.0008 R3 10 R3 Se1/0 *PPP* R4 10 R4 Se1/1 DLCI 104 R5 10 R5 Se1/2 *HDLC* ! R1#sh isis database IS-IS Level-1 Link State Database: LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL R1.00-00 * 0x00000009 0x4DDD 1046 0/0/0 R2.00-00 0x00000003 0x22CE 493 0/0/0 R2.01-00 0x00000001 0x7CD6 493 0/0/0 R3.00-00 0x00000003 0x29C3 549 0/0/0 R4.00-00 0x00000005 0x19C9 1044 0/0/0 R4.01-00 0x00000001 0x88C6 1044 0/0/0 R5.00-00 0x00000002 0x07E4 661 0/0/0 |
مقایسه خروجی جدول توپولوژی و جدول دیتابیس در ISIS
با توجه به اینکه سناریوی قبلی فقط شامل یک Area بوده است. در ادامه قصد داریم پیاده سازی ISIS را در شبکه دیگری با بیش از یک Area نشان دهیم. در این سناریو سه Area در نظر گرفته است که هر Area به طور مستقیم با دیگر Area ها در ارتباط است . این ارتباط از طریق مسیر backbone که شامل روترهای L2 است، ایجاد می گردد. در شکل زیر مشاهده می کنید که سه Area از طریق مسیر روترهای IOU1، IOU3 و IOU5 با یکدیگر در ارتباط هستند. این 3 روتر از نوع L1/L2 هستند که از داخل با لینک های از نوع L1 و از بیرون با لینک های L2 به مسیر backbone متصل می شوند
پیاده سازی ISIS روی توپولوژی با چندین Area
برای پیاده سازی ISIS باید روی هر روتر آدرس NET تعریف شود. آدرس NET باید به شیوه ای تعریف شود که روترهای Area های مختلف شماره Area متفاوت داشته باشند. بخش system-id آدرس NET نه تنها در Area بلکه باید در کل شبکه منحصربفرد باشد در غیر این صورت پیغام duplicate system-id دریافت خواهید نمود. این پیغام فقط وقتی ظاهر می شود که دستور debug isis adj-packet را وارد کرده باشید.
همانطور که در شکل مشاهده می کنید، مرز Area در ISIS لینک است و نه روتر. هر روتر در ISIS دقیقا در یک Area قرار دارد. روترهای ISIS به صورت پیش فرض L1/L2 هستند که در این صورت بین همه روترهای همسایه، دو همسایگی مجزا یکی برای L1 و یکی نیز برای L2 ایجاد می گردد. برای بهینه سازی ISIS بهتر است روترهای داخلی را از نوع L1 و روترهای مرزی را از نوع L1/L2 در نظر بگیریم. روترهایی که صرفا L2 هستند می تواند در مسیر backbone قرار بگیرد مشروط بر آنکه به هیچ روتری از نوع L1 متصل نشده باشند
در ادامه چگونگی پیاده سازی ISIS به شکل بهینه در دو روتر IOU1 و IOU2 نشان داده شده است. همانطور که در پیاده سازی نشان داده شده است، نوع L1 و یا L2 بودن در سطح لینک تعریف شده است. البته زمانی که روتری را با دستور is-type صرفا L1 تعریف می کنید، همه لینک های روتر به صورت اتوماتیک L1 خواهند بود و نیازی به تعریف مجدد در سطح لینک ندارید. در پیکربندی ذیل صرفا جهت درک بهتر این دستورات وارد شده است. این مطلب در خصوص روترهای صرفا L2 نیز صحیح است. روتری که صرفا از نوع L2 تعریف می شود، به صورت اتوماتیک همه لینک های آن L2 خواهند بود و نیازی به تعریف مجدد ندارد. اما بهتر است روی روترهای L1/L2 تغییراتی ایجاد نمایید. بدین صورت که لینک های داخلی آن به L1 و لینک های بیرونی آن به L2 تغییر کند. در غیر این صورت این روترهای روی هر لینک دو همسایگی مجزا یکی برای L1 و یکی برای L2 ایجاد خواهند نمود
نکته دیگری که در پیاده سازی باید به آن توجه کنید اینکه system-id روترها نه تنها در داخل Area بلکه در کل شبکه منحصربفرد در نظر گرفته شده است
!!! IOU1 interface Ethernet0/0 ip router isis isis circuit-type level-1 ! interface Serial2/0 ip router isis isis circuit-type level-2-only ! interface Serial2/1 ip router isis isis circuit-type level-2-only ! router isis net 49.0001.0000.0000.0001.00 ! !!! IOU2 interface Loopback0 isis circuit-type level-1 ! interface Ethernet0/0 ip router isis isis circuit-type level-1 ! router isis net 49.0001.0000.0000.0002.00 is-type level-1 passive-interface Loopback0 |
پیاده سازی ISIS روی توپولوژی با بیش از یک Area
در ذیل جدول مسیریابی دو روتر IOU1 و IOU2 نشان داده شده است. فقط یک مسیر default در جدول مسیریابی روتر IOU2 وجود دارد. در ISIS روترهای مرزی L1/L2 فقط مسیر default به روترهای L1 ارسال می کنند که همانند totally stub area در پروتکل OSPF است. چنانچه علاقه مند باشید تا بخشی یا همه مسیرهای دیگر Area ها وارد جدول مسیریابی روترهای L1 کنید باید از ویژگی route leaking استفاده کنید که در همین فصل در مورد آن صحبت خواهیم کرد. روتر IOU1 که از نوع L1/L2 است، مسیر همه شبکه را یاد گرفته است. مسیرهایی که از طریق لینک های داخلی و همسایه های L1 یاد گرفته است، با برچسب L1 و مسیرهایی که از طریق لینک های بیرونی و روترهای همسایه L2 یاد گرفته است با برچسب L2 در جدول مسیریابی نشان داده شده است.
!!! IOU1 IOU1#sh ip route isis !!! بخشی از خروجی حذف شده است 10.0.0.0/8 is variably subnetted, 12 subnets, 2 masks i L1 10.1.2.0/24 [115/10] via 10.1.1.2, Ethernet0/0 i L2 10.2.1.0/24 [115/20] via 10.100.1.2, Serial2/0 i L2 10.2.2.0/24 [115/30] via 10.100.1.2, Serial2/0 i L2 10.3.1.0/24 [115/20] via 10.100.2.2, Serial2/1 i L2 10.3.2.0/24 [115/30] via 10.100.2.2, Serial2/1 i L2 10.100.3.0/24 [115/20] via 10.100.2.2, Serial2/1 [115/20] via 10.100.1.2, Serial2/0 !!! IOU2 IOU2#sh ip route isis !!! بخشی از خروجی حذف شده است Gateway of last resort is 10.1.1.1 to network 0.0.0.0 i*L1 0.0.0.0/0 [115/10] via 10.1.1.1, Ethernet0/0 |
مشاهده جدول مسیریابی ناشی از پروتکل ISIS و مسیرهای L1 و L2
جدول همسایگی روتر IOU1 نشان می دهد که این روتر با روترهای IOU2 همسایگی L1 و با روترهای IOU3 و IOU5 همسایگی L2 ایجاد نموده است.
IOU1#sh isis neighbors System Id Type Interface IP Address State Holdtime Circuit Id IOU2 L1 Et0/0 10.1.1.2 UP 27 IOU1.01 IOU3 L2 Se2/0 10.100.1.2 UP 29 00 IOU5 L2 Se2/1 10.100.2.2 UP 26 00 |
مشاهده جدول همسایگی در ISIS
جدول دیتابیس در ISIS که در ذیل آورده شده است، نشان می دهد که اولا این پروتکل دو دیتابیس مستقل یکی برای L1 و یکی نیز برای L2 نگهداری می کند. دیتابیس L1 شامل اطلاعات روترهایی است که از همسایه های L1 یاد گرفته است و دیتابیس L2 نیز شامل اطلاعات لینک روترهایی است که از طریق همسایه های L2 یاد گرفته است. نکته دیگری که در خروجی جدول دیتابیس پررنگ شده است، مقدار 1 در بیت ATT در بعضی از رکوردهای دیتابیس است. روترهای L1/L2 از این طریق به روترهای L1 اعلام می کنند که نقطه خروج از Area هستند و بنابراین روترهای L1 مسیر default خود را برای خروج از Area شناسایی می کنند.
IOU1#sh isis database IS-IS Level-1 Link State Database: LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL IOU1.00-00 * 0x00000008 0xDE69 1034 1/0/0 IOU1.01-00 * 0x00000005 0x89C4 892 0/0/0 IOU2.00-00 0x00000008 0x357F 1034 0/0/0 IS-IS Level-2 Link State Database: LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL IOU1.00-00 * 0x0000000B 0x987F 427 0/0/0 IOU3.00-00 0x0000000A 0x996E 899 0/0/0 IOU5.00-00 0x00000009 0x06FB 979 0/0/0 |
مشاهده خلاصه دیتابیس در ISIS
در ادامه همین فصل جزییات جدول دیتابیس را مورد بررسی قرار خواهیم داد.