این پروتکل مسیریابی را از دسته Advanced Distance Vector یا Enhanced Distance Vector قلمداد می کنند. این پروتکل از ارتقای IGRP بوجود آمده است و خصوصیاتی شبیه پروتکل های link state دارد، اما ذاتا از دسته Distance Vector می باشد.
آخرین سال پشتیبانی از پروتکل IGRP، 2005 بود و به همین خاطر امروزه کمتر از این پروتکل استفاده می شود.
پروتکل های IGRP و EIGRP مختص و انحصاری شرکت سیسکو می باشند.
تفاوت های IGRP و EIGRP
IGRP از الگوریتم Bellman-Ford استفاده می کند ولی EIGRP از الگوریتم Dual بهره می برد.
- در IGRP، آپدیت ها پریودیک بودند و در جداول مسیریابی تایمر age out قرار می گرفت، و اگر یک مسیر به اندازه invalid timer، آپدیتی دریافت نمی کرد، Possibly down می شد و زمانی که Flush Timer آن تمام می شد، مسیر از جدول حذف می شد. ولی در EIGRP آپدیت ها پریودیک نیستند و فقط هنگامی که تغییرات به وجود آید، تغییرات ارسال می شود، بنابراین دیگر تایمر age out ندارند.
- در IGRP، تنها بهترین مسیرها در جدول مسیریابی قرار می گرفتند ولی در EIGRP پیشنهادهای مختلف در Topology Table نگهداری می کند و از این جدول بهترین مسیرها را انتخاب می کند و به عنوان Successor در جدول مسیریابی قرار می دهد. همچنین بررسی می کند که آیا این مسیرها می توانند مسیر جایگزین داشته باشند یا خیر. اگر وجود داشته باشد آن مسیر را نیز در Topology Table تحت عنوان Feasibility Successor نگهداری می کند.
- در IGRP، اگر مسیری قطع شد، منتظر آپدیت می ماند ولی در EIGRP خود روتر به بقیه اطلاع می دهد و سوال می کند مسیر جایگزینی وجود دارد یا خیر. به همین دلیل IGRP را Passive و EIGRP را Active می نامند. بنابراین زمان همگرایی EIGRP کمتر خواهد بود.
مسیج های EIGRP به (TLV (Type/Length/Value Type معروفند که در هدر EIGRP انکپسوله می شوند و نهایتا در پکت IP می روند.
EIGRP برای ارسال از Multicast با آدرس 224.0.0.10 استفاده می کند که آدرس MAC آن به صورت زیر می باشد:
01-00-5E-00-00-0A
در شکل زیر هدر EIGRP نشان داده شده است.
Autonomous System Number: در پروتکل EIGRP می توان بیشتر از یک پروتکل مسیریابی از توع EIGRP فعال کرد. این پروتکل ها را می توان با عددی به نام Process ID از یکدیگر تمییز داد. نحوه انتخاب عدد نیز مانند Autonomous System ها می باشد.(بین 1 تا 65535)
در EIGRP پنج نوع پکت داریم که با عددی که در opcode قرار می گیرد مشخص می شود:
Opcode | نوع |
1 | Update |
2 | Ack |
3 | Query |
4 | Reply |
5 | Hello |
مسیج های Update، مسیرها را تبلیغ می کنند. که مسیرها دو نوع هستند: Internal و Extenal
مسیر Internal پروتکل EIGRP توسط دستور Network بوجود می آید.
قالب مسیج مسیر Internal در پروتکل EIGRP به شکل زیر می باشد:
مسیرهای External از یک منبع یا پروتکل دیگر به وجود آمده اند و با استفاده از عملیات Redistribution داخل جدول مسیریابی می شوند. قسمت پایینی قالب مربوط به اطلاعات EIGRP می باشد.
در قالب EIGRP، خود عدد متریک ارسال نمی گردد، بلکه پارامترهای آن به صورت جداگانه تبلیغ می شوند. پارامترهای متریک برای EIGRP عبارتند از:
Bandwidth, Delay, Reliably, load
EIGRP ها از سه جدول برای مسیریابی استفاده می کنند:
- جدول همسایگی: روترهایی که روی آن ها EIGRP فعال می کنیم، روتر همسایه اش را شناسایی میکند و در این جدول قرار می دهد و زمانی که می خواهد Update ارسال و یا دریافت کند از این جدول استفاده می کند.
- جدول توپولوژی: اطلاعات Update ها در این جدول نگهداری می شوند. همه مسیرها در این جدول وجود دارند. مسیرهای پشتیبان نیز در این جدول مشخص و نگهداری می شوند.
- جدول مسیریابی: بهترین مسیرهای جدول توپولوژی در این جدول قرار می گیرند.
پروتکل EIGRP به صورتی نوشته شده است که پروتکلهای IP و IPX و AppleTalk را نیز پشتیبانی می کند و برای هر کدام جدولی جداگانه در نظر می گیرد. به این قابلیت اصطلاحا Protocol-Dependent Modules (PDM) می گویند.
RTP
EIGRP در لایه چهارم نمی تواند از TCP یا UDP استفاده کند، چون این دو پروتکل زمانی استفاده می شوند که در لایه سوم حتما IP باشد. بنابراین بایستی از پروتکلی استفاده شود که همزمان IP,IPX و AppleTalk را پشتیبانی کند. این پروتکل (RTP (Reliable Transport Protocol می باشد که خودش بر دو نوع است:
Reliable: Connection Oriented
Unreliable: Connection less
پکت Hello:
برای شناسایی همسایه ها استفاده می شود. در پروتکل های RIP و IGRP این کار توسط همان پکت های Update انجام میشد. این نوع پکت Unreliable می باشد. این نوع پکت روی خطوط پر سرعت مانند اترنت هر 5 ثانیه یکبار ارسال می شود و روی Multiframe ها یا T1، 60 ثانیه یکبار ارسال می گردند. به این بازه زمانی Hello Interval می گویند.
به زمانی که صبر می کنیم تا این پکت از همسایه دریافت گردد Hold Time می گوییم که به صورت پیش فرض 3 برابر Interval می باشد.
پکت Update:
ابتدا روتر یک آپدیت کامل به همسایه هایش ارسال می کند و پس از این که شبکه همگرا شد، اگر تغییر ی در شبکه رخ داد، این پکت را فقط برای روترهایی که نیاز دارند ارسال می کند، بنابراین پریودیک نیستند. اصطلاحا به این عمل Bounded می گویند. همچنین این نوع پکت Reliable می باشد.
پکت ACK:
پاسخ پکت Update می باشد.
پکت Query و Reply:
اگر مسیری قطع شد و روتر مسیر جایگزینی نداشت، توسط پکت Query از همسایه هایش می پرسد که مسیری جایگزین دارند یا خیر. روترهای همسایه بایستی در هر صورت توسط پکت Reply پاسخ دهند. هر دو این پکت ها Reliable می باشند.
معرفی الگوریتم (Dual (Diffusing update Algorithm
ابتدا روترها همسایه های یکدیگر را شناسایی می کنند، اطلاعات بین همسایه ها رد و بدل می شود، اطلاعات درون جدول توپولوژی می رود و سپس این الگوریتم بهترین مسیرها را مشخص می کند و به عنوان مسیر Successor درون جدول مسیریابی قرار می دهد. مسیرهای جایگزین نیز اگر وجود داشته باشند پیدا می کند و آن را درون جدول توپولوژی مشخص می کند و سپس شبکه همگرا می شود. هنگامیکه شبکه همگرا شد، این الگوریتم به حالت Passive می رود و زمانی که تغییری رخ دهد دوباره فعال شده و اگر مسیر Feasible موجود باشد، آن را جایگزین می کند و در غیر اینصورت از پروسه های Query و Reply استفاده می کند.
مسیرهایی که با EIGRP شناخته می شوند با حرف D در جدول مسیریابی قابل تشخیص هستند.
بررسی پارامترهای متریک EIGRP:
فرمول کامل محاسبه متریک در پروتکل EIGRP به صورت زیر می باشد:
Metric=[(k_1×Bandwidth+(k_2×Bandwidth)/(256-load)+k_3×Delay)×k_5/(k_4×Reliablity)]×256
که در آن:
Bandwidth=10000000/(باند پهنای کمترین)
Delay=مسیر تاخیرهای مجموع /μs10
بصورت پیش فرض ضرایب load و Reliablity را صفر در نظر میگیریم و به فرمول ساده تر زیر خواهیم رسید:
Metric=(k_1×Bandwidth+k_3×Delay)×256
مقادیر پیش فرض Delay بر روی لینک های مختلف در جدول زیر آمرده شده است:
Media |
Delay(us) |
100M ATM |
100 |
FastEthernet |
100 |
FDDI |
100 |
1HSSI |
20,000 |
16M Token Ring |
630 |
Ethernet |
1,000 |
(T1 (Serial default |
20,000 |
512K |
20,000 |
DSO |
20,000 |
56K |
20,000 |