پروتکل EIGRP چیست؟ بررسی کامل نحوه کار، مزایا و مفاهیم EIGRP
در شبکههای بزرگ، زمانی که تعداد روترها و مسیرهای ارتباطی افزایش پیدا میکند، استفاده از Static Route بهتنهایی دیگر روش مناسبی برای مدیریت مسیرها نیست. در چنین شبکههایی از پروتکلهای Dynamic Routing استفاده میشود تا روترها بتوانند مسیرهای شبکه را بهصورت خودکار یاد بگیرند، بهترین مسیر را انتخاب کنند و در صورت تغییر توپولوژی، مسیر مناسب جدیدی پیدا کنند.
یکی از پروتکلهای مهم مسیریابی، EIGRP است.
EIGRP مخفف Enhanced Interior Gateway Routing Protocol است و توسط Cisco توسعه داده شده است. EIGRP از خانواده پروتکلهای Interior Gateway Routing Protocol (IGP) محسوب میشود و از الگوریتم DUAL برای محاسبه مسیرهای Loop-Free استفاده میکند.
در این مقاله بررسی میکنیم که EIGRP چیست، چگونه کار میکند، چه تفاوتی با OSPF دارد، Metric آن چگونه محاسبه میشود و مفاهیمی مانند Successor و Feasible Successor چه کاربردی دارند.
EIGRP چیست؟
EIGRP یا Enhanced Interior Gateway Routing Protocol یک پروتکل مسیریابی داخلی است که برای تبادل اطلاعات Routing بین روترهای یک Autonomous System استفاده میشود.
EIGRP نسخه توسعهیافتهای از IGRP است که توسط Cisco ایجاد شد و با هدف بهبود همگرایی، کارایی و مدیریت تغییرات توپولوژی طراحی شده است.
یکی از مهمترین ویژگیهای EIGRP استفاده از الگوریتم DUAL است.
DUAL مخفف:
Diffusing Update Algorithm
است.
این الگوریتم وظیفه دارد مسیرهای مناسب و Loop-Free را انتخاب کند و در صورت تغییر مسیر، تا حد امکان بدون انجام محاسبات غیرضروری، مسیر جایگزین را انتخاب کند.
EIGRP در کدام دسته از پروتکلهای Routing قرار میگیرد؟
EIGRP یک IGP یا Interior Gateway Protocol است.
پروتکلهای IGP برای مسیریابی داخل یک Autonomous System استفاده میشوند.
پروتکلهای معروف IGP عبارتاند از:
- RIP
- OSPF
- IS-IS
- EIGRP
EIGRP از نظر تکنولوژی مسیریابی در خانواده Distance Vector قرار میگیرد؛ با این حال به دلیل ویژگیهای پیشرفته آن، معمولاً از آن بهعنوان Advanced Distance Vector یا Enhanced Distance Vector نیز یاد میشود. RFC 7868 نیز EIGRP را پروتکلی مبتنی بر Distance Vector معرفی میکند.
EIGRP چگونه کار میکند؟
برای درک ساده عملکرد EIGRP، فرض کنید سه روتر داریم:
R1 → R2 → R3
و شبکه مقصد پشت R3 قرار دارد.
R1 باید بداند برای رسیدن به شبکه مقصد از چه مسیری استفاده کند.
روترهای EIGRP ابتدا یکدیگر را بهعنوان Neighbor شناسایی میکنند و سپس اطلاعات Routing را بین یکدیگر تبادل میکنند.
پس از دریافت اطلاعات، EIGRP با استفاده از Metric و الگوریتم DUAL بهترین مسیر را انتخاب میکند.
اگر مسیر اصلی خراب شود، EIGRP بررسی میکند که آیا مسیر جایگزین مناسبی از قبل در اختیار دارد یا خیر.
اگر چنین مسیری وجود داشته باشد، میتواند بدون انجام محاسبات گسترده، مسیر جایگزین را انتخاب کند.
اجزای اصلی عملکرد EIGRP
Cisco عملکرد EIGRP را به چند بخش اصلی تقسیم میکند:
Neighbor Discovery and Recovery
برای شناسایی و حفظ ارتباط با روترهای همسایه.
Reliable Transport Protocol
برای انتقال قابلاعتماد برخی پیامهای EIGRP.
DUAL Finite State Machine
برای تصمیمگیری درباره مسیرها و جلوگیری از Routing Loop.
Protocol-Dependent Modules
برای انجام وظایف مرتبط با پروتکل شبکه مورد استفاده.
Neighbor در EIGRP چیست؟
قبل از اینکه دو روتر EIGRP بتوانند اطلاعات Routing را با یکدیگر تبادل کنند، باید یک رابطه همسایگی یا Neighbor Relationship ایجاد کنند.
EIGRP برای شناسایی و بررسی وضعیت Neighborها از Hello Packet استفاده میکند.
روترها با ارسال Hello Packet بررسی میکنند که همسایه همچنان فعال و قابل دسترس است یا خیر.
برای مشاهده Neighborهای EIGRP در Cisco IOS معمولاً از دستور زیر استفاده میشود:
show ip eigrp neighbors
این دستور اطلاعاتی درباره همسایههای EIGRP در اختیار مدیر شبکه قرار میدهد.
EIGRP چه اطلاعاتی را بین روترها منتقل میکند؟
EIGRP برای تبادل اطلاعات Routing از چند نوع پیام استفاده میکند.
مهمترین آنها عبارتاند از:
- Hello
- Update
- Query
- Reply
- Acknowledgment
هرکدام وظیفه خاصی در فرآیند Neighbor Discovery، تبادل Route و واکنش به تغییرات توپولوژی دارند.
الگوریتم DUAL در EIGRP چیست؟
یکی از مهمترین بخشهای EIGRP، الگوریتم DUAL است.
DUAL وظیفه دارد بهترین مسیر را انتخاب کند و در عین حال از ایجاد Routing Loop جلوگیری کند.
مزیت مهم DUAL این است که اگر مسیر اصلی از بین برود و یک Feasible Successor در اختیار باشد، EIGRP میتواند از مسیر جایگزین استفاده کند و نیازی به محاسبه مجدد گسترده نداشته باشد.
این موضوع یکی از دلایل مهم سرعت بالای Convergence در EIGRP است.
Successor چیست؟
در EIGRP، Successor به روتر یا Next-Hopای گفته میشود که بهترین مسیر Loop-Free به مقصد را در اختیار دارد و مسیر آن در Routing Table قرار میگیرد.
به زبان ساده:
Successor = مسیر اصلی و انتخابشده برای رسیدن به مقصد
DUAL مسیرها را بررسی کرده و بهترین گزینه را بهعنوان Successor انتخاب میکند.
Feasible Successor چیست؟
یکی از جذابترین قابلیتهای EIGRP، مفهوم Feasible Successor است.
Feasible Successor یک مسیر جایگزین است که شرایط لازم برای استفاده بهعنوان مسیر Backup را دارد.
اگر Successor از دسترس خارج شود، در صورتی که Feasible Successor وجود داشته باشد، EIGRP میتواند از آن مسیر استفاده کند.
این قابلیت باعث میشود در بسیاری از شرایط، تغییر مسیر بسیار سریع انجام شود.
Feasible Distance چیست؟
Feasible Distance یا FD بهترین Metric شناختهشده توسط روتر برای رسیدن به یک مقصد است.
به زبان ساده:
FD = بهترین هزینه فعلی برای رسیدن به مقصد
این مقدار یکی از پارامترهای مهم در تصمیمگیری DUAL است.
Reported Distance چیست؟
Reported Distance یا RD که در برخی مستندات با نام Advertised Distance نیز شناخته میشود، هزینهای است که Neighbor برای رسیدن به مقصد اعلام میکند.
EIGRP از مقایسه RD و FD برای بررسی شرایط Feasibility استفاده میکند.
یکی از شروط مهم این است که:
RD < FD
باشد.
در این صورت مسیر میتواند شرایط Feasible Successor را داشته باشد.
Feasibility Condition چیست؟
Feasibility Condition یکی از مکانیزمهای مهم EIGRP برای جلوگیری از Routing Loop است.
بهصورت ساده، اگر Reported Distance یک Neighbor به مقصد از Feasible Distance فعلی کمتر باشد، مسیر میتواند بهعنوان Feasible Successor در نظر گرفته شود.
این شرط کمک میکند EIGRP مطمئن شود مسیر جایگزین انتخابشده احتمال ایجاد Loop ندارد.
Metric در EIGRP چیست؟
پروتکلهای Routing برای انتخاب بهترین مسیر از یک معیار یا Metric استفاده میکنند.
EIGRP برخلاف RIP که عمدتاً بر اساس Hop Count تصمیمگیری میکند، میتواند از اطلاعات مختلفی برای محاسبه Metric استفاده کند.
پارامترهای اصلی Metric در EIGRP شامل موارد زیر هستند:
- Bandwidth
- Delay
- Load
- Reliability
همچنین K Values مشخص میکنند کدام پارامترها در محاسبه Metric مورد استفاده قرار بگیرند.
در تنظیمات پیشفرض EIGRP، Bandwidth و Delay در محاسبه Metric نقش اصلی دارند و K2، K4 و K5 بهصورت پیشفرض صفر هستند.
فرمول Metric در EIGRP
فرمول کلاسیک Composite Metric در EIGRP بهصورت زیر تعریف میشود:
Metric =
256 × [(K1 × BW) +
(K2 × BW)/(256 − Load) +
(K3 × Delay)]
× [K5/(Reliability + K4)]
در حالت پیشفرض:
K1 = 1
K2 = 0
K3 = 1
K4 = 0
K5 = 0
بنابراین در حالت پیشفرض، محاسبه Metric عملاً بر اساس Bandwidth و Delay انجام میشود.
در نسخههای جدیدتر، EIGRP همچنین از Wide Metrics برای محاسبات 64 بیتی در برخی پیکربندیها استفاده میکند.
چرا Bandwidth در EIGRP مهم است؟
Bandwidth یکی از پارامترهای اصلی EIGRP است.
EIGRP در محاسبه Metric از کمترین Bandwidth موجود در مسیر استفاده میکند.
به همین دلیل اگر در یک مسیر چند لینک وجود داشته باشد و یکی از آنها Bandwidth بسیار پایینتری داشته باشد، میتواند روی Metric کل مسیر تأثیر بگذارد.
Delay در EIGRP چیست؟
Delay نیز یکی از پارامترهای مهم EIGRP است.
Delay نشاندهنده تأخیر مرتبط با لینکها در مسیر است و EIGRP مجموع Delayهای مسیر را در محاسبات خود در نظر میگیرد.
در حالت پیشفرض، EIGRP از Bandwidth و Delay برای انتخاب مسیر استفاده میکند.
Load و Reliability در EIGRP
EIGRP میتواند از دو پارامتر دیگر نیز در Metric استفاده کند:
Load
میزان بار یا استفاده از لینک را نشان میدهد.
Reliability
میزان قابلیت اطمینان لینک را نشان میدهد.
البته در تنظیمات پیشفرض EIGRP، این پارامترها در محاسبه Metric فعال نیستند.
تغییر K Values میتواند رفتار Metric را بهطور قابلتوجهی تغییر دهد و Cisco توصیه میکند این مقادیر بدون طراحی و بررسی دقیق تغییر داده نشوند.
جدول Routing در EIGRP
EIGRP اطلاعات مسیرها را در ساختارهای مختلف نگهداری میکند.
سه مفهوم مهم عبارتاند از:
Neighbor Table
اطلاعات همسایههای EIGRP را نگهداری میکند.
Topology Table
مسیرهای دریافتشده از Neighborها را نگهداری میکند.
Routing Table
بهترین مسیرهای انتخابشده برای Forwarding را در اختیار سیستم قرار میدهد.
برای مشاهده اطلاعات توپولوژی در Cisco IOS میتوان از دستور زیر استفاده کرد:
show ip eigrp topology
Passive و Active در EIGRP چیست؟
در EIGRP وضعیت Route میتواند شامل Passive یا Active باشد.
Passive
یعنی EIGRP در حال محاسبه مجدد مسیر برای آن مقصد نیست و Route در وضعیت عادی قرار دارد.
Active
زمانی اتفاق میافتد که مسیر فعلی از دست رفته و EIGRP برای پیدا کردن مسیر جدید نیاز به انجام محاسبات و تبادل Query/Reply دارد.
بهطور کلی، Passive بودن Route وضعیت عادی و مطلوب در EIGRP است.
EIGRP Query و Reply چیست؟
اگر مسیر اصلی از بین برود و Feasible Successor وجود نداشته باشد، EIGRP ممکن است برای پیدا کردن مسیر جدید از Neighborها سؤال کند.
این فرآیند با Query آغاز میشود.
Neighborها پاسخ خود را با Reply ارسال میکنند.
در نهایت DUAL بر اساس پاسخهای دریافتشده مسیر جدید را محاسبه میکند.
اگر این فرآیند بهدرستی تکمیل نشود، وضعیتهایی مانند Stuck-in-Active (SIA) میتواند ایجاد شود.
EIGRP و Load Balancing
یکی از قابلیتهای جالب EIGRP پشتیبانی از Unequal-Cost Load Balancing است.
در بسیاری از پروتکلها، Load Balancing معمولاً بین مسیرهایی با هزینه برابر انجام میشود.
اما EIGRP میتواند در شرایط مناسب از مسیرهایی با هزینه متفاوت نیز استفاده کند.
این قابلیت با پارامتری به نام Variance کنترل میشود.
به این ترتیب، در یک طراحی مناسب میتوان از چند مسیر با Metric متفاوت برای انتقال ترافیک استفاده کرد.
Administrative Distance در EIGRP
Administrative Distance یا AD برای تعیین میزان اعتبار Routeهای دریافتشده از منابع مختلف استفاده میشود.
در محیط Cisco، مقدار Administrative Distance برای EIGRP داخلی بهصورت پیشفرض 90 است.
برای EIGRP External مقدار پیشفرض 170 در نظر گرفته میشود.
این مقدار با Metric تفاوت دارد.
Metric برای مقایسه مسیرهای یک پروتکل استفاده میشود، در حالی که Administrative Distance برای مقایسه منابع مختلف Routing کاربرد دارد.
EIGRP چه Packetهایی دارد؟
مهمترین پیامهای EIGRP عبارتاند از:
| Packet | کاربرد |
|---|---|
| Hello | شناسایی و حفظ Neighbor |
| Update | ارسال اطلاعات Route |
| Query | درخواست اطلاعات مسیر |
| Reply | پاسخ به Query |
| ACK | تأیید دریافت برخی پیامها |
این پیامها در فرآیند Neighbor Discovery، تبادل Routing Information و Convergence نقش دارند.
مزایای EIGRP چیست؟
EIGRP ویژگیهای متعددی دارد که باعث شده در شبکههای مبتنی بر تجهیزات Cisco مورد استفاده قرار گیرد.
Convergence سریع
در صورت وجود Feasible Successor، تغییر مسیر میتواند بسیار سریع انجام شود.
مصرف پایین منابع در حالت پایدار
در شبکه پایدار، EIGRP عمدتاً پیامهای Hello را برای حفظ Neighbor Relationship ارسال میکند و هنگام تغییر، اطلاعات مرتبط با تغییرات را توزیع میکند.
جلوگیری از Routing Loop
DUAL با استفاده از Feasibility Condition در انتخاب مسیرهای جایگزین نقش مهمی در جلوگیری از Loop دارد.
پشتیبانی از Unequal-Cost Load Balancing
این ویژگی یکی از قابلیتهای شناختهشده EIGRP است.
ارسال جزئی اطلاعات تغییر یافته
هنگام تغییر توپولوژی، EIGRP در شرایط عادی لازم نیست کل Routing Table را مجدداً ارسال کند و میتواند اطلاعات مرتبط با تغییر را منتشر کند.
معایب و محدودیتهای EIGRP
EIGRP در کنار مزایای خود محدودیتهایی نیز دارد.
یکی از مهمترین نکات، وابستگی تاریخی و گسترده آن به اکوسیستم Cisco است، هرچند مشخصات EIGRP در RFC 7868 نیز مستندسازی شده است.
در محیطهایی که تجهیزات چندین Vendor مختلف وجود دارند، معمولاً باید پشتیبانی واقعی هر Vendor و نسخه نرمافزاری آن از EIGRP بررسی شود.
از طرف دیگر، طراحی و Troubleshooting EIGRP برای افراد تازهکار میتواند نسبت به پروتکلهای سادهتر پیچیدهتر باشد.
تفاوت EIGRP و OSPF چیست؟
EIGRP و OSPF هر دو از پروتکلهای مهم Dynamic Routing هستند، اما معماری متفاوتی دارند.
| ویژگی | EIGRP | OSPF |
|---|---|---|
| نوع کلی | Advanced Distance Vector | Link State |
| الگوریتم اصلی | DUAL | SPF / Dijkstra |
| Metric | Composite Metric | Cost |
| Feasible Successor | دارد | ندارد |
| Unequal-Cost Load Balancing | پشتیبانی میکند | به شکل استاندارد معمولاً ندارد |
| طراحی Multi-Vendor | نیازمند بررسی پشتیبانی Vendor | گسترده |
| Convergence | سریع | سریع |
| کاربرد | بهویژه محیطهای Cisco | شبکههای Multi-Vendor و سازمانی |
البته مقایسه این دو پروتکل فقط با چند پارامتر خلاصه نمیشود و طراحی شبکه، اندازه شبکه، تجهیزات و نیازهای سازمان باید در نظر گرفته شود.
EIGRP در شبکههای بزرگ
EIGRP میتواند در شبکههای نسبتاً بزرگ مورد استفاده قرار گیرد و معماری آن برای کاهش محاسبات غیرضروری هنگام تغییرات توپولوژی طراحی شده است.
یکی از ویژگیهای مهم آن این است که وقتی تغییر توپولوژی فقط بخشی از شبکه را تحت تأثیر قرار میدهد، روترهای غیرمرتبط الزاماً در محاسبات مربوط به آن تغییر درگیر نمیشوند.
با این حال، طراحی صحیح، Summarization، کنترل Query و معماری مناسب شبکه همچنان اهمیت زیادی دارد.
دستورات مهم EIGRP در Cisco
برای عیبیابی EIGRP، چند دستور بسیار کاربردی وجود دارد.
مشاهده Neighborها
show ip eigrp neighbors
مشاهده Topology Table
show ip eigrp topology
مشاهده Routeهای EIGRP
show ip route eigrp
مشاهده اطلاعات پروتکل
show ip protocols
این دستورات برای بررسی وضعیت Neighborها، مسیرها، Metric و وضعیت کلی EIGRP بسیار کاربردی هستند.
یک سناریوی ساده EIGRP
فرض کنید سه روتر داریم:
R1 -------- R2 -------- R3
شبکه مقصد پشت R3 قرار دارد.
R1 از طریق R2 مسیر رسیدن به شبکه مقصد را یاد میگیرد.
در ابتدا:
R1 → R2 → R3
بهعنوان مسیر اصلی انتخاب میشود.
حالا فرض کنید یک مسیر دوم نیز وجود داشته باشد:
→ R2 →
R1 R3
→ R4 →
اگر مسیر R4 شرایط Feasible Successor را داشته باشد، EIGRP میتواند آن را بهعنوان مسیر جایگزین نگهداری کند.
اگر مسیر اصلی خراب شود:
R1 → R2 → R3 X
EIGRP میتواند مسیر جایگزین را انتخاب کند:
R1 → R4 → R3
در نتیجه زمان Convergence کاهش پیدا میکند.
چرا EIGRP از DUAL استفاده میکند؟
اگر هر روتر بدون یک مکانیزم مناسب صرفاً مسیرهای دریافتی را انتخاب کند، احتمال ایجاد Routing Loop وجود دارد.
DUAL با استفاده از اطلاعات Metric و Feasibility Condition تلاش میکند مسیرهای Loop-Free را انتخاب کند.
همچنین اگر مسیر جایگزین معتبر از قبل وجود داشته باشد، EIGRP میتواند بدون اجرای یک محاسبه مجدد گسترده از آن استفاده کند.
آیا EIGRP هنوز مهم است؟
EIGRP همچنان در مستندات و پیادهسازیهای Cisco حضور دارد و مستندات فعلی Cisco برای IOS XE نیز بخش مستقلی برای EIGRP دارد. مستندات Cisco مربوط به EIGRP در آوریل 2026 بهروزرسانی شده است.
با این حال، انتخاب پروتکل Routing باید بر اساس معماری شبکه، تجهیزات مورد استفاده، نیازهای سازمان، قابلیتهای Vendorها و سیاستهای طراحی انجام شود.
جمعبندی
EIGRP یا Enhanced Interior Gateway Routing Protocol یک پروتکل Dynamic Routing از نوع IGP است که توسط Cisco توسعه داده شده و برای مسیریابی داخل یک Autonomous System استفاده میشود.
مهمترین بخش EIGRP، الگوریتم DUAL است که برای انتخاب مسیرهای Loop-Free و مدیریت تغییرات توپولوژی استفاده میشود.
مفاهیم مهمی مانند:
- Neighbor
- Successor
- Feasible Successor
- Feasible Distance
- Reported Distance
- Feasibility Condition
- Metric
- Passive
- Active
- Query
- Reply
- Variance
همگی در درک نحوه عملکرد EIGRP اهمیت دارند.
یکی از ویژگیهای مهم EIGRP این است که در صورت وجود Feasible Successor میتواند پس از خرابی مسیر اصلی، سریعاً به مسیر جایگزین منتقل شود. همچنین پشتیبانی از Unequal-Cost Load Balancing از قابلیتهای شناختهشده این پروتکل است.
به همین دلیل، شناخت EIGRP برای افرادی که در زمینه Cisco، CCNA، CCNP، Routing و طراحی شبکههای سازمانی فعالیت میکنند، اهمیت زیادی دارد.