قبل از اینکه این بحث را شروع کنیم، در مورد Administrative Distance کمی صحبت میکنیم؛ یک عدد مختص پروتکلهای شبکه و شبکههای connected است. به جدول زیر نگاه کنید:
Administrative Distance، معیار و ملاکی است برای انتخاب یک پروتکل از بین پروتکلهای مختلف در یک شبکه، مثلاً اگر به یک روتر از دو طرف اطلاعات برسد و یکی از این طرفها Rip باAD 120 و طرف دیگر با IGRP با AD 100 است. برای انتخاب یکی از این مسیرها، مسیری که AD پایینتر دارد، انتخاب میشود (AD مخفف کلمهی Administrative Distance است) و اطلاعات را از همان مسیر دریافت میکند. AD مربوط بهstatic route که به صورت دستی وارد میکردیم ۱ است. در ادامه AD در شبکه را دستکاری میکنیم و کارهای مختلفی روی آن انجام میدهیم.
پروتکل IGRP (Interior Gateway Routing Protocol):
این پروتکل از دسته پروتکلهای IGPs است و سازندهی آن شرکت سیسکو است. از نظر قدرت نسبت به پروتکل Rip خیلی کارآمدتر است. این پروتکل از دسته پروتکلهایDistance Vector است. اگر یادتان باشد در پروتکل Rip، حداکثر تعداد روترها یا همان Hop Count، ۱۵ تا بود، اما در IGRP این عدد به ۲۵۵ تغییر میکند و همین امر یکی از ویژگیهای خوب این پروتکل محسوب میشود، اما به طور پیشفرض این عدد در این پروتکل ۱۰۰ است.
برای محاسبهی متریک این پروتکل باید کمی بیشتر کار کرد، یعنی مانند پروتکل Rip نیست که متریک از طریق تعداد روترهای سر راه تشخیص داده شود. در این پروتکل از پنج فاکتور برای محاسبهی متریک استفاده میکنند که به شرح زیر میباشند.
- Bandwidth
- Delay
- Load
- MTU
- Relibility
پروتکل IGRP بهطور پیشفرض از فاکتورهای Bandwidth و Delay برای به دست آوردن بهترین مسیر استفاده میکند.
در مورد Bandwidth قبلاً باهم صحبت کردیم و گفتیم هر خط که Bandwidth بالاتری داشته باشد بهعنوان بهترین مسیر انتخاب میشود که بالاتر بودن این فاکتور بستگی دارد به کابل و ادوات مختلف استفادهشده در شبکه.
در مورد Delay هم باهم صحبت کردیم که گفتیم بستگی به پورت استفادهشده دارد که پورتهای GigabiteEthernet، نسبت به پورتهای FastEthernet از زمان پاسخگویی کمتری برخوردار بودند که اگر در یک شبکه، BandWidth یکی باشد به زمان Delay نگاه میکنند که هر چه این زمان پایینتر باشد، بهتر است. این دو فاکتور را در قسمتهای قبل کتاب و با عنوان روشهای انتخاب بهترین مسیر به صورت کامل توضیح دادیم.
Load، عددی بین ۰ تا ۲۵۵ است و اگر در انتخاب یک مسیر همهی فاکتورها ثابت باشند، مسیری انتخاب میشود که، عددی که load کمتری دارد و ترافیک کمی روی آن قرار دارد انتخاب میشود. همانطور که قبلاً گفتیم، پروتکل Rip روی حداکثر ۴ خط با متریک مساوی اطلاعات را تقسیم میکند و روی ۴ خط انتقال میدهد که این کار هم توسط IGRP انجام میشود، اما لازم نیست دارای متریک یکسانی باشند، فقط با تعریف یک رنج که به آن variance میگویند، مسیرهای متفاوت با متریکهای متفاوت میتوانند در این load شرکت کنند و حداکثر ۶ خط میتوانید استفاده کنیم.
Relibility یا اطمینانپذیری که بدین معنا است اگر یک خط همیشه UP باشد و مشکلی نداشته باشد، این خط از Relibility بالاتری برخوردار است و از این خط به عنوان بهترین مسیر استفاده میشود، به شرطی که بقیهی فاکتورها ثابت باشد. این را هم اضافه کنیم که اگر یک خط Down شود و بعد Up شود، Relibility آن به نسبت خطهای دیگر کاهش مییابد.
MTU به حداکثر اندازهی یک پکت بر روی یک خط است که هر چه آن خط بتواند پکت با اندازهی بیشتر را انتقال دهد، آن خط بهعنوان بهترین مسیر استفاده میشود، اما در کل بهندرت استفاده میشود.
راهاندازی پروتکل IGRP:
این کار را با یک مثال انجام میدهیم:
در این مثال ۳ تا روتر به همراه دو PC را به هم متصل کردیم و به پورتهای آنها، طبق شکل IP دادهایم. حالا میخواهیم پروتکل IGRP را روی هر یک از روترها راهاندازی کنیم.
وارد روتر R1 شده و در مد Global دستور زیر را وارد کنید:
Router(config)# Router IGRP 100
دستور Router در تمام روتینگ پروتکلها ثابت است. بعدازآن، نام پروتکل که IGRP است و بعد، شمارهی AS را وارد میکنیم. شمارهی ۱۰۰ چیست؟
این شماره مربوط به شمارهی Autonomous System است و روترهایی که دارای این شماره هستند، باهم داخل یک اتاق هستند و باهم ارتباط برقرار میکنند. به شکل زیر توجه کنید:
همانطور که در شکل میبینید همهی این روترها در AS 100 قرار دارند و باهم در ارتباط هستند. توجه داشته باشید که این شماره میتواند بین ۱ تا ۶۵۵۳۵ باشد:
Router(config)# router igrp ?
<1-65535> Autonomous system number
به هر یک از روترها وارد شوید و Network های آن را تعریف کنید:
Router0(config)# Router igrp 100
Router0(config-Router)# network 172.16.1.0
Router0(config-Router)# network 172.16.3.0
در روترهای بعدی همین کار را انجام دهید و فقط Network های Connected مربوط به هر روتر را وارد کنید.
برای اینکه بفهمیم که روترهایی که پروتکل IGRP روی آنها اجرا شده است، چه آپدیتهایی به هم میفرستند از دستور زیر در مد privileged استفاده میکنیم:
Router# debug ip igrp events
با این دستور، کل اطلاعات پروتکل IGRP پشت سر هم به صورت اتوماتیک نمایش داده میشود.
Router#debug ip igrp transactions
این دستور آپدیتهای بین دو روتر که پروتکل IGRP روی آنها اجرا شده است را نمایش میدهد.
برای غیرفعال کردن هر دو دستور از فرمان No Debug All استفاده کنید، البته با اجرای این دستور تمام دستوراتی که با debug نوشته شدهاند، غیرفعال میشوند.
برای محاسبهی Bandwidth باید از فرمول زیر استفاده کنید:
در فرمول بالا، حرف K را مشاهده میکنید که برای اینکه آنها را پیدا کنیم باید از دستور Show ip protocol استفاده کنیم.
Router#show ip protocol
Routing Protocol is “Eigrp ۱۰۰ “
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Default networks flagged in outgoing updates
Default networks accepted from incoming updates
EIGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0
EIGRP maximum hopcount 100
EIGRP maximum metric variance 1
Redistributing: eigrp 100
Automatic network summarization is in effect
Automatic address summarization:
Maximum path: 4
Routing for Networks:
۱۹۲.۱۶۸.۱.۰
۱۹۲.۱۶۸.۲.۰
Routing Information Sources:
Gateway Distance Last Update
Distance: internal 90 external 170
Router#
نکتهی بسیار مهم: این پروتکل توسط سیسکو از نسخهی IOS 12.3 به بعد، جای خود را به پروتکل Eigrp داده و از دنیای پروتکلها خداحافظی کرده است.
تایمرها در پروتکل IGRP:
Update Timer:
در این پروتکل زمان ارسال کل جدول روتینگ برای روترهای مجاور ۹۰ ثانیه است که به این آپدیت،Priodic Update میگفتیم.
Invalid timers:
این تایمر به صورت پیشفرض، سه برابر Update Timer است که سه برابر Update Timer میشود، ۲۷۰ ثانیه.
Holddown timers:
این تایمر هم، سه برابر تایمر Update Timer است و به علاوه ۱۰ ثانیه بیشتر از آن، یعنی در کل ۲۸۰ ثانیه.
Flush timers:
این تایمر که برای حذف یک شبکه از جدول روتینگ استفاده میشود، ۷ برابر تایمر Update Timer است که در کل میشود، ۶۳۰ ثانیه است.
پروتکلهای Link State:
این نوع پروتکل، یک ویژگی عمده دارند و آنهم این است که تصویر کلی از شبکه یا همان گراف کامل از شبکه را دارند، یعنی هر روتر دارای پروتکلهای Link State خود را به عنوان ریشهی درخت و بقیه را به عنوان شاخه و برگ حساب میکند، اما بدون دور است و بهاینترتیب یک تصویر کلی از شبکه را دارد و از روی همین گراف، بهترین و کوتاهترین مسیر تا شبکهی دیگر را محاسبه و انتخاب میکند. به شکل زیر توجه کنید:
در این شکل، روتر R1 با استفاده از گراف از نقشهی کل شبکه خبر دارد و بر طبق همین نقشه به بهترین مسیر دست پیدا میکند، شاید کمی گیجکننده باشد، اما در ادامه، کاملاً با این پروتکلها آشنا میشویم، پروتکلی که در این دسته قرار دارند، OSPF(Open Shortest Path First) است که به صورت مفصل روی این پروتکل بحث خواهیم کرد.
پروتکلها از نوع Link State از سه جدول تشکیل شدهاند:
- Routing Table
- Link state Data-base
- Neighbor Table
در روترهایی که این نوع پروتکلها اجرا میشوند، ۳ جدول داخل آنها تشکیل میشود که در جدول اول که Neighbor است، اطلاعات شبکههای روترهای مجاور در آن ثبت میشود و بعد از آن این جدول به صورت آپدیت به روترهای دیگر فرستاده میشود و تشکل جدول Link Sate Data-Base میدهند. بعد از آن الگوریتم بهترین مسیر با عنوان SPF که مخفف Shortest Path First است، اجرا میشود و شبکه را به صورت یک درخت بدون دور درمیآورد و بهترین مسیر را به صورت روشهای خاصی پیدا میکند.
پروتکلهای OSPF و ISIS از دسته پروتکل Link state هستند.
پروتکلهای Hybrid:
این دسته از پروتکلها از دو ویژگی پروتکلهای بالا استفاده میکند، یکی اینکه از کل اطلاعات شبکه به صورت درخت بدون دور خبر دارد، مانند پروتکل Link state و از روتر مجاورش، اطلاعات شبکهی غیر محلی را دریافت میکند و از روتر مورد نظر تا شبکهی مورد نظر از یک بردار خطی استفاده میکند، مانند پروتکلهای Distance Vector. از جملهی این پروتکلها که در این گروه قرار دارد، پروتکل Eigrp است که با هم آن را بررسی میکنیم.